본문 바로가기

Job Notes

(118)
[펌] Charming Python: Python에서의 함수 프로그래밍, Part 2 Charming Python: Python에서의 함수 프로그래밍, Part 2 함수 프로그래밍 시작하기 난이도 : 초급 David Mertz, Ph.D., Applied Metaphysician, Gnosis Software, Inc 2001 년 4 월 01 일 David Mertz는 Part 1 에 이어서 FP(Functional Programming)에 대한 기본 개념을 설명하고 있다. David는 다양하고 진보적인 FP 개념들을 설명하면서 프로그램 문제 해결에 대해 다른 패러다임을 제시한다. Part 1 에서 FP에 대한 기본 개념을 설명했다. 이번 칼럼에서는 다양한 개념들을 좀 더 깊게 연구하려고 한다. Bryn Keller의 "Xoltar Toolkit"에서 많은 부분 도움을 받을 것이다. Xo..
[펌] Charming Python: Python에서의 프로그래밍, Part 1 Charming Python: Python에서의 프로그래밍, Part 1 Python을 효과적으로 활용하기 난이도 : 초급 David Mertz 박사, 응용철학자, Gnosis Software 2001 년 3 월 01 일 일반적으로, 사용자들은 Python이 절차적(procedural)이며 객체 지향적 언어라고 생각하지만 실제로는 함수 프로그래밍에 필요한 모든 것을 갖추고 있는 언어라고 할 수 있다. 함수 프로그래밍의 개념과 Python에서 함수 기술을 구현하는 방법에 대해 알아보자. "함수 프로그래밍(FP-Functional Programming)이란 무엇일까요?" 라는 질문에 대해, "FP란 Lisp, Scheme, Haskell, ML, OCAML, CLEAN, Mercury, Erlang와 같은 ..
[펌] Python을 배워야 하는 이유 개인적으로나 업무상으로나 여러 스크립트 언어를 쓸 경우가 많은데, Python에 가장 큰 점수를 주고 싶습니다. Eric Raymond씨도 "How To Become A Hacker"란 글에서 프로그래밍을 배우고 싶다면 python을 배우라고 쓴 적이 있습니다. 저도, 꽤 많은 언어를 쓰고 있다고 생각하지만, Python만큼 강력하며, 쉽게 배울 수 있는 언어를 본 적이 없습니다. Python 언어에 대한 자세한 사항은 Python 관련 책이나 문서에서 충분히 얻을 수 있을 것이므로, Python에 대한 특징을 바라보는 입장에서 정리해 보았습니다. 여가 시간이 있거나, 배우고 싶은 언어를 찾고 있다면, Python을 익혀보기를 강력하게 추천합니다. Python 홈 페이지 Programming에 대한 경험..
닷넷에서 쿠키로 인증된 세션유지하기 "http://blog.empas.com/ttjkim" 네이버블로그에는 블로그에 대한 통계를 내주는 유틸을 사용자들이 만들어서 공개하고 있습니다. 또한, 블로그맵이라는 서비스를 하는 곳도 있습니다. 닷넷에서 이런 종류의 유틸을 작성하기 위해서 어떻게 해야할까? 물론 http 프로토콜이 단순하기 때문에 직접 윈속프로그램을 작성할 수도 있지만, 세세한 곳까지 프로그래머가 신경을 써야하기 때문에 권장할 만한 방법은 아닙니다. 닷넷 프레임웍에서는 WebClient라는 클래스를 사용하면 쉽게 원하는 페이지를 얻어올 수 있습니다. 그렇지만 리턴되는 값이 스트림 형태여서 일단은 스트링으로 만들어주어야 합니다. 그다음에 우리가 관심을 갖는 특정 내용을 찾아서 정보를 얻어야 하는데, 이것도 그냥 스트링을 뒤져서 처리하거..
MIME http://www.ietf.org/rfc/rfc2557.txt 원문 : http://dewey.yonsei.ac.kr/network/khg.htm MIME (Multipurpose Internet Mail Extensions) 과목명: 학술정보 도서관망 구축론 주제명: MIME 발표일: 98.06.09 석사2학기 김형규 1. 전자우편 약사(略史) 컴퓨터의 출현을 통한 값싸고 빠른 네트웍상의 의사소통 수단으로 전자우편(e-mail)은 폭발적으로 성장하였다. 전자우편은 전체 내용을 보내는데 그다지 많은 바이트를 차지하지 않으며, 게다가 전자우편의 전송은 곧바로 할 필요가 없기에 시스템은 적절한 시간에 전송함으로써 네트웍의 부하를 줄이며 일괄적으로 메시지를 전송할 수 있다. 인터넷상에서 X.400이나 SMT..
내용협상 (Content Negotiation) http://httpd.apache.org/docs/2.0/ko/content-negotiation.html 아파치는 HTTP/1.1 규약에 기술된 내용협상(content negotiation)을 지원한다. 내용협상은 media type, 언어, 문자집합, 인코딩 등에 대해 브라우저가 제공한 선호도에 따라 자원의 가장 적합한 표현을 선택한다. 또 불완전한 협상 정보를 보내는 브라우저의 요청을 지능적으로 처리하는 기능도 있다. 기본적으로 컴파일되는 mod_negotiation 모듈이 내용협상 기능을 제공한다. 내용협상에 대해 아파치의 협상 협상방법 품질계수 조작하기 자연스러운(transparent) 내용협상의 확장 하이퍼링크와 이름규칙에 대하여 캐쉬에 대하여 다른 정보 내용협상에 대해 자원은 여러 다른 표..
HTTP/1.1 Protocol이란? 이번에 컴퓨터공학과 3학년 2학기에 새로 생긴 전공과목인 네트워크 프로그래밍이란 과목을 수강하다가 Process를 이용한 웹서버 구현하는 과제를 하였습니다. 생각보단 어렵지는 안더군요. 예전에 Thread를 이용한 간단한 웹서버 구현한 것이있어서 Process로 바꾸는 데에는 금방 했습니다. (참고로 열혈강의 TCP/IP 소켓 프로그래밍이란 책을 참고했습니다.) 열혈강의 TCP/IP 소켓 프로그래밍 윤성우 지음 / 이한디지털리(프리렉) 나의 점수 : ★★★★★ 처음 본 TCP/IP 소켓프로그래밍 책입니다. 소켓프로그래밍 공부하는데 서점에서 무슨 책으로 공부할지 고민을 하다가 이 책이 초보자들에게 괜찮은 듯하고 거기에 무료강의까지 제공해서 선택했습니다. 이 책을 쓰신 윤성우님은 열혈강의 C, 열혈강의 C+..
HTTP Protocol 아래 내용은 네이버 카페 'VC++ 삽질공간' 의 제온 님의 글 중 퍼온 것입니다. [출처] HTTP Protocol|작성자 함박웃음 HTTP 프로토콜 HTTP 서버를 구현하려면 HTTP 프로토콜을 지원하여야 할 것입니다. 이곳에 가면 HTTP 프로토콜에 대한 문서를 보실 수 있습니다. http://www.w3.org/Protocols/rfc2616/rfc2616.html 또 이곳에는 HTTP 프로토콜 문서를 한국어로 번역해놓은 문서가 있습니다. 단 이곳에서 번역해 놓은 문서는 HTTP/1.0 버전입니다. (위에 있는 문서는 HTTP/1.1 버전입니다.) http://www.initech.com/%7Eqkim/HTTP/http10v3.html 제가 구한 자료에서는 HTTP 프로토콜을 알기쉽게 요약해 놓은..