파일 입출력때 스마트 포인터같이 작동하겠거니 추측하며 Context Manager인 with-as 구문을 사용해 왔다. 그런데 이게 네트워크 커넥션에도 사용되는걸 보고 정확한 동작을 알고 싶어서 그 배후의 동작을 real python을 통해 공부했다. 동작 자체는 예상한 것과 크게 다르지 않지만, 정확히 어떤건지 적어본다. 일단 사용방법은 파일 입출력의 예를 들면 Context Manager를 안쓸 때 다음과 같이 익숙한 코드형태지만, Context Manger를…
[월:] 2020년 03월
.gitignore for IntelliJ
코틀린 미니 계산기 프로젝트를 github에 업로드 했는데, 다시 받아보니 IntelliJ에서 빌드가 안되는거다. 아… JVM의존성도 있고, 빌드 설정이 git에 전혀 반영되지 않아서 intelliJ 설정들도 올렸다. 그런데, 이게 애매하단 말이지. IntelliJ가 생성해준 “.idea”폴더와 “projectname.iml” 파일을 올렸는데, 이걸 version control system으로 관리하는게 맞는걸까? 빌드 세팅은 분명 필요하긴한데 흠. 찾아보니, ItelliJ 제작사의 가이드가 있다. https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems 요약하자면 필요한 파일만 골라서…
Python sql basic sample source
너무 오랫만에 SQL 사용하려니 하나도 기억이 나질 않았다. 안드로이드나 싱글 어플리케이션에서 많이 쓰이는 sqlite3와 mySQL 호환 DB인 mariaDB를 설치해서 가장 간단한 동작들을 테스트해 봤다. 테이블 생성, 레코드 추가(INSERT), 읽기(SELECT), 수정(UPDATE), 삭제(DELETE). 간단한 구문들은 sqlite3와 mySQL 구분없이 사용할 줄 알았는데, 미묘하게 달라 살짝 당황했다. 예로 sqlite3에서 AUTOINCREMENT 가 mySQL에선 AUTO_INCREMENT로 쓰고, PRIMARY KEY도 sqlite3는 항목에 명시해…
Pyside2 : *.ui -> *.py 변환시 오류
공식 문서를 보고 Pyside2-uic.exe .\mainwindow.ui > mainwindow.py 와 같이 변환을 했더니, 파일 앞에 null char가 붙어서 나온다. PyCharm으로 실행하면 다음과 같은 에러가 뜸. source code string cannot contain null bytes… 검색해본 결과, py 파일이 FF FE로 시작하고 있으며 이건 UTF파일 포맷을 표시하는 방식이다. 근데 인식을 못하는거네? ㅋ UTF 파일 포맷 BOM( Byte Order Mark) :…
venv on PyCharm
PyCharm을 이용한다면, 어제 쓴 venv글처럼 복잡한 작업이 필요없는거 같다. 프로젝트 새로 만들 때, 선택해주면 자동으로 생성해주는듯. 선택사항을 보면, Pipenv, Conda도 지원한다. Virtualenv로 되어 있어서 옛날 virtualenv만 지원하는거 아니냐, venv는 어디갔냐 생각할 수 있는데, Python 버전에 맞춰서 알아서 venv를 쓸지, virtualenv를 쓸지 적용된다고 하니 걱정할 필요는 없다. 다음 문서를 참고. PyCharm 2019.3 : Configure Virtual environmenthttps://www.jetbrains.com/help/pycharm/creating-virtual-environment.html…