올해 내내 일에만 파묻혀 살다가 오랜만에 개인 프로젝트를 했다. 맥에서 쓸 GUI 만들려니 역시 Swing만큼 익숙한 게 없어서 오억 년 만에 자바를 쓰는데, J2SE에 있는 클래스나 메서드는 다 기억나서 편했지만 Java라는 언어 자체를 도저히 못 참겠어서 Kotlin으로 작업했다. 레이아웃 매니저는 MigLayout을 썼고, 맥 앱 패키징은 JDK 15에 번들된 jpackage를 썼는데 훌륭했다.
UI 디자인을 직접 할 일이 가끔 있어서 학습을 위해 잘 정리된 앱 UI를 틈날 때마다 봐서 감각을 올리곤 한다. 그러기 위해 ui8.net 같은 곳에서 제공하는 UI Kit들을 레퍼런스로 쓰는데, PSD로 열면 메모리 19G 먹으며 별나라로 가버리기 때문에 파이썬 psd-tools를 써서 그룹 레이어별로 정리하는 스크립트를 만들었다. psd-tools는 성능이 느린 것을 빼고 생각보다 아주 잘 동작했다. 하지만 Text 요소들의 폰트 정보들을 제대로 가져오지 못하는 문제가 있었다.
Sketch 소스는 zip을 풀고 나면 다 JSON으로 보관되어 있어 편해 보였지만, 정말 모든 게 다 JSON으로 있어서 렌더러를 만들 엄두가 안 나서 제외했다.
Adobe XD는 스케치처럼 zip에 JSON 형식인데 폴더나 JSON 구조가 훨씬 더 깔끔했다. 하지만 역시 렌더러 만들기는 엄두가 안 나서 좋은 방법이 없을까.. 고민하다 Adobe XD 플러그인을 살펴봤다. SDK가 JavaScript고 생각보다 API 설계가 잘 되어 있어서 XD 플러그인 만들기로 방향을 바꿨다. XD 플러그인 SDK의 핵심은 require('scenegraph')인데 문서가 있긴 했지만 코딩 중에 문서 왔다 갔다 하는 건 못 참아서.. 원본 코드를 찾아보려고 Adobe XD 바이너리를 뒤져봤는데 결론은 JS 인터페이스로 노출했을 뿐이고 139MB짜리 바이너리 속에 꼭꼭 숨어있었다. 깔끔히 포기하고 문서 보고 플러그인 만들기로 했다.
개인 프로젝트를 할 때마다 마주하는 문제다. 적당한 선에서 끊을 수가 없다. 인위적으로 자원을 제한하지 않으면 결국 이 프로젝트도 영영 끝나지 않을 것이다.
Continue Reading
Discover more thoughts and insights
11월 12일
어제는 11월 11일. 빼빼로데이 였습니다. 사람을 만날 정신이 없던 하루였기 때문에 물리적인 빼빼로를 전달하는 일은 없었고 SMS 상용구를 통한 빼빼로 전달만이 있었습니다. 사회가 만들어놓은, 실제로 SMS를
공일오비 - 모르는게 많았어요 악보 견적받다
내가 애용하는 악보 사이트인 악보바다에 주문제작 견적을 넣었다. 견적을 넣은 곡은 공일오비 최근 앨범인 Lucky 7의 '모르는 게 많았어요'. 공일오비 7집 앨범에서 유일하게 맘에 들었던 '모르는 게
외우자 외워
우리가 세포들로 이루어진 인간일 뿐이라는 것을 종종 잊곤 한다. 그래서 모든 것을 태도의 문제로 귀결시키던 습관을 잠시 버리고 과학적인 접근법을 시도해보기로 했다. 물론 아무리 좋은 기술을 써도 튼튼한 태도가