일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- jsp
- java
- windows
- JavaScript
- Kafka
- C
- UTF-8
- beans
- array
- Sort
- CSS
- Call-by-reference
- HTML
- 포인터
- System
- OOP
- 노드
- algorithm
- CLASS
- function
- 윈도우즈
- API
- query
- meta
- c++
- 자료구조
- 투자
- request
- WebProgramming
- 악성코드
- Today
- Total
목록전체 글 (109)
hahahia
메서드 재정의(virtual, override) virtual부모 클래스 함수 앞에 붙는 연산자.자식 클래스에 의해서 재정의될 수 있다는 의미를 가지고 있다.컴파일러는 이 지정자가 붙은 함수를 비가상함수와 다르게 컴파일함으로써 재정의될 준비를 한다. override자식 클래스 함수 앞에 붙는 연산자.부모로부터 상속받은 함수와는 다르게 구현한다는 의미를 가지고 있다.재정의되는 함수는 부모의 함수와 이름, 시그니처도 일치해야함.재정의된 함수는 부모의 함수에 의존적인 경우가 많은데 이 때 base 키워드로 부모의 원래함수를 호출 할 수 있다. 예제using System; using System.Collections.Generic; using System.Linq; using System.Text; class ..
using System; using System.Collections.Generic; using System.Linq; using System.Text; class Human { protected string Name; protected int Age; public Human(string aName, int aAge) { Name = aName; Age = aAge; } public virtual void Intro() { Console.WriteLine("Name : " + Name); Console.WriteLine("Age : " + Age); } } class Student : Human { protected int StNum; public Student(string aName, int aAge,..
클라이언트에서 피연산자 2개와 연산자 1개를 입력받으면 서버에서 연산을 하여 다시 클라이언트에게 결과값을 보여주는 프로그램을 만들어보았습니다.(리눅스 환경) /* server */ #include #include #include #include #include #include #include #include #define PORT 3600 struct cal_data{ // 주고받을 데이터 구조체 정의int left_num;int right_num;char op;int result;short int error;}; int main(int argc, char **argv){struct sockaddr_in client_addr, sock_addr;int listen_sockfd, client_sockfd;..
#include using namespace std; class Node{ // Node Class public: Node(int n); Node* nextNode; Node* prevNode; int data; }; Node::Node(int n) { data = n; nextNode = NULL; prevNode = NULL; } class Queue{ // Queue public: Queue(); void enQueue(int n); void deQueue(); void printQueue(); int QueueSize(); private: int size; Node* front; Node* rear; }; Queue::Queue() { size = 0; front = NULL; rear = NUL..
클라이언트에서 어떠한 문자열을 입력하게되면 서버에서 read하고 다시 클라이언트에 write하게 되어 즉, 클라이언트에서는 자신이 입력한 문자열을 다시 출력하게 되는 구조를 띄게 됩니다. client.c #include #include #include #include #include #include #include #define MAXLINE 1024 int main(int argc, char **argv){struct sockaddr_in serveraddr;int server_sockfd;int client_len;char buf[MAXLINE];if((server_sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){perror("error : ");return 1..
fork함수와 execl함수를 이용하여 Shell 구현.1. 사용자 명령을 읽기 위한 프롬프트 출력2. 키보드로 명령을 받는다.3. fork 함수로 자식 프로세스 생성. 부모 프로세스는 자식 프로세스가 종료되는 걸 기다림.4. execl 함수로 외부 프로그램(프롬프트 실행)을 실행한다5. 외부 프로그램 종료(자식 프로세스도 종료)6. 부모 프로세스는 자식 프로세스가 종료된 걸 확인하고, 다시 프롬프트를 띄움. #include #include #include #include #include #include #define MAX_LINE 256#define PROMPT "# "#define chop(str) str[strlen(str) -1] = 0x00; int main(int argc, char **ar..
파일 시그니처 모음(PE)http://forensic-proof.com/archives/300PE에 대해 자세한 설명과 각 파일들의 타입과 시그니처가 잘 정리되있는 사이트. Encode/Decode 사이트http://tools.web-max.ca/encode_decode.php왠만한 암호는 암호화, 복호화 기능 지원.
Heap(힙) 이라는 자료구조를 이용해 정렬을 하는 알고리즘입니다.일반적으로 버블정렬, 삽입정렬, 선택정렬은 O(n^2)의 시간복잡도 이지만힙정렬은 힙의 구조상 시간복잡도가 O(nlogn)으로 상대적으로 효율적인 알고리즘입니다. n^2 시간복잡도의 sort 알고리즘에 비해서 좀 구현이 까다로울 수 있지만 그래도 힙의 구조를 이해하면 쉽게 구현하실 수 있을꺼같아요. 아 그리고.... 힙소트는 힙이라는 자료구조를 만들어둔 상태에서 소트를 하는 알고리즘이기 때문에입력을 받을때부터 Insert함수에서 힙으로 만들어줍니다.이 밑에 있는 요상한 것이 바로 힙(Heap)이라는 건데요. 구조적으로 바이너리 트리를 만족하고,현재 노드v의 원소의 value는 노드v의 left, right(즉 자식이겠죠.)의 원소보다 va..