얼마전에 첫 파이썬 오픈소스로 Rx 기반 속성 라이브러리 만들었는데, 그거 기반으로 UI 툴킷 프로젝트 시작했다.
워낙 듣보 엔진이라 자체 UI 지원도 없고 제대로 된 오픈소스도 없어서 하나 만들기로 했음.
시작한지 얼마 안되서 아직 기능 별로 없는데 주말 동안 마우스 이벤트 처리는 대충 돌아가는 수준으로 완성했다.
https://github.com/mysticfall/alleycat-ui/blob/master/alleycat/ui/mouse.py
사실 이 이야기 하고 싶어서 쓴 글은 아니고... 저 코드에 "lambda" 몇 번 나오는 지 한 번 세봐라 -ㅅ-
진짜 파이썬 람다는 더러움의 수준이 뭔가 규격 밖인 듯... 타입 지원 안되고, deconstruction은 있다가 없어지고, 관련 API도 대부분 체이닝 안되고...
람다 쓰려면 그 때 마다 "lambda"라고 쓰라고 정한 인간은 도대체 뭔 생각으로 그런 만행을 저질렀는지 모르겠다.
짜증나서 방금 해본 거... 참고로 저 디렉터리에 소스 22개 밖에 없음;
$ find alleycat -name *.py -exec cat "{}" ; | sed "s/ /
/g" | grep "lambda" | wc -l
53
여튼 주말에 좀 달려서 마우스 기능 만들어서 뿌듯하긴 한데 람다 꼴 보니 진짜 파이썬은 오래 쓰고 싶은 생각이 안든다.
여담이지만 어제 '우연히' 타입 인자 두 개를 바꿔 쓴 걸 발견했음, 그러니까 MyClass[A, B]라고 해야하는 걸 MyClass[B, A]라고 했는데, 실행도 잘되고 MyPy도 못 잡더라... 강타입 익숙한 입장에선 진짜 쓸 게 못되는 듯.
이런 에디터 류의 앱 만들때 제일 고민되는게 데이터 파일을 어떻게 정의할까 던데 - dc App
에디터는 아니고 게임 UI 구성하는 위젯 라이브러리다. 그러니까. 게임 엔진을 쓰는 데 "버튼" 같은 개념 자체가 없는 상황이라 그거 해결하려고 하는 거.
블렌더 게임 엔진 죽은 줄 알았는데 살아있었네
재밋겠네.. 나 해킨토시에 꼿혀서 보유중인 서피스에 온갖지랄하면서 쪽잠자고 3일째다.. 맥 버젼 웬갖거 전부 다운받아서 찾아서 설치해보는데 설치가 되면 VGA가 안되고 VGA된다는 버전 찾으면 부팅이 안되고.. ㅅㅂ.. 진짜 오랜만에 누굴 때리고 싶은 욕망이 치솟는다.. 그냥 맥 사면 편한데.. 이젠 뭔가 맥사면 내가 지는거 같아서 그러지 못하겠고.. 병이다...
스샷점
덧글에 스샷 못 올리지 않나? 근데 어차피 내부 구조 만드는 중이라 보여지는 건 딸랑 창에 패널 붙여놓고 마우스 테스트 하는 거 밖에 없다 -ㅅ-
글에다 올려달란 소린데
근데 마우스 이벤트까지 마무리하고 남은 주말에 게임이나 할랬더니 갑자기 설계 꼬인게 보이기 시작... 뭔가 엎어야 할 거 같은데 담주에 할까 -ㅅ-