일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Dijkstra
- SQL
- Trie
- MYSQL
- 다익스트라
- binary search
- 이진탐색
- Two Points
- Brute Force
- two pointer
- DP
- 그래프
- String
- union find
- Stored Procedure
- Hash
- 스토어드 프로시저
- Today
- Total
목록분류 전체보기 (425)
codingfarm

C++에서 객체를 생성하는 것은 매우 까다롭다. 어느 메모리 영역? 스택할당 힙할당 어떤 포인터로? 일반 포인터 스마트포인터 객체의 생성방법은? native 코드로 생성 패턴으로 builder, factory 생성패턴 정의 : 까다로운 객체 생성 절차에 대한 어려움을 해소하는 디자인패턴 생성패턴에 대해 본격적으로 배우기 전 C++의 기본적인 부분을 알아야 한다. 스택(stack) 할당 스택 메모리를 할당받아 객체를 생성하면 stack에 할당됨 scope를 벗어날 때 자동으로 소멸되며 소멸자가 호출됨 힙(heap) 할당 원시 포인터를 이용하여 동적 할당을 통해 객체를 생성하면 heap에 할당됨 scope를 벗어나도 소멸되지 않는다. 메모리 해제를 비롯한 뒷정리에 대해 불분명한 문제가 생긴다. 스마트 포인터..

3.리스코프 치환 원칙(LisCov Substitution Principle, LSP) 어떤 자식 개체에 접근할 때 그 부모 객체의 인터페이스로 접근하더라도 아무런 문제가 없어야 한다. LSP가 준수되지 않는경우 아래는 직사각형 클래스 이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Rectangle { protected: int width, height; public: Rectangle(const int width, const int height) : width(width), height(height) {} int get_width() const { return width; } virtual void set_width(const int width) { this->width ..

SOLID는 다음과 같은 디자인 원칙들을 아우르는 약어이다. 단일 책임 원칙(Single Responsibility Principle, SRP) 열림-닫힘 원칙(Open-Closed Principle, OCP) 리스코프 치환 원칙(Liscov Substitution Principle, LSP) 인터페이스 분리 원칙(Interface Segregation Principle, ISP) 의존성 역전 원칙(Dependenc Inversion Principle, DIP) 이 5가지 원칙은 디자인 패턴의 존재 이유에 전반적으로 녹아들어가 있다. 1. 단일 책임 원칙(Single Responsibilty Principle, SRP) 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함 클래스..
보호되어 있는 글입니다.

1. 컴퓨터 네트워크의 역사 소켓(socket) -개발자가 네트워크의 복잡한 원리를 자세히 알 지 못해도 쉽게 네트워크 프로그램을 개발 할 수 있게 해준다. -OS에서 자체적으로 제공해주는, 네트워크로 연결된 두 컴퓨터가 서로 데이터를 주고 받을 수 있게 해주는 수단. 네트워크 프로그램이란 정보 전달은 정보의 종류와 처리 방식에 상관없이 아래와 같은 구성 요소와 역할을 가진다. 구성요소 역할 수신자 정보 해석 송신자 정보 생산 전령 매체 인터넷을 매체로 쓰는 현대사회에서는 컴퓨터 프로그램이 정보의 생산과 해석의 역할을 ㄹ담당한다, 네트워크의 출현과 진화 사람의 뇌를 구성하는 뉴런부터 사람들끼리의 만남, 자연 생태계를 통틀어 네트워크라 부르며, 이렇듯 네트워크라는 용어는 인터넷이 생기기 이전부터 존재해왔다..