본문 바로가기

IT

파이썬 웹표준 라이브러리 소개 및 변경사항 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬은 버전에 따라 크게 2.x와 3.x로 나뉜다. 함수와 클래스등은 거의 동일하지만, 패키지명과 모듈명이 재구성 되었다고한다. 또한 웹 어플리케이션에 사용되는 라이브러리는 웹 클라이언트용 API와 웹서버 API로 나뉜다. * 파이썬 3.x 와 2.x 표준 라이버리 모듈 구성 변경사항(빨강색 음영은 클라이언트단, 파랑색 음영은 서버단임은 참고) 파이썬 3.x 모듈명 파이썬 2.x 모듈명 파이썬 3.x 에서의 변화 urllib.parse urlparse urllib 일부 하나의 urllib 패키지로 모아 모듈을 기능별로 나눔 urllib.request urllib2 대부분 urllib 일부 urllib.error urllib2 대부.. 더보기
우분투 리눅스에서 Fatal error: Call to undefined function curl_init().. 오류 났을때 root@kaspyx-desktop:/etc/php5/apache2# apt-get install php5-curl패키지 목록을 읽는 중입니다... 완료의존성 트리를 만드는 중입니다상태 정보를 읽는 중입니다... 완료다음 패키지를 더 설치할 것입니다: libcurl3다음 새 패키지를 설치할 것입니다: libcurl3 php5-curl0개 업그레이드, 2개 새로 설치, 0개 지우기 ........ curl이 설치 되있는지 확인..root@kaspyx-desktop:/etc# find -name curl*./php5/conf.d/curl.ini 설치후... 아파치 데몬 재시작 root@kaspyx-desktop:/etc/php5/apache2# /etc/init.d/apache2 restart * Resta.. 더보기
유니코드(Unicode) 값을 UTF로 변환하기 /* written by kaspy (kaspyx@gmail.com)*/ ASCII 코드 테이블은 찾기 쉬운편인데 유니코드(Unicode) 테이블은 범위도 크고 찾기도 어려운것같다. 유니코드는 UCS-2와 UCS-4가 있는데 각각 2바이트 4바이트 크기를 가진다. 세계 모든 언어에 대한 문자를 저장하고 있고 찾아볼수있다. 바로 이 사이트이다 => http://unicode-table.com/en/ 유니코드 변환을 해보자 사이트에 접속해서 검색창에 원하는 문자에대한 유니코드(Unicode) 인코딩 값을 얻을수있다. 예를들어 "닭" 이라는 문자에 대한 유니코드 인코딩 값을 찾아보겠다. 한글 "닭"에 대한 유니코드에 값은 U+B2ED이다.그냥 십육진수로 0xB2ED 라고 보면된다. 더불어서 HTML 코드 정보.. 더보기
TCP/IP IP 패킷 체크섬(Checksum) C언어로 구현하기 /* written by kaspy (kaspyx@gmail.com)*/ 네트워크 소켓 프로그래밍에서 TCP 및 IP 등에서는 체크섬(checksum)을 통해서 패킷이 변조됬거나 손상됬는지 검사를 해주는 루틴이 있다. 그래서 패킷을 받으면 이값을 검사한뒤에 만약 계산한데로 맞지 않는다면 패킷을 버린다. 이번 포스팅에서는 TCP/IP 에서 IP 체크섬(Checksum) 함수를 구현하는 내용을소개하겠다. 아래는 체크섬을 구하는 함수 코드이다. u_short ip_sum_calc( u_short len_ip_header, u_short * buff ){ u_short word16; u_int sum = 0; u_short i; // make 16 bit words out of every two adjacent.. 더보기
VMware에서 고정 아이피 설정하는법 /* written by kaspy (kaspyx@gmail.com)*/ VMware란 하나의 물리적인 컴퓨터 안에 여러개의 운영체제를 설치하여 하나의 컴퓨터 안에 여러개의 컴퓨터를 사용하는 것같은 효과를 볼수 있는 프로그램이다. 활용을 극대화 하는 방법중 하나는 아래 그림처럼 VMware안에 여러대의 서버를 설치하여 운영하는 방법이다. 그것도 고정아이피로... 물론 포트 포워딩을 하면 되긴하지만... 기능이 많아질수록 여러가지 제약이 따른다. 이론적으로 하나의 이더넷 카드는 MAC주소로 통신을 하기 때문에 여러개의 아이피 할당이 가능하다. 고로 고정아이피가 여러개라면 VMware 안에 운영체제 이미지를 만들어놓고 하나의 VMware 컴퓨터 안에 여러대의 서버가 작동하는 것처럼 할수 있다. 설정하는 방법.. 더보기
윈도우 메시지(Message) /* written by kaspy (kaspyx@gmail.com)*/ 이번 블로그 내용은 윈도우 메시지(Message)에 대해서 다루기로 하겠습니다.-*기초적인 내용이라기보다는 기본적인 내용에 가깝고, 공부하면서 도움이 될만한 중요한것들만 정리해 보았습니다. 윈도우 애플리케이션은 메시지를 기반으로 모든 처리를 하기 때문에, 메시지는 중요한 요소이다. 그래서 정리를해보았다. 1. 메시지는 단시간에 처리한다. 윈도우 어플리케이션은 MSG 구조체 형태를 사용하여 메시지를 단시간에 처리한다. 메시지 루프라는 반복 구조를 사용하여 큐에 모인 메시지를 하나씩 꺼내서 순서에 따라 처리하는 방식이라고 보면된다. 그런데 이게 무슨소린고하니, 메시지 큐에 작업이 쌓였는데, 시간이 오래 걸리는 하나의 작업이 큐에 잡혀버.. 더보기
윈도우(Window)의 구성요소(Style) 및 종류 /* written by kaspy (kaspyx@gmail.com) */ 이번 블로그 내용은 Windows 운영체제 환경에서 실제적인 출력을 담당하고 있는 윈도우에 대해서 다루기로 하겠습니다.-* 기초적인 내용이라기보다는 기본적인 내용에 가깝고, 공부하면서 도움이 될만한 중요한것들만 정리해 보았습니다.. 1. 윈도우는 'Windows 운영체제'(이하 Windows)가 관리하는 객체이다. 화면에 뜨고 우리가 직접 보는 '윈도우'는 Windows 에서 관리하는 객체의 일종이다. 객체에 따라 대응되는 화면이 표시된다. 즉 평상시 사용자가 보고있는 윈도우는 Windows 내부에 있는 윈도우 객체가 출력된 형태이다. 대표적으로 윈도우를 띄우는 함수는 CreateWindow API이며 프로토 타입은 아래와 같다... 더보기
티스토리에서 소스코드 블로깅하기 /* written by kaspy (kaspyx@gmail.com)*/ 프로그래밍 관련 블로그를 하는것은 어려운것 같습니다.ㅡㅡ;; 특히 소스코드를 올려야하는 상황이 많은데, 이럴땐 블로깅할 소스코드를 이쁘게 꾸며주는 사이트에 올려놓고 그것을 복사해서 사용하면 보기에도 좋고, 시간도 절약됩니다. 제가 추천하는 사이트입니다. http://pastebin.com/ (회원가입없이 익명으로도 올릴수있습니다.) 위의 사이트에 접속해서 내가 원하는 소스코드를 올리고, 소스코드언어를 선택해서 Submit을 하면 됩니다. 빨강색 버튼왼쪽은 번호를 넣고, 오른쪽은 번호를 생략합니다. 아래는 소스코드를 복사해서 붙여넣기 했을 때 결과입니다. * 소스코드 라인 포함 #include void ex(char *pname){ .. 더보기
x86 16bit 어셈블리(Assembly) 예제 정리 - 4 /* written by kaspy (kaspyx@gmail.com)*/ 문득 어셈블리 언어를 보다보면 자주쓰지 않는 만큼 해깔릴수 있는것들이 많은것 같아서 정리해보았다. 특히 주소 연산 mov [100], 10 같은것들많이 사용되지 않는 16bit 어셈블리어지만 레지스터 크기나 명령어 이름만 조금 바꾼 형태로 익힌다면 32bit도 그리 어렵지는 않을것이다. 이번에는 비교 및 분기문, 특수연산 등으로 정리하였다. JG 및 JA 명령어예제)mov bl, 5cmp al, bljg 0188ja 018a ;bl 레지스터에 5를 저장하고 al과 비교하여 클 경우 018a 주소로 번지시킵니다.;여기서 jg 구문에서 점프하지 않고 ja에서 한 이유는 jg는 부호있는 검사를 하여 al의 값은 음수가 됩니다.;이때는 a.. 더보기
윈도우(Windows) 애플리케이션(application)의 구조 /* written by kaspy (kaspyx@gmail.com) */ Windows 프로그래밍을 해본 경험이 있는 사람이라면 API 및 Win32 API를 어떤 형태로든 접해본적이 있을 것이다. API란 Application Programming Interface라는 약어로 윈도 운영체제의 기능을 애플리케이션에서 이용하기 위한 인터페이스로, 그 실체는 C/C++ 언어로 개발한 수천개의 함수의 집합이다. 기초적인 내용이라기보다는 기본적인 내용에 가깝고, 도움이 될만한 중요한것들만 정리해 보았다. 1. Windows 애플리케이션은 이벤트 반응형이다 Windows의 GUI 애플리케이션을 시작하면 윈도를 출력할 뿐이며, 일반적으로 아무것도 하지 않는다. 메뉴를 선택하거나 마우스 버튼을 클릭하거나 키를 누르.. 더보기