C++을 처음 접할 때가 생각난다. 캡슐화, 상속, 다형성만 알면 OOP에 대해 될거 같았다. 아니었다. 이것들을 이용해서 어떻게 ‘잘’ 디자인할지를 훈련해야 했는데 못했다. 오랜기간 회사에서 개발자로 지냈지만, 그 때 못한 훈련이 계속 내 발목을 잡았고, 후회가 되었다. 그래서 뒤늦게 나마 디자인 패턴을 공부중이다. 나이를 먹어서인지, 경험적인 내용들은 머리에 들어오는데, 이론적인 얘기들은 더 읽기
레퍼런스용 정리
자주 참조하게 되는 스크립트 언어 특징이나, 정규표현식등 정리해놓는 항목.
Python: sqlite3.connect()에 대해
Python을 쓰면서 가장 불만인점이 애매한 문서화 부분이다. Dynamic type언어다 보니, 리턴값이 무엇인지 알기가 힘들고, 예제들엔 실패시 리턴값이나 예외처리에 대해 언급이 없는경우를 자주 접한다. 학습하는 수준에서는 별 문제가 없는데, 실무 수준의 완성도에선 실패나 예외처리를 명확하게 하지 않는건 말이 안되거든. 고작 sqlite3에 connect() 하는 단계에서 여러가지를 겪어서 기록해본다. 일단, 제대로된 문서가 아니면 더 읽기
Python: Enable unittest on VS Code
VS Code는 쓸수록 맘에 드는 코드 편집기다. 가볍고, 플러그인으로 확장성도 좋고, 문서화도 잘되어 있다. python 사용시, 기본적으로 unittest가 활성화 되어 있지 않은데, 공식문서를 참조 하여 설정하였다. Nose, 나 PyTest도 있는데, 나는 기본 unittest 모듈을 쓰므로 별다른 추가작업없이 설정변경으로 가능하다. Ctrl+Shift+P로 커맨드 팔레트를 띄우고 settings 실행 Python 확장이 설치되어 있다는 가정하에, 더 읽기
Tools : MSYS2 Terminal on VS Code and PyCham
리눅스나 맥에서 터미널로 제공되는 쉘은 엄청난 편의성을 제공해준다. 윈도우즈 유저로 가장 부러운 부분. git을 직접 다운받아 설치하면 git bash가 깔리는데 요게 꽤 쏠쏠했기에 더 찾아봤다. 일단, MS가 공식적으로 지원하는걸로 WSL(Windows Subsystem for Linux)가 있다. 리눅스 터미널 쉘을 가장 근접해서 느낄 수 있고, 공식지원이라 좋지만, exe를 실행하려면 확장자까지 써줘야하고 환경변수 공유등 더 읽기
Design pattern: Singleton
singleton 패턴은 인스턴스가 단 하나만 존재해야할 때 사용한다. 관련예는 쉽게 찾아볼 수 있다. preference를 다루는 경우 그 자체가 global 성격을 가지기 때문에 쓸 수 있다. 게임개발에선 audio manager같은경우, 오디오 입출력을 단일화 하기위해 사용한다. 모바일기기의 HW 제어같은 경우 물리적으로 하나만 존재하기 때문에, singleton사용이 이상적이다. 사용방법은 좀 다르지만 안드로이드 공용자원인 시스템 서비스들 더 읽기