2014년 2월 20일 목요일

God

I am not now, nor have I ever been, a member of the demigodic party.

-dmr

2013년 9월 17일 화요일

터미널 사용자를 위한 안드로이드 개발 세팅++


리눅스 사용자를 위시한 터미널 이용자들 (cygwin 등등) 을 위한 팁
git clone https://android.googlesource.com/platform/development
으로 aosp 의 development 세팅을 가져온다. development/ide/eclipse 에 이클립스 용 importer, formatter 등이 있다.

git clone https://android.googlesource.com/platform/sdk
sdk/bash_completion/adb.bash 를 .bashrc 등으로 source 로 지정하면 adb 커맨드를 탭 키로 자동완성하면서 개발할 수 있다.

2012년 10월 14일 일요일

lnf (lean and fast) type system


  • C++ 이 싫음
  • Go 좋음
  • OpenGL + SDL 을 윈도에서 돌려야 하는 관계로 Go 는 피하고 싶음.
  • Linux / 윈도, 적어도 이 두 가지 환경에서는 conditional compile 등등에 크게 구애받지 않고 빌드하고 싶음
최소한으로 생각하고 구현한 feature set 은 다음과 같다.
  • 복수의 interface 를 구현할 수 있고 sub-typing 은 이를 통하여 지원함
  • implementation 이 포함된 class 는 상속되지 않음
  • length 값을 가지는 string type
  • Go 의 slice type
잘 한 짓인지는 모르겠다. vala 도 꽤나 마음에 드는 상황이라...

2012년 10월 3일 수요일

젠투에서 긁어붙이는 용도

#!/bin/bash

mkdir /mnt/gentoo
mount -t ext4 /dev/sda3 /mnt/gentoo/
mount -t ext4 /dev/sda1 /mnt/gentoo/boot/
mount -t ext4 /dev/sda4 /mnt/gentoo/home/
mount -t proc /proc /mnt/gentoo/proc/
mount -t sysfs /sys /mnt/gentoo/sys/
mount --rbind /dev/ /mnt/gentoo/dev/

2011년 12월 19일 월요일

gnome 터미널에서 emacs를 쓰려다가 alt키로 고생하기

gnome terminal에서 emacs를 쓰려면 alt 키 이벤트를 그놈 터미널이 채가는 바람에 이맥스의 meta키가 제대로 작동하지 않을 수가 있다. 터미널에서 오른클릭하고 Show Menubar를 꺼버리면 된다.

2011년 11월 23일 수요일

우분투에서 trac 설치 중에 trac.*cgi 파일이 없어서 시간 허비하기

0.11 이후로 trac의 cgi 파일은 deploy를 통해서 생성해야 한다. 기본 패키지에 들어 있지 않다. 우분투 10.04 기준.
$trac-admin <env 디렉토리> deploy <cgi파일 만들 경로> 

2011년 11월 2일 수요일

Google I/O 2011: Memory management for Android Apps 요약 (draft)

  • 메모리가 커진다고 해도 화면 해상도는 그 못지 않게 빠른 비율로 상승하므로 메모리 관리의 필요성이 줄어든다고 오판하지 말 것
  • Gingerbread, Honeycomb의 주요 변경점
    • Gingerbread에서 concurrent garbage collection 지원 시작
    • Honeycomb에서 비트맵 데이터가 Dalvik Heap으로 들어옴
  • 메모리 관리툴 사용하기
    • logcat
    • HPROF dump
    • MAT

Honeycomb에서 비트맵 데이터가 Dalvik Heap으로 들어옴

  • 허니컴 이전까지는 비트맵 데이터는 native malloc으로 메모리에 잡히고, 이것의 레퍼런스를 담고 있는 오브젝트가 Dalvik Heap에 들어 있었음.
  • 따라서 제대로 메모리가 GC 되기 위해서는, recycle이라는 메소드를 수동으로 호출하거나, finalizer에 의존해야만 했음.
  • 또한 MAT 등의 표준적인 메모리 도구에 잡히지 않던 점이 개선될 것임.

MAT

  • dominator 개념을 익힐 것 - GC에서 특정 obj로 연결되는, 지나가지 않으면 안 되는 entity
  • MAT의 dominator 그래프 기능을 활용할 것