ipstack API – IP 위치 정보 조회 https://ipstack.com/ 에 접속하면 ip 주소로 위치 정보 검색을 해볼 수가 있는데 이걸 API로 제공한다. 월 1만회 조회는 무료로 사용할 수 있고 그 이상을 원하면 전문가, 기업용 플랜을 신청해야한다. API API 사용방법은 https://ipstack.com/documentation 페이지에 나와있는데 기본적인 사용법은 아래와 같다. URL http://api.ipstack.com/134.201.250.155?access_key=YOUR_ACCESS_KEY Response { “ip”: “134.201.250.155”, “hostname”: “134.201.250.155”, “type”: “ipv4”, […]
[Python] Kakao API – 주소 좌표 변환하기
Kakao API – 주소 좌표 변환하기 Daum 지도 검색에 사용되는 주소 정보로 위도 경도 좌표 값을 받아낼 수 있다. 상세 개발가이드는 아래 페이지에서 확인 가능. https://developers.kakao.com/docs/restapi/local 카카오 계정으로 로그인 해서 API를 발급받아야 한다. Python Sample Python requests를 이용한 REST API 응답으로, 요청한 주소에 대응되는 좌표 값을 받아올 수 있다. def getLatLng(addr): url = ‘https://dapi.kakao.com/v2/local/search/address.json?query=’+addr headers […]
[network] freenom에서 무료 도메인 이용하기
Freenom에서 무료 도메인 이용하기 Freenom 에서 .ga, .ml, .tk, .gq, .cf 로 끝나는 최상위 도메인을 무료로 이용할 수 있다. http://freenom.org/ 에 접속해서 먼저 회원가입을 하고, [Services] > [Register a New Domain] 으로 이동해서 도메인 명을 검색한다. 아래와 같이 사용 가능한 도메인 리스트를 보여주는데 [Get it now!] 버튼을 눌러서 장바구니에 담아놓는다. Get one of these domains. […]
[Kafka] External Listener 설정
Kafka External Listener 설정 브로커가 기동될 때 InetAddress.getLocalHost.getHostAddress 가 사용됨. 클라이언트가 외부 환경에 있어서 브로커 접속이 불가능 한 경우 advertise.host.name 값 설정으로 해결할 수 있다. advertised.host.name=$EXT_HOSTNAME listener.security.protocol.map=EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://0.0.0.0:9093 advertised.listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://$EXT_HOSTNAME:9093 inter.broker.listener.name=INTERNAL
[Kafka] Python Consumer sample
#!/app/python/bin/python from kafka import KafkaConsumer consumer = KafkaConsumer(‘test’,bootstrap_servers=[‘$HOSTNAME:9093’]) for message in consumer: print (“%s:%d:%d: key=%s value=%s” % (message.topic, message.partition, message.offset, message.key, message.value))
[Kafka] Python Producer sample
#!/app/python/bin/python from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProducer(bootstrap_servers=[‘node1.qrm:9092′,’node2.qrm:9092′,’node3.qrm:9092’]) producer.send(‘accesslog_wp-bigdata’,str.encode(‘this is test’))
[Python] Flask – wsgi를 이용한 Apache httpd 연동
wsgi를 이용한 Apache httpd 연동 wsgi를 이용해서 apache httpd 웹서버가 flask application 을 서비스할 수 있다. python 프로세스 단위로 실행시킬 수도 있지만, ssl 보안 연결이나 가상 호스트 사용 등 httpd 에 얹어서 쓰면 관리 차원에서 httpd 에 얹어 쓰는게 좋을 듯 하다. 패키지 설치 크게 버전을 타지 않는 라이브러리들은 yum 을 이용해서 설치 하고, apache […]
[Web] MathJax – 웹페이지에 수식입력하기
MathJax – 웹페이지에 수식입력하기 MathJax 를 이용하면 간단한 설정만으로 웹페이지에 수학 수식을 표현할 수 있다. MathJax Beautiful math in all browsers. A JavaScript display engine for mathematics that works in all browsers. No more setup for readers. It just works. https://www.mathjax.org/ Setup 수식을 사용하고자 하는 웹페이지 <head> 태그에 다음과 같은 javascript를 입력한다. <!– mathjax –> […]
[Python] Folium – 지리정보 시각화
Folium Folium은 Leaflet.js를 이용하여 위치 좌표계 값을 지도 위에 시각화할 수 있다. Map 먼저 Map 클래스를 로드해서 범위를 지정해준다. location 속성으로 주시하고자 하는 지도의 정중앙 좌표를 설정하고, zoom_start 속성으로 배율을 설정한다. 보고자 하는 위치의 좌표계 값을 얻어내는 가장 단순한 방법은 Google 지도를 이용하는 방법이다. 아래와 같이 구글 지도에서 검색을 하면 상단 주소창에 해당 위치의 대략적인 […]
[Python] Flask – 웹페이지 만들기
python flask – 웹 페이지 만들기 render_template 를 이용해서 웹페이지를 생성해낼 수 있다. python flask – 초간단 WEB API/함수 포스팅에 이어서 해당 결과를 웹페이지로 표현한다. 앞선 포스트에서는 다음과 같이 lotto 당첨 결과를 json 형태로 반환해주었다. 위와 같이 함수 결과를 http로 리턴받을 수 있었는데 여기에 적절한 템플릿과 스타일만 더해주면 웹페이지를 생성해낼 수 있다. main.py 아래와 같이 […]