C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[10083] 온라인 강좌 예고
civilian [civilian] 1796 읽음    2004-11-15 00:39
제가 이곳 볼랜드포럼에서 "채팅 서버/클라이언트 개발"이란 주제로 온라인 강좌
진행하고자 합니다.

온라인상에서 강좌를 해본것도 너무 오랫만이고, 실력이 그리 뛰어난 편도 아니라 강의를
잘 진행할 수 있을런지 걱정이 앞섭니다. 하지만, 델파이 2005라는 공전절후의 개발도구가
곧 출시를 앞두고 있는 상황에서 침체된 포럼의 분의기를 좀 쇄신하고자 의욕적으로
추진하는 일이니만큼 다소의 잘못이 발생하더라도 너그럽게 이해해주시길 부탁드리면서
강의를 진행하기에 앞서 몇가지 말씀을 드리고 싶습니다.

강의 주제는 "채팅 서버/클라이언트 프로그램" 입니다.
   이 주제는 많은 책이나 온라인 강좌에서 많이 다루고 있는,
   "흔하고, 진부한" 것이긴 합니다만, 델파이로 소켓 서버프로그래밍을 배우기엔
   더할 나위없이 훌륭한 주제라고 판단되어 이것을 강좌 주제로 채택했습니다.

강좌는 온라인 강좌를 원칙으로 하겠습니다.
   오프라인 강좌는 공간과 시간상의 제약도 있고, 강의 진행자나 수강생 모두 많은 부담을 갖기
   때문에 볼랜드포럼의 델파이 채널을 이용하는 온라인 강좌의 형태로 진행할 것입니다.
   물론 "무료로 강의실을 확보할 수 있는 여건"이 된다면 오프라인 강좌도 병행할 생각도 있습니다만,
   현실적으론 가능성이 낮아 보입니다.
   강좌의 최종 회차는 반드시 오프라인에서 진행할 수 있도록 노력하겠습니다.(쫑파티도 해야 하므로...)

강좌주기는 주 1회 업데이트 하는 것을 원칙으로 생각하고 있습니다
  가급적 원칙은 지키도록 노력하겠지만, 제 개인적인 사정에 따라서 그 주기가 변동될 가능성도 있습니다.
   이점은 널리 양해해주시면 고맙겠습니다.

"강좌를 위한 강좌"는 지양하겠습니다
   강좌에서 만드는 프로그램은 실제 볼랜드포럼에 포팅해서 운영할 "채팅 서비스"용으로
   개발한다는 것입니다. 만드는 프로그램의 완성도가 높아야 그 과정에서 "보고 배울 수 있는"
   것 들이 많을 것입니다.

기본적인 델파이 프로그래밍에 대한 지식이 필요합니다
   델파이에 대해서 아무런 기초가 없는 분들을 수강대상으로 하게되면, 강좌 진행이 너무나도
   어렵습니다. 따라서, 본 강좌를 무리없이 소화하려면 반드시 델파이 프로그래밍에 대한 지식이
   필요하고, 본 강의에서 다룰 주제에 해한 선행학습이 필요합니다.

이젠 강좌를 듣고자하는 여러분이 반드시 갖춰야 할 기본적인 환경에 대해 말씀드리겠습니다.

델파이 버전
   특정 델파이 버전에 종속되지 않도록 할 것입니다. 따라서 델파이5,6,7 또는 델파이 2005 중
   어느 하나만 갖추고 있다면 강좌의 내용을 따라하는데 문제는 없도록 하겠습니다.
   그러나, 기본적으로는 제가 델파이7로 작업을 할 것이므로 델파이7을 사용하시는 것이 아무래도
   편할 것 같습니다.

DBMS
   사용자관리, 로그인 등의 로직을 처리하자면 DBMS는 반드시 사용해야 하는데, BDE는 사용하지
   않겠습니다. BDE를 사용하지 않는 것은 여러가지 이유가 있지만,
   서두에서도 말씀드렸듯이 "실제 사용가능한" 프로그램 개발이 최종 목표이기 때문입니다.

   현재 물망에 오른 것은 FireBird 1.5.1( http://firebird.sourceforge.net/) 또는
   MySQL 4.1.7(http://www.mysql.com/) 입니다만, 라이센스 정책이 좀더 자유롭고
   볼랜드 제품군인 Interbase에서 파생된  FireBird를 사용할 확률이 높습니다.
 
   물론, 두 DB를 병행해서 지원하도록 최대한 준비하겠습니다만...

써드파티 컴포넌트
   강좌를 진행하면서 델파이에 기본적으로 포함된 VCL을 사용하지 않고, 써드파티 컴포넌트를
   사용하는 것이 좀 부담스러운 일입니다만, 프로그램의 완성도를 높이기 위해선 불가피한 선택입니다.
   기본적으로 아래 기술한 컴포넌트를 사용할 것입니다. 물론 OpenSource 기반입니다.

  Synapse 35b1
       소켓 컴포넌트.
       홈페이지 : http://www.ararat.cz/synapse/
       다운로드 : http://www.ararat.cz/synapse/files/synasnap.zip

   TRichView 0.5.2(Freeware Version)
       채팅윈도 관련
       홈페이지 : http://www.trichview.com
       다운로드 : http://www.trichview.com/rvfiles/richview.zip

   * 추가적으로 더 필요한 것이 발생하는 경우에는 고지하도록 하겠습니다,
   *  최대한 써드파티 라이브러리의 사용은 자제할 생각입니다.

아직 각 회차별 강의 내용은 정리가 덜된 관계로, 다음 주말(11.21)에 게시하겠습니다.

그럼에도 제가 이 강의 계획을 미리 밝히는 것은 강의를 시작하기에 앞서 여러분들의 의견을
수렴하는 과정을 갖고 싶어서입니다. 나름대로 프로그램의 전체적인 윤곽이나 개발 방향에 대해선
어느정도의 계획이 섰지만, 좀더 많은 분들의 의견을 듣고 반영한다면 좀더 좋은 강좌가 될 수
있으리란 생각에서 입니다.

건의도 좋고, 기능에 대한 요구도 좋습니다. 많은 의견 주시길 기대합니다.

2004.11.14 안영제
박지훈.임프 [cbuilder]   2004-11-15 01:29 X
"델파이에 대해서 아무런 기초가 없는 분들을 수강대상으로 하게되면, 강좌 진행이 너무나도 어렵습니다"
-> 기본 내공이 부족하면 주화입마하리라... ^^;;
김상구.패패루 [peperu]   2004-11-15 07:40 X
오~~~ 행님~~~ !!
김상구.패패루 [peperu]   2004-11-15 07:45 X
근데.. Synapse 컴포넌트는... 실전에 바로 적용할 수 있을만큼 안정적인가요? 이번에 저는 Indy 에서 FTP가져다 쓰다가 피보고(데이터 커넥션 타임아웃 처리 안됨)... ICS에서 가져다 쓰다가... 역시 피보고(Blocking 모드가... 세상에나... 비동기모드로 동기화시켜놨음)... 결국 INet으로 구현하는데 역시 이놈도 문제가 있어서(어떤 이유인지 동기모드에서 타임아웃이 구현안됨.. 일반 소켓과는 정반대) 꽁수로 구현했는데...
대부분 FTP의 경우 hang 걸릴 때의 대처가 미흡하더군요... 즉.. 데이터커넥션에 대한 타임아웃처리를 제대로 못한다는거죠. Synapse는 어떨지 궁금하네요
김태선 [jsdkts]   2004-11-15 08:56 X
기대됩니다. ^^;
civilian [civilian]   2004-11-15 14:11 X
김상구.패패루::
Indy는 내부 구조가 너무 복잡하게 얽혀있어서 개인적으론 별로 맘에 들지 않고,
ICS는 Non-blocking으로 특화되어 있어서, 서버 개발엔 좀 불리할 때가 많죠.
Synapse도 클라이언트(TELNET, FTP 등)가 구현되어 있긴하지만, 주로 서버
개발시에만 사용해봐서 정확히는 모르겠군요. 하지만, 군더더기 없는 간결한 코드와
별도의 컴포넌트 등록없이 사용할 수 있는 점 등이 아주 좋습니다.
몇개의 서버 프로그램을 짜서 돌리고 있는데, 현재까진 이상없이 잘 돕니다.

김태선::
잘 해보도록 노력해보겠습니다. ^^

채팅 외에 다른 주제를 원하는 분이 많으면, 그걸로 주제를 변경할 수도 있습니다.
강재호.만해 [greenuri]   2004-11-15 15:19 X
초보자를 위한 윈도우 프로그래밍 기초도 좀 해주세요~
넘 초보용인가? ㅎㅎ
evergreen [heredity]   2004-11-15 19:18 X
비상 처리부분(예: Logoff 없이 Taskmanager로 P/G를 종료한 경우 처리, Timeout처리  등), Packet이 올바르게 도착했는지 확인하는 처리 등도 넣어 주세요.
본인의 경우엔 일반 구현보단 비상처리 부분이 시간이 더 들어 가더군요.
허접이라 그런가 ? -_-;
반영재 [ycom]   2004-11-15 19:31 X
아~~~~기대 만빵~~~가슴이 두근거리네요^^ 정말 잼있고, 즐겁고, 공부도 많이되는 강좌 부탁드립니다. 전 주로 서버쪽은 Indy, Client쪽은 TimeOut처리땜시 ICS를 사용합니다.
근데 Synapse요건 처음본거라 무척 궁금하고 기대가 됩니다. Indy, ICS도 마음에 안드는 부분이 있거든요...이번 강좌로 Synapse에 대한 궁금증과 안전성등등도 검증되겠네요^^아~~~~떨려라~~~~~~~
civilian [civilian]   2004-11-16 00:52 X
evergreen::
허접이라서 그런 것이 아니라, 비정상을 처리하는데 시간이 더 많이 드는 것이
당연합니다. 가능한 다루도록 해보겠습니다.

반영재::
어떤 부분이 마음에 안드시는지요? 그걸 좀 알려주시면.. 참고하도록 하겠습니다
utime.김성하 [utime]   2004-11-16 13:17 X
매번 혼자서 책보고 연습삼아 짜 봤던 부분인데 이번엔 고수님의 손길이 닿는 코드를 볼 수 있겠군요~

감사합니다! ^^
박지훈.임프 [cbuilder]   2004-11-16 14:19 X
하핫~
시빌리언님께 부담 팍팍팍 주시는구만요~
윤용설.닭머리 [yys1129]   2004-11-16 17:11 X
ㅎㅎㅎ. 신난다.
왕대박 [emrwo]   2004-11-16 17:56 X
한마디~ 한마디~ 고수의 손길에 가슴이 뜁니다.
박지훈.임프 [cbuilder]   2004-11-17 09:33 X
제가 할 일이 생각났습니당.
시빌리언님이 델파이 코드로 델파이 강좌 게시판에 강좌를 올리시면 제가 그대로 C++빌더 코드로 전환해서 C++빌더 강좌쪽에도 올리겠슴당.
smleelms [smleelms]   2004-11-17 16:41 X
오옷 +_+.. 임프님. 원츄...... 乃
내심 삐끼고 싶었는뎅.. ㅎㅎ
강재호.만해 [greenuri]   2004-11-19 18:47 X
후킹이나 그런쪽 강좌는 어느 고수분이 좀 해주실수 없을까요?
아직도 후킹하는데 맨날 햇깔려서 DLL만 넘어 가면 막히네 쩝~

+ -

관련 글 리스트
10083 온라인 강좌 예고 civilian 1796 2004/11/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.