[C++] Flatbuffer 사용법
·
C++
단계별로 따지면 총 5단계이다.소스 파일 및 flatc.exe 다운로드파일들 경로 세팅*.fbs(IDL) 정의*.fbs 컴파일컴파일한 *.h include소스 파일 및 flatc.exe 다운로드https://github.com/google/flatbuffers/releases Releases · google/flatbuffersFlatBuffers: Memory Efficient Serialization Library - google/flatbuffersgithub.com해당 사이트에서 가장 최신의것을 다운받으면 된다.자신의 환경에 맞게 다운받으면 된다.윈도우를 사용중이라면 Windows.flatc.binary.zip을 다운받고Source code (zip) 도 다운받으면 된다. 파일들 경로 세팅bina..
[CS] WebSocket vs Tcp Socket
·
cs
WebsocketTCP 기반인 동시 양방향 통신 채널을 제공하는 통신 프로토콜주로 Web에서 사용일반적으로 443, 89 포트 사용TCP 핸드셰이크와 HTTP 헤더 오버헤드로 인해 작은 패킷 통신에는 비효율적Fragmentation를 사용하지 않을 시 TCP와 같이 패킷의 전체 크기 바이트를 보낼 헤더가 필요OSI 7 Layer에서 응용 계층에 속함 TCP SocketTranslation Control Protocol(TCP)Internet Protocol(IP)를 보완하는 초기 네트워크 구현에서 유래되었기에 TCP/IP 라고 부름애플리케이션간 스트림을 안정적이고 순서대로, 오류가 검사된 방식으로 전달OSI7 Layer에서 전송 계층에 속함손실될 수 있는 데이터의 재전송 요청, 순서 재정렬하며 네티워크 ..
[C++] Inline함수와 #Define 차이점
·
C++
해당 글은 아래의 공식문서를 요약한 글입니다.틀린 부분이 있으면 알려주세요!https://learn.microsoft.com/ko-kr/cpp/cpp/inline-functions-cpp?view=msvc-170 인라인 함수(C++)C++ 인라인 키워드는 컴파일러에 인라인 함수 처리를 제안하는 데 사용될 수 있습니다.learn.microsoft.com Inline 함수란?컴파일러가 해당 함수에 대한 각 호출 대신 함수 정의 내의 코드를 대체하도록 제안합니다.이론적으로 인라인 함수를 사용하면 함수 호출과 연관된 오버헤드가 제거되어 프로그램 속도가 더 빨라질 수 있습니다. 인라인 함수의 단점은 프로그램의 전체 크기가 증가할 수 있다는 것입니다.인라인 코드 대체는 컴파일러의 재량에 따라 수행됩니다. 예를 들어..
[C++] IOCP OverlappedEx 구조체에 관하여
·
C++
iocp서버 공부를 하던 중 클라가 접속했을 때 정상적으로 큐에 반응은 오나구조체 OverlappedEx라는 멤버변수의 값이 변경되는 버그가 발생했고 왜 발생하였는가와 어떻게 해결했는가를 공유하려합니다. OverlappedEx 구조체enum CompletionType{ NONE, RECV, SEND, CONNECT, DISCONNECT,};struct OverlappedEx{ LPOVERLAPPED overlapped = {}; CompletionType type = NONE; char _buf[BUF_SIZE] = {};};OverlappedEx의 구조체입니다.멤버 변수로는 overlapped와 type, buf가 있습니다. 문제점unsigned __stdcall IOCP::AcceptThread(vo..
[SQL] Mysql 문법 입문 (1)
·
SQL
※이 포스트는 Mysql 설치를 다루지 않습니다.   DB 서버 접속\sql // sql로 변경\connect --mysql root@localhost:3306 // 루프백 3306 포트에 root 권한으로 접속아마 처음이면 비밀번호 입력하라고 할겁니다.설치할 때 설정했던 비밀번호 입력하면 됩니다.DB 생성create database [데이터베이스명];DB 리스트 확인 및 접속show databases;use [데이터베이스];테이블 생성create table [테이블명](컬럼명 타입 추가설정, ...);문자형 데이터타입데이터 유형정의CHAR(n)고정 길이 데이터 타입(최대 255byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다.VARCHAR(n)가변 길이 데..
42서울 본과정 후기
·
잡지식
42서울 소개교수, 학비, 교재가 없는 개발자 양성소(부트캠프) 입니다.처음 1달간의 시험을 마치고 합격되면 약 2년간 본과정생으로 다닐 수 있습니다.본과정생들은 서클(레벨)과 블랙홀(남은 일수)가 주어집니다.블랙홀(남은 일수)가 모두 소진될 시 자동 퇴학 처리됩니다.자신의 서클에 맞는 과제가 있고 그 과제들을 무사히 통과할 때마다 블랙홀 일수가 추가로 주어집니다.과제는 같은 학생들에게 평가를 받아서 평가자에게 OK 사인을 n번 받으면 통과됩니다.평가를 받으려면 1포인트 차감, 평가를 하면 1포인트 획득하는 시스템이 있습니다.일정 서클을 통과하면 본과정생 다음인 42Member가 됩니다.42서울 솔직 후기저는 고졸에 공고 꼴통 출신이고 IT에 관해 무지했었습니다.그런 제가 제작년 8기 교육생으로 본과정에..
[C언어] 함수 포인터 개념과 활용
·
C
개인적으로 C언어의 꽃이라고 생각되는 함수 포인터 개념을 이번 포스팅에서 다뤄보려고 합니다. 1. 함수 포인터란?일반적으로 포인터란 자기 자신 이외의 메모리 주소를 담는 변수라고 표현됩니다.이와 비슷하게 함수 포인터는 함수의 주소를 담는 변수라고 표현됩니다. 함수 포인터 또한 결국 포인터이기에 변수뿐만 아니라 함수 인자로도 사용할 수 있죠우선 생김새를 배워봅시다.[함수 반환형*] (*변수명)(인자)ex) void* (*print)(char*);일반 변수처럼 똑같이 자료형이 있고 변수명이 있습니다.일반적으로 인자 형태는 변수명 뒤에 표시합니다. ※ 인자 부분을 비워둘 수도 있습니다. (비-프로토타입)이는 C언어에서만 적용되고 C++은 반드시 인자갯수, 타입을 명시해줘야합니다.2. 함수 포인터의 장단점장점 ..
Visual Studio BOM 없이 파일 저장하는법
·
잡지식
BOM : Byte Order Mark보통 UTF-8 파일 맨 앞부분에 EE BB BF 값이 들어가 파일 시스템 관리할 때 귀찮게 구는 녀석입니다. 찾아보니 without BOM 형식으로 저장하는 방법이 있어 공유합니다. visual studio에 with BOM으로 설정되어있는 파일을 열어줍니다. 파일 → 다른 이름으로 저장저장 고급 옵션 → 인코딩하여 저장유니코드(서명 없는 UTF-8) - 코드 페이지 65001 설정 후 저장하면 끝입니다. if (fopen_s(&contactsFile, CONTACTS_PATH, "r+, ccs=UNICODE") != 0) { if (fopen_s(&contactsFile, CONTACTS_PATH, "w+, ccs=UNICODE") != 0) _OccurErro..
원피스는 실존하다
'분류 전체보기' 카테고리의 글 목록