목록프로그래밍 (299)
Dharma
최근에 다시 clojurescript 를 이용해서 작업할 일이 생겼습니다. javascript 는 편리하긴 하지만 구현하는데 재미가 없다는 심각한 결점이 있기 때문입니다. 게다가 최근 lein-figwheel 이라는 편리한 툴이 나와서 정말 편하게 작업을 할 수가 있습니다. 다만 lein figwheel 을 하면 불편하게도 console 에서 작업을 해야 하기 때문에 emacs 의 편리한 기능을 못써서 안타깝습니다. 따라서 nRepl 을 이용해서 편리하게 작업하는 방법을 소개시켜드릴까 합니다. CIDER 와 clojure-mode 를 설치해야 한다. package-install 명령을 이용하면 쉽게 설치가 가능하다. leiningen plugins 를 설정해야 한다. ~.lein/profiles.clj ..
저는 습관처럼 gradle 을 command line 에서 사용합니다. 다만 최근 무지하게 느려진 느낌입니다. 자성의 움직임이 있었는지 최근 gradle 도 daemon 모드를 말하는 군요. 세팅은 무지하게 쉽습니다. touch ~/.gradle/gradle.properties && echo "org.gradle.daemon=true" >> ~/.gradle/gradle.properties 이렇게만 하면 비약적으로 빌드 속도가 올라간다는데 저는 사실 잘 모르겠습니다. -ㅅ- Android Studio 도 빨라지는지는 테스트 해봐야 할 듯합니다.
세월이 흘러감에 따라서 변하지 않는 것이 없거늘 어찌 Emacs 가 변하지 않으리라 생각했던가.. 말 그대로 입니다. 세월이 흘러 흘러 Emacs 가 24.x 대가 나오기 시작한지도 꽤 여러해가 지났습니다. 그런데 저는 과거의 설정파일을 그대로 사용하고 있었더군요. 문제 없이 사용하고 있었던 이유는 최근 쓰고 있던 OSX 가 버젼업이 되면서 한글 '나눔고딕'이 기본으로 포함되서 별 의도하지 않게 사용하고 있었습니다. 최근 Clojure 에 관한 Online 책을 보다가 그 저자가 설정한 Emacs 설정파일을 제꺼에 포함시키는 과정에서 기본 폰트 크기를 변경시키는 로직이 있는데 제가 처음 보는 함수를 쓰고 있더군요. 찾아보니 제가 기존 설정파일에서 쓰고 있었던 폰트 설정 방법은 사라졌더군요. 즉 예전의 폰..
https://www.gnu.org/software/emacs/manual/html_node/eintr/ 에 관련된 내용이 잘 정리되어 있습니다. 프로그램을 잘 모른다고 하는 사람을 대상으로 쓰여졌다고 하는데, 제 생각에는 '글쎄요' 입니다. 물론 이 걸 보고 고수가 된 비전공자가 존재한다는 것이 놀라울 따름입니다. 필리핀 인가 싱가폴에서 사는 처자인데 Emacs 의 org-mode 에 반해서 Emacs 를 배우고 Emacs Lisp 프로그래밍까지 잘하게 된 전설적인 케이스가 있습니다. 제대로 Emacs 를 쓰기 위해서는 한번 읽어볼 만은 하지만.. '글쎄요...' http://ergoemacs.org/emacs/elisp.html 차라리 실용적으로 배우실려면 위의 링크를 추천드립니다. 온갖 간단한 실용..
maven 을 쓰고 있다면 간단한 명령으로 바로 tomcat 에 바로 디플로이 해서 테스트 해볼 수 있습니다. mvn tomcat:run 만 하면 바로 실행할 수가 있습니다. 그런데 맘에 들지 않습니다. application root 때문입니다. http://localhost:8080/{war_name} 으로 실행이 되기 때문입니다. http://localhost:8080 으로 바꾸고 싶다면 간단하게 옵션을 줘서 바꿀 수가 있습니다. mvn tomcat:run -Dmaven.tomcat.path=/ 역시 간단하게 됩니다. 따로 옵션 주고 싶은 것도 추가해 주면 됩니다. mvn tomcat:run -Dspring.profiles.active=local -Dmaven.tomcat.path=/ 그런데 위와 같..
처음 스위프트 (Swift : 혹 수입푸드 라고 부르는 사람들도 있음 ㅋㅋ) 개념을 보았을 때, VM (Virtual Machine) 같은 개념으로 여겼습니다. '뭐 또 빠르게 개발은 될 지 모르겠으나 동작은 느린애가 되겠군' 라고 생각하며 안 보고 있다가. 최근에 보니 이게 컴파일러용 언어였더군요. 플레이그라운드(Playground) 개념은 잽싸게 컴파일 해서 그 결과를 보여줘서 interactive 하게 보일지 모르지만 실은 컴파일 언어였습니다. 개념이 재미 있는데다가 컴파일된 바이너리가 기존의 Object-C 언어로 만들어진 것보다 속도가 2.8 배가 빠르다는 것을 보고 관심이 가더군요. 그래서 언어 개요를 가볍게 살펴봤습니다. iOS 기기를 가지고 있으면 iBooks 에서 공짜로 프로그래밍 언어에..
안드로이드 개발하다 보면 별 문제는 없어보일지 모르지만 안드로이드가 네트워크 인터페이스를 여러개 가지기 때문에 발생하는 문제가 있습니다. 갤럭시 s3 의 경우에는 LTE, 3GS, WI-FI 등 세개의 인터페이스가 있습니다. 그런데 이런 인터페이스들이 사용을 안하면 비활성화 되어 있으면 사용하기 편할텐데 사용 안하더라도 활성화가 되어 있는 데다가 잘못된 (구동하지 않는) IP 주소를 가지고 있어서 문제가 됩니다. 무슨 문제가 있겠어? 라고 하지만 순수 자바 (Pure Java) 로 네트워크 레이어를 구현할 때, 만들어진 라이브러리를 안드로이드로 포팅시 발생하는 문제입니다. 이를 해결하기 위한 방법입니다. 인터넷에 연결이 되어 있고 (LTE,3GS,WI-FI 상관하지 않고) 접속되어 있는 상태에서의 가지고..
Emacs 를 mac 에서 사용하다 보면 몇가지 불편한게 있습니다. 대표적으로 ClipBoard 와 연동문제가 있습니다. 그러다가 Emacs for OSX 라는 것이 있더군요. https://github.com/railwaycat/emacs-mac-port 위 사이트에서 자세한 설명은 되어 있지만 언제 끝날지 모르는 프로젝트더군요. 설명은 저기서 참조하고 소스는 실제로 작업하는 일본 프로그래머의 사설 git 레파지토리에서 받아서 컴파일을 하면 됩니다. http://www.math.s.chiba-u.ac.jp/~mituharu/emacs-mac.git 이게 그 사설 git 레파지토리 입니다. 이걸 받으셔서 제가 예전에 올렸던 OSX 에서 컴파일해서 사용하기 를 참조해서 컴파일 하시면 됩니다. $ ./con..
게임을 만들어 보는 것은 컴퓨터 과학쪽에 공부하는 몇몇분들에게는 꼭 해보고 싶은 일일것입니다. 물론 저도 예외는 아니여서 학창시절에 이리 저리 궁리를 해가면서 게임을 만들어 본적이 있었습니다. 아 그리고 어떤 게임회사에서는 실제로 MMORPG 게임 서버를 실제로 만든적이 있습니다. 나중에 그 게임이 런칭 됐을 때 무척 기뻤습니다. 비록 그 회사를 나왔지만 말이죠. 최근에 다시 한번 게임을 만들고 싶어서 - 이런 욕망이 왜 정말 지옥같이 바쁠때 솟아 나는지 모르겠습니다만 - 여러가지 게임 엔진을 건드려 보았습니다. 1 Unity3D 유니티3D 는 아주 유명한 게임 엔진입니다. 실제로 2일에서 3일만 노력해도 게임을 만들 수 있는 툴로 아주 유명합니다. 그래서 저도 과연 그러한가? 싶어서 한번 설치를 해봤습..
안드로이드 어플리케이션 개발시 strings.xml 에 html tag 를 삽입할려고 하다 보니 ADT 와 안드로이드 스튜디오 와 호환성 문제가 발생하더군요. 1 현상 메모CDATA[ ]]> %1$s 위와 같이 html tag 를 strings.xml 에서 사용할때 공백문자를 사용하기 위해서 CDATA 태그를 조금이라도 적게 사용할려고 공백 문자에만 사용할려고 하다가 발생했습니다. 2 원인 ]]> 태그가 마지막에 오지 않으면 발생한다는 에러가 발생합니다. 혹은 리소스 머지(merge) 시에 에러가 발생한다던가 , 잘 쓰고 있던 컴퍼넌트 (component) 가 없다는 등 종잡을 수 없는 에러가 발생합니다. 3 해결 CDATA[메모 %1$s]]> 위와 같이 변경해 주면 해결됩니다. 공백은 단순히 CDATA..