리눅스 vs 윈도우즈 서버?

회원 전용입니다. 프로그래밍 관련 질문&논의는 금지!

Moderator: 류광

비회원

리눅스 vs 윈도우즈 서버?

Post by 비회원 »

최근에 서버 프로그래머로 취업했습니다.

게임서버 준비를 하면서
익히 알려진 바와 같이 윈도우즈 계열로 준비를 했는데요..

구직하면서 놀란게..
신규플젝 시작하는 회사의 1/3은 리눅스 서버로 시작을 하더군요.
몇년전에 gamejob에선 리눅스 구인을 보지도 못했는데..
내심 고민많이 했습니다. 리눅스 공부도 해야 하나해서 -,.-);;

최근 런칭한 라그나x크2도 리눅스로 구축했던데...

리눅스가
향후에 이른바 대세란게 될수도 있을까요?
당장이야 리눅스 개발인력이 적겠지만...
비회원

Post by 비회원 »

sock.h불러쓰나 winsock.h불러쓰나 ...

기본적인 OS운용과 개발 환경 구축 정도는 교육 문서가 있을 것이고요. (패키지 업데이터 사용법이라던가, 테스트 서버 구축에 관련된 자료.)

개발자가 왜 서버 운영 환경을 걱정하십니까.
비회원

다엑 개발자가 오픈지엘을 알아야 하냐는 문제이기도하네요

Post by 비회원 »

다엑개발자가 오픈지엘을 잘 모르겠죠

그래도 렌더러 라이브러리 다뤄보면

다엑에서 오픈지엘로 넘어가는건 시간을 투자하면 그리 어렵지도 않은 일입니다.

물론 다엑과 오픈지엘은 문법도 다르고 여러모로 다르지만

기본 개념과 원리만 알고있다면 가능한 일입니다.

서버도 마찬가지로

리눅스나 윈도우나 문법등 많은 부분 다르겠지만

같은 역할을 하는 함수들이 존재할것입니다.

난 윈도우즈계열만 할줄알아 라고 한다면

리눅스로 개발하는 업체에는 절대 가지 못하겠군요...

자신의 선택폭도 좁을뿐만아니라,

발전 가능성을 스스로 제한하는게 아닌가 하는 생각이 듭니다.
비회원

Re: 다엑 개발자가 오픈지엘을 알아야 하냐는 문제이기도하네요

Post by 비회원 »

비회원 wrote:다엑개발자가 오픈지엘을 잘 모르겠죠

그래도 렌더러 라이브러리 다뤄보면

다엑에서 오픈지엘로 넘어가는건 시간을 투자하면 그리 어렵지도 않은 일입니다.

물론 다엑과 오픈지엘은 문법도 다르고 여러모로 다르지만

기본 개념과 원리만 알고있다면 가능한 일입니다.

서버도 마찬가지로

리눅스나 윈도우나 문법등 많은 부분 다르겠지만

같은 역할을 하는 함수들이 존재할것입니다.

난 윈도우즈계열만 할줄알아 라고 한다면

리눅스로 개발하는 업체에는 절대 가지 못하겠군요...

자신의 선택폭도 좁을뿐만아니라,

발전 가능성을 스스로 제한하는게 아닌가 하는 생각이 듭니다.
선택의 폭도 좁아지고 발전가능성을 스스로 제한하는것은 맞습니다.

헌데 서버라는것은(그 외 것들도 비슷하겠지만) 기본개념과 원리만 안다고 되는것은 아니라고 봅니다.

당장에 Proactor pattern은 IOCP가 있는 윈도우에서만 적용이 가능합니다.

(1~2년 전에 ACE를 봤을때 Proactor는 윈도우 플랫폼에서만 지원을 한걸로 기억합니다.)

기본개념과 원리를 알고 있다지만 OS에서 제공을 안해주는데 아무리 용을 쓴들 어떻게 구현할 수 있겠습니까.

비슷하게 흉내는 낼 수 있겠지만 이 역시 해당 OS에서 비슷한 기능을 제공해 주는것이 뭐가 있는지 알아야만 가능하겠죠.

한우물을 파는게 좋다고 생각하는데 저도 우물 안 개구리는 '지양'합니다.
비회원

Re: 다엑 개발자가 오픈지엘을 알아야 하냐는 문제이기도하네요

Post by 비회원 »

클라이언트와 달리 서버는 개발 이전에 한가지 플랫폼을 고르면 클라이언트에 지원하는 모듈을 제외하고는 그다지 여러가지 플랫폼 버전으로 개발이 고려될 필요는 없습니다.
클라이언트 개발환경과 비교하는것은 다소 맞지 않는다는 생각이 드네요.

그리고 조금 배워서 리눅스도 할줄 안다는 것의 의미가 그냥 할줄 안다는 것에 의미를 두는 것인지 정말 잘하는 경지까지를 얘기하신건지 모르겠군요.

리눅스 시스템의 개발도 정말 잘하려면 얼마나 많은 노력이 필요한줄 아시는 분이라면 이렇게 얘기하지는 않았을듯 싶기도 하네요.

서버프로그램은 운영체제와 제공되는 네트워크 라이브러리에 대한 이해가 상당히 필요한 분야라고 생각합니다.

조금 배워서 할 줄 안다고 생각한다면 오히려 위험한 일이라고 생각합니다.
soryu
Posts: 204
Joined: 2003-12-12 22:59

Post by soryu »

sock.h불러쓰나 winsock.h불러쓰나 ...

기본적인 OS운용과 개발 환경 구축 정도는 교육 문서가 있을 것이고요. (패키지 업데이터 사용법이라던가, 테스트 서버 구축에 관련된 자료.)

개발자가 왜 서버 운영 환경을 걱정하십니까.


이분은 실제로 개발은 안해보셨나보네요-_-;

아마 socket 가 windows나 linux나 BSD socket을 쓰면 똑같으니까 저런 말을 하시나보네요ㅎㅎ

Linux에 /dev/epoll 로 만드는 것과 windows의 IOCP로 만드는것을 같이 다루는 서적이 있나요?

그외에도 완전 다르다 라고는 할 수 없지만, DX와 OpenGL만큼 다르죠.



개발은 개발자가 하지만, 관리는 다른 사람들이 합니다.

그 관리 인력에 대해서도 개발자가 어느 정도 생각을 해야 하지 않을까요?

Linux로 개발해놨드니, 서버 관리할 사람을 못구해서 개발자가 고생하는 경우도 있습니다-_-;

Linux에 console 모드로 능숙하게 다루는 사람 구하기 정말 힘듭니다;



Linux 와 같은 무료 OS 계열로 서버 개발을 하면,

퍼블리슁 받기가 쉽다는 점이 있습니다. 특히 해외에선 매우 환영합니다.

HW만 구입하면 게임 서비스가 되기 때문에 초기 설치비가 저렴해서 호의적으로 생각한다는 군요.
아노아
Posts: 296
Joined: 2002-02-08 09:00
Location: 모 회사 청소과.
Contact:

Post by 아노아 »

음. 근데 해외는 그렇다 치고.. 국내에서 퍼블리슁업체 중에 리눅스 받아주는 업체가 있나요? -_-)a 아에 서버에서 사용하라고 오는 모듈 lib자체도 dll에 vc용으로 오는 판에 말이죠..;;
jacking
Posts: 1035
Joined: 2002-01-09 09:00

Post by jacking »

윈도우에서 유닉스 계열로 넘어가서 일한 제 경험상 프로그래밍 자체 보다는 디버그나 OS 운용이 어려웠습니다.

유닉스나 윈도우나 OS의 큰 기틀이 크게 다르지 않고 게임서버 제작 할 때 OS 특유의 함수를 사용하는 경우는 작고 거의가 C++ 라이브러리를 이용해서 만들기 때문에 유닉스 프로그래밍을 공부하는 것이 어렵다던지 많은 시간이 소비 되는 건 아니었습니다.

오히려 OS를 만지고 튜닝 하는게 어렵더군요.
이건 유닉스가 윈도우 보다 좋고 나쁘고를 떠나서 제 경우는 처음이 윈도우다 보니 심리적으로 자꾸 윈도우를 비교하다보니 심리적인 불편함이 초반에 꽤 강했습니다.

윈도우는 어느 정도 알고 있고 한글로 된 책이 많아서 운용하는데 불편함이 거의 없지만 유닉스는 대다수의 명령어를 다시 배워야 되고, 그걸 콘솔 명령어로 해야 되는게 불편하더군요. 그리고 특히 커널 컴파일까지 해야 되는 경우는 남감했습니다.

지금까지 FreeBSD에서 개발하면서 프로그래밍적으로 어려웠던적은 별로 없었던것 같습니다( 어쩌면 저희 팀의 동료분께서 많이 도와주셨어 그런걸 일수도 있겠네요 ).


디버깅의 경우 저는 처음에는 gdb로 하다가 도저히 작업 효율이 나오지 않아서 동료분의 도움으로 KDE를 설치 후 KDevelop에서 작업을 하고 있는데 이 놈의 툴이 가끔 죽는 경우와 디버깅 포인터가 틀려질 때나 멤번변수의 내용을 보기가 불편한것 말고는 gdb를 사용 할 때 보다 훨씬 좋았습니다.


개인적인 생각으로 누군가 리눅스에 대해 잘 아는 사람이 1명 정도 있고, X-Window 환경에서 이클립스나 KDevelop를 사용하면 코딩이나 디버깅에 큰 어려움 없이 게임서버 개발을 할 수 있다고 생각합니다.
다만 리눅스 전문가가 팀에 없다면 자신이 없지만요..
MS MVP( VC++ )
Twitter : jacking75
블로그 1: http://jacking.tistory.com
블로그 2: http://blog.naver.com/jacking75
스프링노트 : http://jacking.springnote.com
형구리
Posts: 4
Joined: 2007-09-19 00:37

Post by 형구리 »

soryu wrote:
sock.h불러쓰나 winsock.h불러쓰나 ...

기본적인 OS운용과 개발 환경 구축 정도는 교육 문서가 있을 것이고요. (패키지 업데이터 사용법이라던가, 테스트 서버 구축에 관련된 자료.)

개발자가 왜 서버 운영 환경을 걱정하십니까.


이분은 실제로 개발은 안해보셨나보네요-_-;

아마 socket 가 windows나 linux나 BSD socket을 쓰면 똑같으니까 저런 말을 하시나보네요ㅎㅎ

Linux에 /dev/epoll 로 만드는 것과 windows의 IOCP로 만드는것을 같이 다루는 서적이 있나요?

그외에도 완전 다르다 라고는 할 수 없지만, DX와 OpenGL만큼 다르죠.



개발은 개발자가 하지만, 관리는 다른 사람들이 합니다.

그 관리 인력에 대해서도 개발자가 어느 정도 생각을 해야 하지 않을까요?

Linux로 개발해놨드니, 서버 관리할 사람을 못구해서 개발자가 고생하는 경우도 있습니다-_-;

Linux에 console 모드로 능숙하게 다루는 사람 구하기 정말 힘듭니다;



Linux 와 같은 무료 OS 계열로 서버 개발을 하면,

퍼블리슁 받기가 쉽다는 점이 있습니다. 특히 해외에선 매우 환영합니다.

HW만 구입하면 게임 서비스가 되기 때문에 초기 설치비가 저렴해서 호의적으로 생각한다는 군요.
제 생각에는 실제로 개발을 안하셨다기 보다 윈도우즈든 리눅스든 네트워크 엔진이나 프레임 워크가 이미 잘 개발이 되어있는 회사면 그 내부를 굳이 보려고 하지 않는 이상 몰라도 프로그래밍이 가능하기에 쓰신 글 아닐까요?
심 형근
Posts: 526
Joined: 2002-08-19 23:30

다른것보다는.

Post by 심 형근 »

Visual C++, Visual Asist X, MSDN
. 과 -> 및 ( 을 입력했을때 나오는 메뉴가 없다면 코딩하는데 난감한 상황이.

다른 이유보다는 비주얼적인 편의성이 큰것 같습니다.
서린
Posts: 291
Joined: 2006-10-06 12:23

Post by 서린 »

형구리 wrote:
soryu wrote:
sock.h불러쓰나 winsock.h불러쓰나 ...

기본적인 OS운용과 개발 환경 구축 정도는 교육 문서가 있을 것이고요. (패키지 업데이터 사용법이라던가, 테스트 서버 구축에 관련된 자료.)

개발자가 왜 서버 운영 환경을 걱정하십니까.


이분은 실제로 개발은 안해보셨나보네요-_-;

아마 socket 가 windows나 linux나 BSD socket을 쓰면 똑같으니까 저런 말을 하시나보네요ㅎㅎ

Linux에 /dev/epoll 로 만드는 것과 windows의 IOCP로 만드는것을 같이 다루는 서적이 있나요?

그외에도 완전 다르다 라고는 할 수 없지만, DX와 OpenGL만큼 다르죠.



개발은 개발자가 하지만, 관리는 다른 사람들이 합니다.

그 관리 인력에 대해서도 개발자가 어느 정도 생각을 해야 하지 않을까요?

Linux로 개발해놨드니, 서버 관리할 사람을 못구해서 개발자가 고생하는 경우도 있습니다-_-;

Linux에 console 모드로 능숙하게 다루는 사람 구하기 정말 힘듭니다;



Linux 와 같은 무료 OS 계열로 서버 개발을 하면,

퍼블리슁 받기가 쉽다는 점이 있습니다. 특히 해외에선 매우 환영합니다.

HW만 구입하면 게임 서비스가 되기 때문에 초기 설치비가 저렴해서 호의적으로 생각한다는 군요.
제 생각에는 실제로 개발을 안하셨다기 보다 윈도우즈든 리눅스든 네트워크 엔진이나 프레임 워크가 이미 잘 개발이 되어있는 회사면 그 내부를 굳이 보려고 하지 않는 이상 몰라도 프로그래밍이 가능하기에 쓰신 글 아닐까요?
올린 분도 비회원 글에 신입이고, 쓰레드 제목이 제목이라 전체가 날아가길 기대하며 비회원으로 글 남겼었습니다.

그리고 여기가 프로그래밍 란이나 네트워크 란이었으면 답글이 달라졌겠죠.

결론부터 말씀드리면 , 개발자가 서버 운용 환경에 대한 메인터넌스까지 감안하는 개발 환경은 앞뒤가 바뀐 말입니다.

'관리'라는 표현이 나왔습니다만, 저 '관리'가 GM툴 같은 게임 운영에 대한 관리가 아닌,통상개념의 시스템 관리로써 SE가 하는 작업이라면 애초에 개발자가 케어할 부분이 아닙니다.

개발 측면에서는 jacking님이 잘 말씀해주셨네요.

과거 주먹구구식-개발자가 프로그래밍, 서버 관리/설정, DB구성-으로 진행되는 조직으로도 어떻게든 되던 시대는 이미 지나갔습니다.

약은 약사에게 진료는 의사에게, DB는 DBA에게 시스템은 SE에게 입니다. 따로 불리는 직군이 존재한다는 건 다 이유가 있습니다.
jacking
Posts: 1035
Joined: 2002-01-09 09:00

Post by jacking »

서린 wrote: ..........
과거 주먹구구식-개발자가 프로그래밍, 서버 관리/설정, DB구성-으로 진행되는 조직으로도 어떻게든 되던 시대는 이미 지나갔습니다.

약은 약사에게 진료는 의사에게, DB는 DBA에게 시스템은 SE에게 입니다. 따로 불리는 직군이 존재한다는 건 다 이유가 있습니다.
꼭 그런 개발 환경이라면 좋겠는데 큰 회사들 이외는 대 다수가 서버플머가 모든걸 다 해야 되는 경우가 많더군요.

프로그래밍 측면으로 배울게 많은데 DB 공부나 서버 관리/설정도 싫던좋던 공부해야 된다는게 안타깝네요 ;;;
MS MVP( VC++ )
Twitter : jacking75
블로그 1: http://jacking.tistory.com
블로그 2: http://blog.naver.com/jacking75
스프링노트 : http://jacking.springnote.com
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Post by zupet »

jacking wrote:꼭 그런 개발 환경이라면 좋겠는데 큰 회사들 이외는 대 다수가 서버플머가 모든걸 다 해야 되는 경우가 많더군요.

프로그래밍 측면으로 배울게 많은데 DB 공부나 서버 관리/설정도 싫던좋던 공부해야 된다는게 안타깝네요 ;;;
큰 회사도 MMO 같이 팀 규모가 커서 인력을 충분히 확보하고 있거나 해당 서비스 전문 인력을 배치해주지 않을 경우 많은 업무가 팀까지 내려오게 됩니다. 그리고 퍼블리슁을 맡겼을 경우 게임쪽 문제인지 서버 문제인지 잘 파악이 안간다고 했을때 서버 관리자 모시고 같이 가서 구경만 하면서 멍청한 표정 짓고 있으면 정말 곤란한거 아닙니까?

전반적인 능력은 아니라도 서비스와 관련된 기술은 다 익혀두지 않으면 안됩니다. 서버 관리자 분들도 잘하는분 못하는분이 갈리기 때문에 최악의 상황이 발생하고 관리자가 GG 쳐버리면 회사의 최고 기술자가 책임질 수 밖에 없는거 아닙니까? 엉뚱한 서버 관리자 만나면 관리 못하는 문제를 장비탓 하면서 괜히 비싼 장비 사달라고 마구 조르기도 하는데 이런 것도 개발팀에서 적절히 컷트해야죠. ^_^
jacking
Posts: 1035
Joined: 2002-01-09 09:00

Post by jacking »

zupet wrote: 큰 회사도 MMO 같이 팀 규모가 커서 인력을 충분히 확보하고 있거나 해당 서비스 전문 인력을 배치해주지 않을 경우 많은 업무가 팀까지 내려오게 됩니다. 그리고 퍼블리슁을 맡겼을 경우 게임쪽 문제인지 서버 문제인지 잘 파악이 안간다고 했을때 서버 관리자 모시고 같이 가서 구경만 하면서 멍청한 표정 짓고 있으면 정말 곤란한거 아닙니까?

전반적인 능력은 아니라도 서비스와 관련된 기술은 다 익혀두지 않으면 안됩니다. 서버 관리자 분들도 잘하는분 못하는분이 갈리기 때문에 최악의 상황이 발생하고 관리자가 GG 쳐버리면 회사의 최고 기술자가 책임질 수 밖에 없는거 아닙니까? 엉뚱한 서버 관리자 만나면 관리 못하는 문제를 장비탓 하면서 괜히 비싼 장비 사달라고 마구 조르기도 하는데 이런 것도 개발팀에서 적절히 컷트해야죠. ^_^
현실적인 이야기이고 의도는 이해가 됩니다만, 두번째 부분은 좀 납득하기가 그렇네요.
다른 파트의 사람을 믿을 수 없기 때문에 본인이 다 해야 된다는 것은 상대방에 대한 신뢰가 너무 없는 것 같습니다.

현실적인 상황이나 개인차에 의해서 일이 분업이 되어야 할지, 겸업을 해야 될지가 명확하게 정할 수가 없기 때문에 자의,타의로 상황에 맞게 선택을 해야된다고 생각합니다.

한명이 멀티 플레이어로 다 잘하면 좋을 수도 있겠지만 현실적으로 여러 부분을 과연 다 제대로 할수 있을지에 대해서는 의문스럽습니다.
천재적인 능력을 가지고 있던가, 자신의 모든 시간을 게임 개발에 다 투자를 한다면 모르겠지만요.
(다만 겸업을 할 때 각각의 분야를 어느만큼 정도만 익힐건가에 따라서 달라지기도 하겠지만요).

보통 플머인 저로써는 천재도 아니고 제 시간의 모든 시간을 게임개발에만 투자할 의지도 없기 때문에 다 잘 할 자신이 없어서 분업화 되는 것을 희망합니다.
MS MVP( VC++ )
Twitter : jacking75
블로그 1: http://jacking.tistory.com
블로그 2: http://blog.naver.com/jacking75
스프링노트 : http://jacking.springnote.com
neodeath
Posts: 19
Joined: 2006-01-11 13:45

Post by neodeath »

윈도우로만 작업을 하다가
리눅스로 급하게 서버를 만들일이 생겨서....
최대한 간단히 하려고 우분투에서 작업중입니다...

지금 3개월 정도 됐는데..
이클립스로 작업중입니다.
그런데 이놈의 이클립스는 왜이렇게 느린지 ;;;
인텔리센스가 한번 발동되면....
저같이 성질급한놈들은 분노게이지가 쭉쭉 올라가더군요 ;;
유로파에서 속도에 관한 패치들을 많이 해줄꺼라 기대만 하고 있습니다..
여담이였구요 -0-

뭐 제가 리눅스로 서버를 만들면서 불편했던점을 나열해보자면

1.디테일한 정보를 찾으려면 외국사이트를 뒤져봐야하고 우리나라에는 정보가 거의 없다.
(굳이 비유를 들자면 한국에 살면 한국사람과 대화하는 것이 편하겠죠)

2.아직 서비스가 된 코드는 아니지만 코딩은 그다지 힘들지 않았습니다.
그래도 시간이 들죠...
차라리 표준 서버용 os가 하나 뚝떨어졌으면 하는 바램입니다.

3.비쥬얼하고 빠른! 개발툴이 없다...가장 큰 문제네요... 느려도 넘 느립니다.
vim쓰면서 make 파일 만들어 쓰느니 걍 쓰고 있습니다.

4.커널의 종류와 버젼이 너무 많다..
종류마다 특징이 있나봅니다.. 종류와 버젼마다 학습을 해야하는듯 하네요.
데비안쓰려고 우분투로 깔았는데 관리자 분께서 쓰기 어려운데 괜찮겠냐고 하시더군요.
이거 다 특징을 알아야 제대로 쓸꺼 같다는 생각이 드네요.

5. x window의 버그들...

6. gdb의 불편함...
지금은 gdb를 편하게 쓸수 있는 툴을 찾고 있구요
BVRDE과 DDD 사용을 시도해보는 중입니다.

시간이 담달 초까지라..
운영에 대한 것들을 배울 시간이 없고 코딩만 하고 있어서
저런것들이 크게 다가오는걸수도 있겠습니다.
*** 아무쪼록 초보자에게 저 불편한 일들을 해결할수 있는 조언이나 테클좀 부탁드립니다 ***
질문이 되어버렸네요 ㅋㅋㅋ
coder
mastercho
Posts: 587
Joined: 2004-05-09 20:37

Post by mastercho »

neodeath wrote:
3.비쥬얼하고 빠른! 개발툴이 없다...가장 큰 문제네요... 느려도 넘 느립니다.
vim쓰면서 make 파일 만들어 쓰느니 걍 쓰고 있습니다.

5. x window의 버그들...

6. gdb의 불편함...
지금은 gdb를 편하게 쓸수 있는 툴을 찾고 있구요
BVRDE과 DDD 사용을 시도해보는 중입니다.

시간이 담달 초까지라..
운영에 대한 것들을 배울 시간이 없고 코딩만 하고 있어서
저런것들이 크게 다가오는걸수도 있겠습니다.
*** 아무쪼록 초보자에게 저 불편한 일들을 해결할수 있는 조언이나 테클좀 부탁드립니다 ***
질문이 되어버렸네요 ㅋㅋㅋ

멀티플레폼 클라이언트 개발를 해본 경험으로 말씀드리자면, 위 문제들에 해결로 저는 이렇게 했습니다


먼저 C/C++ 표준으로 소스를 작성하시면서 , 필요한 라이브러리는 멀티플레폼 라이브러리를 사용합니다
추가적으로 극도의 OS 종속적인것들은 #ifdef로 조금 작성하시게 되면 , 윈도우 And 리눅스에서 개발 하실수 있을겁니다

이렇게 되면 강력한 VC++ 디버거 및 에디터와 VA 도움을 받을 수 있고 , 편안하게 코딩을 할수 있게 됩니다
[리눅스는 단지 윈도우에서 완벽하게 돌아가던 코드를 리눅스에서 재차 확인해주는 역활만 해주는것입니다]

이것뿐 아니라 gcc로도 컴파일 해보기 때문에
VC++ 컴파일 할때 발견하지 못한 , 비표준적인 버그성 VC++ 의 컴파일 오류도 발견 하는 경우도 있었고

또한 객체의 멤버를 초기화 하지 않은 실수를 저지른적이 있었는데 VC++ 에서는 쓰레기 값을 체워
switch 문의 default로 빠지는 경우로 , 우연히 정상적으로 작동했지만

gcc에서는 말 그대로 초기화 되지 않은 스택 혹은 힙 메모리 그대로 가져다 쓰기 때문에
switch 문에서 default로 들어갈때도 있고 다른 case 문으로 빠질 있고해서
잠재된 버그를 더욱 확실히 알수 있었습니다

물론 멀티플레폼 라이브러리가 윈도우와 리눅스에서 약간 동작이
다른 경우가 있어 곤욕스러웠던적이 있었습니다
[대체적으로 검증된 멀티플레폼 라이브러리를 쓰면 , 안심하고 사용하셔도 될겁니다]

참고적으로 소스관리자를 사용하시면 [cvs나 svn 같은] 윈도우에서 소스를 작성하시고 commit 하신후에
리눅스에서 check out 받아 컴파일 하시면 될겁니다 [ftp로 그냥 소스를 전송해도 상관은 없을듯]

하지만 완벽한것은 없기에 부분적으로 gdb를 써야 할 경우도 있겠지만
멀티플레폼 설계를 하시면 말씀하신 윈도우 개발의 강력함과 ,
크로스 컴파일 경험에 의한 수많은 통찰력을 얻으실거라 확신합니다

그래서 전 뭘 하든 일단 멀티플레폼을 생각하면서 코드를 짜는데, 그러다보면 표준적인 방법 및
이식성있는 코드로 짜게 되고 , 설계 및 인터페이스를 작성하는 방법이 점점 좋아진다는 느낌이
들곤 합니다.


이것이 100% 해결책은 아니더라도 개발에 관한 상당한 부분을 이렇게 해소 하실수 있지 않을까 합니다
비회원

Re: 다른것보다는.

Post by 비회원 »

심 형근 wrote:Visual C++, Visual Asist X, MSDN
. 과 -> 및 ( 을 입력했을때 나오는 메뉴가 없다면 코딩하는데 난감한 상황이.

다른 이유보다는 비주얼적인 편의성이 큰것 같습니다.
경험상 유닉스에서 프로그래밍을 하게 되면 .이나 ->에 나오는 인텔리 센스 기능이 없어도
될만큼 API가 간단하고 쉽게 외워지는 경향(?)이랄까.. 그런것이 있던데요?

윈도 API처럼 함수하나에 파라미터가 10+개가 되는 경우는 드믈게 나타나니까요.
luciferan
Posts: 119
Joined: 2006-08-08 17:13

Re: 다른것보다는.

Post by luciferan »

비회원 wrote:
심 형근 wrote:Visual C++, Visual Asist X, MSDN
. 과 -> 및 ( 을 입력했을때 나오는 메뉴가 없다면 코딩하는데 난감한 상황이.

다른 이유보다는 비주얼적인 편의성이 큰것 같습니다.
경험상 유닉스에서 프로그래밍을 하게 되면 .이나 ->에 나오는 인텔리 센스 기능이 없어도
될만큼 API가 간단하고 쉽게 외워지는 경향(?)이랄까.. 그런것이 있던데요?

윈도 API처럼 함수하나에 파라미터가 10+개가 되는 경우는 드믈게 나타나니까요.

확실히 기억력은 좋아지는것 같습니다

다만 초반에는 코딩시간보다 메뉴얼찾는 시간이 더 길다는 단점이...
포기하면 편해...
nomoreid
Posts: 61
Joined: 2004-04-06 19:11
Location: S모사
Contact:

Post by nomoreid »

작년에 윈도우 서버 라이센스 파동 이후에 리눅스로 돌린 회사들이 많다고 들었습니다. 큰회사들도 내부 플래폼을 리눅스 기반으로 많이 교체할 준비를 하고 있다고 들었습니다. 리눅스에 익숙한 저로선 환영할만한 일이죠. ^^;

퍼블리셔의 경우 리눅스라서 안된다는 경우는 한번도 못봤습니다. 대부분 서버는 OS와 관계없이 죽지만 않으면 된다는 생각인거 같아요. 내부 연동 라이브러리들도 제경험상 모두 리눅스를 지원하구요. 제가 작업했던 퍼블리셔들은 모두 유닉스쪽 SE와 내부 연동모듈을 가지고 있었습니다. 없으면 만들어 달라고 하시면 됩니다.

해외의 경우 리눅스가 대세입니다. 중국과 일본쪽 퍼블리셔들은 제 경험으로는 리눅스쪽을 많이 선호 합니다. 엔지니어도 리눅스쪽이 많더군요. 영세한 동남아지역 퍼블리셔도 비용적인 측면에서 잇점때문에 선호하긴 마찬가지더군요.

개발의 편의성면에선 확실히 윈도우가 많이 좋죠. 하지만 그렇다고 리눅스가 쓸만하지 않다는건 아닙니다. 윈도우가 가끔은 너무 부러울때도 있습니다만. ^^; 아 그리고 윈도우랑 리눅스 모두 쓰고있는 후배놈의 말로는 메모리가 깨졌을때 남는 코어덤프쪽이 윈도우가 더 깨끗하다고 합니다. 그래서 메모리 버그를 더 잡기 쉽다고 합니다. 서버쪽에는 상당한 강점이죠. 하지만 이것도 아주 심한경우는 리눅스나 윈도우나 별 차이 없습니다.

아 그리고 전 에디터로 vi를 쓰고 있습니다. 정말 좋습니다. 손에서 키보드를 땔일이 없어요. 마우스를 안써도 되니까 손의 동선이 줄어듭니다. 속도도 상당히 빠르구요. 리눅스를 쓰는 컴이라면 어디나 깔려있구요.

전 gdb상당히 편하게 잘쓰고 있습니다. 별로 안어려워요. 키워드 4 - 5개만 알면 기본적인 디버깅은 편하게 합니다. (gdb 잘쓰기 참고 하세요. http://kldp.org/node/71806 )

함수 사용법등은 구글이나 man page로 찾아보면 쉽게 예제를 구할 수 있구요. 정안되면 kldp나 news group에 고수분들한테 물어보면 됩니다.

혹시 관심있는 분은 제가 개인적으로 만들고 있는 리눅스 게임서버 FAQ도 한번 읽어봐 주세요.

http://nomoreid.egloos.com/3137280


물론 자신이 가장 익숙한걸 쓰는게 좋겠죠. ^^;

제입장에선 윈도우는 왠지 너무 불편해요 마우스를 써야 한다니. ㅋㅋㅋㅋㅋ
When you know the programmer, you see His code everywhere.
The opposite of living is not death, its the living dead. (>_<)乃
비회원

헐 마우스 써야한다구요?

Post by 비회원 »

제경우에는 우선 VC까지 실행시키면 마우스 거의 필요없습니다.
대부분 단축키 쓰면 되던데요
Post Reply