사용자 삽입 이미지

Delphi/C++Builder 2010 업데이트 1이 나왔습니다. ^^

온라인 자동 업그레이드를 하시려면 시작메뉴의 프로그램 그룹에서 Check for Update 하시면 되고, 전체 다운로드를 하신 후에 설치하려면 아래 링크에서 다운받을 수 있습니다.
http://cc.embarcadero.com/item/27356
2009/09/25 14:57 2009/09/25 14:57

trackback :: http://blog.devgear.co.kr/imp/trackback/85

Delphi/C++Builder 트라이얼이 설치된 상태에서 정품을 구입해서 정품을 재설치하려고 하는 경우가 종종 있습니다. 이런 경우에 굳이 트라이얼을 언인스톨하고 다시 재설치할 필요가 없구요. 다음과 같은 절차를 따르면 간편하게 기존 설치본이 정품으로 업그레이드됩니다.

이 방법은, Delphi나 C++Builder의 단품만 설치된 상태에서 다른 하나를 추가로 설치하는 경우, RAD Studio로 업그레이드하는 경우에도 똑같이 적용됩니다. 쉽게 말해서, 트라이얼이든 정품이든 이미 설치된 상태에서 '다른 정품을 추가'하는 절차가 되겠습니다.

1. 시작 메뉴 "Embarcadero RAD Studio 2010" 프로그램 그룹에서 "Modify, Repair, Uninstall"을 클릭합니다.

사용자 삽입 이미지

2. 아래와 같은 화면이 나타날 것입니다. 가장 위의 Upgrade 라디오버튼을 선택하고 Next를 클릭합니다.
사용자 삽입 이미지

3. 아래와 같은 화면이 나타날 것입니다. 시리얼 넘버를 입력하고 Next를 클릭합니다.
사용자 삽입 이미지

4. 이제 설치 프로세스가 진행됩니다. 완료되고 나면 새로운 정품이 추가되어 사용 가능한 상태가 됩니다.

(2010 버전을 기준으로 설명했습니다만, 2007, 2009 버전에서도 동일합니다)

2009/09/22 14:40 2009/09/22 14:40

trackback :: http://blog.devgear.co.kr/imp/trackback/84

사용자 삽입 이미지
바이러스 백신 프로그램 V3로 유명한 안철수연구소에서 압축 프로그램 V3 Zip을 발표했네요.
http://kr.ahnlab.com/info/productinfo/html/v3zip.html

V3 Zip은 기업은 유료이지만 개인은 무료로 쓸 수 있구요. zip, rar, arj, gz, ace 등 일반적인 모든 압축 포맷들을 지원하는 것은 물론, 최근 해외에서 큰 인기를 끌고 있는 7z도 지원하며, 국내에서 많이 사용되는 alz도 지원한다고 합니다. 총 40여가지 포맷을 지원한다고 하고요.

기존의 많은 압축 프로그램들과의 차이점은, 역시 백신 전문 업체의 제품답게 가벼운 보안 기능이 기본으로 포함되어 있다는 것, 그리고 또 V3 제품군과 연동하여 더 강력한 보안 검사를 한다는 것이네요. 그 외에 유니코드를 지원한다니 일본어나 중국어 파일명을 가진 파일을 포함한 파일도 문제가 없겠군요.

Delphi 개발자들에게 잘 알려진 양병규님의 빵집(http://www.bkyang.com/)도 있는데요. 아시다시피 빵집은 기업까지 포함해 사용 용도와 장소를 가리지 않고 무조건 무료인데 왜 굳이 기업에서는 유료라는 V3 Zip을 소개하고 있을까요?

짐작하신 분들이 많겠지만, 이 V3 Zip도 역시 Delphi로 개발되었기 때문입니다. "국내에서 개발된 모든 압축 프로그램은 Delphi로 개발되었다"라는 유구한 전통을 계속 이어가는 거죠. 앞서 말한 빵집은 물론, 알집, Zip+/Zip'N All, 밤토리 등등 모두 Delphi로 개발되었습니다.

사실, 압축 프로그램들 외에도, 수많은 툴, 패키지, 솔루션 프로그램들이 Delphi와 C++Builder로 만들어져 있습니다. 금방 떠오르는 것은 유명한 인터넷 전화 솔루션인 Skype가 있군요. 셀 수도 없을 정도라서, 일일이 거명하려고 잠깐 생각을 했더니 머리가 아픕니다. --;;;

사실 2000년대 초반 이후로 특별히 테크니컬하지 않은 일반적인 업무 프로그램들이 웹(특히 Java)으로 많이 넘어간 것은 사실이지만, 클라이언트쪽의 성능이나 UI, 저수준 제어, 실시간 통신 등이 필요한 업무들에는 여전히 Delphi가 많이 사용되고 있고, 패키지, 솔루션 쪽에서는 오히려 과거보다 더 많이 사용되고 있습니다.

저번 Delphi 바이러스 사태 때에는, 저도 잘 모르고 있던 여러 프로그램들이 Delphi로 만들어진 것이 알려져서 저도 꽤 놀랬었습니다. 솔직히 말해서, MS가 닷넷에 올인하면서 네이티브 윈도우 개발을 등한시한 어부지리 효과가 가장 큰데요. 이제 엠바카데로 본사도 저희 데브기어도 Delphi의 발전을 위해 이전과는 크게 다르게 노력하고 있으니 이런 사례들이 더 많이 늘어날 겁니다. ^^
2009/09/22 14:20 2009/09/22 14:20

trackback :: http://blog.devgear.co.kr/imp/trackback/83

바로 며칠전에 엠바카데로 DN 사이트에 "RAD Studio Roadmap"이 올라왔습니다. 그런데 사실 Delphi Prism에 대한 내용이 빠져 있기 때문에 엄밀하게 말하면 Delphi와 C++Builder에 대한 로드맵이라고 할 수 있구요.

사용자 삽입 이미지

http://edn.embarcadero.com/article/39934

장황한 사설은 다 빼고, 핵심적인 내용만 정리하면 다음과 같습니다.

Project "Commodore" - 64비트 네이티브 개발
  컴파일러, RTL, VCL에 대한 64비트 지원
    - IDE의 옵션에서 64비트 혹은 32비트 개발을 설정
  멀티코어/멀티쓰레드 애플리케이션 개발 지원
  RTL의 병렬화(parallelization) 지원

Delphi "X" - 크로스플랫폼 Windows / MacOS / Linux 개발
  dbExpress 및 DataSnapX를 이용한 GUI 애플리케이션의 개발에 중점
  크로스플랫폼 컴포넌트 라이브러리 - 제한적인 하위 호환성
  Windows / MacOS / Linux / Web에서 DataSnapX 서버 및 클라이언트 개발

Project "Chromium" - 품질 개선 및 생산성 프로젝트
  개발자 생산성에 중점
    - 사용 편의성 개선
    - 오랫동안 지연된 문제점들의 해결 : 최대한 많은 버그 수정에 중점
    - 신뢰성의 새로운 표준을 설정
  가벼운 O/R 매핑
  팀 작업 편의
  OTA의 문서화
  컨트롤의 거의 모든 프로퍼티에 연결 가능한 데이터 바인딩 모델
  데이터베이스 툴들과의 통합 강화

이들과 동시에 추진되는 기능들
  클라우드 컴퓨팅
  웹 3.0++
  RIA 이상
  장비
  소프트웨어 어플라이언스
  보안
  표준 준수

그외 현재 고려중인 기능들
  Functional 프로그래밍
  Declarative 프로그래밍
  내츄럴 인풋
  더 많은 플랫폼들

내용이 많고 연도별 일정이 나와 있지 않아서 좀 헷갈릴 수 있겠는데요. 사실 여기에 나와 있는 모든 프로젝트들은 연도별 구분 없이 거의 동시에 추진되는 것들입니다. 여기서 "Commodore"가 바로 Delphi/C++Builder의 직접적인 차기 버전이구요.

현재로서는 특별한 차질이 없다는 가정 하에, Delphi "X"는 차기 버전인 Commodore이 실제로 출시될 때 통합되어 발표될 가능성이 높고요. "Chromium"은 별개의 프로젝트 팀이기는 하지만 생산성과 품질에 중점을 두는 것이므로 그 프로젝트의 결과는 향후 버전들에 쭈욱 계속 반영될 것입니다.

모바일 개발 지원
여기에는 몇가지 빠진 것이 있는데... (의도적인 것은 아니고 아마도 실수인 것 같습니다) 모바일에 대한 것입니다. 일단 iPhone 개발 기능은 사실상 확정적입니다. 정확한 발표 시기는 장담하기 어렵지만, 일단 iPhone에 대한 지원은 바로 다음 버전에서 지원될 가능성이 대단히 높은 상태구요.

또한 Windows Mobile에 대한 지원도 될 전망입니다. 하지만 이것은 iPhone보다는 순위가 밀려 있는 상태이며, 따라서 iPhone 지원 기능 개발에 시간이 모자라게 되면 Windows Mobile 지원은 그 다음 버전으로 밀리게 될 것입니다.

크로스플랫폼의 구현 방식
Delphi/C++Builder에서의 크로스플랫폼 지원을 말하면, 예전의 리눅스 개발툴 Kylix를 떠올릴 분이 적지 않으실 겁니다. 그리고 Kylix를 기억하시는 분들 중 많은 분들은, 리눅스용 Delphi/C++Builder라는 혁신적인 개념에도 불구하고 개발된 프로그램이 QT 기반의 둔한 동작을 하던 기억에 고개를 절레절레 흔드시는 분들도 있을 겁니다. (사실 저도 그중 한 사람입니다)

저번에 David I와 간담회를 가졌을 때, 이에 대한 질문을 하고, 명확한 답변을 받았습니다.

당시의 QT 버전은 느리고 굼떴던 것이 사실이다. QT의 최신 버전은 성능에 있어서 혁신적으로 발전했고, 그래서 우리도 관심있게 테스트중이다. 물론 이 최신 QT도 충분히 좋지 않을 것에 대비하여, 현재 완전히 네이티브 방식의 리눅스/MacOS 개발도 QT와 함께 함께 개발 테스트 중이다. 성능을 빼고 얘기할 때에는 QT를 기반으로 하는 것이 여러 모로 유리한 점들이 있기 때문에, 성능을 비롯한 여러 스펙들에 대한 비교를 해보고 최종적으로 결정할 것이다.

뭐, 이런 정도의 자세라면 안심해도 될 것 같습니다. ^^

어쨌든, 지금 이 순간에도 Delphi와 C++Builder는 끊임없이 발전해나가고 있습니다. 바로 지금 Delphi/C++Builder로 개발한 애플리케이션들은, 머지 않아 MacOS와 리눅스로 포팅할 수 있게 될 것이며, 심지어는 iPhone과 Windows Mobile까지도 (아무래도 모바일로는 포팅에 약간의 제한은 있겠지만) 포팅이 가능할 것입니다. 또한 개발툴 자체의 기능들도 끊임없이 추가되고 개선될 것이구요. 멋지지 않습니까? ^^

2009/09/16 02:02 2009/09/16 02:02

trackback :: http://blog.devgear.co.kr/imp/trackback/81

  1. C++빌더 개발 로드맵

    Tracked from CREATIVE !! 2009/09/17 12:19  delete

    데브기어 블로그에 델파이,C++빌더 로드맵에 올라왔다. 64비트 네이티브나 크로스 플랫폼 개발환경은 장비 제어 개발 업계의 특성상 그다지 관심이 가지는 않지만 개발자 생산성 향상을 위한 별개의 프로젝트(Chromium)가 운영중이라는것이 반갑니다. 업그레이드 될수록 좀서좋은 개발 환경에서 작업할 수 있을 거라고 기대해본다. SVN이나 CVS등의

2010.01.25 추가
오늘자로 아래와 같이 코드에 추가된 내용이 있습니다. (아래 코드에는 반영함)

먼저, IdHTTP1.Request.ContentType에 'application/x-www-form-urlencoded' 값을 넣어주는 라인이 추가되었구요. (이 라인이 없으면 제대로 HTML 폼에 POST로 전송된 것으로 인식되지 못하는데, IdHTTP에서 왜 추가해주지 않았는지 이해가 안되네요)

다음으로, POST를 한 후 결과 값을 받아와서 문자열의 길이를 스트림의 크기만큼으로 설정해준 부분이 추가되었습니다. (이게 없어서 문자열 끝 뒤에 쓰레기 값이 넘어오는 경우가 있더군요)

-------------------------------------------------------------------

저번 글에 이어, 2009/2010 버전에 번들된 Indy의 한글 깨짐 문제에 대해 계속 알아보겠습니다. 이번에 알아볼 것은, idHTTP에서 Post를 했을 때 웹 서버로 전달된 컨텐트 내용의 한글 부분이 깨지는 문제입니다.

다음은 2009 버전에 번들된 Indy의 idHTTP 소스에서 오버로드된 여러 Post 메소드들입니다.
    function Post(AURL: string; ASource: TStrings): string; overload;
    function Post(AURL: string; ASource: TStream): string; overload;
    function Post(AURL: string; ASource: TIdMultiPartFormDataStream): string; overload;
    procedure Post(AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TStream); overload;
    procedure Post(AURL: string; ASource: TStrings; AResponseContent: TStream); overload;
    procedure Post(AURL: string; ASource, AResponseContent: TStream); overload;

여러가지로 테스트를 해봤는데, 이 중에서 idHTTP에서 Post로 전송한 데이터의 한글이 깨지는 문제는 Post 데이터인 ASource 파라미터로 TStrings 타입을 넘기는 경우에만 발생하는 것으로 보입니다. 다시 말해 ASource로 TStream 타입을 넘기는 경우에는 발생하지 않습니다.
역시 charset, 즉 인코딩의 처리 문제이구요.

실제 idHTTP의 소스를 보면, 2009에 번들된 Indy 버전에서는 인코딩 처리가 아주 잘못되어 있고, 2010 번들 버전은 많이 개선되었으나 아직 문제가 있습니다.

어쨌든, TStringList 등 TStrings 클래스로 넘기던 코드에서 한글 문제가 발생했다면, 그것을 TStringStream으로 다시 쓴 다음 Post를 하면 됩니다.

그런데, Post로 데이터를 넘긴 후에도 데이터를 다시 받아야 하는 경우가 종종 있습니다. 따라서 앞서의 Get 방법을 다룬 포스트의 코드와 같은 방식으로 처리해야 합니다. 코드는 아래와 같습니다.

Delphi 코드
var
  rbstr: RawByteString;
  HTML: String;
  MemoryStream: TMemoryStream;
  StringStream: TStringStream;
  slPost: TStringList;
begin
  slPost := TStringList.Create;
  slPost.Add('student_info=박지훈');
  slPost.Add('reserve_purpose=임프');
  StringStream := TStringStream.Create(slPost.Text);
  slPost.Free;

  MemoryStream := TMemoryStream.Create;
  IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
  IdHTTP1.Post('http://주소', StringStream, MemoryStream);
  StringStream.Free;
  SetLength(rbstr, MemoryStream.Size);
  StrLCopy(PAnsiChar(rbstr), PAnsiChar(MemoryStream.Memory), MemoryStream.Size);
  MemoryStream.Free;

  if Pos('utf-8', IdHTTP1.Response.ContentType)=0 then
    SetCodePage(rbstr, 949, false)
  else
    SetCodePage(rbstr, 65001, false);
  Memo1.Lines.Text := rbstr;
end;

C++Builder 코드
  TStringList *slPost = new TStringList;
  slPost->Add("student_info=박지훈");
  slPost->Add("reserve_purpose=임프");
  TStringStream *StringStream = new TStringStream(slPost->Text);
  delete slPost;

  TMemoryStream *MemoryStream = new TMemoryStream;
  IdHTTP1->Request->ContentType = "application/x-www-form-urlencoded";
  IdHTTP1->Post("http://주소", StringStream, MemoryStream);
  delete StringStream;

  RawByteString rbstr;
  rbstr.SetLength(MemoryStream.Size);
  strncpy(rbstr.c_str(), (char *)(MemoryStream->Memory), MemoryStream->Size);
  delete MemoryStream;

  if(Pos("utf-8", IdHTTP1->Response->ContentType)==0)
    SetCodePage(rbstr, 949, false);
  else
    SetCodePage(rbstr, 65001, false);
  String HTML = rbstr;

저번에도 말씀드렸다시피 2009/2010 버전에 번들된 Indy의 한글 깨짐 문제는 여기저기 꽤 복잡하고 원인도 몇군데 되기 때문에, 이걸로 끝난 것이 아닙니다. 다음에는 idTCP 컴포넌트들과 idFTP 컴포넌트 쪽으로도 살펴보고, 그에 대한 해결책도 알아볼 거구요. 근본적으로는, 이 모든 회피 방법들을 종합하여 번들된 Indy 자체를 완전히 패치하는 방법도 알려드릴 것입니다.
2009/09/10 07:48 2009/09/10 07:48

trackback :: http://blog.devgear.co.kr/imp/trackback/80

그저께부터 Delphi/C++Builder 2009/2010 버전에서 Indy가 한글과 관련하여 오작동하는 문제에 대해 파헤치고 있습니다. 2009/2010 Indy의 한글 버그는 2009와 2010이 양상이 좀 다르고, 또 idHTTP와 idFTP, IdTCPClient에서 각각 원인도 좀 다르고 수정해야 할 포인트도 좀 다른 것 같습니다. 따라서 완벽한 해결책을 마련해서 공개해드리려면 1~2주 정도가 더 걸릴 것 같고요. 하지만 당장 답답한 분들이 많을 것이므로 작업 중간중간에 상태를 알려드리려고 합니다.

당장은, 일단 idHTTP와 관련하여 라이브러리 소스들을 수정하지 않고 피해가는 회피책, 즉 workaround 방법을 먼저 알려드리겠습니다. 간단히 말하면, idHTTP에서 Get을 호출해서 한글이 포함된 html 페이지를 한글 깨짐 없이 받아오려면, 다음과 같은 코드를 사용하면 됩니다.

Delphi 코드

var
  rbstr: RawByteString;
  HTML: String;
  MemoryStream: TMemoryStream;
begin
  MemoryStream := TMemoryStream.Create;
  IdHTTP1.Get('http://blog.devgear.co.kr/imp', MemoryStream);
  rbstr := PAnsiChar(MemoryStream.Memory);
  MemoryStream.Free;
  if (Pos('utf-8', IdHTTP1.Response.ContentType)=0) and (AnsiPos('charset=utf-8', rbstr)=0) then
SetCodePage(rbstr, 949, false) else SetCodePage(rbstr, 65001, false); HTML := rbstr; end;

C++Builder 코드
  TMemoryStream *MemoryStream = new TMemoryStream();
  IdHTTP1->Get("http://blog.devgear.co.kr/imp", MemoryStream);
  RawByteString rbstr = (char *)(MemoryStream->Memory);
  delete MemoryStream;
  if(Pos("utf-8", IdHTTP1->Response->ContentType)==0 && (Pos("charset=utf-8", rbstr)==0))
    SetCodePage(rbstr, 949, false);
  else
    SetCodePage(rbstr, 65001, false);
  String HTML = rbstr;


여기서 한가지 짚고 넘어갈 것이 있습니다. idHTTP를 사용했을 때 한글이 항상 깨지는 것은 아니라는 것입니다. 2009 버전에 번들된 Indy 버전에서는 받아오려는 HTML 페이지의 charset이 'utf-8'일 경우 깨지지 않고 'euc-kr'이나 'ks_c_5601-1987'인 경우에만 깨집니다. 2010 버전에 번들된 Indy의 경우, HTTP 헤더에서 charset을 지정된 경우에는 'utf-8'이 아닌 'euc-kr'이나 'ks_c_5601-1987'인 경우라도 깨지지 않으며 charset 지정이 없는 경우에만 깨집니다. (물론 위 코드를 사용하면 어떤 경우에든 안깨집니다)

한글이 깨어졌던 이유를 간단히 말씀드리자면, Indy 코드가 html 텍스트를 받아오는 과정에서 charset(인코딩)을 제대로 인식하지 못해서 엉뚱한 인코딩으로 풀어버린 것입니다. 그래서 메모리스트림으로 받아서 Indy 라이브러리가 인코딩을 직접 해석하지 않도록 강제한 후, 다시 스트림의 메모리 포인터를 코드페이지를 가지지 않는 무변환 스트링 타입인 RawByteString 타입으로 받아서 강제로 코드페이지를 한글인 949(euc-kr)로 지정합니다.

Delphi/C++Builder 2009 버전에 번들된 Indy에서는 이 charset에 대한 고려가 제대로 되어 있지 않습니다. 반면 2010 버전에서는 charset에 대한 처리가 아주 훌륭하게 되어 있는데요, 그럼에도 한글이 깨어지는 것은, HTTP 헤더에서 charset이 지정되지 않은 경우 기본 디폴트 charset 값의 처리 때문입니다. 그래서 2010 버전에서는 charset을 제대로 지정하면 한글 페이지라도 깨지지 않는 것이구요.

또 한가지 중요한 것. idHTTP로 받아오는 html 페이지가 'utf-8'로 되어 있는 경우, 코드페이지 949로 강제해버리면 당연히 깨져버립니다. 그래서 charset이 'utf-8'로 지정된 경우에는 'utf-8'의 코드페이지인 65001을 지정합니다.

참고로, 이 블로그의 charset은 'utf-8' 이고, 볼랜드포럼의 경우 charset이 'ks_c_5601-1987' 이지만 HTTP 헤더에서 넘겨주지 않구요. 델마당의 경우 charset이 'euc-kr' 이면서 역시 HTTP 헤더에서 charset을 넘겨주지 않습니다. (따라서 위와 같은 회피책을 사용하지 않고 idHTTP를 써서 볼랜드포럼과 델마당의 페이지를 Get 하면 깨지지만 이 블로그의 페이지들은 깨지지 않을 것입니다)

오늘 저녁쯤에는, idHTTP의 Post를 사용했을 때의 문제를 해결하는 코드를 보여드리도록 하겠습니다.

2009/09/09 11:49 2009/09/09 11:49

trackback :: http://blog.devgear.co.kr/imp/trackback/79

지난 목요일, 9월 3일에 삼성동 섬유센터에서 열렸던 Delphi/C++Builder 2010 세미나가 성공적으로 개최되었습니다. (개인적인 일로 금요일 오후부터 고향에 다녀오느라 소식이 늦었네요)

이번 세미나에서는 300여분이 참석하여 최근 수년간의 Delphi 행사로서는 많은 참석자분들이 몰렸구요. 오랜만에 오후만이 아닌 하루 종일 세션으로 진행하면서 총 6개 세션이 진행되었구요. 강사도 David I, 저희 데브기어의 박정수 차장님, 김원경 연구원님, 그리고 저까지 네명의 강사가 돌아가며 연단에 섰습니다.
사용자 삽입 이미지

마지막 세션이자 제 세션인 "DataSnap 2010 기반의 업무 개발 Framework 실례"에 대해서는... 준비가 부실해서 걱정을 많이 했습니다만, 다행히 물병 하나 던지시지 않으시고 잘 경청해주셔서 너무나 감사했습니다. ㅎㅎ 사실은.. 세미나가 임박한 즈음에 여러가지 일들로 너무 바빠져서 준비를 제대로 못한 바람에, 세미나 당일, 아니 세미나 시작 직전까지 코드를 수정하고 있었거든요. 제 세션 시작 30분 전에 기적적으로 모든 코드 문제를 수정하고 참석자분들께 큰 오류가 없는 상태로 보여드릴 수 있게 되었답니다. (정말 신의 도움이라는..)

저는 제 세션을 준비하느라 연단 뒤의 준비실에서 작업을 계속하고 있었지만, 들려오는 소리를 듣고 느낀 대로라면 강사님들도 아주 열정적이었고 참가자분들의 반응도 아주 좋았던 것 같습니다. ^^

사용자 삽입 이미지

좀 급조한 거긴 하지만, Delphi/C++Builder로 만들어진 솔루션들의 간단한 전시 행사도 있었습니다. 마스터소프트의 원격 제어 솔루션들(EZHelp 등), SQL게이트의 SQL게이트 툴, 생각발전소의 e러닝 솔루션 등인데요. 세미나가 1주일도 안남은 상태에서 전시 요청을 했는데, 다들 선선히 수락해주시고 또 잘 준비해서 멋지게 보여주셔서 감사했습니다. (해당 업체들에게는 영업적으로도 꽤 도움이 되었다는 뒷말이... ^^)

내년 상반기에 할 세미나에서는 이 전시 행사를 Delphi/C++Builder 솔루션 페어 형식으로 좀 더 키울 생각입니다. 그러려면 미리 여러 개발자분들과 논의를 해서 사전 섭외를 해놔야 할 거구요. 자랑할 만한 솔루션이나 영업이 필요한 Delphi/C++Builder 기반 솔루션이 있으시다면, 미리미리 제게 연락을 주세요~

아, 이번 세미나의 현장 판매에서는 파격적인 가격으로 판매하는 특별 행사가 있었는데요. 영업 행사가 아닌 참석자 우대를 위한 행사인 만큼 저희 데브기어로서는 꽤 무시 못할 정도의 출혈이 될 정도의 할인이었습니다. 그만큼 많은 분들이 주문을 해주셨구요. 예상보다 훨씬 많이 주문을 해주신 덕분에 생각보다 출혈이 많이 커졌습니다. --;;;; (코피 줄줄... Tㅜ_ㅜT)
사용자 삽입 이미지

세미나가 끝나고 나서는 David I와 저녁 식사를 겸한 간담회가 있었는데.. 서글서글한 데이비드의 인상대로, 아주 친근하고 즐거운 시간이 되었습니다. 한국의 Delphi/C++Builder 개발자들의 의견을 많이 전달했고, 또 세미나에서 공개하지 않았던 비공개 내용들에 대한 질문에도 친절하게 답변해주는 알찬 시간이었습니다.

사용자 삽입 이미지

간담회가 끝날 때 즈음에, David I 부사장에게 살짝 물었는데요. 나이가 얼마냐구요. 근데.. 헉! 58세랍니다. 우리나이로 치면 59세! 게다가, 바로 이번 9월이 그가 프로그래밍 일을 시작한 지 40주년이 되는 달이라고 하더군요. (David I와의 간담회에서 오갔던 공식, 비공식적인 얘기들은 모두 다음 블로그 글에서 정리해서 올리겠습니다)

이번 세미나의 발표 자료는, 오늘 저녁이나 내일 쯤 여기 제 블로그와 데브기어 홈페이지에 올릴 예정입니다. 세미나 때문에 밀린 일이 많다보니... ^^;;
2009/09/07 14:41 2009/09/07 14:41

trackback :: http://blog.devgear.co.kr/imp/trackback/78

세미나가 바로 내일로 다가왔습니다. ^^
http://www.imaso.co.kr/seminar/delphi2010

사용자 삽입 이미지

서울 삼성동 섬유센터 3층에서 오전 10시부터 시작됩니다.

저를 포함한 데브기어의 모든 분들이 빈틈없는 세미나를 준비하기 위해 며칠 전부터는 이번 세미나 이외의 다른 업무들은 거의 마비되다시피 하고 있답니다.

다른 분들은 거의 준비가 끝나셨는데... 저는 Delphi/C++Builder 발표 자체와 관련된 일들(웹페이지나 문서 번역 등), 저번의 바이러스 사태 등등으로 준비가 많이 미흡해서 지금 죽을 맛입니다. 세미나때 부족한 점이 많더라도 뭘 던지거나 야유까지는 하지 말아주시면... -.-;;;

현장 등록이 아니라 사전 등록 하시는 것 잊지 마시구요. 사전 등록후 참석하신 분들께만 사은품 마운틴 바틀러를 드립니다. 입장할 때 사전등록자에게만 기념품 교환권을 드릴 예정이랍니다.

참석하시는 분들께는 참석자 현장 특별 할인으로 Delphi와 C++Builder를 구입하실 수 있는 기회도 있습니다. 데브기어 온라인 쇼핑몰의 이미 인하된 가격에서 추가로 무려 25% 할인이 됩니다. 판매 행사가 아니라 참석자분들께 혜택을 드리기 위한 행사이기 때문에 오직 내일 세미나 당일 하루만이구요. 내일 견적서를 받아가신 후 1주일 이내에 최종 오더를 하시면 됩니다. (당근 1주일이 지나고 나면 효력 상실입니다)

그럼 모두들 내일 뵙겠습니다~ ^^
2009/09/02 09:21 2009/09/02 09:21

trackback :: http://blog.devgear.co.kr/imp/trackback/77