2010년 9월 14일 화요일

c++ 활용, copy 불가 class 만들기 : noncopyable

간만의 글 올리기...

c++ 재미 있는 활용...
중요한 resource를 관리하는데 있어서 single instance로만 되도록, 즉, object copy가 이루어지지 않도록
하는 재미있는 코딩 테크닉...



class noncopyable {
 private:
  noncopyable(const noncopyable& x);
  noncopyable& operator=(const noncopyable& x);
 public:
  noncopyable() {}; // Default constructor
};

* webkit source를 보다보면 많은 class들이 Noncopyable class를 상속 받고 있다...
이렇게나 많이 ?




2010년 4월 25일 일요일

흑백의 멋

http://www.thephotoargus.com/inspiration/60-inspiring-examples-of-black-and-white-photography/

날 칼라 세상을 보고 칼라 사진으로 담고 있다가, 몇일 전에 찾아둔 link 입니다.
야밤에 이런 저런 생각하면서 쳐다보고 있으니까, 고민한다는 것이 뭐였나 문득 잊어버렸습니다.

이런 link도 있었네요...
이상한것이, 머리속에 생각이 연기에 보이네요, 아이고...


2010년 4월 6일 화요일

android application debugging with ddms

이런 이런...

ddms가 이런 것이었구나... process, memory 이런거를 다 볼수 있는 기능이 !

* google은 screen capture 좀 해 두지... 글자만 읽어 봐서는 뭔지 알수가 있나... -_-;

2010년 2월 7일 일요일

why open ?


순전히 주관적인 입장이긴 한데, 왜 사람들은 open 시스템으로 가려고 하는 것일까 ?
삼성도 bada 내 놓고, 완전히 open을 언제 하려는것인지는 모르지만, open을 향해 가고 있다.
내 생각으로는 도저히 open 하지 않을듯한 회사인데 말이다.
국내에서난 국외에서 그렇게 특허를 만이 내고 가지고 있는 회사도 삼성전자라고 들었다.
그런 회사가 bada를 통해 무엇을 얻을려고 하는 것일까 ?
삼성뿐만은 아닌듯 하다. google도 android를 소스채 open 해 버렸고, apple도 iPhone SDK를 내놓은지
오래됐다. 덕분에 application 수가 무진장 많아서 제품 잘 팔리고 있지만, 처음부터 제품 잘 팔자고
시스템을 open ( SDK 공개? ) 했을까 ? 정말 ?

누가 명쾌히 무엇때문이라고 이야기 해 줄 사람이 있을까 ?


2010년 2월 1일 월요일

게임 만들기 #1

잼있는 꺼리를 찾은것 같다.
예전에 일본에서 유행하던, 수십개(수백개?) 총알이 다가오는것을 피하는 ( dodge ) 하는 게임...
몇초 동안 살아 있을까를 내기 하던 그런 게임...

일단 코딩은 시작 !
예전에 java 가지고 코딩해본것은 6~7년전에 WIPI가 다 인데, 기억을 더덤어 다시 익숙해지는것도
꽤나 어렵다. 다행히 eclipse는 타이핑 하는 순간 순간 뭐가 틀렸고 어떻게 고치겠다고 제안대 해 주니
참으로 고맙기도 하지... ^^;

그나 저나, 비행선 이미지, 총알(뭐, 우주 떠도는 돌,바위?) 이런 이미지는 어떻게 할지도 고민되고, sound effect는 또 어떻게 해야 할지 아직 잘 모르겠지만 인터넷 찾아 헤매이다 보면 해결될수도...


2010년 1월 16일 토요일

2010년 1월 4일 월요일

Android memory 정보 보기

역시(?) google groups에 찾아보면 뭔가가 나온다... 다만 뭐라 물어볼지가 문제...-_-;


1-1) command promp> adb shell procrank
  ( Uss is the amount of memory private to your app,
    Pss includes the shared memory weighted across the number of processes it is shared in )

(다음과 같이 나온다... 시간이 좀 걸리네...)
  PID      Vss      Rss      Pss      Uss  cmdline
   53   37100K   36500K   17826K   13784K  system_server
  104   26008K   26008K    8365K    5344K  android.process.acore
   30   25252K   25252K    8082K    5420K  zygote
  101   22108K   22108K    5922K    3672K  com.android.phone
   99   20568K   20568K    4705K    2968K  jp.co.omronsoft.openwnn
  478   19840K   19840K    4492K    2876K  costep.test
  188   19572K   19572K    4094K    2448K  com.android.email
  134   19356K   19356K    4006K    2340K  com.android.mms
  108   19120K   19120K    3947K    2136K  com.android.settings
  156   19192K   19192K    3930K    2392K  android.process.media
  180   18592K   18592K    3321K    1740K  com.android.alarmclock
  212   17348K   17348K    2815K    1448K  com.svox.pico
   31    3272K    3272K     956K     632K  /system/bin/mediaserver
   37     844K     844K     829K     828K  /sbin/adbd
  497     492K     492K     304K     296K  procrank
   29     728K     728K     251K     216K  /system/bin/rild
    1     204K     204K     185K     184K  /init
   27     380K     380K     150K     140K  /system/bin/vold
   35     336K     336K     132K     124K  /system/bin/qemud
   75     328K     328K     119K     108K  logcat
   33     404K     404K     105K      88K  /system/bin/keystore
   32     316K     316K      98K      88K  /system/bin/installd
  496     324K     324K      94K      68K  /system/bin/sh
   74     324K     324K      94K      68K  /system/bin/sh
   34     324K     324K      94K      68K  /system/bin/sh
   45     308K     308K      93K      84K  /system/bin/qemu-props
   26     260K     260K      91K      84K  /system/bin/servicemanager
   25     308K     308K      90K      68K  /system/bin/sh
   28     248K     248K      83K      76K  /system/bin/debuggerd



1-2) command prompt > adb shell dumpsys meminfo <processname>
(다음과 같이 나온다)
** MEMINFO in pid 101 [com.android.phone] **
                    native   dalvik    other    total
            size:     3640     3719      N/A     7359
       allocated:     3616     3161      N/A     6777
            free:       23      558      N/A      581
           (Pss):     1103     2894     2120     6117
  (shared dirty):     1760     4776      792     7328
    (priv dirty):      952     1392      880     3224

 Objects
           Views:        0        ViewRoots:        0
     AppContexts:        5       Activities:        0
          Assets:        3    AssetManagers:        3
   Local Binders:       29    Proxy Binders:       42
Death Recipients:        1
 OpenSSL Sockets:        0

 SQL
            heap:      176          dbFiles:        0
       numPagers:        2   inactivePageKB:       25
    activePageKB:        0


"Analyzing the memory usage of your Android application"
( '10-01-04 : 아직은 이해를 못하고 있는 java의 hprof... -_-; )


3) target은 방법이 좀 어렵겠지만, emul에서는...

C:\android-sdk-windows\tools> mode con: cols=120
( 보기 편하게 column을 좀 넓힌다)
C:\android-sdk-windows\tools> adb shell
# ps
또는
# top
(다 되는지는 모르겠네... -_-; )

* 우째 내가 지금 뭔가를 하려는 것이(정리? 아니면...) "blog"로 되려나 모르겠네...maybe wiki ?


2010년 1월 1일 금요일

android emulator 활용 - 전화걸기 emulation

android emulator는 call 이나 sms emulation 기능이 있긴 한데, gui가 없이 telnet으로 가능하다.
>telnet localhost 5554
5554는 emulator에 보이는 port 번호이다. (PuTTY 같은 무료 terminal을 사용하면 편하다... )
접속이 되면 다음과 같은 메시지가 나온다.

Android Console: type 'help' for a list of commands
OK

- 전화 걸기 ( from 외부 to emulator )
gsm call 123456780

- sms 보내기
sms send 123456 hello this is a sms text message



@ 누군가가 gui front end 만들어 두었을 듯 한데... -_-;