진리는어디에 (291) 썸네일형 리스트형 XMLHttpRequest 의 속성과 메소드 Method abort() : 현재 진행 중인 모든 액션을 취소 getAllResponseHeaders() : HTTP 헤더의 모든 내용을 반환 getResponseHeader("헤더이름") : 지정된 HTTP헤더 내용을 반환 open(method, url, async, username, password) : HTTP Request 를 셋팅. 이름과 달리 뭔가 컨넥션을 연다거나 하는 작업은 하지 않는다. method : "GET", "POST" 가 들어 갈 수 있다. 자세한 사항은HTTP 트랜젝션의 구조 참조 url : 서버 도메인을 제외한 자원의 위치, 예를 들어 http:/kukuta.tistory.com/resource 중 resource async : XMLHttpRequest가 동기(false).. [C++] BTree 구현 완료 Insert split delete merge search 미구현 iterate 잠이 오긴 하지만 잠시 생각 해보자. Btree는 iteration이 상당히 까칠하다. 그럼 list를 추가하면 될듯한데..그럼 키는 트리에 유지하고 값만 리스트에 저장 하면 되겠군. 그런데 문제는 트리가 다시 밸런스를 맞추면서인데..예를 들어 2:2가 들어 오고 3:3이 들어 오고 1:1이 들어 오면 3이야 뒤에 추가 하면 되니 아무런 문제가 없지만 1:1은 2보다 작다는 것을 알 수 있으니까 2의 iterator 앞에 넣어 주면 되겠군. 대충 돌아 갈 수 있을 것 같구먼 erase 소스 코드 : 티스토리 버그인지 모르겠으나 코드 라인 정렬이 계속 깨져 파일을 따로 업로드 한다. #pragma once #prag.. Python embedding 1 - Overview '눈이 올것 같은 날씨군..' 이라고 생각하는 순간 신기하게도 눈이 내리는 군요. 그것도 아주 펑펑... 커플 분들에게는 정말 즐거운 날씨 일것이라는 생각이 듬과 동시에 어쩌면, 올해 크리스마스는 화이트 크리스마스가 될지도 모르겠다는 불길한 느낌이 오는군요. 제 느낌이 어쨌든, 내리는 눈이 너무 이뻐서 사진이라도 찍어 둘까하다가 관뒀습니다. 추억은 어디까지나 추억으로 남아야지, 기록으로 남겨진 추억은 나중에 감정이 사라져 버리고 나면 씁쓸함만이 남더군요. 헛소리를 하는 것을 보니 지병이 다시 도지는가 봅니다. '후천적 연말 크리스마스 우려 증후군'이라고 솔로 기간이 길어지다 보면 이런 병도 생깁니다. 이 글을 읽고 계시는 여러분들도 조심하시기 바랍니다. 언제 저 처럼 되 버릴지 모릅니다.ㅎㅎ 오늘은 파이.. HTTP 트랜젝션의 구조 다른 여러 네트워크 프로토콜들과 마찬가지로 HTTP 역시 클라이언트-서버 모델을 가지고 있습니다. HTTP클라이언트는 서버로 향하는 컨넥션을 만들고 리퀘스트 메시지(request message)를 보냅니다. 응답을 마친 서버는 컨넥션을 닫아 버립니다. HTTP 컨넥션에 대한 지속적인 상태를 유지하지 않습니다. 이런 프로토콜 성향 때문에 HTTP를 비상태유지(stateless)프로토콜이라고 합니다. 요청 메시지와 응답 메시지의 포멧은 비슷합니다. 둘 다 텍스트 기반의 프로토콜이며 아래와 같은 메시지 구조를 갖습니다 : 이니셜 라인(initial line) 이니셜 리퀘스트 라인과 이니셜 리스폰스 라인, 두 가지로 구분 됩니다. 헤더 라인 헤더라인 자체가 없어도 되고 1개 이상의 헤더라인이 와도 상관은 없습니.. 파이썬으로 utf-8 문서 읽기 들어가며 위키(웹)에서 작성된 텍스트 파일을 읽어 들여 특정 문자열을 변환 해야 하는 이슈가 있었습니다. 예를 들자면 : = 제목 = * 내용1 * 내용2 위의 내용중에서 '제목'이라는 문자열을 찾아 모두 '타이틀'로 변경 하는 작업이 필요하다고 생각하시면 됩니다. 변환 하는 방법이 그렇게 어렵지는 않을 것입니다. 간단히 생각을 해보면 : 디렉토리를 순회 하며 파일의 이름들을 얻어 온다. 파일을 열어 특정 문자열을 찾아, 변경 한다. 파일을 저장하고 다른 파일들에 대해 2번 과정을 적용한다. 그렇게 문자열을 처리하는데 편리한 기능들을 많이 제공하는 언어를 사용한다면 그렇게 어려운 일도 아닐 것 입니다. 파이썬을 이용하자면 아래와 같은 코드가 나올 수 있겠지요 : import os for root, dir.. Python embedding 4 - PyErr_Print() 를 파일로 남기기 파이썬 임베딩을 하면서 가장 유용하게 사용되는 함수 중에 하나가 PyErr_Print()라고 하면, 대부분 공감 하시리라 믿습니다. PyErr_Print()를 통해 우리는 파이썬 모듈을 로드하고 실행하는 중에 발생하는 모든 에러들과 예외 들에 대해 성실하고도 친절한 답변을 받게 됩니다. 그런데 가끔은 PyErr_Print()가 보여 주는 메시지들을 보지 못하는 환경에 놓일 때가 있습니다. 예를 들자면 윈도우의 서비스 프로세스나 리눅스의 데몬 프로세스 같은 경우지요. 앞에 말한 두 종류의 프로세스들은 프로세스의 특성상 stdout 이라던지 stderr과 같은 표준 출력을 지원하지 못하도록 막아 버리는 경우가 대부분 입니다. 그리고 우리의 PyErr_Print()함수는 stderr을 통해서 메시지를 보여 주.. [C++] typename 키워드 들어가며 'Modern C++ Design'이라는 책에는 typename이라는 키워드가 종종 등장하곤 합니다. 물론 템플릿 파라메터로써만 사용되었다면 제가 이런 포스팅을 시작할 생각도 안했겠지요. template 와 template 는 템플릿을 조금이라도 다루어 보았다면 모두 다 아실 정도의 수준이니까요. 오늘 제가 이 포스트에서 다루고자 하는 것은 템플릿 파라메터로써의 typename이 아니라, 이것이 타입인지 함수인지 구분이 안가는 모호한 문법 속에서 '이것은 타입이니 함수 처럼 다루지 마세요'라고 말하는 typename을 다뤄 보려고 합니다. 포스트에 설명 되어 있는 내용은 IBM 쪽에 올라온 문서를 기본으로 삼고 있습니다. 혹시나 원문이 궁금하신 분은 [여기]를 참고 하시면 됩니다. typenam.. Python embedding 3 - 캐싱 된 모듈 다시 로드 하기 Python embedding 1 - Overview Python embedding 2 - Calling Python function from C/C++ Appilcation 얼마 전 C++코드에서 파이썬 모듈을 로드해 사용 할 수 있는 임베딩(Embedding)이라는 기술에 대해서 포스팅 한적이 있습니다(http://kukuta.tistory.com/83). 그 때 제가 임베딩을 사용한 목적은 '로직이 변경 되었을 때, 재 컴파일이 필요 없이 동적인 로직의 변경이 가능하도록 한다'였습니다만, 파이썬에서는 모듈이 한번 로드 되면 캐싱 되는 기능을 가지고 있더군요. 모듈이 캐싱되어 있다는 것이 보통의 경우에는 성능향상등 각종 이로운 현상을 만들어 주지만, 이번 제가 하려는 경우에는 그다지 도움이 되지 않더.. STL string을 이용해 텍스트 라인을 단어로 쪼개기 이번 장에서는 STL의 string을 이용해 특정 구분자로 나뉘어 있는 텍스트 한줄을 여러개의 단어들로 쪼개는 함수를 만들어 보도록 하겠습니다. 1 void split(const string& text, string& separators, vector& words) { 2 int n = text.length(); 3 int start, stop; 4 5 start = text.find_first_not_of(separators); 6 while ((start >= 0) && (start n)) 9 stop = n; 10 words.push_back(text.. Extension Writing Part II: Parameters, Arrays, and ZVALs /** 이번 장을 보기 전에 이전 장에서 공부한 내용에 대해서 간략하게 언급 해 보도록 하지요. 우리는 PHP extension의 개념에 대해서 간략하게나마 알아보았고, 모듈의 라이프 싸이클에 대해서도 공부했습니다. 간단한 함수들을 직접 만들어 보았고, dynamic 변수와 static 변수를 리턴할 때 무엇에 신경을 써야 하는지 살펴 보았습니다. 그 외에도 다른 몇가지를 더 얇지만 넓게 살펴 보았습니다. 이번 장에서는 PHP 스크립트로 부터 넘어오는 파라메터를 extension 모듈에서 어떻게 해석하고, PHP와 Zend Engine의 변수 관리 방법에 대해서도 알아 보도록 하겠습니다. */ Accepting Values 실질적으로 함수들을 위한 파라메터들은 일반적인 기대와는 달리 함수에 선언되지 않습.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 30 다음