반응형

Programming/Python 4

Streamlit SessionState

이전에 업무에 도움이 되는 간단한 도구를 만들기 위해 R의 Shiny프로젝트를 이용한 적이 있었는데, 분석가분의 R 코드를 재활용하면서 클라이언트 쪽 코드를 개발 안해도 되니 어느 정도 도구의 윤곽이 잡히기 전까지는 유용하게 사용했었던 좋은 기억이 있다. 그래서 이번에는 Streamlit이라는 python용 open source visualization 도구를 사용해 간단한 도구를 만드려고 해보고 있는데 생각보다 UI에 대한 조절 기능이 몇개 없는 것도 불편하지만 특히 reactive 하게 반응하는 UI 컴포넌트들을 다루는게 생각하고 다르게 되어 있어서 배보다 배꼽이 더 큰 상황에 도달했다. 예를 들어, 특정 조건의 데이터를 동적으로 가지고 와 selectbox를 만들고 이 selectbox의 선택을 가..

Programming/Python 2021.04.05

Python elasticsearch에서 custom header 추가하기

Kong Api gateway 뒤에 Elasticsearch를 설정하고 Kong의 key-auth plugin을 이용해서 간단하게 나만 사용할 수 있도록 설정해 사용하려고 했다. 그런데 Kong의 key-auth 플러그인을 사용하면 header나 body에 apikey를 인식할 수 있도록 설정한 key 값(기본: apikey)이 있어야 하는데 python elasticsearch에 해당 설정을 넘겨주는걸 어떻게 해야 할까? 찾다가 과거 github 글을 보고 더 찾아보니 이미 최신 버전(elasticsearch==7.12.0)에서는 custom header를 넘겨줄 수 있도록 구현되어 있었다. from elasticsearch import Elasticsearch es = Elasticsearch(["h..

Programming/Python 2021.03.25

python rocksdb 에서 column family 사용하기

* RocksDB (https://github.com/facebook/rocksdb) * PIP에 등록된 Python-RocksDB (https://github.com/twmht/python-rocksdb) * 예제 코드 (https://github.com/tkyoo/python-rocksdb-columnfamily-example) 현재 (2019년 2월 16일) 파일시스템 기반 KeyValue DB 중 LevelDB, RocksDB 의 차이점 중 하나는 column family 지원 여부이다. pip에 올라와 있는 python-rocksdb 에 방문해서 얻을 수 있는 문서 (https://python-rocksdb.readthedocs.io) 는 이전 버전이라 column family 기능이 컨버팅 되..

Programming/Python 2019.02.16

Embed Python in java (jep) 환경 설정

Embed Python in Java (jep) jep는 간략하게 설명하면 java로 python interpreter를 구현하여 C / C++ 기반의 library와는 호환이 어려웠던 jython과는 다르게, JNI를 통해 CPython을 호출함으로써 C / C++ 기반의 python library도 java 상에서 실행이 가능한 프로젝트이다. Getting-Started 를 따라서 설치를 진행하다보면, 별도의 python library 사용 없는 간단한 python 코드의 경우 쉽게 실행 가능하다 Main.java:import jep.Jep; public class Main { public static void main(String[] args) throws Exception{ try(Jep jep ..

Programming/Python 2017.04.05
반응형