본문 바로가기
728x90
반응형

전체 글217

.NET을 다시 알다 실버라이트를 연구하려다 보니, WPF에 대해 알고 싶어지고, 크게는 .NET에 대해 알고 싶어지더군요. 지난 주말에는 C#을 다시 한번 공부해보았습니다. WPF 와 실버라이트2 책도 주문해 놓고요. 문득, 다른 OS에서 돌아가는 .NET 을 찾아보게 되었습니다. 원래 .NET이라는것이 Java 처럼 모든 OS에서 돌아가는 VM 으로 발전하려고 했더니까요. 더 나아가서 여러 언어도 통합이 되어 있지요. 이런 개념으로 Perl 측에서도 Parrot 이라는 것을 만들고 있는 중이죠. 아무튼, 예전에 한번 보고 말았던 Mono 프로젝트 사이트를 다시 방문해봤습니다. 그다지 발전이 없어보였던 Mono 가 .NET 2.0 까지 지원되고 있더라구요. 거기에 monodevelop 이라고 하는 훌륭한 IDE까지 제공하고.. 2008. 12. 8.
(PHP) 메일박스 이동... PHP에서 메일을 IMAP의 다른 메일박스로 이동을 위해서 imap_mail_move() 함수를 이용합니다. 그리 어려워 보이지 않습니다. 그러나, 실제 이 함수를 사용해보면 메일이 다른 메일박스에 옮겨진 것을 확인할 수 있으나, 원래 메일박스에도 그대로 남아있는것을 보게 됩니다.어찌된 영문인지 연구를 해보니 원래 메일박스에 그대로 남겨진 메일은 Delete 플래그가 설정이 된 채로 남겨진 것입니다. 이를 알아내기 위해서 이틀이나 소요했습니다. 이것을 확실하게 없애기 위해서는 imap_expunge() 함수를 호출하여 Delete 플래그가 설정된 메일을 삭제해주어야만 합니다.다른 내용이긴 하지만, IMAP을 다룰때 또 한가지 주의할 점은 메일박스이름은 반드시 UTF-7 로 변환하고서 이용해야 합니다. 2008. 10. 29.
(PHP) imap_open 실행시 느리게 연결되는 현상 해결 대부분의 데몬에 원격에서 연결하는 것은 상당한 부하와 시간을 소비하게 됩니다. DB 의 경우에도 보통 Connection Pool 을 만들어서 커넥션 시간을 줄이고 있습니다.지금 만들고 있는 웹메일에서 IMAP 서버에 접근할때에도 같은 문제가 발생하고 있습니다. 한번 연결할때마다 약 2초의 시간이 걸립니다. 그래서 페이지를 이동하거나, 메일 내용을 보려고 할때마다 2초 이상의 시간을 기다려야만 했습니다. PHP에서 개발하고 있어서 다른 페이지에서 IMAP 의 연결을 유지할 수 있는 방법이 없었습니다. SESSION 변수를 이용하면 될 듯 하였으나, 테스트 실패했습니다.혹시나 하고 계속 찾아보았지만 PHP에서 해결할 수 있는 방법은 없었습니다.그렇지만, 방법이 아주 없으면 글을 적지도 않았겠지요. IMAP.. 2008. 10. 10.
(PHP) IMAP 에서 메일목록 가져오기 놀자코딩#Programming #Coding #Development #API #Server #python #golang #java #nodejs #javascript #프로그래밍 #코딩 #개발 #서버 #파이썬 #Go언어 #자바 #노드 #자바스크립트www.youtube.com  웹메일서버를 만들고 있습니다. OS는 Debian Linux 기반에 Postfix, Dovecot, MySQL 등을 사용하고 있습니다. 웹은 PHP로 개발중입니다. MySQL 로 도메인과 계정 연동도 끝났고, 스팸 및 바이러스도 걸러집니다. 남은 부분은 PHP로 웹UI 를 개발하는 것입니다.간단하게 메일 목록을 가져오는 부분을 구현하였고, 메시지를 보여주는 부분을 구현중입니다. 메일목록을 가져오기 위해서 imap_fetch_over.. 2008. 9. 30.
(PHP) 받은 메일에서 보낸이,제목에 대한 디코딩 PHP에서 imap_fetch_overview 함수를 통해서 헤더를 가져와서 제목과 보낸이를 출력해보면 =?EUC-KR?B?udrB2Lq5?= 와 비슷한 형태로 출력되버린다. 이것을 정상적으로 출력하려면 2번의 디코딩 과정이 필요하다. 화면은 UTF-8로 되어 있다고 가정하자.우선 이 문나열을 분석해보자. ?를 기준으로 해서 단어를 나누어 보면,=EUC-KRBudrB2Lq5=로 나누어지는 것을 확인 할 수 있다.여기에서 두번째 항목인 EUC-KR 은 캐릭터셋을 의미한다.또한, 세번째 항목인 B 는 Base64 로 인코딩 되어 있음을 의미한다.그리고, 네번째 항목인 udrB2Lq5 이 실제내용 이다.즉, 이것을 화면에 표시하려면, 우선 Base64로 디코딩을 한 후에, UTF-8로 캐릭터셋을 변경하면 된다.. 2008. 9. 22.
window.open() 에서 두번째 인자... 며칠동안 여러 자바스크립트 라이브러리를 이용해서 다이얼로그 박스를 만들어서 처리하려고 하였으나, 만족으러운 결과를 얻지 못해서, 결국, 새로운 윈도우를 띄우기로 결정했다. 브라우저에서 새로운 창을 띄우려면 window.open(URL, Name, Options) 함수를 이용해야 하는데, 여기에서 두번째 인자인 Name 을 쓸 때 주의할 것이 있다. 주의해야 할 점은 Name 을 쓸 때 절대로 공백문자를 넣어서는 안된다는 것이다. 파이어폭스, 크롬 등에서는 문제가 없으나 IE에서는 Name 에 공백문자가 들어가면 윈도우가 나타나지 않기 때문이다. 이것은 IE의 버그는 아니고, 표준을 잘 지키는 것뿐이다. http://developer.mozilla.org/index.php?title=En/DOM/Windo.. 2008. 9. 4.
FreeBSD 7.0 에 Java 설치하기 오랜만의 포스팅이군요~ 그동안 이래저래 바빴답니다. 이번에는 FreeBSD 에서 Java 를 설치하는 방법을 정리하였습니다. JDK는 라이센스 문제로 재배포를 할 수가 없다고 합니다. 그래서 사용자가 직접 사이트에서 다운로드하여 설치해야만 합니다. FreeBSD에 설치할 수 있는 JDK는 여러가지가 있습니다. 우선, /usr/ports/java 로 이동해보고 ls 를 해보면 여러 디렉토리가 나올 것입니다. jikes,diablo-jdk15, diablo-jre15, jdk11 ~ jdk16, linux-blackdown-jdk14,linux-sun-jdk12 ~ linux-sun-jdk16 과 같이 다양한 JDK를 볼 수 있습니다. 이중에서 diablo-jdk15 와 jdk15 를 설치하는 방법을 살펴보.. 2008. 5. 15.
코드 조각 자동 포함 기능 JSP 를 다시 공부하면서 새로운(?) 기능을 알게 되었다. JSP 2.0 이상부터 추가되었으며, 자동으로 JSP 의 앞뒤에 지정한 파일을 삽입시킬 수 있는 기능이다. web.xml 에 파일에 다음과 같이 설정을 추가해 주면, /view/* /common/variable.jspf /common/footer.jspf /view/ 밑에 있는 모든 JSP 파일에 /common/variable.jspf 와 /common/footer.jspf 가 자동으로 앞과 뒤에 자동으로 포함된다. 이런 편리한 기능이 있었다니, 이번 프로젝트에 적용해보아야 겠다. ^^ 혹시 Struts 2 에도 비슷한 기능이 있는 살펴보아야겠습니다. 2008. 4. 19.
The value for the useBean class attribute ~~~ is invalid 문제 해결 Tomcat 5.5 에서 자바빈즈를 사용하는데 문제가 발생해서 해결하는데 3일이나 걸렸습니다. 문제의 원인은 server.xml 설정의 문제였는데요, Tomcat 4.1 까지는 정상적으로 동작한다는 것이 해결의 발목을 잡았습니다. Host 태그의 appBase 내용을 Context 태그의 docBase 로 옮기고 나니 정상적으로 동작하는 것을 확인하였습니다. server.xml 의 설정값을 어떻게 해야되는지 내용을 알기가 어렵더군요. 아무튼 이렇게 설정하고나니 모든 것이 잘 돌아가고 있습니다. server.xml 에 대해서 아주 쉽고 상냥하게 설명되어 있는 문서가 없을까요? ^^; 문제 발생시의 server.xml 내용 문제 해결후의 server.xml 내용 2008. 4. 12.
728x90
반응형