퇴근 후 공부, 데이터통신에서 C 언어로
· 약 2분
입사하고 1년이 넘었다. 회사에서는 매일 Next.js 코드를 만지는데, 그 아래에서 무슨 일이 일어나는지 설명하라고 하면 막히는 부분이 많았다. 그래서 여름부터 기초 과목을 하나씩 듣고 이 블로그 docs에 정리하고 있다.
7~8월, 데이터통신
6월에 학습 노트용으로 Docusaurus를 새로 세팅했고, 첫 과목은 정보통신과 데이터통신이었다. 데이터통신 시스템의 구성, 네트워크 분류, 프로토콜, OSI 7 계층, 아날로그와 디지털, PCM과 라인 코딩까지 정리했다.
OSI 7계층은 계층마다 PDU 이름이 어떻게 바뀌는지 그림과 함께 정리했다. 업무에서 보는 HTTP 헤더나 프록시 IP가 어느 층 이야기인지 조금은 감이 생겼다.
9월, C 언어
강의는 Dev C++로 진행되는데 맥에서는 돌아가지 않았다. VS Code에 확장을 깔아 쓰는 방법도 있었지만 회사 일에 쓰는 설정과 섞이는 게 싫었다. 그래서 Xcode에서 Command Line Tool 프로젝트를 만들어 C 실습을 하고 있다. 프로젝트 생성 한 번으로 바로 printf가 돌아갔다.
이번 주에는 서식 문자, 변수와 메모리, sizeof를 정리했다.
int a = 10, b = 20;
int t = a;
a = b;
b = t;
printf("%d %d\n", a, b); // 20 10
JS에서는 구조 분해 한 줄이면 끝나는 swap이다. C 노트에는 변수를 선언하면 메모리에 공간이 잡히고, sizeof로 보면 int가 4바이트라는 것까지 같이 적었다. 변수 하나의 크기를 의식하며 코드를 본 건 처음이다.
docs에는 프로그래밍-언어-활용 폴더도 미리 만들어 두었다. 회사 코드와 상관없는 과목이라도 일단 꾸준히 커밋으로 남기는 게 목표다.
