Author: byun1114

  • psycopg2 – DB 연결 및 INSERT 쿼리 보내기

    내가 필요한 부분은 psycopg2 로 해결이 가능할 것 같아서 확인해 보기로 했다.

    Python과 PostgreSQL을 연결하는 패키지는 여러가지가 있다고 하지만, 가장 최근까지 지원이 되고 있는 psycopg2 (https://pypi.org/project/psycopg2/)를 이용하는 것이 일반적이다고 한다.

    PIP를 통해서 설치한다.

    > pip3 install psycopg2

    R에서와 비슷한 포맷으로 DB를 연결하면 된다.

    >>> db=psycopg2.connect(host='ADDRESS', dbname='DBNAME', user='postgres', password='password', port=5432)

    PostgreSQL은 auto-commit=on 이지만, psycopg2 의 경우 이 설정이 적용이 되지 않는다. 내가 구현해야 할 부분에서는 auto-commit이 더 편하므로 auto-commit을 적용하도록 한다.

    >>> db.autocommit=True

    psycopg2에서는 cursor라는 개념이 있고, cursor를 이용하여 SQL쿼리를 수행한다고 보면 되는 것 같다. Python에서는 문자와 숫자가 구별되어 있으나 psycopg2에서는 아니다. 숫자를 입력하고 싶어도 %s를 이용한다.

    db.cursor().execute("INSERT INTO TABLE (col1 , col2) values (%s,  CURRENT_TIMESTAMP)", [110])
  • USB 메모리 마운트

    왠만한 GUI 가 지원되는 Linux에서는 USB가 자동으로 마운트된다. 안되는 경우에는 직접 마운트시키면 된다. 보통 USB 메모리는 exFAT으로 포맷되어 있는 경우가 많이 있다. exFAT을 리눅스에서 사용하기 위해서는 exfat-fuse, exfat-utils를 설치한다. 그 이후에 마운트하면 된다.

  • anonymize-slide

    이 파이썬 코드를 기록한 줄 알았는데, 아닌 것 같아서 기록해 둔다.

    병리 슬라이드를 스캔하면 대부분의 프로그램에서는 라벨 이미지를 생성한다. 보통 손으로 잡는 부위의 슬라이드 부분을 사진으로 찍는 것이다. 라벨 이미지에는 병리 번호, 병원 이름, 그리고 경우에 따라서는 환자이름까지 찍혀 있는 경우가 많다. 병원 내에서 진단이나 컨퍼런스 용도로만 사용한다면 문제가 되지 않지만, 연구용으로 이용하겠다고 한다면 문제가 생긴다. 바로 라벨 이미지는 그 자체로 충분한 식별력이 있는 개인정보를 포함하고 있기 때문이다.

    한국 라이카에 문의하면 Export 방법을 안내해주지만.. 이 방법은 시간도 많이 걸리고 수작업이다. 한 참을 검색한 끝에 다음의 코드를 발견했다. Python2 기반이다.

    https://github.com/bgilbert/anonymize-slide

  • 인생이 왜 짧은가, 세네카, 천병희 옮김

    인생의 짧음에 관하여, 마음의 평정에 관하여, 섭리에 관하여, 행복한 삶에 관하여에 대한 모음집이다.

    지난번 ‘화에 대하여’는 누구가 가지고 있는 화(anger)에 대한 이야기이기 때문에 공감가는 부분이 많았던 것 같다. 그에 비하여 이번 책은 좀 뜬구름 잡는 이야기 같다.

    나중에 마음의 여유가 있을 때 한 번 더 봐야지 이 책의 가치를 올바르게 이해할 수 있을 것 같다.