형태소 분석 설치 및 사용(PHP)

설치환경 : Centos7 기본, PHP7 yum install gcc-c++ java-1.7.0-openjdk-devel python-devel zlib-devel openssl openssl-devel git -y wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz tar xf Python-3.* cd Python-3.* ./configure make make altinstall pip3.6 install JPype1-py3 pip3.6 install konlpy cd .. wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz tar zxfv mecab-0.996-ko-0.9.2.tar.gz cd mecab-0.996-ko-0.9.2 ./configure make make install cd .. wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.0.1-20150920.tar.gz tar zxfv mecab-ko-dic-2.0.1-20150920.tar.gz cd mecab-ko-dic-2.0.1-20150920 ./autogen.sh ./configure make make install cd /usr/local/src/ git clone https://github.com/rsky/php-mecab.git cd /usr/local/src/php-mecab/mecab phpize ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config make make test make install echo "extension = mecab.so" > /etc/php.d/mecab.ini systemctl restart httpd.service PHP...

레지스트리 모니터링(Delphi)

사용방법 procedure RegistryMonitor(RootKey: HKEY; Key: string; Proc: TProc; WatchSub: boolean); begin TThread.CreateAnonymousThread(procedure var Reg: TRegistry; Event: cardinal; begin Reg := TRegistry.Create; Reg.RootKey := RootKey; if Reg.OpenKeyReadOnly(Key) then begin Event := CreateEvent(nil, False, False, nil); if Event > 0 then begin while True do begin RegNotifyChangeKeyValue(Reg.CurrentKey, WatchSub, REG_NOTIFY_CHANGE_LAST_SET, Event, True); if WaitForSingleObject(Event, INFINITE) = WAIT_OBJECT_0 then TThread.Synchronize(TThread.CurrentThread, procedure begin Proc end); end; end; end; Reg.Free; end).Start; end; // Proc : 명령어 입력 // WatchSub : 하위도 모니터링...

PHP로 만든 단순한 CDN 서비스 모듈

트래픽 부하를 줄이기 위해 CloudFlare 를 사용하였는데 연결위치가 LAX(로스엔젤레스)라 속도가 많이 느려지는것을 확인하고 급하게 CDN 형태로 사용하고자 만들었습니다. 해당 서버는 도쿄(Vultr)에 위치해 있습니다. 원리는 kilho.net/{파일} 을 cdn.kilho.net/{파일} 로 연결하여 메인 호스팅의 트래픽을 분산합니다. [PHP] <? $cfg['url'] = 'kilho.net'; $cfg['cache'] = '../data/cache'; $url = $_SERVER['REQUEST_SCHEME'].'://'.$cfg['url'].$_SERVER['REQUEST_URI']; $url_arr = parse_url($url); switch($_SERVER['REQUEST_METHOD']) { case 'GET': $filename = $cfg['cache'].$url_arr['path']; $dirname = dirname($filename); if(!is_file($filename)) { if(!is_dir($dirname)) mkdir($dirname, 0707, true); $ch = curl_init(); $fp =...

HTTP 접속 정보 기록

OpenAPI 이용시 테스트 겸 접속 정보가 제대로 됬는지 확인용 접속시 메소스값, 호스트, POST 값 [PHP] <? $log = $_SERVER['REQUEST_METHOD'].' '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."nn"; foreach($_SERVER as $k => $v) { if($k=='HTTP_HOST') continue; if(substr($k, 0,5)!='HTTP_') continue; $log .= '$k: $v'."n"; } $log .= "n"; $post = array_map('urldecode', explode('&', file_get_contents('php://input'))); foreach($post as $v) { $log .= "$vn"; } $log .= "-----------------------------------n"; file_put_contents('log.txt', $log, FILE_APPEND | LOCK_EX); ?> [/PHP]

워드프레스 테마 수정하기

워드프레스 테마 수정시 원본을 건드리지 않고 백업(자식 테마로 표현) 된 파일을 수정하여 사용하는 방법입니다. 사용하는 자식 테마를 쉽게 확인하기 위해 테마의 이름을 조합하여 "wp-content/themes" 폴더에 새 폴더를 생성합니다.(예: 원본 테마가 "twentyfifteen" 라면 "twentyfifteen-child" 으로 폴더를 생성) 원본 테마의 "style.css" 를 자식 테마 폴더에 복사하고 "Theme Name", "Themplate" 을 아래와 같이...

워드프레스, 그누보드 연동

현재 길호넷에서 워드프레스와 그누보드를 연동한 방식입니다. 사이트를 좀 더 안정화를 시킨 후 소스를 공개하려고 하였는데, 그누보드 사용자분의 요청(?)으로 급조하여 만든걸 올립니다. (http://sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=741180) 추후, 그누보드의 head.php, tail.php 에서 워드프레스에서 생성된 페이지를 직접 불러들이고, 캐쉬 처리 및 컨텐츠 영역을 상하로 나눈 후 출력하는것을 생각하고 있습니다. 워드프레스 회원 DB 를 기반으로 그누보드와 연동되어, 게시판 글 작성시...