본문 바로가기

기타6

[1] 티스토리 리스트 줄 바꿈 오류 해결하기 기존에 썼던 글을 돌아보니 줄 바꿈 부분에서 문제가 있는 걸 발견했습니다. 편집기에서는 이렇게 잘 나오는데 실제로 게시물에서 나타난 것을 보면 위와 같이 엔터가 쳐져있는 것을 확인할 수 있었습니다. 그래서 HTML 구조가 어떻게 구성되어있는지를 살펴보았습니다. p 태그로 감싸진 컨텐츠와 ::marker간 줄바꿈이 이루어져서 올바르게 보이지 않는 것을 확인할 수 있습니다. p 태그는 기본적으로 display가 block 이기 때문에 개별 css를 적용하지 않으면 줄 바꿈이 이루어집니다. 고로 이를 수정하기 위해 관리 > 꾸미기 > 스킨 편집으로 들어갑니다. 스킨 편집 페이지의 오른쪽 상단의 html 편집을 눌러줍니다. 그 후 CSS 버튼을 클릭하면, 해당 스킨에 적용된 CSS를 확인하실 수 있습니다. 맨 .. 2020. 10. 28.
[Network Basic] 3. TCP Connection Multiplexing TCP connection 소켓 API는 기본적으로 blocking이라, accept() 하면 일단 block되고 본다. recv()로 data를 받을 때도 물론. 사용자가 1명이면 Blocking I/O가 문제가 되진 않겠지만, 실제로는 그럴리가 없다. 여러 connection을 동시에 다루는 기술이 필요하다. Polling Non-blocking Sockets 소켓 자체가 non-blocking operation을 할수 있게 하는 방법 중 fcntl 함수를 호출하는 것인데, 단순히 모든 active socket을 순서대로 확인하는 polling 구조로 되어있어 자원 낭비가 심하며, 구현해야 할게 추가적으로 발생한다. 그래서 일반적으로 Polling 방식을 잘 쓰지 않는다. Fo.. 2020. 6. 11.
[Network exercise] 2. TCP 소켓을 이용하여 HTTP 서버 만들기 TCP 소켓을 이용하여 서버의 현재 시간을 알려주는 HTTP 서버를 만들어보자. 우선 만든 결과 프로그램은 다음과 같다. #if defined(_WIN32) // windows #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0600 #endif #include #include #pragma comment(lib, "ws2_32.lib") #else // linux #include #include #include #include #include #include #include #endif #if defined(_WIN32) #define ISVALIDSOCKET(s) ((s) != INVALID_SOCKET) #define CLOSESOCKET(s) closesocket(s.. 2020. 5. 27.
[Network Basic] 2. Socket Socket 소켓은 communication link의 endpoint이고, 어플리케이션은 소켓을 통해 모든 네트워크 정보를 전송한다. Unix 계열에선 POSIX 소켓을 주로 사용한다. Unix Socket, BSD Socket, POSIX Socket은 같은 것을 의미한다. 윈도우 소켓 API는 Winsock 으로 불린다. Berkeley socket에 compatible 하도록 구성되어있다. 소켓은 두가지 타입으로 분류된다. - Connection-oriented - Connectless Connectionless라는게 실제로 Connection이 존재하지 않는 상태에서 데이터를 전송한다는 의미는 아니다. 요즘 시대에 자주 쓰이는 프로토콜은 두가지이다 - TCP -> Connection-orient.. 2020. 5. 27.