C500k in Action at Urban AirshipC500k in Action at Urban Airship

Posted at 2011. 11. 23. 19:26 | Posted in Article
//

Why mobile apps suck when you're mobileWhy mobile apps suck when you're mobile

Posted at 2011. 11. 23. 19:26 | Posted in Article
http://blog.davidsingleton.org/mobiletcp


- small packet (request/response workload): short timeout
   iPhone의 TCP rexmit timout은 1, 1, 3, 6, ... 이렇게 되니까 오늘 세미나 내용에서도 나왔던
   sleep -> connected state로 가는 데 3초 정도이라면 1+1+3 초 timeout에 성공하게 되고요,
   
5초입니다. short timeout을 잘 define해야 하는데요. 
   Android는 TCP rexmit TO이 3,3,6,9... 이기에 3+3 인 6초에 성공하게 됩니다. 
   여기에 실제 RTT 200-500ms 를 더하면 7-8초는 기본 mobile timeout이 되어야 한다로 정리될 것 같네요.

- Try to use underlying TCP socket instead of HTTP: HTTP layer가 기존의 TCP session을 재 사용하기 때문에.
   이건 2가지 상반되는 이야기기 있는데, socket reuse하면 congestion window가 full open되어 있기에
   bandwidth sensitive 한 workload에 좋은 반면에 문제가 있는 TCP session은 다시 맺는 게 좋을 것 같다인데
   이것도 위의 sleep -> connected state의 시차 때문에 생기는 illusion인 것 같네요. 6초 timeout에 걸리는 
   connection이 다시 열면 바로 연결되겠죠.

 
//

A Day in the Life of a Mobile Device: IP ConnectivityA Day in the Life of a Mobile Device: IP Connectivity

Posted at 2011. 11. 23. 19:26 | Posted in Article
//

Facebook Developers - Social DesignFacebook Developers - Social Design

Posted at 2011. 11. 23. 19:25 | Posted in Article
//

Building Facebook MessengerBuilding Facebook Messenger

Posted at 2011. 11. 23. 19:25 | Posted in Article
//

Data Management at Facebook 2008Data Management at Facebook 2008

Posted at 2011. 11. 23. 19:25 | Posted in Article
//

macbook setupmacbook setup

Posted at 2011. 11. 20. 11:28 | Posted in OS/Mac
* 250GB HDD
 - 70 (MacHD)
 - 110 (DataHD)
 - 70 (boot camp)

* data 파티션을 /에 심볼릭 링크 생성
 - cd /
 - sudo ln -s /Volumes/DataHD/ data

* User 디렉토리 복사 (계정명이 abcd 라고 가정)
 - cd /
 - sudo tar czpf /Volumes/DataHD/Users.tgz Users
 - cd /Volumes/DataHD
 - sudo tar xzf Users.tgz

* User 디렉토리 위치 변경하기
 - cd /
 - sudo mv Users __Users
 - sudo ln -s /Volumes/DataHD/Users Users  (User디렉토리를 DataHD에 있는 복사본에 연결)

  
//

Adobe - EdgeAdobe - Edge

Posted at 2011. 10. 23. 21:42 | Posted in 개발이야기
플래시를 버릴건가?

http://labs.adobe.com/technologies/edge/

http://koko8829.tistory.com/m/1093
//

Steve Jobs의 통찰력 있는 명언들Steve Jobs의 통찰력 있는 명언들

Posted at 2011. 10. 6. 10:23 | Posted in 좋은글
http://news.mt.co.kr/mtview.php?no=2011100609363831701

경영자로서 무대를 떠나는 잡스를 기억하며 월스트리트 저널(WSJ)이 정리한 그가 남긴 통찰력 있는 명언들을 다시 한번 소개하며 그의 떠남을 애도한다. 

<기술에 대해>
"기술은 세상을 좀 더 가깝게 만들었고 앞으로도 그러한 역할을 할 겁니다. 모든 일에는 덜 긍정적인 면이 있지요. 모든 일에는 의도하지 않았던 결과가 있습니다. 나는 기술 발전에서 가장 부정적인 것을 꼽으라면 텔레비전을 들고 싶습니다. 하지만 텔레비전도, 가장 최선의 상황에선 참으로 훌륭한 것이죠." (롤링스톤스, 2003년 12월3일)

<디자인에 대해>
"디자인은 우스운 말입니다. 어떤 사람들은 디자인이 어떻게 보이느냐를 의미한다고 생각하죠. 하지만 당신이 더 깊이 들어간다면 디자인이란 실제로는 어떻게 작동하느냐의 문제입니다. 맥컴퓨터의 다지인은 어떻게 보이느냐가 아닙니다. 물론 어떻게 보이느냐가 디자인의 일부이긴 하죠. 하지만 기본적으로 맥의 디자인이란 맥이 어떻게 작용하느냐 하는 겁니다. 정말 좋은 디자인이라면 그것을 이해해야 합니다. 그것이 정말 어떤 것인지 총체적으로 모두 이해할 수 있어야 합니다. 무엇인가를 철저하게 이해하고 그것을 급하지 않게 천천히 씹으면서 삼키려면 열정적인 헌신이 필요합니다. 대부분의 사람들은 그렇게 하는데 많은 시간을 들이지 않습니다. (와이어드, 1996년 2월)

<창의력에 대해>
"창의력이란 단순히 사물들을 연결하는 겁니다. 창의력이 있는 사람들에게 그 일을 어떻게 했는지 물어보면 그들은 다소 죄책감을 느낄 겁니다. 왜냐하면 그들은 정말로는 그것을 하지 않았기 때문입니다. 그들은 무엇인가를 봤을 뿐입니다. 잠시 후 그들에겐 뭔가가 명확하게 보입니다. 그들은 자신들의 경험을 연결시켜 새로운 것을 합성해낼 수 있는 능력이 있기 때문입니다. 그런 일을 할 수 있는 이유는 그들이 다른 사람들보다 더 많은 경험을 갖고 있거나 그들의 경험에 대해 더 많은 생각을 갖고 있기 때문입니다.(와이어드, 1996년 2월)

<디자인과 창의력에 대해>
"불행하게도 자원이 너무 희소합니다. 우리 산업에 있는 많은 사람들은 충분할 정도로 다양한 경험을 갖고 있지 못합니다. 따라서 그들은 연결할 점들을 충분히 갖고 있지 못하며 결국 문제에 대한 광범위한 관점 없이 선형적인 해법을 내놓는데 그칩니다. 어떤 사람이 세상사 경험에 대해 더 넓은 이해력을 갖고 있을수록 우리는 더 좋은 디자인을 가질 수 있습니다.(와이어드, 1996년 2월)

<단순함에 대해>
"내 만트라(반복해 외는 주문) 가운데 하나는 집중과 단순함입니다. 단순함은 복잡한 것보다 더 어렵습니다. 생각을 명확하게 하고 단순하게 만들려면 열심히 노력해야 합니다. 하지만 그럴만한 가치는 충분합니다. 일단 생각을 명확하고 단순하게 만들 수 있는 단계에 도달하면 당신은 산도 움직일 수 있을 테니까요.(비즈니스위크, 1998년 5월25일) 

"수많은 컴퓨터의 디자인들을 생각해 보십시오. 그들의 겉모양은 정말 복잡합니다. 우리는 훨씬 더 전체적이고 단순한 것을 만들려고 했습니다. 사람들은 문제를 풀려고 시작할 때 처음에는 아주 복잡한 해결책을 얻습니다. 대부분의 사람들은 거기에서 멈추죠. 하지만 계속하다 보면, 문제를 들고 계속 씨름하다 보면, 마치 양파 껍질을 벗기듯 벗겨 나가다 보면 매우 우아하고 단순한 해법에 도달하는 때가 있습니다. 대부분의 사람들은 거기에 도달할 때까지 시간이나 에너지를 투입하려 하지 않습니다. 우리는 고객들이 똑똑하고 훨씬 더 좋은 제품을 원한다고 믿습니다." (MSNBC, 2006년 10월14일)

<신기술에 대해>
"고객들이 우리에게 돈을 지불하는 것은 이 모든 구체적인 것들을 만드는데 든 노력으로 인해 컴퓨터를 사용하는 것이 쉽고 즐거워졌기 때문입니다. 우리는 이 일을 정말 잘 할 수 있습니다. 이건 우리가 고객들의 말을 귀기울여 들을 것이란 의미는 아닙니다. 고객들이 단 한번도 본 적이 없는 물건에 대해 의견을 말하기는 어렵습니다. 데스크톱 비디오 편집을 생각해보십시오. 나는 한번도 어떤 사람이 자기 컴퓨터에서 영화를 편집하고 싶다는 얘기를 들어본 적이 없습니다. 하지만 그 기능을 만들어 사람들에게 보여주자 그들은 이렇게 말했지요. '이런 세상에, 정말 대단한걸!'"(포춘, 2000년 1월24일)

<돈에 대해>
"돈 같은 일에 대해 내가 주로 갖고 있는 생각은 매우 웃기다는 겁니다. 모든 관심이 거기에 집중돼 있죠. 하지만 돈은 나에게 일어날 수 있는 모든 일 가운데 가장 통찰력 있는 일도 아니고 가치 있는 일도 아닙니다."(플레이보이, 1985년 2월1일)

"무덤에서 가장 부자가 되는 일 따윈 나에게 중요하지 않습니다. 매일 밤 잠자리에 들 때마다 우리는 정말 놀랄만한 일을 했다고 말하는 것, 그것이 나에게 중요합니다." (월스트리트 저널, 1993년 5월25일)

<사업에 대해>
기자의 질문: 당신이 애플에 복귀한 것은 많은 상징을 내포하고 있습니다. 마술과 같은 감각만으로 회사를 회생시키기에 충분할까요?

잡스의 대답: 당신이 놓치고 있는 것이 있습니다. 이건 원맨쇼(한 사람의 쇼)가 아니란 거죠. 이 회사를 회생시키는데 2가지가 있습니다. 하나는 이 회사에는 정말 뛰어난 인재들이 많다는 겁니다. 그들은 지난 2년여간 세상이 자신들에게 패배자라고 말하는 것을 계속 들어야만 했습니다. 그래서 몇몇은 이제 막 그 말을 믿으려는 위험에 처해 있습니다. 하지만 그들은 패배자가 아닙니다. 그들에겐 훌륭한 코치와 뛰어난 계획이 없었을 뿐입니다. 좋은 경영진이 없었을 뿐이죠. 하지만 이제 그들은 그걸 가질 겁니다."(비즈니스위크, 1998년 5월25일)

<혁신에 대해>
"혁신은 얼마나 많은 돈을 기술개발(R&D)에 쏟아 붓느냐, 이것과는 거의 관계가 없습니다. 애플이 맥을 개발했을 때 IBM은 R&D에 애플보다 최소 100배 이상 많은 돈을 쏟아 붓고 있었습니다. 혁신은 돈과 관련된 것이 아닙니다. 혁신은 당신과 함께 하는 사람들과 관계가 있습니다. 당신이 그들을 어떻게 이끌고 당신이 그들로부터 얼마나 많은 것을 이끌어낼 수 있는지, 혁신은 그것과 관련이 있습니다."(포춘, 1998년 11월9일)

"애플을 치료하는 방법은 비용 절감이 아닙니다. 애플을 고치는 것은 현재의 곤경에서 빠져나가는 방법을 혁신시키는데 있습니다."(애플 컨피덴셜-애플컴퓨터의 진짜 이야기, 1999년 5월)

"(애플의) 시스템은 시스템이 없다는 겁니다. 이 말이 프로세스가 없다는 뜻은 아닙니다. 애플은 매우 엄격하게 통제되어 있는 회사입니다. 우리는 훌륭한 프로세스를 갖고 있습니다. 하지만 이 프로세스가 시스템은 아닙니다. 프로세스는 좀 더 일을 효율적으로 만들어 줍니다. 

반면 혁신은 새로운 아이디어가 떠올라서 또는 어떤 문제에 대해 획기적인 방안이 생각나서 사람들이 복도에서 만나 혹은 밤 10시30분에 전화를 붙들고 얘기하는 것에서 나옵니다. 혁신은 가장 멋진 아이디어가 떠올랐다고 생각하는 어떤 사람이 자신의 아이디어에 다른 사람은 어떤 의견을 갖고 있는지 알고 싶어 대여섯 명을 불러 즉흥 모임을 가질 때 나옵니다. 

혁신은 또 우리가 절대 잘못하지 않았다고 생각하는 일, 정말 많은 노력을 투입했다고 생각하는 1000가지 일에 대해 '아니오'라고 말하는데서 나옵니다. 우리는 언제나 새로 들어갈만한 시장이 있는지 생각합니다. 하지만 혁신은 여기에 '아니오'라고 말하고 정말 중요한 어떤 일에 우리가 집중할 수 있도록 할 때 나옵니다."(비즈니스위크, 2004년 10월12일) 

<마이크로소프트에 대해>
"마이크로소프트(MS)의 유일한 문제는 그들에게 취향이 없다는 겁니다. 그들은 절대적으로 취향이 없어요. 나는 이걸 사소하게 말하는 것이 아닙니다. 아주 심각하게 말하는 겁니다. 그들은 원천적인 아이디어에 대해 생각하지 않고 자신들의 제품에 문화를 입히지 못합니다.

내가 슬퍼하는 것은 MS의 성공 때문이 아닙니다. 그들이 성공하건 말건 나에겐 아무 문제도 없어요. 그들은 성공했지요. 대부분의 경우에 있어서요. 나는 그들이 정말 삼류 제품을 만들고 있다는 사실에 문제가 있다고 느끼는 겁니다."(트라이엄프 오브 더 너즈, 1996년)

"나는 그(빌 게이츠)에게 최선을 희망합니다. 정말입니다. 나는 그와 마이크로소프트가 다소 좁다고 생각할 뿐입니다. 그는 좀 더 젊었을 때 LSD(환각제)를 흡입하거나 아시람(힌두교도들이 수행하는 곳)에 갔었더라면 좀 더 넓은 사람이 될 수 있었을 겁니다." (뉴욕타임스, 1997년 1월12일) 

<애플에 대해>
"나는 언제나 애플과 연결돼 있을 겁니다. 나는 일생을 통틀어 희망하기를 내 인생이 하나의 실이라면 애플이라는 실과 태피스트리처럼 엮여져 짜여졌으면 하는 겁니다. 내가 애플에 없을 때도 몇년 있겠지요. 하지만 나는 언제나 (애플로) 돌아올 겁니다." (플레이보이, 1985년 2월1일)


"데스크톱 컴퓨터 산업은 죽었습니다. 혁신은 사실상 중단됐구요. 마이크로소프트는 거의 혁신으로 지배되지 않고 있습니다. 애플은 패배했습니다. 데스크톱 시장은 암흑기로 접어들었습니다. 앞으로 10년간 데스크톱 시장은 암흑기를 거칠 겁니다. 

마치 IBM이 마이크 프로세서가 나오기 직전 컴퓨터 산업에서 혁신을 몰아낸 것과 같습니다. 결국 마이크로소프트는 자기 만족, 안주 때문에 넘어질 겁니다. 아마도 뭔가 새로운 것이 성장하겠죠. 하지만 그 때까지, 근본적인 기술 변화가 나타날 때까지 데스크톱 시장은 끝났습니다."(와이어드, 1996년 2월)

<인생에 대해>
"나는 사람들이 고귀하고 명예롭다고 믿는다는 점에서 낙관적입니다. 그리고 몇몇 사람들은 정말 똑똑합니다. 나는 개인들에 대해 정말 낙관적입니다. 개인들로서 사람들은 천성적으로 선합니다. 나는 그룹으로서 사람들에 대해서는 다소 비관적입니다. 그리고 미국에서 일어나고 있는 일에 대해서는 극단적으로 걱정스럽습니다. 미국은 많은 면에서 세상에서 가장 운이 좋은 곳이었습니다. 하지만 우리는 지금 우리의 아이들을 위해 이 나라를 더 좋은 장소로 만드는데 대해 더 이상 흥분을 느끼지 않는 것처럼 보입니다.(와이어드, 1996년 2월)

"우리는 앞을 바라보면서 점들을 연결할 수는 없습니다. 오로지 뒤를 바라볼 때만 우리가 찍어온 점들을 연결할 수 있죠. 그러니 (내가 찍는) 점들이 미래에 어떤 식으로든 연결된다고 믿어야만 합니다. 여러분은 무엇인가를 믿어야만 합니다. 여러분의 배짱, 운명, 인생, 카르마 또는 그게 무엇이든지요. 이렇게 접근하면 결코 실망하지 않을 겁니다. 이러한 믿음은 내 인생에서 큰 차이를 만들어냈습니다." (스탠포드 대학 졸업식 연설, 2005년 6월)

"여러분이 하는 일은 여러분 인생의 많은 부분을 채울 겁니다. 그리고 진정으로 만족하는 유일한 방법은 당신이 위대한 일이라고 믿는 것을 하는 겁니다. 위대한 일을 하는 유일한 방법은 당신이 하는 일을 사랑하는 겁니다. 만일 그러한 일을 아직 발견하지 못했다면 계속 찾아보세요. 포기하지 마십시오. 마음과 관련된 모든 일이 그렇듯 그 일을 발견하면 아마도 당신은 알 수 있을 겁니다. 그리고 모든 위대한 관계가 그렇듯이 해가 지날수록 점점 더 좋아질 겁니다. 따라서 그 일을 발견할 때까지 찾는 것을 멈추지 마십시오." (스탠포드 대학 졸업식 연설, 2005년 6월)

"당신이 무슨 일을 하는데 그게 상당히 괜찮은 일이라면 당신은 다른 일, 뭔가 멋지고 놀랄만한 일을 찾아야만 합니다. 그 일에 오래 머무르지 마십시오. 다음 번에 어떤 일이 있을지 생각해야 합니다." (NBC 뉴스, 2006년 5월)
//

메시징 서비스 고려사항메시징 서비스 고려사항

Posted at 2011. 9. 29. 10:53 | Posted in Issue
삼성 ChatOn 서비스의 고민거리들은 동일 서비스를 제공할 모든 업체에서 고민할 내용들인 것 같다.
아래 PPT는 매우 잘 정리되어 있으며 몇가지만 정리해본다.

- 모바일 네트워크 친화적인 글로벌 메시징 서비스: http://www.slideshare.net/jaehyun/chaton
- 클라우드 인프라 기반 서비스 개발: http://www.slideshare.net/jaehyun/chaton-9444572
 
* 모바일 메시징 시장 변화
 [PIN번호 기반: 블랙베리 유저끼리] 2003~2010
    --> [핸드폰 번호 기반: 왓츠앱, 카톡] 2010~2011
        --> [Device친화적, 다양한 서비스 연동: iMessage, ChatOn] 2011
 
* 기술적 제약 사항
 - Push Channel 유지에 따른 제약 사항
   (1) 잦은 연결유지 신호 전송 및 재연결로 인한 배터리 소모에 악영향
   (2) 연결유지 신호 간격이 길 경우, 사업자 방화벽에서 연결 해지
   (3) TCP 로 연결을 유지할 경우 Zombie Connection 발생할 수 있음.
 -  글로벌 사업자 지원에 따른 제약 사항
   (1) 사업자 별로 다른 연결 Timeout 값
   (2) 잦은 연결 유지 신호로 사업자 망 과부하 발생
   (3) 특정 서버 장애 시 서버에 순간적인 Storm 메시지 동시 전달. 사업자 망 과부하 발생
   (4) 단말 별로 보내는 연결 유지 신호들의 분포도가 주기적으로 몰릴 경우 사업자 망 과부하 발생
 - 글로벌 국가/지역에 따른 제약 사항
   (1) 사용자 위치에 따라 최적의 서비스가 가능한 IDC/Cloud의 서버에 연결되어야 함
   (2) 국가별 상이한 보안/법률 정책 적용 요구
 - 단말 증가에 따른 용량 제약 사항
   (1) 전 세계 수억 단말에 대한 동시 세션 유지 필요 -> 고성능, 고확장성 서버 인프라 필요
   (2) 저비용의 서버 인프라 구축 또는 대응되는 수익 모델 없을 경우 비용문제 발생

* 해결방법
 - Push Server와 연결 유지 간격에 대한 최적화
   - 기술 장벽: {연결 안정성 보장}, {사업자별 라우터 Timeout}, {망에 대한 트래픽}, {배터리 소모 최소화}
   - 사업자별 조사/검증으로 사업자 별로 최적화
   - 예상치 못한 상황 대비 학습 알고리즘 적용
 - Retransmission 및 Ping 주기에 대한 동적 조정
   - 서버에 동시에 재연결이 요청되지 않도록 각 단말별 재요청 시간 동적 조정
   - Ping 메시지가 순간적으로 몰리지 않도록 각 단말별 재전송 시간에 대한 동적 조정 (분포도는 서버에서 확인 가능할 것이다)
 - 서버의 지역/국가 분산 배치 및 유연한 보안 정책 적용
 - 오픈소스 및 클라이드 기반 구축 (저비용/고확장성 서버 구축)
   - Auto-Scaling 가능한 인프라 확보
   - 서버 증가에 따라 솔루현 라이센스 비용이 비례하여 증가하지 않도록 함.
   - OLD { (상용 메시지 솔루션), (High-End DB), (Typical IDC) }
        --> NEW { (오픈소스 메시징, 분산 서버), (Low-End DB or NoSQL), (자체 Private Cloud or 외부 Public Cloud 활용) }
 
* 4G 시대의 메시징 서비스
 - 실시간 멀티미디어 및 컴버전스 서비스 강화 예상
 - Real-Time + Multimedia + Convergence

* ChatON 서비스 인프라 요구사항
  - Global IDC
  - 대용량, 고성능 서비스 (10억 이상의 단말 지원)
  - 저비용 구조 (무료 서비스)
  - Auto-Scaling (초기 사용량 예측이 어려움)
  - 무정지, Response Time 보장 (안정적인 QoS) 

* 기존 IDC 인프라 사용시 문제점
  - Global IDC 사용
  - 고성능 서버 사용
  - 단위 성능당 비용이 높음
  - 폭주시 즉각적인 대응 불가(장애)
  - 충분한 H/W 확보 필요

* Cloud 인프라를 활용하여 구축하는 방안
  - Global Cloud 활용
  - 대용량 서버 사용
  - 단위 성능당 비용이 낮음
  - Auto-Scaling
  - 지역별 DR(Disaster Recovery), HA(High Availability) 구조로 무정지 인프라 구축 
//