[정글 47일차] Echo 함수 이해

SeHoony·2022년 5월 14일
1

관찰일지

목록 보기
3/19

- 오늘 하루 한 줄 요약

하나만 팠다
서버-클라이언트 네트워크 내부 동작을 이해하는데 시간이 많이 걸려 계획했던 Tiny 웹 서버 구현까지는 못했다. 그러나 echo함수가 호출될 때 발생하는 내부동작 대해 빠삭하게 이해한 거 같아 뿌듯하다. 이 정도 이해도로 이번 주 프록시 과제까지 완주해야지!

- 오늘 공부

오늘은 진짜 정글 공부에만 집중을 했다. 특히 echo 함수를 구현하는데 오후 시간의 대부분을 보낸 거 같다.

아침 시간대에 공부 양이 적은 게 보인다. 요즘 관찰일지를 쓰다보니 잠이 늦어져서 연쇄적으로 아침 기상 시간이 미뤄지고 있다. 오늘도 아침 시간은 거의 활용하지 못해서 아쉽다. 개선 방안이 필요한 거 같다.

그리고 밥은 왜 저렇게 오래 먹는지 모르겠네. 밥 먹는데 30분인데, 점심, 저녁 두 번 다 나머지 1시간동안 뭘 했던걸까? 아 점심때는 카페(작은 빵집 아니고 작은 커피집?) 다녀왔고, 저녁 때는 외식(막국수) + 다이소(마니또 선물) 다녀오느라 시간이 좀 걸렸네. 그럼 나쁘지 않은거 같다.

그리고 이게 당연한 것일 수도 있지만, 저녁으로 갈 수록 공부 중에 빈 공간이 많은 게 보인다. 저녁 10시 이후로는 뭔가 대책이 필요할 거 같다.

- 오늘 하루 아쉬운 점

  • 주말에 아무 생각없이 아침시간을 놓아버린 것.
    주말 토욜 아침은 쉬어야지라고 계획을 하고 쉬었다면 용납할 수 있지만 어제 좀 늦게 잤으니까 오늘 늦게 일어나겠다는 건 실망스럽다. 차라리 주말에 장병규 의장님 말씀처럼 나만의 ritual을 만들거나 고정적으로 쉬는 시간을 지정해놓는 게 좋을 거 같다.

- 오늘 하루 잘한 점

  • echo 함수를 끝까지 판 것.
    정글와서 짜릿했던 순간 중 하나였다. 저번 주처럼 이해도가 낮음에도 진도 빼기 급급하다면 남는 게 없을 거 같았다. 그래서 어제부터 막혔던 echo함수에 대해 완전 이해하고 가기로 했다.
    일단 소켓 인터페이스 함수들과 Unix I/O함수들의 매개변수와 리턴값이 무엇인지부터 다시 정리했다. 그 다음부터는 구현 과정을 하나하나 그려보았다. 두번째 사진 오른쪽 페이지가 그 그림이다...
    가장 짜릿했던 부분은 클라이언트가 메모리(buf)에서 파일(rio)로 데이터 전송을 보낼 때(write) 메모리에서 디스크로 시스템콜을 보내고 이게 context switch하는 과정이구나를 이해했던 부분이었다. CSAPP 책을 열심히 읽어가고 있는데, 전에는 보이지 않던게 보이니까 재밌었다. 그 때 너무 기분 좋아서 승원이건엽이 데리고 휴게실에서 설명까지 했다.
    내일은 하루 종일 tiny 웹 서버를 구현해보겠다! 이런 번뜩임이 한 번 더 온다면 치킨 쏜다.

  • 양말 12켤레를 산 것
    미니멀리즘을 추구하지만 양말 6켤레로 한달 간 운동도 하고 공부도 하다보니 너무 꼬질꼬질해졌다. 누가 더럽다고 할까봐 요즘에 슬리퍼도 잘 안 신고 있었는데, 오늘 내가 좋아하는 하얀 양말로 12켤레 플렉스해버렸다. 내일부터 슬리퍼 신고 강의실가야지~

- 내일의 각오!

  • Tiny 웹 서버 완전 이해
  • 순수 공부시간 11시간 도전!

- 오늘의 노래 : Antifreeze - 백예린

내가 노래에 대해서 일자무식이지만 이 노래 가사가 참 좋았다. 특히 너는 내가 처음 봤던 눈동자야에서 녹아버린다. 꼭 좀 들어봤으면!

profile
두 발로 매일 정진하는 두발자, 강세훈입니다. 저는 '두 발'이라는 이 단어를 참 좋아합니다. 이 말이 주는 건강, 정직 그리고 성실의 느낌이 제가 주는 분위기가 되었으면 좋겠습니다.

0개의 댓글