프로그램공부에 막막함에 질문드립니다.

wonmanajji의 이미지

리눅스를 기반해서 프로그램을 공부하고 있습니다.
얼마전 SE로 취업을 나가기로 했었는데..
아무래도 프로그램쪽이 끌려 좀더 공부한후 취업을 하려 준비중입니다..

지금 소켓, 디바이스, 쉘, x-window 등등.. 잡다하게 그냥 보고 있는데요..

어떤걸 주력으로 삼으면 좋을까요??

그리고 주력으로 삼는다면.. 어떠한 프로그램을 만들어보면 좋을까요?

고수님들에 조언 부탁드립니다..

익명 사용자의 이미지

가장 뽀다구 나는건 아무래도 network 입니다. 그리고 C언어는 기본으로
하시구요... 그이외에 것들은 그냥 회사 들어가서 배워도 늦지 않을거라
생각되네요...

ssik425의 이미지

참고로 말하자면 저희 개발팀 과장님이 한마디 하더군요..
UNP 한번만이라도 읽은 사람은 그냥 뽑겠다구.. ^^

개발자들의 궁극적 비전은 ?

김경태의 이미지

네트워크 프로그램...socket, listen, select 이런거만 대충 조합하면 될까요?
아닙니다. IPC, Pthread_cond_wait, signal등에 마스터급이 아니면 네트워크를 제대로 장악할 수 없습니다.
게다가 네트워크의 특성상 단 하나의 OS만 가지고는 장사(?)가 않됩니다.
당연 Window에서도 어느정도 자유자재로 소스를 다뤄야 하겠지요?
그것만이 문제가 아닙니다.
디버깅시 골때리는게 클라이언트의 문제가 서버에 나타나기도 하기 때문에 심지어는 서버를 디버깅하면서 클라이언트의 소스를 고쳐주시도 해야 합니다.
(생각해 보세요. 그 황당한 디버깅 상황을)
이런 것을 많이 반복해서 시스템이 내 마음대로 움직여 준다...이래야만 진정한 네트워크 프로그래머입니다.
과연 이런 경지(?)가 쉽게 성취될 수 있을까요?

xwizardx의 이미지

이런 저런 세미나나 주위분들에게 들으세요.. 트랜드를 읽는건 자신의 능력이겠죠

wonmanajji의 이미지

유닉스 네트웍 프로그램???? ^^

모에요?

바람이분다..
그래 살아야겠다..

dra700의 이미지

http://www.kohala.com/start/

저두 APUE와 UNP를 공부하고 있습니다.

acidd15의 이미지

저는 임베디드쪽 추천해 드리고 싶네요.

익명 사용자의 이미지

임베디드에 한표,...역시 그래도 먹구 살만한 쪽은 장비쪽이 아닐지....
핸펀이나...MP3를 비롯해서...펌웨어는 어렵지만...그만큼 희소가치를
인정받는거 같다는...

죠커의 이미지

소켓은 기본인 분위기 입니다.

happycat의 이미지

일단 프로그래밍 언어라면 C++, Python이 공부해 두실 만 하다 생각되고요.. C++은 좋은 입문서가 여럿 되는데 필요하시면 추천해 드리겠습니다. python은 learning python이라는 책을 봤었는데 입문서치고는 좀 복잡한 주제들까지 다루고 있더군요.;; python.org에서 tutorial을 보는 쪽이 더 낫겠습니다.

서버 쪽에 좋은 개발자가 되시고자 하면, 네트워크 프로그래밍, 쓰레드 프로그래밍, 시스템 프로그래밍 등을 공부하면 좋습니다. 네트웍, 시스템 프로그래밍은 각각 스티븐스 아저씨의 Unix Network Programming, Advenced Programming Unix Environment가 고전격이라 생각되군요.

개발 환경도 어느 정도 다룰 줄 아셔야 합니다. 쉬운 거 하나 추천해 드리자면 O'Reilly의 'GNU 소프트웨어로 프로그래밍 하기' 가 좋습니다.

일단 생각 나는 대로 나열해 봤습니다. 역시 가장 좋은 건 잘~ 하는 선배님이나 친구 옆에서 이거 저거 많이 물어보면서 성장하는 길인 것 같네요 ^^

ed.netdiver의 이미지

이 쓰레드를 보고 문득 궁금함이 일어서 여쭤봅니다^^;
아, 전 네떡플밍쪽 종사자가 아니다보니, 잘 모릅니다만...
네떡플밍의 최고봉은 뭐라고 생각하십니까?
언젠가 아는 양반이 snmp, mib쫌 할줄 아는 친구 없냐면서 푸념하던게
생각나서 여쭤봅니당^^;;

그럼 좋은 하루하루 되세용~~~

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

happycat의 이미지

SNMP, MIB는 모니터링에 사용되는 프로토콜이고, 네트웍 프로그래밍의 최고봉이라고 하기는 무리가 있는 것 같습니다. (마치 HTTP가 네트웍 프로그래밍의 최고봉이냐 하는 것과 비슷한 말인 듯..;;) 사실, 네트웍 프로그래밍도 여러가지 주제가 있기 때문에 최고봉이라는 말도 어폐가 있지만, 제가 관심 있게 봤던 분야는 대규모 유저 처리(10k~)에 필요한 기술들입니다. 여러가지 고려해 줘야 할 게 많죠. 이벤트 핸들링 부터, 메모리 관리 까지 상당히 효율적으로 해 줘야 합니다. 또 개인적인 생각으론, 좋은 알고리즘으로 P2P프로그램을 만드는 것도 도전할만한 주제인 것 같군요.

ed.netdiver의 이미지

^^; 그렇군요.
happycat님의 좋은 답변 감사합니당^O^//

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

dude7853의 이미지

저는 라우터(또는 브릿지)에 들어가는 프로그래밍을 하고 있습니다.
보통 자체 RTOS나 리눅스 위에 필요한 프로토콜을 올리거나 수정하는 작업을 하는데,
일을 하면 할 수록 느끼는건 프로그래밍에 관련된 기술보다는 네트워크 자체에 대한 이해가 더 중요하다는 것입니다.

qed wrote:

언젠가 아는 양반이 snmp, mib쫌 할줄 아는 친구 없냐면서 푸념하던게
생각나서 여쭤봅니당^^;;

제가 저희 제품에 snmp를 올리면서 고생한 부분은 mib에대한 것들이었습니다.
어떻게 소켓을 써서 통신하는 가가 아니라 말입니다. s
nmp는 통신방법 자체는 simple하지만, mib은 전혀 simple하지 않으니 말입니다.

PC환경에서 네트워크가 발달하면서 많은 분들이 네트워크 프로그래밍을 공부하고 계신데,
네트워크 프로그래밍이 아니라, 네트워크 프로그래밍만을 공부하고 계신 분들이 꽤 있는 듯해서 안타깝습니다.

불량청년의 이미지

네트워크 프로그램이 문제가 아닙니다.

OS가 어떻게 돌아가는지 알고 있다면 네트워크 프로그램과

일반 파일 입/출력 관련 프로그램이 별반 다를게 없다는걸 알 수 있습니다.

관련 API들이야 레퍼런스 보면 되것이고, TCP/IP도 공부해야 겠죠.

프로토콜 스택 한 번 안까보고 네트웍 프로그램 한다고 하는 사람들 많죠. ㅡ,.ㅡ;

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.