게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 곧 새벽 4시가 되는군요.
작성자: 송원석
작성일시: 2004-07-27 11:15,  조회수: 2,748
지금 말씀해주시는 정보문님의 고민이 어쩌면 근본적인 저의 고민일 수도 있겠다는 생각이 듭니다. 비록 온라인 상으로나마 제가 도와드릴 수 있는 부분들은 성심껏 도와드리겠습니다만, 먼저 제가 지금까지 이 부분에 대해서 고민해 오면서 느낀 바를 말씀드려 보도록 하겠습니다.

말씀하신 세션 문제도 그렇고 결국 제 결론은 이런 것이었습니다. '아! 결국 제대로 100% 제어되는 프로그램을 만들려면 결국은 비주얼 C/C++ 을 공부해야 하는가보다.' 라는 것이었죠. 지금의 EgoCube IE Analysis 0.0.2 프로그램은 C# 을 사용하여 만들어진 것입니다만, 예전에 저는 비주얼 베이직 6.0 을 사용하여 비슷한 프로그램을 만들어 본 적이 있었기 때문에 보다 접근이 쉬웠던 것입니다. 그리고 프로그래밍의 핵심은 다름이 아닌 정보문님께서 말씀하신 웹 컨트롤, 즉 WebBrowser 컨트롤을 제어하는 것이었습니다. 그런데 문제는 사용하는 언어가 무엇이든지 상관없이 조금 깊은 곳에 손을 대려고 하면 비주얼 베이직이나 C# 으로는 불가능하고 반드시 Win32 API 를 사용하거나 COM 의 인터페이스를 직접 건드려야만 했습니다.

그런데 더 큰 문제는 저도 비주얼 C/C++ 을 거의 모른다는 것이었죠. 극단적으로 말하자면 읽을 수는 있는데 쓸 수는 없다고나 할까요? 학생 시절에 볼랜드나 터보 C 를 사용해본 적이 있지만 그것도 거의 기계 제어 관련쪽이었을 뿐, 실질적으로 MFC 나 COM 인터페이스를 다룰 수 있는 수준은 아닙니다. 그래서 제 나름대로 상당히 고생을 많이 했죠. EgoCube IE Analysis 0.0.2 프로그램을 대상으로 실제 예를 들어보도록 하겠습니다. 코드의 거의 마지막 부분을 보시면 다음으로 시작되는 부분이 있을 것입니다.
#region DWebBrowserEvents Interface Implementation Code
이 이하의 부분들은 C# 의 버그로 인해서 제대로 동작하지 않는 BeforeNavigate2 이벤트를 어떻게든 사용해보고자 DWebBrowserEvents 인터페이스를 재정의 하는 부분입니다. 그런데 이 인터페이스는 비주얼 C/C++ 에서 주로 사용되는 IDL 로 정의가 되어 있습니다. 그래서 이 부분을 C# 스타일로 정의하는 방법을 마이크로소프트의 사이트에서 어렵게 찾아낸 것이구요. 이런식으로 하나하나 문제를 해결해나가곤 했었습니다만, 어느것 하나도 시스템의 심층 부분과 약간이라도 관련이 있는 것이라면 결국은 Win32 API 와 비주얼 C/C++ 을 차용할 수 밖에는 없었습니다.

그래서 결국 C# 으로는 아직까지 데이터베이스를 다루는 업무용 프로그램이 아닌 시스템과 연동하는 응용 프로그램을 만드는 것에는 무리가 많다는 결론을 내리게 되었습니다. 물론 제 실력이 부족해서 그런 것이겠지만 어떤 경우에는 차라리 비주얼 베이직으로 작성하는 것이 더 낫지 않을까하는 생각까지 들더군요. 그 가장 큰 이유는 근간은 아직까지 Win32 API 와 COM 으로 이루어진 시스템에서 작업을 해야하는데 비주얼 베이직은 차라리 그러한 개념으로 작성된 개발도구이기라도 한 반면 C# 은 그렇지 않기 때문에 오히려 그런 부분들에 있어서는 더욱 손이 많이가고 레퍼런스들 조차 없다는 것입니다.

결론적으로 전용 웹 브라우저를 만들기 위해 제가 생각하는 최고의 방법은 비주얼 C/C++ 을 사용하여 프로그램을 작성하는 것입니다. 그리고 그 다음이 델파이나 비주얼 베이직을 사용하는 것이고, 가장 마직막 방법이 .NET 기반의 언어를 사용하는 것입니다. 만약 만들어야 할 프로그램이 회계 프로그램이나 기타 데이터베이스 관련 프로그램이라면 저도 주저하지 않고 .NET 기반의 언어를 사용하겠지만 전용 웹 브라우저를 만들어야만 한다면 저는 과감하게 .NET 기반의 언어를 포기할 것 같습니다.

그리고 참고로 제가 예전에 비주얼 베이직으로 작성했던 프로그램의 코드는 원하신다면 보내드릴 수도 있습니다. 다만 그 프로그램에는 제가 근무하던 회사에서 원하던 여러가지 조건들을 만족시키기 위한 다양한 특성들이 존재하므로 일반적인 목적의 전용 브라우저와는 많은 차이가 있습니다. 그리고 최소한 2 년 전의 프로그램이므로 지금 보다도 더 실력이 부족할 때 작성한 것이라 문제점들이 많이 있구요. 이러한 점들은 충분히 감안하셔야 될 듯 합니다. 그래도 혹시 필요하시면 언제라도 말씀해주시구요.

그리고 다른글에서도 말씀드렸지만 저는 지금 과천 정부정합청사의 농림부에서 프리랜서로 프로젝트를 진행하고 있습니다. 업무가 바빠서 답변이 늦어질 수도 있지만 언제라도 궁금하신 부분이 있으시면 다시 글을 올려주십시요. 부족하지만 제가 아는 부분까지는 최대한 말씀을 드리도록 하겠습니다. ^_^

감사합니다.
IP 주소: 152.99.132.13
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 66 페이지입니다.
게시물
491

아무래도...ㅜ.ㅜ [3]

정보문

2004-07-28 4,748
490

질문 4 가지

정보문

2004-07-28 2,920
489

re: 질문 4 가지

송원석

2004-07-28 2,621
488

잘 받았습니다. [1]

정보문

2004-07-28 2,483
487

근데 혹시.. 그거 아세요??

오마르

2004-07-28 703
486

re: 근데 혹시.. 그거 아세요?? [1]

송원석

2004-07-28 2,751
485

안녕하세요~ 안부 인사입니다~~ ^^ [1]

오마르

2004-07-28 681
484

오피스CD를 자꾸 요구하면? [1]

정보문

2004-07-27 2,761
482

(local)/NetSDK

정보문

2004-07-27 2,710
481

re: (local)/NetSDK

송원석

2004-07-27 2,915
480

re: (local)/NetSDK [2]

정보문

2004-07-27 2,711
479

과천에서 바쁘신 와중에도...

정보문

2004-07-27 2,869
478

re: 과천에서 바쁘신 와중에도...

송원석

2004-07-27 2,646
477

re: 과천에서 바쁘신 와중에도...

정보문

2004-07-27 2,486
476

곧 새벽 4시가 되는군요.

정보문

2004-07-27 2,697

re: 곧 새벽 4시가 되는군요.

송원석

2004-07-27 2,748
474

한 가지 더 있습니다.

정보문

2004-07-27 2,677
473

re: 한 가지 더 있습니다.

송원석

2004-07-27 2,679
472

여기다 질문올려도 될런지... [1]

정보문

2004-07-27 2,975
471

re: 여기다 질문올려도 될런지...

송원석

2004-07-27 3,036
470

정규식 질문인데요~ ^^ [1]

오마르

2004-07-26 795
469

re: 정규식 질문인데요~ ^^ [1]

송원석

2004-07-26 2,851
468

안녕하세요~ 오늘은 서브도메인? 아이디? 에 대한 질문인데요..

오마르

2004-07-24 795
467

re: 안녕하세요~ 오늘은 서브도메인? 아이디? 에 대한 질문인데요.. [1]

송원석

2004-07-24 2,886
466

VBscript 424에러

초보맨

2004-07-19 914