metaclass는 일반적인 파이썬 사용에는 필요없는 조금은 깊이 들어가는 내용이지만, OOP적 접근을 위해 알 필요가 있어보인다. stackoverflow에 달린 설명 참조. 파이썬에서는 모든게 object이다. 클래스도 object로 생성이 되고 instance화 시킬 때, 이 object가 복사되면서 __init__ 루틴을 타게된다. 일반적인 인스턴스에 대해 어떤 클래스로부터 왔는지 알아보는 함수에 type()을 쓸 수 있는데, 그렇다면 클래스는 어떤 타입일까? 인스턴스 x의 type은 Foo인데,…
[카테고리:] 기타
메인 카테고리 소속되지 않는 개발 관련 팁
Android Stuido와 IntelliJ C drive 공간확보
윈도우즈가 올라간 C드라이브는 80기가짜리 작은 ssd를 쓰고 있는데, 프로그램을 아무리 다른 드라이브에 설치해도 이놈들이 자꾸만 C 드라이브 특히 user directory를 사용하고 있는거다. C:\user\username 디렉토리 위치를 다른 드라이브로 바꾸면 원천적인 해결이 되겠지만, 윈도우즈는 내문서, 사진, 음악, 비디오 다운로드같은 기본 디렉토리만 변경 가능하도록 지원하고 있다. 유저폴더안에 ‘.’으로 시작하는 숨김폴더가 얼마나 많고 크기가 큰데! 해당 폴더가 맥이나 리눅스의…
나의 맥을 완성시키는 패키지 매니저, Homebrew
본 글은 이전 블로그에 썼던 것으로, 개발 블로그에 적합하다 생각하여 그대로 옮겨왔습니다. 참고 사이트 : http://matthewcarriere.com/2013/08/05/how-to-install-and-use-homebrew/ 리눅스에 익숙한 분들이라면 패키지 관리자에 익숙할 겁니다. 레드햇이라면 rpm, 데비안이라면 deb이 있죠. 윈도우즈라면 제어판의 프로그램 관리자를 생각하면 되겠네요. 모두 프로그램의 설치, 업데이트, 삭제를 통합관리 해주는 편의성을 제공해줍니다. 맥을 사용하는 개발자라면, 콘솔을 자주이용하고 마치 리눅스를 다루듯 사용하고 계실 겁니다. 이 때…
code highlighter 플러그인 테스트
잘 보이나? 이거저거 시도해봤는데, 다 실패하고 결국 crayon 설치했다. class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { // process incoming messages here } }; Looper.loop(); } }