social service..social service..

Posted at 2011. 9. 22. 20:45 | Posted in Issue
2011-09-22 15:30 송창현 http://developers.facebook.com/socialdesign/ 
2011-09-22 15:31 송창현 Product design on social service 
2011-09-22 15:31 송창현 Community, Conversations, and identity 
2011-09-22 15:31 송창현 자신의 self-expression 
2011-09-22 15:31 송창현 그리고 친구들과 connect and share 
2011-09-22 15:32 송창현 그리고 그 두가지위에 만들어진 community를 친근하면서 relevant하고 trusted 한 UX 로 접근하게 만든다 
2011-09-22 15:33 송창현 3가지의 기초 service value로 만들어졌다네요 
2011-09-22 15:33 송창현 http://developers.facebook.com/socialdesign/Identity/ 
2011-09-22 15:33 송창현 Identiy: self-expression에 관한 이야기 
2011-09-22 15:34 송창현 우리가 말하는 주소록이 아닌 
2011-09-22 15:34 송창현 context-relevant 
2011-09-22 15:34 송창현 예) 내가 만든 요리의 receipe 
2011-09-22 15:35 송창현 내가 뛴 마라톤의 거리 
2011-09-22 15:35 송창현 등등 
2011-09-22 15:35 송창현 http://developers.facebook.com/socialdesign/conversation/ 
2011-09-22 15:35 송창현 Listening and Speaking 
2011-09-22 15:35 송창현 위의 두가지를 이용한 
2011-09-22 15:36 송창현 http://developers.facebook.com/socialdesign/personalize/ 
2011-09-22 15:36 송창현 Recommendation, 친구연결 등등 
2011-09-22 15:37 송창현 와 얼른 주워담아 우리 공부합시다 
2011-09-22 15:37 송창현 social 을 잘 이해 못하는 우리가 배워야 할 것 같네요 

//

iPhone EmojiiPhone Emoji

Posted at 2011. 9. 21. 22:39 | Posted in OS/Mobile

일본에서 Unicode의 private use 영역에 넣어 사용하던 것을 iPhone에 넣어놨다고 하네요.
http://pukupi.com/post/1964/

Unicode 6.0 버전에 이모티콘 문자가 포함.
http://unicode.org/charts/PDF/Unicode-6.0/U60-1F300.pdf

Emoji Free앱을 설치하면 사용할 수 있네요.

 
//

[링크] Paul Graham ‘Office Hour’ :스타트업 체크리스트[링크] Paul Graham ‘Office Hour’ :스타트업 체크리스트

Posted at 2011. 8. 25. 09:26 | Posted in Article

TC Disrupt NYC 2011 : 스타트업 체크리스트


http://www.youzin.com/blog/?p=3024


disrupt : 붕괴시키다, 분열시키다, 혼란시키다, 일시 불통으로 만들다, 중단시키다
//

RSS feed가 valid한지 검사해보자.RSS feed가 valid한지 검사해보자.

Posted at 2011. 8. 14. 18:11 | Posted in 개발이야기
//

Building Facebook MessengerBuilding Facebook Messenger

Posted at 2011. 8. 14. 17:11 | Posted in Article
//

Java SE 7 Features and EnhancementsJava SE 7 Features and Enhancements

Posted at 2011. 8. 5. 10:37 | Posted in OpenSource
//

[Ubuntu] 우분투 설치 후 할 일들[Ubuntu] 우분투 설치 후 할 일들

Posted at 2011. 6. 3. 14:11 | Posted in OS/Unix/Linux

<한글입력기>

  • "시스템 > 관리 > 언어" 에서 "키보드 입력 시스템"을 'nabi'로 변경. (왼쪽shift+space 한영전환 가능)


<Locale>

  • 기본은 LANG=ko_KR.utf8 이다. ko_KR.euckr을 사용하려면 locale을 생성해줘야 한다. 다음 순서로 한다.
    (Locale 설정을 잘못 건든 경우 아래 순서로 작업해주면 된다.)
  • $ sudo apt-get install language-pack-ko
  • $ sudo locale-gen ko_KR.EUC-KR
  • $ sudo dpkg-reconfigure locales
  • $ locale -a      --> 사용가능한 locale 확인


<Font 설정>

  • 나눔고딕, 네이버사전체 설치 (파일 풀어놓고 노틸러스에서 더블클릭하면 바로 설치할 수 있다)
  • 우분투는 안티앨리어싱이 기본으로 꺼져있으므로 켜준다.
    (http://ihoney.pe.kr/635)
    $ sudo gedit /etc/fonts/conf.d/29-language-selector-ko-kr.conf 을 열고 
    <!-- Turn off antialias and autohint for Korean fonts depending on pixelsize --> 부분과
    <!-- Turn off antialias and autohint for ttf-alee depending on pixelsize --> 부분을 주석처리
  • Monospace 폰트가 잘못 지정된 경우 폰트매핑 정보를 수정해 준다. (다른 폰트 역시 아래 방법으로 매핑 가능)

    $ sudo vi /etc/fonts/conf.d/69-language-selector-ko-kr.conf

    <match target="pattern">

        <test qual="any" name="family">

            <string>monospace</string>

        </test>

        <edit name="family" mode="prepend" binding="strong">

            <string>Liberation Mono</string>

            <string>DejaVu Sans Mono</string>

    <string>나눔고딕코딩</string>       <!-- 영문, 한글 폰트를 먼저 나온 순서로 찾으므로 원하는 폰트를 적어준다. -->

            <string>네이버사전</string>

            <string>UnDotum</string>

            <string>Guseul</string>

        </edit>

    </match>



<테마>

  • 아이콘 테마: simple (http://gnome-look.org/content/show.php/Simple?content=99470)
    - 테마 파일을 다운로드 받은 후 "시스템 > 기본설정 > 모양" 테마 탭에서 "설치..." 를 눌러 설치한다.
  • Equinox GTK Theme + Faenza Icon Theme: http://www.techdrivein.com/2010/08/equinox-gtk-theme-faenza-icon-theme.html
    $ sudo add-apt-repository ppa:tiheum/equinox && sudo apt-get update
    $ sudo apt-get install gtk2-engines-equinox equinox-theme equinox-ubuntu-theme faenza-icon-theme
    ※ 만약 설치가 안되면 "프로그램 > 우분투 소프트웨어 센터" 에서 equinox, faenza 로 찾아서 설치.
  • Equinox GTK - Light 테마 + Droid Sans/Droid Sans Mono 폰트 조합이 이쁨.


<SSH>

  • ssh 접속 오래 걸리는 문제: GSS 인증 옵션을 끈다.
    $ ssh -o GSSAPIAuthentication=no -l <id> <host> 


<Samba>


<개발환경>

  •  설치 목록
    $ sudo apt-get install gcc
    $ sudo apt-get install g++
    $ sudo apt-get install byacc
    $ sudo apt-get install libssl-dev
    $ sudo apt-get install zlib1g-dev
    $ sudo apt-get install libxml2-dev
    $ sudo apt-get install subversion
    $ sudo apt-get install libsvn-java
    $ sudo apt-get install vim

    ※ 진행이 안되는 경우 'sudo apt-get update'로 저장소 정보를 다시 읽어 오거나, 시냅틱 패키지 관리자에서 저장소 위치를 변경해 본다.

  • java 우선순위 설정 (OpenJDK, Sun/OracleJDK 선택)
    $ sudo update-alternatives --config java
  • eclipse.ini 추가 (Xms, Xmx 동일하게 두면 heap 확보를 위해 늘었다 줄었다 하지 않음)
    -XX:MaxPermSize=256m
    -Xms512m
    -Xmx512m
    -XX:PermSize=128m
    -XX:+UseParallelGC


<파일 관리>

  • 휴지통 호환 커맨드 라인 파일 삭제 도구: trash-cli (http://code.google.com/p/trash-cli/)
    - rm에 해당하는 trash-put 을 실행하면 휴지통으로 파일을 이동시킨다.
    - 노틸러스 휴지통과 호환된다. (FreeDesktop.org Trash 스펙을 구현했다)
    - alias rm='/usr/local/bin/trash-put' 으로 설정해두고 쓰면 된다. rm 옵션과 호환성을 제공하며 -f 옵션은 무시된다. 무조건 휴지통으로 이동됨.


<원격데스크탑>



<기타>


<우분투 Unity 제거>


<11.10 이후 버전>

  • synaptic package manager 설치.
    - sudo apt-get install synaptic


<Nvidia 그래픽 카드 드라이버 설치>
(주의그래픽 카드는 기본 설치된 드라이버를 잡아주길 권장하며, 강제로 설치할 경우 아래 순서로)

  • 그래픽 카드 확인
    $ lspci |grep -i -e Display -e VGA
  • Nvidia 그래픽 카드 설치
    - X를 종료한 후 터미널에서 작업
    - nvidia 드라이버를 다운로드하여 설치하면 "Nouveau kernel driver"를 사용중이어서 설치할 수 없다고 에러를 뱉는다.
    - $ sudo apt-get --purge remove xserver-xorg-video-nouveau 명령으로 nouveau 드라이버 제거
    - $ sudo ./NVIDA-Linux-버전.run 을 실행. 만약 진행이 안된다면 다음과 같이 강제 설치.
    - $ sudo ./NVIDA-Linux-버전.run -k $(uname -r) -f
    - PC 재시작
    - 부팅되면 하드웨어 드라이버 검색에서 NVIDIA 드라이버가 2개 뜨는데, (권장)으로 된것 말고 새로 설치된 것을 선택.
    - "시스템 > 관리 > NVIDIA X Server Settings" 로 들어가서 원하는 대로 설정.

  • X 종료
    $ sudo /etc/init.d/gdm stop
  • X 시작
    $ sudo /etc/init.d/gdm start
  • X 재설정
    sudo dpkg-reconfigure xserver-xorg
  • 설정파일
    /etc/X11/xorg.conf
  • 멀티 모니터 설정하기
    - NVIDIA X Server Settings 실행
    - root 권한으로 실행이 안되면 터미널에서 'sudo nvidia-settings'로 실행하면 된다.
    - X Server Display Configuration -> Display -> Configure... 에서 "TwinView"를 선택한다.
    - Make this the primary display for the X screen 체크
    - Save to X Configuration File을 눌러 변경 내용을 저장한다. 이 때 Merge with existing file 은 끈다(체크 해제).
    - 로그아웃 -> 로그인

//

CPU load 이해하기CPU load 이해하기

Posted at 2011. 4. 22. 14:11 | Posted in OS/Unix/Linux
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

읽고 정리하기. 
//

zookeeper insidezookeeper inside

Posted at 2011. 4. 20. 10:12 | Posted in OpenSource
c++용 zookeeper wrapper 클래스를 만들기 전에 이 녀석이 어떻게 동작하는지 알 필요가 있어 살펴 봤다.

<zookeeper(MT) 주요 함수 호출 스택>
zoo_get()
  -> zoo_wget(): sync_completion을 사용해서 blocking 모드로 결과 반환.
    -> zoo_awget()
  -> wait_sync_completion

zookeeper_close()
(1) (ref_counter == 0)
  -> destroy()
    -> cleanup_bufs()
      -> free_completions()
        -> notify_sync_completion() -> broadcast to all waiting sync_completion thread
(2) (ref_counter > 0)
  -> cleanup_bufs() -> free_completions() -> ...
  -> adaptor_finish()
      -> pthread_join(io), pthread_join(completion)
      -> api_epilog() -> ref_counter - 1
        -> zookeeper_close()
          -> (1)
 
async류 함수(zoo_awget)를 호출하더라도 zookeeper_close()를 호출하면 모두 정리하고 나간다.
zookeeper_close() ==> zookeeper join 이라고 봐도 되겠다.

wrapper : 싸는 사람, 감싸는 사람, 싸는 것, 싸개, 보자기
//

[Hadoop] Secondary name-node, Checkpoint node, Backup node[Hadoop] Secondary name-node, Checkpoint node, Backup node

Posted at 2011. 4. 6. 10:14 | Posted in OpenSource

Secondary NameNode는 이름으로 추측할때 Standby-NameNode로 보이는 문제로 인해 Checkpoint Node 또는 Backup Node로 이름이 변경된 것 같습니다.

(하둡 wiki에서 다음과 같이 말하고 있습니다.

http://hadoop.apache.org/hdfs/docs/current/hdfs_user_guide.html#Secondary+NameNode

The Secondary NameNode has been deprecated. Instead, consider using the Checkpoint Node or Backup Node. )


- Checkpoint: 네임스페이스는 네임노드의 메모리 및 디스크에 그 이미지가 저장되는데 이 이미지를 FsImage라고 부릅니다.

네임노드에서 디스크의 FsImage는 변경되지 않으며, 운영하는 동안 변경된 네임스페이스 정보는 edits log에 기록이 됩니다.

이 FsImage가 변경되는 시점은 네임노드가 시작할 때 뿐이며, 네임노드가 시작될 때 edits log를 디스크의 FsImage에 병합하고 이 이미지를 메모리에 올리게 됩니다. 이런 과정을 checkpoint라고 합니다.

 

- Checkpoint Node(또는 Backup Node, Secondary NameNode):

따라서, 네임노드의 FsImage는 네임노드가 시작될 때만 editLog를 머지하고 새롭게 생성되므로, edits log를 주기적으로 FsImage에 병합해주는 것을 자동으로 해주는 것이 필요했고 그것이 Checkpoint Node라고 보시면 됩니다.

즉, Checkpoint Node(Secondary NameNode)는 주기적으로 네임노드의 FsImage와 edits log를 다운로드 받아 이들을 병합(join)하고, 새롭게 만들어진 FsImage를 네임노드에 돌려(upload)줍니다.

Checkpoint Node(Secondary NameNode)는 네임노드가 죽었을 때 백업용이 아니라 FsImage를 주기적으로 갱신(checkpoint)시켜주는 역할만 합니다.

 

이런 역할을 하는 노드가 필요한 이유는 네임스페이스에 많은 변경이 발생한 경우 edits log가 엄청나게 쌓일 것이고, 네임노드를 재시작 시켜주지 않는 한(checkpoint가 일어나지 않는 한) edits log는 삭제되지 않고, 삭제되어서도 안됩니다.

이 edits log가 많이 쌓이면 네임노드 시작시 시간이 엄청나게 길어지고 메모리도 실제 이미지보다 많이 필요하게 되어 네임노드가 시작되지 않는 문제 등을 유발하게 됩니다. 따라서 Checkpoint Node가 주기적으로 edits log를 FsImage에 병합시켜서 네임노드의 FsImage를 수정시켜주는 것입니다.


http://wiki.apache.org/hadoop/FAQ 에 Secondary NameNode의 목적에 대해 나와 있습니다.


The only purpose of the secondary name-node is to perform periodic checkpoints. The secondary name-node periodically downloads current name-node image and edits log files, joins them into new image and uploads the new image back to the (primary and the only) name-node.
--> Secondary NameNode는 네임노드의 FsImage와 edits log를 다운로드하여 병합(join)하여 네임노드로 upload 하는 일을 주기적으로 합니다.

--> 위 내용에 따르면 Secondary NameNode가 없어도 동작할 것 같네요.
--> 테스트 결과 동작합니다. 

//