220321 - TIL

Oridev·2022년 3월 21일
0

TIL

목록 보기
48/57

✅ 오늘 할 일

  • 페어 프로그래밍 미션 하기!
  • 알고리즘 스터디 참석(발표하는 날)

📖 오늘 배운 것들(간략히)

  • CRLF와 LF
    예전 http에도 등장했지만 대충 넘겼던 개념이다. 윈도우에서는 개행 문자로 \r\n이라는 문자를 쓴다고 한다. 여기서 \n은 우리가 아는 일반적인 개행문자(LF, line feed)인데 \r은 뭘까? 이건 캐리지 리턴(CR, Carrage return)인데 예전 타자기의 유산이라고 한다. 이게 중요한 이유는 http 헤더와 바디 사이에 \n을 쓰는 경우도 있고, \r\n을 쓰는 경우도 있어서 readline()으로 헤더를 읽을 때 중단점을 인식하는 데 중요하다.
    윈도우 OS는 개행문자로 CRLF를 사용하고, 유닉스 계열(리눅스, MAC)은 LF를 사용한다. HTTP 명세에 따른다면 줄바꿈 문자열은 CRLF를 개행문자로 사용하지만 견고한 애플리케이션이라면 LF 역시 받아들일 수 있어야 한다고 한다.(출처)
  • telnet
    수업시간에 터미널에서 http 연결을 위한 툴을 알게 되었다.
    CURL 등을 통해서 요청을 보낼 수 있지만 손수 한땀한땀 요청을 보내보고 싶다면 활용해보자.
  • 서버 소켓와 클라이언트 소켓이 동작하는 방식
    미션에서 웹 서버 구현을 해보게 되었다. 그러면서 서버 소켓이 클라이언트가 접속하면 어떻게 소켓을 생성하는 지 배울 수 있었다. 당연할 수 있는 내용이지만 막상 배우니 신기했는데 아래와 같은 소켓 프로그래밍 글에 자세히 나와있었다. 기회가 된다면 소켓 프로그래밍도 해보고 싶지만 C 지식이 많이 필요할 것 같아서 고민이 되긴 한다. 운영체제도 그렇고 네트워크도 그렇고 직접 구현해보는 것이 이해에 확실히 도움이 되는 것 같다.
    소켓 프로그래밍

그리고 우리가 만드는 스레드형태의 서버를 동시동작서버라고 하고, 데몬 스레드가 요청을 처리하는 것을 반복 서버라고 한다.

🥕 좋았던 점

  • 스터디 때 발표를 했다.
  • 오랜만에 날씨가 좋아서 산책을 했다.

😓 아쉬운 점과 개선 방법

  • 잠을 안자서인지 학습을 많이 안한 것 같다. 이제 페어도 하니까 평일에는 일찍 자야겠다!
  • 저녁먹고 집중을 잘 못했다. 오늘은 게임을 해버렸지만 산책하거나 일찍 쉬거나 해야겠다
profile
천천히, 하지만 꾸준히 그리고 열심히

0개의 댓글