Author: byun1114

  • 싯다르타, 헤르만 헤세, 민음사

    어떻게 서양 사람이 이렇게 불교 색채가 아주 물씬 풍겨나는 글을 쓸 수 있을지 이해가 가지 않을 정도이다.

    우리가 아는 석가모니(고타마 싯다르타)는 작중에서 ‘고타마’로 나온다.

    작 중 중요한 역할을 담당하는 바주데바는 인도 신화의 신의 이름으로 보인다. 작중에서의 역할을 보면 싯다르타에게 가르침을 주기 위하여 온 신과 같은 존재라고 해도 괜찮을 정도이다.

    싯다르타의 친구의 ‘고빈다’는 어떤 존재에 대비하였는지는 잘 모르겠다.

    이 책은 꼭 읽어봐야 한다. 말로는 전달할 수 없는 감동을 느낄 수 있다.

  • R에서 PostgreSQL로 INSERT 하기

    사실 이 내용은 별도의 포스트를 개설할 필요는 없을 것 같기도 하지만, 명령어가 직관적이지 않기 때문에 작성하는 것이다. 나중에 깜빡할 수도 있을 것 같다.

    보통 R에서는 DB에 SQL로 질의한 결과를 받아와서 분석을 하는 것이 일반적이다. 그렇기 때문에 이럴 경우에는 dbGetQuery()를 이용한다.

    그렇다면, INSERT 와 같이 DB를 수정하는 쿼리를 실행하여야 하는 경우라면 어떻게 해야할까?

    dbSendQuery() 명령어가 있지 않을까 싶은 생각이 들것이다. 물론 해당 명령어는 있지만, 이건 정말로 Query를 보낸다라는 의미이다. Commit 하기 전과 같은 형태인 것 같다.

    원하는 목적을 위해서는 dbGetQuery() 실행할 때에 INSERT 쿼리를 실행하도록 구문을 작성하면 된다.

    > sql=paste0("INSERT INTO TABLE (columns) VALUES (values)
    > dbGetQuery(con, sql)
  • 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를 설치한다. 그 이후에 마운트하면 된다.