전체 글 (81) 썸네일형 리스트형 UDP를 알아보자 오늘은 UDP에 대해서 정리해보려고 한다 TCP를 좋아하는 나에게 UDP를 새로 만들어야하는 일이 생겨서 UDP는 너무 옛날에 봐서 가물가물해짐 가볍게 리마인드하고 가보자잇 대학교 때 이걸로 네트워크 수업 들었었는데 교수님 말씀이 다 옳으셨다... 1. UDP 란? TCP ( Transmission Control Protocol ) - OSI 7계층에서 전송층 (4번째 계층)에 해당 - 전송을 제어하는 프로토콜 - 각 peer 간 신뢰적인 연결 지향성 서비스 제공 - 신뢰성 (연속X) UDP (User Datagram Protocol) - 얘도 OSI 7계층에서 전송층에 해당됨 - 사용자의 Datagram을 전송하는 프로토콜 - 신뢰성이 낮은 프로토콜 - 연속성 TCP와 UDP 모두 상대방에게 자신의 메.. C++ 스마트 포인터를 알아보자 - (2) shared_ptr 오늘은 스마트 포인터 중... 두 번째인 shared_ptr에 대해서 알아볼거다 요즘 네이버 블챌 이벤트를 하고 있는데 가운데 정렬로 하니까 사진 첨부하기가 너무 좋았어서 왼쪽정렬파였는데 바꿔 보려고 한다 ^_^ ++ 이전 글 올리고 다음 날 올릴려고 했는데 다른걸 먼저 올렸더니 잊혀질 뻔 했다 1. 스마트 포인터에는 뭐가 있지? 스마트 포인터는 3가지가 있다 1) unique_ptr 2) shared_ptr (오늘할거) 3) weak_ptr 1-1) unique_ptr이 뭐였더라 (링크 첨부 ^^) 첫 번째, unique_ptr은 포인터를 통해 Unique한 소유권을 가지고 unique_ptr 범위를 벗어날 때 해당 개체를 처리하는 스마트 포인터이다 두 번째, make_unique() 또는 new를 사.. OpenSSL docs 정리 (업데이트 예정) OPENSSL_malloc - 메모리 할당, ONENSSL_free와 같이 사용 CRYPTO_num_locks - 최대 처리가능한 mutex 개수 - mutex 관련하여 int 형 상수를 반환, 이만큼을 처리 할 수 있어야함 - OpenSSL-1.0.1j 기준으로 41임 - openssl/crypto/lock.c 소스에서 확인 가능 - 다중 스레드를 사용할 경우 충돌 할 수 있으므로 lock 사용 CRYPTO_THREADID_set_callback - 주어진 lock type과 잠금 해제 여부(mode)로 해당 lock를 관리해줌 - 현재 실행 중인 스레드의 tid 별로 등록해서 관리 함 → CRYPTO_THREADID_set_numeric을 사용한 콜백을 등록 - 콜백 등록 하지 않으면 기본 구현으로 .. Error 해결: undefined reference to `vtable for XXX' undefined reference to `vtable for XXX' collect2: error: ld returned 1 exit status ... 이렇게 에러가 나온다면 아마 vtable for {클래스 명} 이런 에러가 나오게 될텐데 구현하려는 클래스에 혹시 virtual 함수를 명시하고서 소스파일에서 구현을 안했는지 확인하도록 또는, 부모 클래스에서 virtual 명시해둔게 있는데 상속하다가 사용 안했는지 확인 티스토리 표 가운데 정렬로 설정하기 티스토리에서 글을 쓰고 있었는데, 작성 중이던 글에서는 표 작성시 가운데 정렬이 됐는데 미리보기 또는 글 작성 완료를 하는 순간 표는 좌측 정렬이 되어있었다 이게 머선일인가 하고 보니, 표 정렬은 원래 그렇다더라. (아닐 수도 있음) 아무튼,, 표 정렬하는 방법 공유합니다 1. 편집 모드 HTML로 변경 표 제목 표 제목 표 내용 표 내용 요렇게 가운데 정렬을 설정하고 싶다면, 관리자 페이지 스킨 편집 X 글 쓰기 시, 편집 모드 변경 O 표 정렬 수정을 위해서 여기서 HTML을 선택해서 편집을 해야한다 2. HTML에서 table 검색 여기서 " table "이라고 검색하면 ... 태그로 쌓여진 표 내용이 보인당 이 부분에서 표의 정렬(align)을 설정해주면 된다 3. HTML에서 Align 편집 ↑.. ls 명령어/파일목록/linux ls 짤막한 ls 명령어를 정리하려고 한다 월루 하고 있었는데 시간이 너무 아까워서 뭐라도 남겨야겠다 1. ls 명령어 (list) 나는 쉘창을 키면 그냥 자연스럽게 ls 명령어를 친다 파일 목록이라도 켜놓아야 될 것 같아서 ls는 list의 줄임말로, 말 그대로 파일 목록을 보여준다 사용법은 아래와 같다 CLI> ls []... []... 예를들어서, 아래와 같은 파일구조가 있다면 ls 명령어를 쳤을 때 나오는 항목은 아래와 같다 CLI> ls Makefile main.cpp release test.cpp 요렇게 현재 디렉토리에 있는 파일 목록을 보여준다ㅋ ls 명령어는 많은 옵션들을 갖고 있다 파일 목록들의 정보를 다 보여주는 명령어라서, 파일의 권한/파일 크기/사용자/수정 날짜 등등 또한 확인 가능하다 .. Boost-echo tcp client & server를 살펴보자 (1) Boost는 C++을 하다보면 언젠간 반드시 꼭 사용하게될 라이브러리이다 Boost에 대한 설명은 아래에 첨부할 Boost 공식홈페이지에서 한번 읽어보는걸 추천한다 (재밌음) 처음에 boost를 사용할 때는, STL(Standard Template Library)이랑 역할이 같은 것 같은데, 왜 쓰지? 했는데 STL을 활용해서 뭔가 좀더 해야할 때, boost에는 이미 있는 기능이 많이 있었다 예제 활용해서 쓰다보면 금방 익숙해질 수 있당 서론이 길었는데, Boost 활용을 좀 더 잘해보기 위해서, 라이브러리 샘플 코드를 한번씩 공부해보려고 한다 실제 활용할 때 놓친 부분 확인도 할겸ㅋ Boost Asio에 대한 설명은 링크를 참고하길 바란다 첫 번째로 확인한 예제는 Async TCP Server와 Cl.. SOAP을 알아보자 오늘은 그냥 지금까지 영혼이 흘러가는 대로 사용했던 SOAP을 알아보려고 한다 사용은 하고 있지만 그래서 그게 뭔데? 라고 하면 설명할 수 없달까.... 반성하며 이 글을 씁니다 1. SOAP (Simple Object Access Protocol) SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. (위키백과) SOAP은 말 그대로 해석해보면 간단한 객체 접근 프로토콜이다 이게 머선말인가를 보기 전에, HTTP와 XML에 대해서 먼저 언급을 해야 할 것 같아서 짧게 다루겠다 (1) HTTP (HyperText Transfer Protocol) 보통 웹 서.. 이전 1 ··· 5 6 7 8 9 10 11 다음