libcurl C-Style CURLOPT_WRITEFUNCTION callback -> Lambda(C++11)

  libcurl은 기본적으로 C언어의 라이브러리이기 때문에 CURLOPT_WRITEFUNCTION를 인자로 설정했을 시  ‘콜백’ 함수를 넘긴다. 잠시만! 여기서 우선 콜백이란? 피호출자가 호출자를 호출하는 것 주로 콜백은 WIN32 API 코딩을 하다보면 많이 사용하게 된다. 시스템 관련 함수를 사용하면 내가 직접 운영체제에서 얻는것이 아닌 운영체제에서 제공된 인터페이스를 통해 답을 받는 식이므로.. 그래서 우리에게 익숙한 Asynchronous I/O에서는 요청자가 처리자의 처리가 다 끝날

Continue reading libcurl C-Style CURLOPT_WRITEFUNCTION callback -> Lambda(C++11)

libcurl + libxml2로 C++에서 네이버 영어사전 크롤러 구현

HTMLCrawler 클래스로 구현했습니다. Ubuntu16.04에서 clang++로 테스트 해 정상 작동 확인하였습니다. constructor : url 받음 getHTML(): html 받음 – 추후 기능 추가 write() : html 파일 씀 parse_all(bool isFile, bool printText, const::std::string sourceHTML, const std::string Parsetag) isFile이 true면 sourceHTML에 파일 이름을, false면 버퍼의 이름을 입력하고, printText가 false일 시에는 태그를 포함한(ex. <p class=~~ “hi</p>), false일 시에는 text만

Continue reading libcurl + libxml2로 C++에서 네이버 영어사전 크롤러 구현

bs4를 이용한 네이버 영어사전 크롤링하기

잘 쓰고 있는 크롬 익스텐션인 네이버 영어사전이 요즘 말썽이여서 걍 파이썬으로 하나 만들어보긴 했다. 그냥 이건 단순 크롤러고 여기에 뭐 붙이면 되는데..  casablanca에 붙일 예정이라 C++써서 다시 libcurl + libxml2로 다시 구현할 예정이다 ㅎ 솔직히 쉬운데 ..태그 구조를 파악해야해서 좀 귀찮다. 그래서 내가 해놨으니 갖다만 쓰면 된다!

모바일 페이지에서 파싱하는게 좀 시원시원하고 쉽다. 다음은 결과

Continue reading bs4를 이용한 네이버 영어사전 크롤링하기

Python3의 matplotlib,pysnmp를 사용해 그래프 그리기

요즘 파이썬에 관심을 갖고 공부를 하던 중 만들어 볼만한 프로그램이 없을까 생각하여 만들게 된 프로그램이다. 프로토타입 버전이고, 나의 코딩 스킬이 상상을 초월하는 쓰레기기 때문에 내가 생각해도 이건 좀 조잡하다.. 하는 부분이 있다. 우선 우분투 서버에서 snmp를 설치해보자. 설정은 다음을 참고하였다: https://www.mynotes.kr/ubuntu-snmp/ apt-get install snmpd snmp rrdtool /etc/snmp/snmpd.conf 파일을 백업하고

서비스 재시작

Continue reading Python3의 matplotlib,pysnmp를 사용해 그래프 그리기

CPU load average 퍼센트로 구하기

grep ‘cpu ‘ /proc/stat | awk ‘{usage=($2+$4)*100/($2+$4+$5)} END {print usage “%”}’ system + user + idle = 100%. So maybe something like: grep ‘cpu ‘ /proc/stat | awk ‘{cpu_usage=($2+$4)*100/($2+$4+$5)} END {print cpu_usage “%”}’ 차래대로 다음 옵션들의 cpu 사용량의 누적 값입니다. user    nice    system    idle      iowait    irq    softirq    steal    guest 즉 총 사용량 = user + system

Continue reading CPU load average 퍼센트로 구하기

Python SNMP simpe example to get 1 OID, OID 대충 정리

우분투에서 snmp-agent 설치:https://www.mynotes.kr/ubuntu-snmp/  

CPU Statistics Load 1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1 5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2 15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3 CPU percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0 raw user cpu time: .1.3.6.1.4.1.2021.11.50.0 percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0 raw system cpu time: .1.3.6.1.4.1.2021.11.52.0 percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0 raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0 raw

Continue reading Python SNMP simpe example to get 1 OID, OID 대충 정리

NAT64와 DNS64, tayga 패키지 알아보기

  IPv6 변환 매커니즘 중 마지막으로 알아보려고 하는 NAT64다. DNS64와 유사한 부분이 있으니 묶어서 같이 알아보도록 하자. 이번 글도 역시 영문판 위키백과를 참고했지만 평소 과제를 풀며 에버노트에 정리해놓은 것을 위주로 작성하였다. NAT64는 앞서 설명했던 다른 변환기술보다 간단한 방법으로  IPv6 호스트와 IPv4 호스트 사이에 NAT를 하는 방법이다. 대부분의 경우 NAT 게이트웨이는 IPv6와  IPv4 모두 갖고 있다. 보통

Continue reading NAT64와 DNS64, tayga 패키지 알아보기