프로그래밍이 적성에 맞지 않는것일까..

philossh의 이미지

일단은 진로를 개발자쪽으로 바라보고있는 졸업반 학생인데요..
졸업작품으로 메신저 프로그램을 만들고 있는데..
(오래전부터 해야지 해야지 하다 막바지에들어 다급하게 시작하게됬네요.. 에휴.. 왜 이모냥인지.. :cry:)
제가 제대로된 프로그램을 만드는게 이번이 처음인지라..
정말 생각되로 제대로 되지 않는군요..
윈도기반 IOCP와 C++을 사용해서 구현한지 4일째에 들어섰는데
이게 다른 C#이나 MFC로 메신저를 제작하는 책을 보면 간단간단하게 넘어가는것 같은데..
저는 코드가 점점더 복잡해지는 듯한 느낌이 자꾸 들어요.. ㅜㅜ
거기다 코딩하는 시간이 너무 오래 걸리는 것 같아요.
제가 직업 개발자들이 코딩하는 모습을 한번도 못봐서 어떻게 하는지는 모르겠지만..
프로그래밍을 하다보면 이게 완전 선택의 연속이더군요..
제가 약간 우유부단한 성격이라그런지..
이런식으로 할까? 저런식으로 할까?? 자꾸 이런생각이 들고 쉽게 결정을 잘 못내리네요.. :cry:
그러다보니 코드몇줄 적는데 몇십분씩 걸리고.. 에휴..
설계를 제대로 안한탓인지.. 제가 적성이 안맞는건지..
이렇게 느려서 나중에 취업해서 제대로 일을 할수나 있을런지..

File attachments: 
첨부파일 크기
Package icon iocpserver.zip57.15 KB
chadr의 이미지

지극히 정상입니다.. 책에 나온 코드들은 따라하기 위주라서 여러가지 에러처리나 예외 처리가 미흡합니다.. 오히려 그런거까지 다 따져서 예제를 작성해놓으면 따라하는 사람은 오히려 머리가 아파지죠..

Quote:
이런식으로 할까? 저런식으로 할까?? 자꾸 이런생각이 들고 쉽게 결정을 잘 못내리네요..
그러다보니 코드몇줄 적는데 몇십분씩 걸리고.. 에휴..
설계를 제대로 안한탓인지.. 제가 적성이 안맞는건지..

완벽한 설계가 없이 바로 코딩에 들어가면 그런 현상이 발생합니다.
간단한 유틸정도야 바로 바로 결정이 가능하지만.. 조금만 프로그램이 복잡해지면 이렇게 할까 저렇게 할까 고민이 많이 되길 마련입니다. 설계만 제대로 되어있다면 그 뒤는 설계대로만 하면 되니까 일사천리로 코딩이 가능합니다.

제가 보기에는 그다지 문제가 없어보입니다. 단 설계 스킬이 약간 부족하신듯 하니 설계 스킬에 스킬 포인트를 찍어보심이 좋을듯 합니다. :)

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

hyperhidrosis의 이미지

작업중인 소스를 올려줘 보세요.
(전산과 졸업생 기준으로) 평가해 드리겠습니다.

kihongss의 이미지

몇년전에 IOCP를 사용해 메신저 비스무리한것을
만들어 본 경험상, IOCP 를 바닥부터 구현해서 쓸만한 C++
클래스로 만들기에도 상당한 시간이 필요합니다.
메신저 구현이 주 목적이시라면, IOCP던 뭐든
네트워크 라이브러리는 기존에 나와있는것을
사용하심이 좋을듯 싶네요.
메신저 본래 기능 구현하는것도 그리 만만한 작업은
아니거던요.

philossh의 이미지

hyperhidrosis wrote:

작업중인 소스를 올려줘 보세요.
(전산과 졸업생 기준으로) 평가해 드리겠습니다.

이게 설계를 거의 안하고 머리속에서만 설계하고 만들고 있는중이라..
코드가 일관성이 조금 떨어지네요..
거기다.. 완전히 제가 날코딩한 게 아니고..
다른 IOCP 서버소스 몇개를 참고해서 만든게 이정도네요.. :cry:
DB클래스는 Windows API 정복(가남사) 이책에 있는걸 그냥 이해만 하면서 그대로 배껴서 썼구요.. ㅡㅡ;

앞으로 이런저런부분들이 대폭 수정작업에 들어갈것 같습니다.
패킷 데이터의 네트워크오더, 스트럭쳐 패팅문제..
서버의 재사용을 위한 Template클래스를 지금 생각중에 있구요..
에러처리에 대한 문제도 많이 생각을 해봐야 할것 같네요

보시고 어떤식으로 코딩을 해나가야 할지??
진로를 이쪽으로 잡았을경우 가망은 있을지??
평가좀.. :cry:

ps. 진짜 올리기 민망하지만 큰맘 먹고 올리네요..
고수님들 충고좀 해주세요..

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트

To be or not to be.
That is the question.

다크슈테펜의 이미지

philossh wrote:

이게 설계를 거의 안하고 머리속에서만 설계하고 만들고 있는중이라..
코드가 일관성이 조금 떨어지네요..

기본적으로 졸업작품이라고 하면 문서화는 하셔야 하셨을텐데 첫번째 실수라고 말씀 드리고 싶네요...같은 소스라도 UML로 다이어그램과 그리고 디비 양세 그리고 기타등등을 조금이라도 문서화 해두셨다면 지금의 혼란은 없었을수도 있지 않을까요...?

인생이란게 다 그런게 아니겠어요....? 뭘(?)
http://schutepen.egloos.com

philossh의 이미지

제가 전문대학생이라..
학교의 분위기에 휩쓸려서 대책없이 시간을 보내다가
너무 준비없이 급하게 시작해서 그런듯 합니다.
그래서 일단은 결과물을 먼저 만들어내야 했기에 이런지경까지.. :cry:

To be or not to be.
That is the question.

superkkt의 이미지

chadr wrote:
제가 보기에는 그다지 문제가 없어보입니다. 단 설계 스킬이 약간 부족하신듯 하니 설계 스킬에 스킬 포인트를 찍어보심이 좋을듯 합니다. :)

설계와 관련된 좋은 책이나 문서가 있으면 추천좀 부탁드리겠습니다. 저도 이제 공부를 시작한 초보인데 작은 프로그램도 설계 과정 없이 진행을 했더니 나중에 너무 복잡해지는 경향이 있더군요.. :(

======================
BLOG : http://superkkt.com