서버 프로그래머가 되려고 한다면 OS, DB, 네트웍 프로그래밍 등에 대해서 공부를 하셔야 됩니다.


OS 에서는 프로세스, 쓰레드, 동기화에 대해서 충분한 이해가 필요합니다.

 

DB MS SQL Server, MySQL, 오라클 중 하나를 배우시면 됩니다. 참고로 한국에서는 MS SQL Server를 사용하는 것이 많습니다. 그리고 DB 모델링에 대한 이해도 필요합니다.

 

네트웍 프로그래밍은 먼저 TCP/IP에 대한 기본 지식을 배운 후 Select 방식 및 IOCP(Windows 플랫폼의 경우) 방식에 대해서 공부 하시면 됩니다.

 

어느 것 하나 간단하게 배울 수 있는 것은 아니니 책을 추천하겠습니다.

 

1. OS 및 일반 프로그래밍 관련

응용 운영 체제 개념(Applied Operating System Concepts)

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200302080008 )

: 책이 두꺼운 만큼 매일 조금씩 공부하기를 권합니다. 그리고 이 책을 보면 자료구조가 어떻게 활용 되는지도 알 수 있습니다.

 

CODE COMPLETE 2/E

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200504110013 )

: Coding과 관련된 것인데 개인적으로 필독서 라고 생각합니다. 이것도 두꺼우므로 매일 조금씩 보기를 권합니다.

 

Debugging Applications for Microsoft .NET and Microsoft Windows

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200403190013 )

: Windows 플랫폼에서의 디버깅에 대해서 잘 가르쳐주는 책입니다. 특히 덤프를 남기게 하는 방법과 보는 방법은 꼭 배워야 서버 비정상 종료가 되어도 문제를 찾아 낼 수가 있습니다.


2. Network Programming

UNIX Network Programming Vol.1 : The Sockets Networking API 제3

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200507010009 )

: 네트웍 프로그래머로 한번쯤은 봐야 될 책이라고 생각합니다. Socket의 구조의 프로그래밍 방법에 대해서 잘 나와 있습니다.

 

Network Programming for Windows 2/E (한국어판)

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200212040002 )

: Windows 플랫폼에서 네트웍 프로그래밍을 한다면 꼭 가지고 있어야 되는 책입니다. 특히 IOCP에 대해서 잘 나와 있습니다. 7장까지만 보셔도 좋습니다.

 

온라인 게임 서버 프로그래밍

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200611270001 )

: 게임서버를 어떻게 만들지 응용에 대해서 잘 나와 있는 책입니다. 이 책을 보면 게임서버를 어떻게 만들어야 될지 감이 잡히지 않을까 생각합니다.

 

TCP/IP 인터네트워킹 - 원리, 프로토콜, 아키텍처, 5

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200611240004 )

: 책도 두껍고 내용도 쉽지는 않지만 좋은 내용이 많습니다. 내용이 어려운 만큼 이 책을 보기 전에 좀 더 보기 쉬운 것으로 TCP/IP에 대한 지식을 쌓기를 권합니다.

 

Effective TCP/IP Programming: 네트워크 프로그램을 향상시키는 44가지 Tips

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200307110004 )

: TCP/IP 프로그래밍을 할 때 이슈가 될만한 것들을 대한 좋은 Tip이 나와 있습니다.




3. DB

소설처럼 읽는 DB 모델링 이야기

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200606010011 )

: DB에 대한 기본 지식과 모델링을 하기 전에 요구 사항을 어떻게 이끌어 내고 정리해야 되는 것 등도 나와 있었어 무척 좋습니다. 그리고 책의 내용도 딱딱하지 않게 잘 구성 되어 있습니다.

 

SQL SERVER 2005 완벽가이드

( http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200710050034 )

: , 중급자용 책으로 자세하게 나와 있습니다. 다만 간혹 기본적인 부분에 대한 설명이 없었어 조금 난감할 때도 있습니다. 2005에 대한 것 중 가장 초급자용으로는 괜찮은 책이라고 생각합니다.



4. 신입 사원 입사 지원 시

어떻게 준비를 해야 되는지 물어 보시는 분이 있는데 각 회사나 팀마다 다르기 때문에 딱히 정확하게 말하기 힘들겠지만 기술 면접과 관련해서는 쓰레드 생성 및 주의사항, 동기화에 대한 기본지식 및 동기화 객체에 관한 것( Windows API 정복이라는 책을 기준으로 한다면 30장 메모리, 31장 멀티 스레드, 32장 동기화,), 서버를 만든다면 어떤 구조로 만들 것인가에 대한 간단 명료한 설명을 준비하면 좋으리라 생각합니다.

 

그리고 포토폴리오의 경우는 온라인 게임을 만들면 가장 좋지만 이 경우 클라이언트를 만들던가 도움을 받아야 되는 문제가 있으므로 채팅 프로그램을 만들면 좋지 않을까 생각합니다.

대신 로그인 인증 기능(DB 연동), 인증 후 유저 관리, 채널로 구분, 방 생성을 하여 채팅 정도라면 클라이언트는 단순하게 만들어지고, 서버 측면에서는 기본적인 골격은 보여 줄 수 있다고 생각합니다.

 

 

 

 

다른 프로그래머 분들의 의견 입니다.

자바워크님   서버 프로그래머에게 국한된 아니지만 "작지만 유용한 프로그램들을 매일 작성

                 할 것을 추천" 하고 싶네요.

기다림님    “데이터베이스도 기본적인 정도는 있어야겠죠”

갱주니님    “좋은 코드 작성하기 Writing Secure Code, Code Complete 강추합니다.


신고
by 흥배 2008.03.20 23:39
| 1 |