공부 30

04.25 C++ 기초 : 분기문과 열거형

열거형 : 상수에 이름을 부여해주는 기능. 여러 상수를 그룹으로 묶어준다. : 사용자 정의 변수 타입으로도 사용 가능. : 구현 방법으로는 const / #define / enum을 사용할 수 있다. enum default 값 : Type은 생략 시 int 타입이 된다. : 값은 생략 시 첫 번째 값이 0으로 지정, 이후 값은 이전 값 +1이 된다. 일반형 enum : 소속 enum 이름 없이 바로 사용이 가능하기 때문에 일반 변수와 혼용될 수 있다. -> namespace 활용으로 보완. : 열거형의 이름 첫 자리는 E를 붙이는 관습이 있다./* enum 열거형 이름 : Type { 상수 = 값, 상수 = 값...}; */enum ESRP : ch..

04.24 C++ 기초 : 변수와 연산자

Visual Studio 프로젝트 생성솔루션: 여러 프로젝트를 담을 수 있는 그룹.프로젝트: 실제로 개발하고자 하는 프로그램. 소스 추가c++ 파일: 실제 기능 구현헤더 파일: 기능별 구분 컴파일 제외 대상 설정원하는 파일 우클릭 -> 속성 -> 일반 -> 빌드에서 제외 -> 예 단축키Ctrl + . -> 선언/구현 만들기 : 함수 프레임 자동 생성 코딩 기초 전처리기(#) ex) #include : 컴파일 단계 전에 처리되는 구문. #include : 헤더파일을 해당 프로젝트에 포함시켜 해당 헤더파일의 코드를 사용할 수 있도록 한다. ++ 선택한 언어에 대한 헤더파일이 윈도우 SDK 설치 시 함께 설치된다. ++ 순환참조: 서로의 파일을 참조하는 경우. 오류에 해당. ..

백준 실버 문법

Set  : 여러 데이터를 효율적으로 관리하기 위한 자료구조 클래스.  Set     #include   : 집합. 중복원소가 없는 것이 특징. 삽입 시 자동으로 정렬된다. Set의 템플릿  key : 해당 객체의 이름pr : 정렬 기준. 내장된 비교형으로는 less / greather 등이 있다._Alloc : 메모리 할당  Unordered_set      #include   : set과 동일하나 정렬되지 않는다. 대신 검색, 순회가 빠르다.  메소드insert: 삽입Map  : key-value 쌍으로 이루어진 자료구조. [key]를 통해 접근. Map    #include   : 해시함수로 탐색. multi_map    #include   : 중복 키를 허용하는 map구조. 해시함수를 통해 탐색한..

공부/c++ 2025.03.17

네트워크 보안(14) - Blockchain

데이터 관리 수단기존 중앙 집중식 데이터 관리의 문제  : Single Point of Failure - 중앙 서버 고장 시 모든 시스템 정지  : Concentration of Power - 중앙 서버가 나쁜 의도를 갖는다면 제지 불가. 블록체인의 안전성  : P2P 네트워크를 통해 기록 및 관리 권한 분산.   : 시간 순으로 거래 내역(블록)을 연결. 처리 흐름  - 사용자 : 블록체인을 실제 이용하는 이용자.  - 검증자 : Nonce를 찾아내거나 검증하는 사람. 이중 지불 문제  : 금전 거래 시, 같은 자산을 두 번 이상 사용하는 행위.      > 작업증명의 경우 가장 긴 블록체인만 선택하는 방식으로 해결, 짧은 체인의 내역은 이후 재처리된다. (merge)Hash Chain  : 각 블록이..

네트워크 보안(13) - 이메일 보안

이메일 프로토콜SMTP  : 발신지에서 목적지까지 인터넷을 통해 메시지를 이동하는데 사용.  : 메시지를 캡슐화하여 목적지까지 다수의 MTA를 통해 전송. IMAP/POP  : MS에 저장된 메일을 MUA로 전송시키는 프로토콜.    *MS(Mail Server): 이메일을 저장하고 관리하는 서버.    *MUA(Mail User Agent): 사용자가 이메일을 읽고, 작성하고, 보내는 프로그램.   - IMAP > 서버에서 이메일을 동기화해 가져옴. (복제)  - POP > 서버에서 이메일을 다운로드 하여 가져옴. (이동) MIME(Multipurpose Internet Mail Extension)  : SMTP나 RFC 5322의 확장.  : 실행 파일, 바이너리 객체, 국제 언어 문자 전송 가능 (..

클라우드 시스템(7) - Container 통신과 운영

컨테이너 네트워크Container Network컨테이너 네트워크 구조  : L2 통신 기반  : 컨테이너 생성 시 생성되는 veth 인터페이스 이용.  : docker0(172.17.X.Y)를 통해 외부와 통신한다. 네트워크 종류Default Bridge Network : Docker 제공, 개발환경 테스트에 적합.User-Defined Bridge Network : 같은 host 내 실행중인 컨테이너 간 연결. 실제 프로덕션 환경에 적합.Overlay Network : Docker Swarm용컨테이너 간 네트워크 통신  : Container IP로 통신 > 컨테이너 ip로 통신. 단, 재시작 시 ip가 변경되면 접속 불가.  : Container Name으로 통신 > --link 옵션을 통해 컨테이너 ..

공부/클라우드 2024.12.03

클라우드 시스템(6) - Container Management

Customized Docker Image  : 사용자 설정을 추가한 이미지 Customized Image 생성docker commit   // 컨테이너를 이미지로docker build [Option] Dockerfile .                              // 도커 파일로 이미지 생성 -f  // 파일 Docker Image 파일 저장  : 운영서버에서 이미지를 사용해야 할 때 / On-premise Private 클러스터 환경일 때 사용.    - save / load : 이미지 전체를 저장, 복구한다. 레이어, tag, metadata 등을 포함한다. (image -> tar 파일로 추출)  - export / import : 컨테이너 파일 시스템만 저장한다. (containe..

공부/클라우드 2024.12.03

클라우드 시스템(5) - Docker

Container 기술Container  : 애플리케이션과 애플리케이션 동작 환경에 대한 패키징 기술.  : 샌드박스화된 런타임 환경     *샌드박스화: 호스트 시스템에 부정적인 영향을 미치는 것으로부터 보호하는 것. 특징  - standard > 규격화된 컨테이너 사용  - Portable > 의존성 문제 해결  - Light Weight > 표준 컨테이너에 담을 수 있는 용량 제한  - Security Protection > 컨테이너별 보안과 안전장치  - Microservice > 서비스를 작은 단위로 나누어 서로 독립적으로 수행. 타 시스템 장애로부터 영향이 없어 수평적 확장(Scale-out)과 배포, 관리가 용이하다. 구조  : A Cotainer == An Application (하나의 컨..

공부/클라우드 2024.12.03

네트워크 보안(12) - Key

Key의 안전성 : key 안정성은 키 값의 크기보다 키 공간의 크기와 밀접하게 관련되어 있다. 대칭키 암호화 알고리즘 (AES, DES...) : 자리수가 키 공간의 크기를 좌우한다. ex) AES의 경우 키 길이가 256bit일 때 키 공간의 크기는 2^256 공개키 암호화 알고리즘 (RSA, Diffie-Hellman...) : 소수의 크기와 수학적 특징이 키 공간의 크기를 좌우한다. +키가 밝혀질 경우 평문이 바로 드러나므로, 키와 평문은 대등한 가치를 지닌다.키의 종류공개키/대칭키 알고리즘에 따른 키 분류 : 대칭키 > 통신을 하는 쌍방이 공유하는 키. AES, DES, MAC 등에 사용. : 공개키/비밀키 > 비밀키는 개인만 가지고 있으며, 공개키는 공개된다. RSA, 디지털 ..

네트워크 보안(11) - 인증서

인증서  : 공개키의 위장을 방지하기 위해 사용자의 공개키를 인증하기 위한 것.   : 제 3자 기관인 CA(Certificate Authority)에서 발급해주며, 소유자 ID, 공개키, CA의 서명으로 구성된다. 공인 인증기관  - 국제 기관 > DIgiCert / Sectigo / GlobalSign  - 국내 기관 > 금융결제원 / 코스콤 / 한국전자인증 / 한국무역정보통신 / 한국정보인증      : 최상위 인증기관인 한국인터넷진흥원(KISA)에서 인증 기관 운영 감독 및 표준안 마련.      : 현재는 2020년 공인인증 제도가 폐지되어 위 기관에서 발급 받은 공동 인증서를 사용하며, 각종 민간인증서(금융기관, 카카오, 네이버 등) 또한 금융 거래에 사용이 가능해졌다. 공인 인증서 종류   ..