C++ - 클래스
C++ 클래스 1. 개요 기본적으로는 특정 객체를 생성하기 위한 틀과 같다. 클래스를 정의하고 해당 클래스로 객체를 만들어야 비로소 사용할 수 있다. 기본적으로 객체 지향 프로그램에서 빠질 수 없는 기본중의 기본으로 C++에서도 당연히 클래스를 지원한다. C++ 에서 클래스는 두가지 관점으로 나눠서 생각할 수 있는데, 값처럼 사용하는 것이 첫번...
C++ 클래스 1. 개요 기본적으로는 특정 객체를 생성하기 위한 틀과 같다. 클래스를 정의하고 해당 클래스로 객체를 만들어야 비로소 사용할 수 있다. 기본적으로 객체 지향 프로그램에서 빠질 수 없는 기본중의 기본으로 C++에서도 당연히 클래스를 지원한다. C++ 에서 클래스는 두가지 관점으로 나눠서 생각할 수 있는데, 값처럼 사용하는 것이 첫번...
C++ 파일 입출력 파일 입출력을 할 때 C 형식으로 받아오고 쓰는 경우가 많아서 C++ 형식으로는 어떻게 하는게 좋은지 정리를 하려고 한다. 1. 도입 우리가 어떤 제품으로써 프로그램을 짜게되면 필연적으로 파일을 다루게 된다. 여기서 말하는 파일이란 txt와 같은 텍스트 파일을 말할 수도 있고, 특정 포맷으로 이루어진 바이너리 파일일 수도 있다....
C++ 함수 1. 선언 1) 기본형 기본적으로 c++에서 함수의 선언 형태는 아래와 같다. {반환 자료형} {함수이름} ( {매개변수들}); 기본적인 선언은 위와 같고 이후 별도로 함수 내용을 정의하거나, 끝에 세미콜론 대신 아래와 같이 정의할 수 있다. int sum (int a, int b) { return a+b; } 반환형이 vo...
C++ 문자, 문자배열, 문자열 1. 문자 기본적으로 아스키코드 문자라면 1개당 1byte를 요한다. 인터넷 웹페이지에서 사용하는 UTF-8은 영문의 경우 1byte이고 한글이나 한자는 3byte이다. 한글 문자 인코딩 표준은 KS X 1001, EUC-KR에 따라 2byte 문자로 처리된다. 그래서 만약 한국어 문자를 입력하고 싶다면 char 형으...
C++ 조건 분기문, 반복문 1. 조건 분기문 특정 조건이 만족하면 해당 문을 실행하고 만족하지 않으면 해당 문을 실행하지 않는 조건 분기문이다. 1) if else 대부분의 언어들이 if 식별자를 지원하며, C++ 역시 마찬가지이다. // 단일 조건 if({조건}) { } // if 안의 값이 아닐 경우 나머지 처리 if({조건}){ } e...
C++ 배열, 포인터, 참조자 1. 배열 코드 짜는데 배열 모르는 사람이 있나?라고 물을 수 있다. 배열 모르는 사람은 없다. 단지, 하이레벨 언어를 사용하다보면 C계열 언어 배열 선언법을 까먹을 순 있다 ;; Javascript는 별도로 array로 만들던가, 그냥 배열 형태로 값을 넣으면 됐었고, python도 그냥 넣으면 된다. 이렇게 되니...
C++ 자료형과 변수 1. 자료형 1) 기본 자료형(Primitive data types) a. bool(boolean) 1byte의 크기를 갖는 자료형으로 true, false 만 넣을 수 있다. 비교 연산자 (<,>)에서의 반환값은 모두 bool이며 기본적인 내용은 C와 동일하다. bool flag = true; b. int(in...
C++ C++를 내가 처음 접한건 대학교 2학년때이다. 당시에 1학년때 C언어를 배우고 Row level 언어에 흠뻑 빠져있던 시절 C++은 객체 지향에 대한 인식을 심어준 첫번째 언어이다. 이후 Java를 좀 쓰다가 취직후 Javascript와 Python만 썼었는데 이후 대학원에 와서 DiskANN 분석을 위해 C++ 코드를 접하니까 하나도 기억이...
Micro Service Architecture - 도메인 주도 설계(Domain-Driven Design) 1. 개요 도메인 주도 설계(DDD)는 소프트웨어를 실제 비즈니스 도메인(문제 영역)의 모델과 최대한 일치시키려는 설계 접근법이다. 대규모 개발 프로젝트를 처리하는데 좋은 방법이며, 프로젝트를 더 작은 도메인으로 나누고 이를 가지고 각 도메인...
Micro Service Architecture - API Gateway pattern 마이크로서비스 아키텍처에서 클라이언트와 백엔드 서비스 사이의 단일 진입점(single entry point)을 제공하는 패턴이다. (약간 이 부분은 공부하면서 그냥 Reverse proxy로 구성하면 API Gateway pattern이 아닌가 하는 생각은 들었다....