반응형


 TCPIP를 공부하면서 어딘지 모르게 정리가 되지 않은 듯한 느낌과 어디를

손대야할지 갈팡질팡하고, 또 어렴풋이 감만 살짝 살짝 봄 눈 진눈깨비처럼

왔다가 사라지곤 했는데 그 이유가 바로 컴퓨터의 역사와 함께 네트워크에

대한 부분도 진화를 거듭했기 때문이다. 


 그래서 비교적 최근에 만들어지고, 스트림 형식으로 소켓 통신을 하는 자바 보다 

좀 더 어려운 느낌을 받는데 사실 C언어의 네트워크 프로그래밍은, 좀 더 자세히 

보자면 리눅스 기반의 소켓 통신은 어떻게 진화되어 왔는가에 대한 이해가가 어려웠던

것이지, 가장 중요한 부분만 알려고 한다면 더 쉬웠을 것이다. 그것이 이론적 공부와

실무적 공부의 차이일 것이다. 그것에 대한 역사를 이해하느냐 아니면, 필요한 부분만

가져다 쓰느냐.


 

 TCP IP에서의 초반은 서버와 클라이언트의 개념에 대한 이해, 그리고 어떻게 소켓을

열고, 연결을 하고, 종료를 하는가에 대한 이해이다. 중반으로 넘어가면, 어떤 방식으로

메시지를 주고 받을 것인가, 그리고 1 : 1 통신에서 벗어나 다중 통신의 개념으로 들어가고

중후반에서 후반은 다중 통신에 대한 효율성 증대를 위한 프로세스에서 어떻게 쓰레드까지

진화되었는가에 대한 이해이다.


 쉽게 말하자면, 1:1의 통신에서 점차 진화하여 1:M의 통신으로 갈 때 어떤 것이 필요하고

서버는 어떤식으로 작동해야 할 것인가를 고민해나가는 것이다.


 그걸 세밀한 부분부터 이해하려니 숲이 안보일 수 밖에 없었던 한 학기였다. 참, 재밌는 건

시험공부나 과제를 하다보면 그런게 보인다는 거다. 그걸 교수님이 노린걸까? ^^;;

어쩌면 평소에 공부를 안하다 몰아치기를 하다보니 보인걸 수도 ㅎㅎ


 섬세하게 진도를 하나하나씩 배우면서 따라해보고 난 뒤 전체를 파악하는 것보다는 

전체적 흐름 속에서 어떤 과정으로 흐름이 이어가는가를 보는 것도 필요할 듯해서 남겨보았다.

다치바타 다카시 같은 공부의 달인들은 그런 걸 책으로도 내던데... 나도 이참에 그런 글을

여럿 남겨 보려한다. 나만의 방법론을 구축하는 것 만큼 멋지고 흥분되는 어디있겠는가?!


 

반응형

WRITTEN BY
데르벨준

,