Subscribe 설명서

Subscribe 설명서

프로그램
Subscribe 설명서 RSS를 구독하는것을 만들고 싶어서 이것 저것 하다가 뭔가 이상하게 방향이 잡혀 나갔지만은 그냥 기록을 해 놓으려고 한다. 분류도 나만의 분류를 만들어서 만들어서 사용을 할 수 있고, RSS 주소를 등록, 필요한 키워드를 등록해서 분류해 놓을 수 있다. 개발환경 : Windows10, .Net FrameWork 4.5 언어 : c# 테스트 환경 : Windows10, Windows7 1. 서버 구성 간단한 원리 입니다. PHP로 DB에 저장된 URL에 따라서 사이트에 접속하여서 해당 사이트 HTML소스를 가지고 옵니다. 이후에 HTML 파싱 작업을 해서 원하는 정보를 추출해서 DB에 저장을 해 놓으면은 사용자 프로그램이 특정 주소로 XML 요청을 하면은 해당 값을 찾아서 리턴을 해 주는것입니다. 사용자단에서 모두 처리해도 되지만은 일정한 시간마다 수집하고 어디서나 동일한 정보를 위해서 중간에 서버를 두고 서버에서 수집하고 있습니다. 2. 사용자 프로그램 실행 화면 #20150919   - 2주일간 RSS 수집된 내역을 요일별로 볼 수 있습니다.( 날짜는 원하는…
Read More

[c#] 어셈블리 버전 정보 확인

프로그램
using System.Reflection; Assembly assemObj = Assembly.GetExecutingAssembly(); Version v = assemObj.GetName().Version; // 현재 실행되는 어셈블리..dll의 버전 가져오기 int majorV = v.Major; // 주버전 int minorV = v.Minor; // 부버전 int buildV = v.Build; // 빌드번호 int revisionV = v.Revision; // 수정번호
Read More

[PHP] CURL을 이용한 RSS 파서

프로그램
RSS 2.0, RSS 1.0, ATOM 을 대용하기 위해서 한개의 파일로 만들려고 노력을 하였지만 잘 되지 않았습니다. <?php class RssParser { var $Agent = "MyAgent"; var $CookieNM = "./cookie.txt"; var $debug = false; function RssParser() { } function RssGet ($RssURL, $RssParam='') { $this->URL = $RssURL; $this->Param = $RssParam; $this->GetHeader(); $this->RssGetAccess(); $this->RssXMLLoad(); // xml 중 테이터가 있을 경우에만 결과값을 돌려줌 if(empty($this->xml->channel->title) == false) { return $this->MyParser(); } } function RssPost ($RssURL, $RssData) { $this->URL = $RssURL; $this->Data = $RssData; $this->ContentLength = strlen($this->Data); } function GetHeader() { //"GET ".$this->Param." HTTP/1.1", $this->Headers = array( "Content-type: application/xml;charset=\"utf-8\"", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language: ko-kr,ko;q=0.8,en-us;q=0.5,en;q=0.3", "Accept-Encoding: ", "Accept-Charset: EUC-KR,utf-8;q=0.7,*;q=0.7", "Keep-Alive: 300", "Connection: keep-alive", "" ); } /** * 실제 데이터 얻어 오는 부분 **/ function RssGetAccess() { $ch = curl_init(); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); curl_setopt($ch, CURLOPT_URL, $this->URL); curl_setopt($ch, CURLOPT_HTTPHEADER, $this->Headers);…
Read More

[PHP] 한글 포함 여부 체크

프로그램
function includeHangul($str) { $cnt = strlen($str); for($i=0; $i<$cnt; $i++) { $char = ord($str[$i]); if($char >= 0xa1 && $char <= 0xfe) { return true; } } return false; } 위 코드를 실행 시키면은 다음과 같은 결과를 얻을수 있습니다. echo includeHangule('ㄴㄴㄴㄴㄴ_ㄴㄴ-zzzz'); // result : true / 1 echo includeHangule('abcdedczzdda'); // result : false / 0
Read More

[JavaScript] 구글 지도 이용하기

JavaScript
구글 지도 이용하기 먼저 자바스크립트를 로드합니다. 구글에서 가져오는게 가장 최신으로 가져 온다고 판단이 되기에 구글에서 자바스크립트를 로드 합니다. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 내용을 가지고와서 로컬에 가져도 되지만은 링크하는게 좋을듯 합니다. 세계 최강의 검색업체인 구글인데 오류가 가장 적을듯 합니다. <script> //구글맵 v3 function initialize() { var geocoder = new google.maps.Geocoder(); var addr="정식 주소"; var lat=""; var lng=""; geocoder.geocode({'address':addr}, function(results, status){ if(results!=""){ var location=results[0].geometry.location; lat=location.lat(); lng=location.lng(); var latlng = new google.maps.LatLng(lat , lng); var myOptions = { zoom: 16, center: latlng, mapTypeControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); marker = new google.maps.Marker({ map:map, position: latlng }); } else $("#map_canvas").html("위도와 경도를 찾을 수 없습니다."); } ) } </script> 이렇게 하고 원하는 곳에 ID 값을 주면은 바로 로드 할 수 있을 것입니다.
Read More

[Windows] Windows Route 등록

Windows
Windows Route 등록 # 라우터 보기 netstat -nr 등록전에 metric 번호는 꼭 확인 하셔야 합니다 # 라우터 등록 route ADD 222.122.231.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p route ADD 121.156.109.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p route ADD 211.44.254.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p route ADD 101.79.245.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p route ADD 1.255.53.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p route ADD 121.125.52.0 MASK 255.255.255.0 192.168.0.1METRIC 1 IF 12 -p # 지울때는 등록된 네트워크 주소를 적으면 됨 route delete 121.125.52.0
Read More