Subscribe: Channy's Blog
http://channy.creation.net/blog/?feed=rss2
Added By: Feedage Forager Feedage Grade B rated
Language: Korean
Tags:
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Channy's Blog

Channy's Blog



Insights for Web 2.0, Open Source and Open Standards



 



아이폰 10주년 아이폰X(10) 공개

Tue, 12 Sep 2017 21:35:02 +0000

아이폰 10주년을 맞아 애플이 아이폰X(10)을 공개했습니다. 그동안 아이폰 출시에 대한 많은 비밀주의가 있었는데, 이번 만큼은 외부에 너무 많이 공개 되었죠. (아는 사람은 다 아는 그래서 전혀 새롭진 않았습니다.) 

  • 홈버튼은 역사속으로 – 요즘 안드로이드 최신 버전에는 홈버튼이 없죠. 아이폰의 트레이드 마크였지만 이제 역사속으로 없애고, 아래에서 위로 쓸면 됩니다. 밀어서 잠금 해제가 없어지고, 눌러서 잠금 해제도 이제 사라졌습니다. 따라서, 지문 인식을 통한 TouchID도 사라짐…
  • 인공지능 Face ID 향상 – 얼굴을 통한 인식 기능에 신경을 많이 쓴 것 같습니다. 헤어스타일이나 화장을 해도 자기 얼굴을 인식할 수 있는데, 이를 위해 앞에 카메라 뿐만 아니라 각종 감지 센서, 적외선, 조명 등이 동원됐고, A11칩에 신경망 엔진(딥러닝)까지 집어 넣었군요. 이모지 캐릭터로 얼굴 감정 변화를 넣을 수 있다는 재미 요소도 넣었지만… 너무 하이 스펙인 것 같아요.
  • 고성능 OLED 디스플레이 – 화면은 5.8인치, 해상도는 2436 x 1125, 458ppi 기반 OLED 디스플레이를 탑재했습니다. 아이폰 7에 비해 거의 2배입니다. 자! 모바일 앱 개발자들과 디자이너들은 또 한번 디자인 리소스 업데이트를 해야 하고, 사용자들은 더 많은 저장공간과 데이터 사용량이 필요하겠네요. 점점 더 무거워지고 더 비싸지고…
  • 가격은 999달러 부터 – 예약 판매는 10월 27일, 출시는 11월 3일 입니다. (한국은 아무래도 연말이나 내년 초?) 64GB와 256GB 용량으로 999달러 부터 판매를 합니다. 1차 출시 예약을 빨리 해도 추수감사절 시즌에나 받을 수 있을 것 같네요. 요걸 노린듯…

놀라운 건 이게 아니라, 아이폰X 출시와 함께 아이폰 8이라는 어중간한 제품을 같이 출시했다는 겁니다. 아이폰 8에 대해 열심히 설명을 했지만, (죄송 기억이 안납니다) 아이폰X에 다 묻혀버렸습니다. 이번달에 출시하는데, 아이폰 7을 대체할 만큼 좋은지는 잘 모르겠습니다. (애플 워치3, 애플 TV 4K도 공개했습니다만… 죄송 역시 기억이 안납니다.)

결론… 저는 올해 1월 1일에 산 아이폰 7 그대로 쓸 겁니다 ㅎㅎ

(image)

제품 사이트

동영상

p.s. 2007년 아이폰이 출시 되었으니 벌써 10년이 지났군요. 10년이면 강산이 변한다는데, 정말 많은 게 바뀌었습니다. 한국 출시가 계속 늦어져서, 우리 나라 사람들은 2010년이 되어서야 쓸 수 있게 되었고, 안드로이드가 나오고, 전 세계적인 거대한 모바일 환경 변화가 있었습니다. (Thanks, Jobs!)




어른들의 소통 방식

Sun, 10 Sep 2017 23:00:49 +0000

김상조 공정위원장이 ‘스티브 잡스’를 비유로 들어 이해진 의장의 경영 능력에 대해 비판한 것은 적절하지 못했습니다. 국내 IT 산업에 대한 무지를 그대로 드러낸 것이고, “당시 이 얘기를 할까 말까 하다가 안 했다”라는 이야기를 언론에 한 것은 더욱 그렇지요. 당사자에게 개인적으로 하면 되지, 언론에 그 이야기를 왜 하시나요? (9월 5일자 국민일보 인터뷰 기사)

하지만, 비유가 적절하지 못했을 뿐, 김 위원장의 생각에 대한 맥락에 대해서는 다른 기사를 통해서는 이해할만 합니다.

-지난달 14일 공정위를 직접 방문한 이 전 의장과 10분 가량 환담을 나눴는데.

“10분 가량 이야기를 나누면서 이 전 의장에 대해 우리나라 신(新) 산업을 일으킨 ‘개척자’라는 존경심을 갖게 됐다. 다만 개척자로서 이 전 의장이 우리 사회에서 보다 ‘영속성’을 지니기 위해서는 조금 더 고민이 깊어져야 한다는 느낌을 받았다. 친인척을 경영에 개입시키지 않고 지분을 최소한도로 줄이는 등 그 동안 사회적으로 지탄을 받아 온 재벌 총수와 다른 모습을 보여준 것만으로 미래까지 담보할 순 없다. 지금까지 이 전 의장이 보여준 모습은 우리가 개혁해야 할 ‘과거의 구태’로부터 벗어난 것일 뿐이다. 우리사회가 지향해야 할 새로운 기업의 모습을 아직 보여주진 못하고 있다.”

-네이버가 국내 검색 시장을 사실상 독점하는 것에 대한 우려의 목소리가 적지 않다.

“이 같은 우려에 대해 이 전 의장이 스스로 사회에 메시지를 전달할 필요가 있다. 이것을 하고 있지 않기 때문에 경쟁당국이 법으로 집행해야 한다는 필요성을 느끼게 된 단계까지 온 것이다. 이 전 의장이 지금까지 자신이 달성한 부분에 대해 우리 사회가 어떻게 평가하고 있는지를 폭넓게 청취하고, 사회에 메시지를 던져야 한다. 너무 늦어지면 법적 ‘태클’을 받을 수밖에 없다. 규모가 큰 기업의 리더가 해야 하는 중요한 역할은 시장 개척이나 신기술 개발이 아니다. 이는 전문경영인에게 위임할 수 있다. 진짜 리더의 역할은 사회 구성원들이 어떤 요구를 하고 있는가를 파악하고, 사회와 맞춰가는 것이다. 이재용 삼성전자 부회장이 실패한 게 바로 이 지점이다.” [한국일보] 김상조 “4대 그룹 개혁, 12월이 데드라인”

본 인터뷰에서는 네이버 뿐만 아니라, 삼성과 현대차의 지배 구조와 총수들에 대해서도 비판을 마다하지 않았습니다. 공정위원장 자리에서 주요 대기업의 이슈에 대해 직접적인 이야기하는 것이 부적절할 수 있습니다.

하지만, 대기업들이 일반적인 국민 정서를 잘 이해하지 못하고, 총수의 지배 구조를 방어하기에만 급급하고, 기업 총수는 사회적 책임을 방기하고 있다면, 공정위원장으로서 시정하도록 조언을 해주는 것도 필요합니다. 삼성전자, 네이버를 포함 우리 나라 대다수 대기업의 주요 주주가 바로 국민 연금입니다. 일반적인 국민들이 느끼는 감수성에 맞출 필요가 있지요.

(image)

다음 창업자인 이재웅님이 김상조 위원장의 발언에 ‘부적절하다’고 표현 하신 것은 수긍합니다. 기업가를 대하는 정부 관료의 자세는 아니니까요. 만약 이런 충고를 할 수는 있지만, 하더라도 개인적으로 하는 게 맞습니다.

제 글이 언론에 인용될 줄 몰랐습니다. 오만이라는 표현은 부적절했습니다. 김상조위원장의 표현도 부적절했습니다만 제 표현도 부적절했습니다. 수정합니다.
——
할 말이 많습니다만 딱 한 마디만 하겠습니다,
김상조 위원장이 지금까지 얼마나 대단한 일을 했고, 앞으로 얼마나 대단한 일을 할지는 모르겠지만, 아무것도 없이 맨몸으로 정부 도움 하나도 없이 한국과 일본 최고의 인터넷 기업을 일으킨 기업가를 이렇게 평가하는 것은 부적절합니다.
동료기업가로서 화가 납니다. (출처: 이재웅 페이스북)

하지만, 이를 설명하는데 있어 맥락 없이 (나중에 수정하셨지만) ‘오만하다’고 표현하신 것은 적절하지 못했습니다. 뉴스로 쓰라고 미끼를 던진 것 뿐이고, 언론이 받아 쓸 수 밖에 없는 종류의 발언이었죠.

그 뒤로 페북에 쓴 사견이 기사화 될 것을 몰랐다고 해명하시면서 맥락을 다시 설명하셨는데, 제가 알기로 재웅님의 페북 발언 인용 기사가 나온 건 한두번도 아닙니다. 나는 이재웅님이 혁신 기업가로서 하신 일을 존경하고, 제 삶에서도 그 분의 경영자로서 하신 판단에 영향을 많이 받아 왔습니다. 하물며 내 개인에게도 그럴진데 우리 나라 2대 포털 사이트를 만든 창업자의 발언의 크기가 어느 정도인지 스스로 모르셔서 하는 이야기입니다. (그때 마다 내 이야기가 기사화 될지 몰랐다고 이야기하실 건가요?)

김상조 위원장 말처럼 이해진 의장이야 아예 입을 닫고 산다고 치고, 이재웅님처럼 그동안 사회적 발언을 해 오셨다면 그게 사견을 이야기하는 공간이라도 신중하게 이야기를 하고, 어떤 이야기를 할 때는 맥락을 충분히 설명해야 합니다.

저도 페북에 한마디 한마디 할 때는 1만명 가까이 되는 팔로워 여러분들의 감수성을 고려하고 단어 하나 하나 고르고 바꾸고 퇴고합니다. (비공개로 이야기한 것도 공익이든 아니든 기사화하는 게 기자들입니다. 기자들을 믿어서는 안됩니다.)

페이스북이나 트위터를 우리나라에서는 소셜 네트워크 서비스(SNS)라고 하지만, 해외에서는 소셜 미디어라고 합니다. 그만큼 공적 공간이죠. (친구들끼리 잡담은 1:1로 메신저 하거나, 아예 사람을 지정해서 비공개로 하면 됩니다.) 아직까지 많은 어른들이 이러한 파급력을 모르거나, 알더라도 순진하게 생각하는 것 같습니다. 이제 언론만 미디어가 아닙니다. 나의 말이 어떻게 퍼질지 모르는 세상입니다. 어제도 어떤 시인 한분께서 예술적 감성으로 한 진담반 농담반의 특급 호텔의 숙박 요구에 대해 한바탕 홍역을 치르신것으로 압니다.

어른들 뿐만 아니라 아이들도 소셜 미디어의 파급의 표적이 됩니다. 득이 될 수도 실이 되기도 하는 양날의 검이죠. 사람들과의 원활한 소통을 가능하게 도와주지만 그 반대의 영향을 가져올 수 있기 때문에 지혜롭게 사용할 줄 알아야 합니다.




네이버 창업자의 대기업 동일인 지정에 대한 시각

Mon, 04 Sep 2017 23:00:52 +0000

“좋은 법은 선량한 사람에게는 해가 없다.”

일정 규모 이상의 기업 집단에 대한 순환 출자와 총수에 의한 사익 편취를 막기 위해 만든 대기업 규제가 네이버와 이해진 전 의장에게 얼마나 큰 피해를 주는 지 모르겠다. 오히려 기업의 사회적 책임을 더 한다는 측면에서, 공정위의 판단에 동의한다. (카카오나 넥슨의 경우, 대기업 지정에 따른 창업자에 대한 동일인 지정에 대해 이슈를 제기하지 않았다.)

(image)

또한, 전체적인 맥락에서 이 전 의장이 실효적인 의사 결정과 지배를 하고 있다는 공정위의 판단 역시 합리적이다. 단순히 현재 이 전 의장의 지분율이 낮고, 경영에 직접 관여하지 않고, 글로벌 시장에서 안 좋은 평판을 준다는 이유는 너무 아마추어적인 접근 같다.

누가봐도 그가 지금까지 네이버을 실질적으로 지배해왔으며, 본인의 이사회 의장 사퇴와 경영진 변화가 대기업 집단 지정을 앞두고 전격적으로 이뤄졌다. 여전히 네이버에서 사내 이사로서, 글로벌 투자 담당으로서 영향력이 상당하고, 이번 동일인 선정 이슈와 관련해 (행정 소송 고려 등) 전사적으로 여론전을 펴는 것만 봐도 알 수 있다.

공정위는 “이 전 의장이 최근 미래에셋대우와 맺은 자사주 교환도 총수 판단의 근거가 됐다. 공정위는 이 전 의장은 당시 교환으로 1.71%의 우호 지분을 확보했으며, 향후에도 10.9%에 달하는 잔여 자사주의 추가 활용 가능성을 배제할 수 없다고 판단했다.”  [경향신문] 공정위 “네이버 총수는 이해진” 결론···‘재벌’로 규제 시작

일반인들은 잘 모르겠지만, 네이버는 상장 후 지금까지 거의 매년 2천억 이상의 자사주를 계속 사 들여왔다. 네이버 순이익이 연간 4천-5천억 정도임을 감안하면 거의 반이다. 그로 인해 네이버 전체 지분율에서 자사주 비율은 2008년 3%에 불과했으나, 2016년 말에는 12.6%가 되었다. 이해진 의장을 제외하면 가장 높은 비율이다. 물론 자사주 취득이 주주 가치를 높인다는 이유로 이뤄졌고 의결권을 가지고 있지는 않지만, 결과적으로 주가를 높여 적대적 M&A을 막고, 우호 지분 확보로 경영권을 방어할 수 있는 효과적인 수단이 되었다.

국내 대표 IT기업이면서도, 글로벌과의 규모의 경쟁에서 힘들다고 늘 앓는 소리를 해 온 네이버가 순이익의 반을 직접 투자가 아닌 자사주 취득에 썼다는 점은 눈 여겨 볼 대목이다. 2007년 부터 10년간 자사주 매입에 쓴 돈만 1조 7천억이 넘는다.

그럼에도 불구하고 나는 그동안 창업자 본인의 사업 철학과 비전을 흔들리지 않고 실현하고, 안정적인 경영권을 유지 하기 위해 네이버가 올바른 결정을 해왔다고 생각한다. 하지만, 그 결과로 인해 (공정위가) 책임을 질 위치에 있다고 판단했다면, 책임을 지는 것이 정도가 아닐까?

하고 싶은 데로 다 하고, 막상 책임질 상황이 되면 발을 빼는 게 재벌 총수들이 하는 행태 아니던가. 오히려 모범을 보여 이런 규제가 네이버에게 정말 불필요 했구나라고 인식시키며, 변화를 이끌어내는 것이 업계 리더로서 올바른 자세일 것이다. 네이버에게 낡은 규제였음을 스스로 증명하면 된다.




클라우드에 딱 맞는 MXNet의 5가지 딥러닝 학습 기능

Thu, 10 Aug 2017 18:56:55 +0000

Apache MXNet  (인큐베이팅 프로젝트)는 최첨단 딥러닝(Deep Learning) 학습 모델 제작을 지원하는 확장 성이 뛰어난 오픈 소스 프레임 워크입니다. 이를 통해 CNN (Convolutional Neural Network), LSTM (Long Term Memory Network) 등을 만들 수 있고, Python, Scala, R 및 Julia를 포함한 다양한 언어를 지원합니다. 이 글에서는 MXNet이 AWS 클라우드 개발자 친화적인 프레임워크로서 자리 매김하는 몇 가지 독특한 기능을 소개합니다.  Python에서 MXNet을 사용하여 신경망 코딩을 하는 분을 위한 한 장짜리 기능 요약집도 하단에 있으니, 많이 참고해 보시기 바랍니다. #1  코드 몇 줄로 다중 GPU 학습 지원 다중 GPU 기반 학습 실행 기능은 MXNet 아키텍처의 핵심 부분입니다. 모델을 학습시키려는 장치 목록을 전달하면 됩니다. 기본적으로 MXNet은 데이터 병렬 처리를 사용하여 여러 GPU에서 작업 부하를 분할합니다. 예를 들어, GPU가 3 개인 경우 각 모델은 전체 모델 사본을 받고 각 데이터 배치(Batch)의 1/3로 나눠 학습을 진행합니다. import mxnet as mx # Single GPU module = mx.module.Module(context=mx.gpu(0)) # Train on multiple GPUs module = mx.module.Module(context=[mx.gpu(i) for i in range(N)], ...) MXNet은 다중 GPU 혹은 다중 서버 기반 학습에서 가장 뛰어난 효율을 보이고 있습니다. #2 다중 서버 기반 학습 가능 MXNet은  다중 서버에서 여러 GPU에 대한 학습 또한 간소화하도록 설계한 분산형 딥러닝 학습 프레임 워크입니다. 서버 클러스터 전체에서 학습을 하려면, 모든 컴퓨터에 MXNet을 설치하고 SSH를 통해 서로 통신 할 수 있는지 확인한 다음 서버 IP가 포함 된 파일을 만들어야 합니다. $ cat hosts 192.30.0.172 192.30.0.171 $ python ../../tools/launch.py -n 2 --launcher ssh -H hosts python train_mnist.py --network lenet --kv-store dist_sync MXNet은 키-밸류 스토어를 사용하여 서버 간의 그라디언트와 파라미터를 동기화할 수 있습다. 이를 통해 분산 학습을 수행 할 수 있으며, 본 기능은 USE_DIST_KVSTORE = 1을 사용하여 MXNet을 새로 컴파일하면 됩니다. #3 데이터는 Amazon S3! MXNet에서 데이터 반복자(iterators)는 Python iterator 객체와 비슷합니다. 단, 해당 레이블과 함께 “n”개의 학습 예제가 포함 된 DataBatch 객체로 데이터 배치(batch)를 반환한다는 점이 다릅니다. MXNet에는 NDArray 및 CSV와 같은 공통 데이터 유형에 대해 미리 작성된 효율적인 데이터 반복자를 가지고 있습니다. 또한, HDFS와 같은 분산 파일 시스템에서 효율적인 I/O를 위해 바이너리 형식을 사용하기도 합니다. mx.io.DataIter 클래스를 확장하여 사용자 정의 데이터 반복기를 만들 수 있습니다. 이 기능을 구현하는 방법에 대한 자세한 내용은 기본 튜토리얼을 참조하시면 됩니다 . 특히, Amazon S3 (Amazon Simple Storage Service)는 대량의 데이터를 매우 저렴한 비용으로 저장해야 하는 고객에게 유용합니다. MXNet에서는 데이터를 디스크에 직접 다운로드 할 필요 없이 RecordIO, ImageRecordIO, CSV 또는 NDArray 형식의 Amazon S3에 저장된 데이터를 참조하는 반복자를 만들 수 있습니다. data_iter = mx.io.ImageRecordIter( path_imgrec="s3://bucket-name/training-data/caltech_train.rec", data_shape=(3, 227, 227), batch_size=4, resize=256) # 4 신경망 시각화 기능 MXNet에서는 신경망 아키텍처를 시각화 할 수 있도록 Graphviz와 통합되어 있습니다. 네트워크 시각화를 생성하려면, node_atters 속성으로 정의한 대로 네트워크의 모양과 함께 네트워크의 마지막 레이어를 참조하는 심볼을 사용 합니다. 아래 예제는[...]



클라우드 네이티브 컴퓨팅 – Adrian Cockcroft

Wed, 09 Aug 2017 16:34:35 +0000

Written by Adrian Cockcroft * Disclaimer @adrianco의 사진 – 무지개에 의한 굴절의 클라우드 네이티브 컴퓨팅. Amazon Web Services는 Cloud Native Computing Foundation에 가입했습니다.  저는 앞으로 AWS를 대표하여 CNCF 이사회 멤버로 참여하고, AWS 오픈 소스 팀의 Arun Gupta 와 함께 CNCF 프로젝트 및 워킹 그룹과 기술 협력을 진행할 예정입니다. 이러한 활동이 무엇을 의미하는지 잘 설명하기 위해, 저는 “클라우드 네이티브”가 의미하는 바를 설명해 드리고 싶습니다. 저는 2009 년에 Netflix에서 일하고 있었습니다. 당시 엔지니어링 팀은 AWS로 마이그레이션  해야하는 새로운 애플리케이션 아키텍처 패턴을 파악하고 있었습니다.  팀 내에서는 eBay, Yahoo 및 Google에서 근무한 다양한 사람들이 클라우드에서 대규모 배포를 자동화하는 방법을 적용 중이었고, Werner Vogels 와 AWS로부터 새로운 아이디어를 배웠습니다 . 결과적으로 신규 아키텍처에는 클라우드 네이티브(Cloud Native)라는 기본 가정이 생겼습니다. 2010 년에 우리는 클라우드 마이그레이션에 관해 공개적으로 이야기하기 시작했고, 2012 년에는 NetflixOSS 로 통칭 되는 일련의 오픈 소스 프로젝트를 통해 전혀 새로운 플랫폼을 구축할 수 있었습니다. 우리가 이러한 ‘클라우드 네이티브’ 패턴을 모두 만들지는 않았지만, 함께 모아서 하나의 아키텍처로 모으고, 대규모로 구현하고, 공개적으로 이야기 하고, 코드를 공유하는 공유하였습니다. 클라우드 네이티브 아키텍처는 주문형(On-deman) 제공, 글로벌 배포, 탄력성 높은 클라우드 서비스를 최대한 활용합니다. 이를 통해 개발자 생산성, 비즈니스 민첩성, 확장성,  가용성, 활용도 및 비용 절감 효과를 크게 높일 수 있습니다. 온-디멘드 방식은 사람들이 클라우드로 이동하는 가장 중요한 이유인 경우가 많지만, 기존 응용 프로그램 배포 시간을 단축 시키는 것은 아닙니다.  하지만, 클라우드 네이티브에서는 자원에 대한 임시(ephemeral ) 및 불변(immutable) 배포을 할 수 있습니다 . 자원 확보에 수주가 걸리는 구형 배포 모델에서는 불필요한 추가 용량을 미리 주문하고, 사용 후에도 돌려 주기를 꺼려하는 문제를 만들어냅니다. 대신,  클라우드 네이티브 패턴은 임시로 인스턴스를 받아오고, 콘테이너를 빌드하고, 필요한 만큼 많은 동일한 복제본을 배포하고, 사용 후에는 그냥 반납하고, 코드가 변경 될 때마다 새로운 이미지를 만들어 다시 반복할 수 있습니다. NetflixOSS는 맞춤형 Amazon Machine Images (AMI)를 만들어 이러한 개념을 적용하였습니다. 기존에 물리적인 다수 데이터 센터에  애플리케이션을 배포하는 것은 상대적으로 드물고 구현하기 복잡합니다. 하지만, 클라우드 네이티브 아키텍처는 다중 가용 영역(Zone) 및 다중 리전(Region) 배포가 기본입니다. 이러한 배포 모델을 효과적으로 작업하려면, 개발자는 분산 시스템 개념을 잘 이해하고 있어야합니다.  그래서, 넷플릭스에서 개발자를 뽑을 때 “CAP 정리“는 주요 인터뷰 질문 중에 하나였습니다.  기술의 엄청난 향상에도 불구하고, 빛의 속도는 일정하므로 네트워크 대기 시간, 특히 글로벌 다중 리전 대기 시간은 항상 제약이 될 것입니다. 클라우드 네이티브 아키텍처는 높은 확장성을 가집니다. 2010년 Netflix의 AWS 사용에 대해 처음 발표 했을 때, 당시 수 천 개의 AWS 인스턴스에서 프론트 엔드 애플리케이션을 실행하면서 미국 내 약[...]



영화 “택시운전사”에 나오지 않은 네가지 이야기

Sun, 06 Aug 2017 15:00:07 +0000

주말에 영화 “택시운전사”를 보신 분들 많으시죠?

우리 나라의 근대사의 가장 아픈 역사 중 하나인 5.18 민주화 운동에 대해 직접 잠입 취재를 한 외국인 기자  위르겐 힌츠페터와 그와 함께 운전을 해서 광주를 다녀온 기사이자 통역인 김사복씨에 대한 실화를 기반으로 만들어졌습니다.

영화는 실화를 각색한 것으로 광주 밖의 일반 시민의 입장에서 참상을 겪으면서, 직접 현장에 뛰어드는 택시 운전사에 초점을 맞추고 있지만, 더욱 주목할 만한 사실은 외국인으로 비밀 잠입해서 취재를 한 힌츠페터에 있습니다. 이 글에서는 영화에서 나오지 않는 몇 가지 역사적 사실을 살펴 볼께요. (스포일러는 없음)

1. 광주로 향한 사람은 힌츠페터 뿐이 아니었다.
독일 공영방송 ARD의 기자인 힌츠페터는 광주를 취재하기 위해 19일 나리타에서 서울로 들어왔다. 소개 받은 기사 김사복 외에도 녹음 기사 헤닝 루모어도 함께 있었다. 20일 그들은 광주까지 텅빈 고속도로를 달려 와서 검문소에서 군인들에게 길이 엇갈린 동료를 찾으러 광주로 들어가야 한다고 했다. 시위대에 희생당할 수 있으므로 구출해야 한다고 이야기를 만들었다.

(image)
는 당시 광주에 있었던 외국인은 국제사면위원회 소속의 두 외국인 젊은이와 인터뷰를 하고, 그들이 목격한 끔찍한 일에 대해 알게 되었다. 군인들이 폭력을 쓰고 학대하면서 시위대를 진압했다는 것으로 상상을 초월하는 규모의 잔혹함이 처음 며칠 동안 일어났다고 전했다.

2. 광주에서 나올 때 검문은 삼엄하진 않았다.
21일 힌츠페터는 취재 자료를 외부에 공개하기 위해 광주에서 나오면서 두 번 검문 받았는데, 촬영 필름을 차 안에 숨겨두었고 대개 군인은 그 안에 총기가 있는지 살폈지, 촬영 자료를 발견하지 못했다. 서울에 도착한, 힌츠페터 일행은 필름 10개를 두 개로 나눠 5개는 허리춤에 넣고, 5개는 쿠키 상자에 넣는 방법으로 나누어 압수 위험에 대비했다.

(image)

그는 일본에 도착 한 후, 바로 필름을 독일로 보냈다. 독일 제1공영방송은 참상을 담은 그의 컬러 필름을 21일 TV 뉴스로 내보냈고, 많은 외신들이 이 기사를 통해 광주의 참상을 알게되었다.

3. 힌츠페터는 출국 후 곧장 한국으로 돌아왔다!
힌츠페터는 일본에 3시간만 머물고 다시 한국으로 귀국했다. 귀국 후 그는 김영삼 자택앞에서 취재를 했으나 거부당하고, 23일 광주로 다시 들어갔다. 이미 그때는 계엄군과 시민군 사이의 총격전으로 많은 사람이 죽고 다친 상태였다.

그의 두번째 취재 영상은 생각보다 평온했던 시민들의 일상을 담았고, 당시 계엄군 측이 언론에 흘린 ‘폭도가 점령해 아비규환이 된 시내 상황’같은 주장을 정면으로 반박하는 확실한 증거가 되었다.  그의 취재와 영상 자료가 없었다면 위 주장대로 사실이 날조되었을 가능성이 컸다.

4. 그의 필름은 23년 만에 한국에 공식 공개됐다!
힌츠페터가 광주에서 찍은 영상은 1980년 9월 독일에서 《기로에 선 한국》이라는 다큐멘터리로 제작되었고, 독일에서 유학중이던 한국인 신부들이 들여와 국내 각처에서 비밀 상영되었다. 23년만인 2003년 5월 18일 KBS 1TV 「일요스페셜」’80년 5월, 푸른 눈의 목격자’편에서 처음 공개됐다.

아래는 전편 영상!

1986년 11월에는 광화문 네거리에서 시위를 취재하던 도중 사복 경찰에게 집단 구타를 당해 목뼈와 척추가 부러지는 중상을 입고 귀국한 그는 한때 생명이 위태로울 때 국립 5.18 묘역에 묻히고 싶다는 의지를 피력했다. 2005년 송건호 언론상을 수상했으며, 2016년 1월 25일 세상을 떠난 후, 생전에 남긴 모발과 손톱 등이 그해 5.18 기념식에서 구묘역 입구에 안치되었다.

(image)

역시 역사는 행동하는 사람에 의해 바뀐다는 점!

더 읽어볼 글
– 위르겐 힌츠페터 위키 백과
– 위르겐 힌츠페터 나무위키




시애틀에 있는 세 가지 아마존(Amazon) 명소

Thu, 03 Aug 2017 23:44:26 +0000

시애틀(Seattle)하면 생각 나는 것이 많죠! ‘시애틀의 잘 못 이루는 밤, 스페이스니들, 파이크 수산 시장, 스타벅스 1호점’ 등등… 그 중에서도 시애틀을 대표하는 기업 중 하나인 아마존(Amazon)이 있습니다. 재미있는 건 오피스가 거의 다운 타운에 있는데, 최근에 관광객들에게도 인상적인 몇 가지 볼거리가 늘어나기 시작했습니다.

(image)

Amazon Go 스토어 – 2131 7th Ave, Seattle
컴퓨터 비전, 딥러닝, 센서 융합 같은 기술을 통해 만든 판매원이 없는 매장입니다. 현재 직원들을 대상으로 베타 테스트를 하고 있는데, 들어가 봤는데 실제로 잘 동작하더라구요. 과일팩 하나 사 가지고 나왔습니다.  아직 들어가지는 못하지만, 밖에서 사진 찍는 건 가능합니다.

홈페이지에서 언제 일반인에게 오픈 하는지 알림 메일을 받으실 수도 있습니다. 아마 여러분이 오실 때 쯤 되면 일반 공개 되면 좋겠네요.

Amazon Sphere  2117 7th Ave, Seattle, WA
Amazon Go 바로 옆에는 Spheres라는 3개의 대형 유리 원형 조형물이 만들어지고 있습니다. 직원, 시민, 관광객들이 도심에서 자연을 느낄 수 있도록 거대 열대 우림을 조성하는 프로젝트입니다. 이를 위해 시애틀 근교 온실에서 2015년 부터 4만종의 다양한 식물을 키우고 있습니다. 얼마 전부터 식물을 옮기는 작업을 하고 있고, 2018년에 오픈되면 시애틀의 새로운 명소가 될듯합니다.

스페어 바로 옆 건물은 아마존 미팅 센터가 있습니다. 이 건물은 일반인들도 쉴 수 있는 공간을 제공하구요. 재미있는 건 매일 바나나를 가져 갈 수 있도록 놔 둔다는 점인데요. 누구나 하나씩 가져갈 수 있어요.^^

Amazon Book Store4601 26th Ave NE, Seattle
이미 2015년에 오픈해서 운영 중인 오프라인 서점입니다. 시내에서 북쪽으로 워싱턴주립대(UW) 근처에 유니버시티 빌리지라는 곳에 있습니다. UW 캠퍼스가 이쁘니까 구경하러 갔다가 가면 좋습니다. 주로 아마존에서 별점 높은 책들이 전시되어 있고, 킨들 같은 디지털 기기들이 전시되어 있는 곳입니다. 이미 많은 분들이 다녀갔고, 임정욱님, 김진영님 등 다양한 후기가 있으니 한번 읽어 보시길…

아마존 북 스토어는 시애틀 뿐만 아니라 뉴욕, 샌디에고, 보스톤 근교 등 8개가 있는데, 캘리포니아를 중심으로 더 늘어날 예정입니다.

시애틀을 방문해 보신다면, 한번 방문해 보신다면 어떨까요?




MXNet 기반 추천 오픈 소스 딥러닝 프로젝트 모음

Wed, 02 Aug 2017 17:21:48 +0000

Apache MXNet 은 일반 개발자가 손쉽게 딥러닝(Deep Learning) 모델을 구축, 학습 및 실행하는 데 도움을 주는 오픈 소스 라이브러리입니다. 이전 시리즈에서 MXNet API 및 주요 기능, 활용 방법에 대해 소개했습니다. 이 글에서는 MXNet을 다양한 유스 케이스에 적용하는 특징적인 오픈 소스 프로젝트를 소개합니다. (참고로 MXNet Model Zoo에는 다양한 주요 딥러닝 학습 모델 사례가 있으니, 먼저 살펴 보시기 바랍니다!) #1 — 이미지 객체 인식 이 프로젝트는 하나의 이미지에서 여러개의 객체를 탐지하는  것으로 mxnet-ssd (논문 링크)라는 프로젝트를 개량한 것으로 MXNet의 특징이라고 할 수 있는, 멀티 GPU에서 성능을 향상 시킨 것입니다. precedenceguo/mx-rcnn mx-rcnn – Faster R-CNN, an MXNet implementation with distributed implementation and data parallelization 이 프로젝트는 아래 연구 결과를 기반으로 합니다. Ross Girshick: Fast R-CNN Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun: Faster R-CNN: Towards real-time object detection with region proposal networks #2 — 스마트폰용 이미지 분석 프로젝트 MXNet 입문 마지막 가이드에서 살펴본 대로,  Inception v3 을 사용하면, 모바일 기기에서도 실시간으로 이미지 분석이 가능합니다. 아래 프로젝트는 안드로이드 및 iOS에ㅓ 사용할 수 있는 이미지 인식 프로젝트입니다. dneprDroid/ImageRecognizer-iOS dneprDroid/ImageRecognizer-Android #3 — 얼굴 인식 및 안면 감지 기능 이 프로젝트는 Amazon Rekognition의 얼굴 인식과 유사한 기능을 제공합니다. 좀 더 자세한 구현을 하고 싶은 경우, 좋은 출발점이 될 수 있습니다. tornadomeet/mxnet-face 이 프로젝트는 아래 연구 결과를 기반으로 합니다. Wu X, He R, Sun Z. A Lightened CNN for Deep Face Representation Rudd E, Günther M, Boult T. MOON: A Mixed Objective Optimization Network for the Recognition of Facial Attributes Jiang H, Learned-Miller E. Face detection with the faster R-CNN #4— 자동차 번호판 인식하기 이 프로젝트는 81 % 정확도로 MacBook Pro에서 초당 9 매의 번호판 인식을 수행할 수 있습니다. 약간의 노력을 더 한다면 다른 문자 인식 사용 사례에 적용할 수 있습니다 szad670401/end-to-end-for-chinese-plate-recognition #5 — Sockeye : 기계 번역 프로젝트 Sockeye 프로젝트는 MXNet에 기반한 신경망 기계 번역(Neural Machine Translation)을 위한 시퀀스-시퀀스(sequence-to-sequence) 프레임 워크입니다.  AWS에서 개발하고 있으며, 더 자세한 것은 MXNet 기반 Sockeye를 통한 기계 번역 학습 해보기를 참고하시기 바랍니다. awslabs/sockeye sockeye – Sequence-to-sequence framework with a focus on Neural Machine Translation based on MXNet AWS  기반 배포 방법 지금까지 다른 Python 애플리케이션과 마찬가지로 Amazon EC2 인스턴스에서 MXNet 코드를 실행했습니다. AWS에서 애플리케이션을 실행할 수 있는 대체 방법(콘테이너 및 서버리스)이 있으면, 이는 MXNet에 적용할 수 있겠죠. #6— Amazon ECS와 코드 도구를 통한 MXNet API 지속적 배포 방식 이 프로젝트는 AWS CloudFormation 템플릿을 사용하여 MXNet 모델 또는 애플리케이션 코드의 변경 사항을 파이프 라인을 통해 배포, 구성 및 조율하는 자동화 된 워크 플로우를 생성할 수 있습니다. CodePipeline과 CodeBuild를 사용하여 지속적 전달(CD) 방식이 가능하고,  몇 분 만에 사용자가 사용할 수 있습니다. awslabs/ecs-mxnet-example Deploy Deep Learning Models on Amazon ECS | AWS AI Blog #7 —  MXNet Lambda 함수로 배포 하[...]



Apache MXNet에 대한 모든 것!

Mon, 31 Jul 2017 23:04:31 +0000

아마존의 CTO인 Werner Vogels 박사는 MXNet – Deep Learning Framework of Choice at AWS라는 글에서 확장 능력, 개발 속도, 이동성 등의 다양한 요인을 비추어 볼 때, MXNet이 가장 좋은 인공 지능 애플리케이션 개발을 위한 딥러닝 프레임웍이라고 판단하고, 이를 기반한 딥러닝 서비스 개발 지원 및 오픈 소스 지원에 대한 의지를 피력한 바 있습니다. 이 글은 다양한 오픈 소스 딥러닝 프레임웍 중에 아마존이 선택한 Apache MXNet에 관한 다양한 한국어 자료들을 모아서 제공하는 것을 목적으로 합니다. Apache MxNet은 개발자들에게 친숙한 심볼릭(Symbolic)과 명령형(imperative) 프로그래밍의 혼합 방식을 지원할 뿐만 아니라 CPU와 GPU 연산을 지원하고, 특히 GPU 클러스터에 최적화된 엔진을 사용해서 성능이 뛰어납니다. 또한, 실무적으로 많이 사용하는 Python, C++, R, Scala, Julia, Matlab, and JavaScript을 지원하고, 모바일 기기 부터 서버까지 다양한 디바이스를 지원하여 산업계에서 응용하기에 매우 적합한 딥러닝 프레임워크입니다. Apache MXNet 입문 가이드 이 시리즈는 AWS 테크 에반젤리스트인 Julien Simon이 연재한 MXNet 관련 글 모음의 번역 편집본으로 최근 각광 받고 있는 Deep Learning 라이브러리인 Apache MXnet을 개괄적으로 설명하려고 합니다. 이 글은 간단한 코드를 이해하는 개발자라면 기계 학습과 인공 지능을 잘 알지 못하는 분이라도 쉽게 따라올 수 있도록 했습니다. 너무 겁먹지 않으셔도 됩니다. MXNet 시작하기 (1) – NDArrays API MXNet 시작하기 (2) – Symbol API MXNet 시작하기 (3) – Module API MXNet 시작하기 (4) – 이미지 분류를 위한 학습 모델 사용하기 (Inception v3) MXNet 시작하기 (5) – VGG16 및 ResNet-152 학습 모델 사용하기 MXNet 시작하기 (6) – Raspberry Pi에서 실시간 객체 분석 하기 동영상 모두를 위한 딥러닝 강의로 유명한 홍콩과기대 김성훈 교수와 MXNet 코드 개발자인 Xingjian Shi가 함께 MXNet의 장점과 함께 간단한 딥러닝 학습 문제를 데모로 보여 드립니다. (슬라이드)  모두를 위한 딥러닝을 청취하신 분들이라면, Lab 강의에 대한 MXNet 소스 코드를 참고하셔도 됩니다! Apache MXNet에 대해 간단하게 소개하고, AWS에서 Deep Learning AMI을 이용하여 Amazon EC2 인스턴스에서 MXNet을 구동하고, 테스트하는 방법을 살펴 봅니다. 또한, 분산 딥러닝 클러스터 생성 템플릿으로 멀티 GPU에서 구동하는 방법도 살펴 볼 수 있습니다. 사용자 모임 Apache MXNet에 대한 관심이 늘어나고 있고, 배우려는 분들과 질문/답변을 할 수 있도록 페이스북에 그룹을 만들었습니다. 관심 있는 분들 참여해 주시길… https://www.facebook.com/groups/mxnetkr/ 더 자세한  정보 AWS – Apache MXNet 소개 페이지 AWS로 딥 러닝을 위한 프레임워크 MxNet 활용하기 | AWS 블로그 MXNet, Apache 재단 오픈 소스 프로젝트 참여 | AWS 블로그 MXNet 기반 Sockeye를 통한 기계 번역 학습 해보기 | AWS 블로그 MXNet을 활용한 이미지 분류 앱 개발하기 | Popit 더 자세한 것은 AWS 블로그 MXNet 카테고리를 참고하셔도 됩니다. 앞으로 이 글에는 MXNet 기반 모델 학습 시리즈 한국어 번역 및 Amazon AI 블로그의 MXNet 관련 글 모음 등 다양한 정보를 소개할 예정입니다. [...]



MXNet 시작하기 (6) – Raspberry Pi에서 실시간 객체 분석 하기

Sat, 29 Jul 2017 18:43:29 +0000

5편에서는 이미지의 객체 검출을 위해 유명한 세 가지 학습 모델을 사용하여, 간단한 MXNet 소스 코드를 사용하여 몇 가지 이미지를 테스트해보았습니다. 우리가 배운 것 중 하나는 각 모델이 서로 다른 메모리 요구 사항이 있다는 것입니다. 가장 메모리를 적게 먹는 것은 Inception v3으로 “43MB”만 사용입니다. 정말 이게 잘 될까? 예를 들어, “라스베리파이(Raspberry Pi)” 같은 작은 디바이스에서 실행할 수 있을까라는 질문을 해볼 수 있을 텐데요. 이번 글에서 함께 알아 보시죠! 공식 가이드가 있지만, 몇 가지 단계가 빠진 것을 발견해서 아래 내용을 따라가면 최신 Raspbian을 실행하는 Raspberry Pi 3에서 제대로 작동합니다. $ uname -a Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux 맨 먼저 필요한 라이브러리를 추가합니다. $ sudo apt-get update $ sudo apt-get -y install git cmake build-essential g++-4.8 c++-4.8 liblapack* libblas* libopencv* python-opencv libssl-dev screen 그런 다음 MXNet 저장소를 복제하고, 최신 버전을 가져옵니다. 마지막 단계를 놓치지 마세요. $ git clone https://github.com/dmlc/mxnet.git --recursive $ cd mxnet # List tags: v0.9.3a is the latest at the time of writing $ git tag -l $ git checkout tags/v0.9.3a MXNet은 Amazon S3에서 데이터를 로드하고 저장할 수 있으므로 나중에 이 기능을 사용하면 편리 할 것입니다. MXNet은 또한 HDFS를 지원하지만 Hadoop을 로컬에 설치해야 하므로 좀 힘들겠죠? make를 실행할 수 있지만 Pi의 제한된 처리 능력을 감안할 때, 빌드는 약간 시간이 걸릴 것입니다. SSH 세션이 만료되면 문제가 있을 수 있으니 Screen을 사용하면 좋습니다. 약간 속도를 높이기 위해 2 코어(4개 중)에서 병렬 실행을 실행할 수 있습니다. 더 많은 코어를 사용하면, 응답을 안할 수가 있으니 꼭 2개만 사용하시기 바랍니다. $ export USE_S3=1 $ screen make -j2 이것은 약 1 시간 정도 걸립니다. 마지막 단계는 라이브러리와 Python 바인딩을 설치하는 것입니다. $ cd python $ sudo python setup.py install $ python Python 2.7.9 (default, Sep 17 2016, 20:26:04) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mxnet as mx >>> mx.__version__ '0.9.3a' 모델 로딩하기 일단 모델 파일을 Pi에 복사 한 후에는 실제 파일을 로드 할 수 있어야합니다. 5편에서 쓴 똑같은 코드를 재사용할 수 있습니다. Pi는 약 580MB의 여유 메모리가 있는 CLI 모드를 지원합니다. 모든 데이터는 32GB SD 카드에 저장됩니다. 이제 VGG16를 로딩해봅시다. >>> vgg16,categories = init("vgg16") terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc 앗! VGG16이 너무 커서 메모리에 맞지 않네요. ResNet-152를 사용해 봅시다. >>> resnet152,categories = init("resnet-152") Loaded in 11056.10 milliseconds >> print predict("kreator.jpg",resnet152,categories,5) Predicted in 7.98 milliseconds [(0.87835813, 'n04296562 stage'), (0.045634001, 'n03759954 microphone, mike'), (0.035906471, 'n03272010 electric guitar'), (0.021166906, 'n04286575 spotlight, spot'), (0.0054096784, 'n02676566 acoustic guitar')] ResNet-152는 약 10 초 만에 성공적으로 로딩되고, 10 밀리초 이내에 예측이 가능합니다. 이제 Inception v3으로 넘어 가 보죠. >>> inceptionv3,categories = init("Inception-BN") Loaded in 2137.62 milliseconds >> print predict("kreator.jpg",resnet152,categories,5) Predicted in [...]



MXNet 시작하기 (5) – VGG16 및 ResNet-152 학습 모델 사용하기

Fri, 28 Jul 2017 15:21:35 +0000

4편에서는 사전 학습된 Inception v3 모델을 사용하여, 이미지 내 분류를 검색하는 것이 얼마나 쉬운지 확인했습니다. 이 글에서는 두 개의 유명한 합성곱 신경망(Convolutional neural network, CNN)인 VGG19와 ResNet-152을 사용해 보고, Inception v3 모델과 비교해 보겠습니다. CNN이라는 어려운 단어가 나왔지만, 과정은 크게 다르지 않습니다. 레이어를 더 많이 늘린 것입니다. Architecture of a CNN (Source: Nvidia) VGG16 2014 년에 발표된 VGG16은 16 개의 레이어로 구성된 모델입니다 (연구 논문). 객체 분류에서 7.4 %의 오류율을 달성하여 2014 년 ImageNet Challenge에서 우승했습니다. ResNet-152 2015 년에 발표된 ResNet-152는 152 개의 레이어 (연구 논문)로 구성된 모델입니다. 이미지 내 객체 탐지에 대한 오류율 3.57 %를 달성함으로써 2015 ImageNet Challenge에서 우승했습니다.  이건 진짜 놀라운 결과인데, 인간이 대체적으로 5 %의 오류율을 가지는데 (100개를 보면 5개를 긴가민가하게 생각하는) 사람 보다 더 똑똑하다고 볼 수 있겠죠. 모델 다운로드 하기 MXNet zoo를 다시 방문 할 시간입니다! Inception v3와 마찬가지로 모델 정의와 매개 변수를 다운로드해야합니다. 세 모델 모두 동일한 카테고리에 대해 교육을 받았으므로 synset.txt 파일을 다시 사용할 수 있습니다. $ wget http://data.dmlc.ml/models/imagenet/vgg/vgg16-symbol.json $ wget http://data.dmlc.ml/models/imagenet/vgg/vgg16-0000.params $ wget http://data.dmlc.ml/models/imagenet/resnet/152-layers/resnet-152-symbol.json $ wget http://data.dmlc.ml/models/imagenet/resnet/152-layers/resnet-152-0000.params 모델 로딩하기 세 가지 모델은 224 X 224의 전형적인 이미지 크기의 ImageNet 데이터 셋을 기반으로 학습하기 때문에 우리가 이전에 사용한 코드를 재사용 할 수 있습니다. 우리가 바꾸어야하는 것은 모델 이름입니다 : loadModel()과 init() 함수에 매개 변수를 추가합니다. def loadModel(modelname): sym, arg_params, aux_params = mx.model.load_checkpoint(modelname, 0) mod = mx.mod.Module(symbol=sym) mod.bind(for_training=False, data_shapes=[('data', (1,3,224,224))]) mod.set_params(arg_params, aux_params) return mod def init(modelname): model = loadModel(modelname) cats = loadCategories() return model, cats 모델별 예측 비교하기 이전에 사용한 샘플 이미지를 기반으로 이번 두 가지 모델을 비교해 보겠습니다. *** VGG16 [(0.58786136, 'n03272010 electric guitar'), (0.29260877, 'n04296562 stage'), (0.013744719, 'n04487394 trombone'), (0.013494448, 'n04141076 sax, saxophone'), (0.00988709, 'n02231487 walking stick, walkingstick, stick insect')] 상위 2개 카테고리는 잘 맞는데, 나머지 3개는 잘못되었습니다. 마이크 받침대의 수직 모양에서 혼란스러워하네요. *** ResNet-152 [(0.91063803, 'n04296562 stage'), (0.039011702, 'n03272010 electric guitar'), (0.031426914, 'n03759954 microphone, mike'), (0.011822623, 'n04286575 spotlight, spot'), (0.0020199812, 'n02676566 acoustic guitar')] 상위 카테고리에서 매우 높습니다. 나머지 4 개 모두 의미가 있습니다. *** Inception v3 [(0.58039135, 'n03272010 electric guitar'), (0.27168664, 'n04296562 stage'), (0.090769522, 'n04456115 torch'), (0.023762707, 'n04286575 spotlight, spot'), (0.0081428187, 'n03250847 drumstick')] 상위 2 개 카테고리의 VGG16과 매우 유사한 결과. 나머지 세 개는 역시 잘 모르겠네요. 다른 사진으로 해볼까요? *** VGG16 [(0.96909302, 'n04536866 violin, fiddle'), (0.026661994, 'n02992211 cello, vi[...]



MXNet 시작하기 (4) – 이미지 분류를 위한 학습 모델 사용하기 (Inception v3)

Fri, 28 Jul 2017 14:28:58 +0000

이전 글에서는 처음으로 신경망을 구축하고 학습하는 방법을 배웠습니다. 이제 좀 더 실질적인 문제 해결을 할 수 있는 사례를 살펴 보겠습니다. 우선 최근에 사용되는 딥러닝 학습 모델은 매우 복잡하다는 사실을 알고 계셔야 합니다. 수 백개의 레이어가 있으며 막대한 양의 데이터를 학습하는 데 며칠이 걸릴수 있으며, 이러한 모델을 만들고 조정하는 데는 많은 전문 지식이 필요합니다. 매우 다행인 것인 이러한 모델을 사용하는 것은 생각 보다 간단하며 몇 줄의 소스 코드만 가지고 할 수 있습니다. 이 글에서는 Inception v3이라는 이미지 분류를 위해 미리 학습된 모델을 살펴 볼 것입니다. 2015년 12월에 나온 Inception v3은 GoogleNet 모델(2014 ImageNet Challenge에서 우승 한 모델)을 발전 시킨 것입니다. 연구 논문의 세부 사항에 대해서는 언급하지 않겠지만, 결론적으로 Inception v3는 당시에 사용 가능한 최고의 학습 모델보다 15-25% 정확도가 높으며, 연산에 있어 6배 저렴하고 최소 20% 미만의 매개 변수를 사용합니다 (즉, 모델 사용에 필요한 RAM 사용량이 적습니다.) 딥러닝을 인기있는 모델로 끌어 올린 대단한 물건인데, 이를 MXNet으로 한번 작동시켜 봅시다. MXNet Zoo 학습 모델 Model Zoo는 MXNet에서 손쉽게 사용할 수 있도록 미리 학습된 모델 모음입니다. 모델 정의, 모델 매개 변수 (즉, 뉴런 가중치) 및 사용 가이드 등으로 구성되어 있습니다. 여기서 ImageNet에 해당 하는 모델 정의와 매개 변수 파일을 다운로드하세요. (파일 이름을 변경해야 할 수도 있음). 첫 번째 파일을 열면 모든 레이어의 정의가 표시되어 있습니다. 두 번째 파일은 바이너리 파일입니다. $ wget http://data.dmlc.ml/models/imagenet/inception-bn/Inception-BN-symbol.json $ wget http://data.dmlc.ml/models/imagenet/inception-bn/Inception-BN-0126.params $ mv Inception-BN-0126.params Inception-BN-0000.params 이 모델은 ImageNet 데이터 세트에서 학습되었으므로 해당 이미지 카테고리 (1000개)도 다운로드해야 합니다. $ wget http://data.dmlc.ml/models/imagenet/synset.txt $ wc -l synset.txt 1000 synset.txt $ head -5 synset.txt n01440764 tench, Tinca tinca n01443537 goldfish, Carassius auratus n01484850 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias n01491361 tiger shark, Galeocerdo cuvieri n01494475 hammerhead, hammerhead shark 다운로드 다 받으셨나요? 그러면 이제 모델을 가져와서 작업을 시작해 봅시다! 모델 로딩하기 우리가 해야 할 일을 살펴 보겠습니다. 1. 저장 상태에서 모델 로딩하기 : MXNet에서는 이것을 체크 포인트라고 부릅니다.  우리는 입력 Symbol과 모델 매개 변수를 반환 받습니다. import mxnet as mx sym, arg_params, aux_params = mx.model.load_checkpoint('Inception-BN', 0) 2. 새로운 모듈을 생성하고 그것을 입력 심볼로 할당합니다. 모델을 어디에서 실행할지를 나타내는 컨텍스트 매개 변수를 지정할 수도 있습니다. 기본값은 cpu (0)이지만 gpu (0)를 사용하여 GPU에서 실행할 수도 있습니다. mod = mx.mod.Module(symbol=sym) 3. 입력 심볼에 입력 데이터를 바인딩합니다. 이름은 네트워크의 입력 레이어에 있는 이름이기 때문에 ‘data’라고 합시다. (JSON 파일의 처음 몇 줄을보십시오). ‘data’의 크기를 1 x 3 x 224 x 224로 정의합니다. 당황하지 마세요 ‘224 x 224’는 이미지 해상도로 모델 학습 방[...]



친정인 ‘카카오뱅크’ 오픈 소식에 계좌 개설!

Thu, 27 Jul 2017 07:05:15 +0000

카카오 뱅크 오픈 소식에 오전에 사람들이 좀 몰려서 일시 장애가 있었던 듯 싶으나 은행계 시스템이란게 초기 계좌 개설 같은 DB 쓰기 용량이 한계가 있으니, 그건 어느 정도 이해하고… 일반인들의 경우도 약간의 노이즈 마케팅이 될 수 있으니 오케이! (기사에 따르면, 6시간만에 6만 계좌 개설됐음. 케이뱅크의 경우, 15시간 동안 1만 5천계좌에 비하면 엄청난 관심이네요.)

(image)

1. 계좌 개설 방법은 비교적 간단(?)하지만, 중간에 타행 계좌에 1원 입금해 주고, 계좌 이체한 사람 이름 확인하는 과정에서 멘붕. 갑자기 타행 계좌 조회해야 하는 불상사가 생겨서 당황했는데, 필수 조건이기 때문에 타행 조회 꼭 준비하셔야 합니다.

2. Bad gateway 오류가 계속 나는데도 불구하고 무시 전략으로 롤백을 믿고 강행한 덕에 계좌 개설, 체크 카드 신청 및 카톡 무료 이모티콘 다운로드까지 일사 천리 10분안에 진행 완료. 계좌번호 처음이 삼삼하게 3333으로 시작하는데, 계좌 번호도 자기가 선택할 수 있었으면 좋겠네요.

3. 중간에 오류가 나면 전화나 카톡 고객 센터를 연결해 주는 친절한 메시지는 나쁘지 않은 듯. 웹 사이트에는 오로지 고객 센터 도움말과 상담 기능만 있으며, 모든 업무 처리는 앱으로만 가능해서 PC를 버리는 선택과 집중은 개발 리소스가 적을텐데 좋은 전략입니다.

구, 다음 출신들이 카카오뱅크에 가서 고생을 많이 했는데 서비스 오픈 하느라 고생많으셨을듯. 이게 일반 웹 서비스가 아니라, 레거시 은행 기간망이랑 연동하면서 만들어야 하는 거라 어려움이 있었을 텐데요. 유닉스가 아니라 리눅스 계열 X86으로 바꾸고, 오픈 소스를 쓰면서 만드는 첫번째 실험이라 앞으로 잘되길 바랍니다.

개인적으로 공인 인증서 (발급/인증) 및 OTP  같은 복잡한 절차 없이 은행 업무를 볼 수 있다는 것만으로도 충분히 도움이 될 것 같네요. 앞으로 꼭 성공하길!~

같지만 다른 은행 카카오뱅크




MXNet 시작하기 (3) – Module API

Wed, 26 Jul 2017 15:20:37 +0000

2편에서는 Symbols를 사용하여 NDArrays에 저장된 데이터를 처리하는 연산 그래프를 정의하는 방법을 설명했습니다. 이 글에서는 Symbol 및 NDArrays에서 배운 것을 사용하여 일부 데이터를 준비하고 신경망을 구성합니다. 그런 다음 Module API를 사용하여 신경망 기반 데이터를 학습하고 결과를 예측해보겠습니다. 데이터셋 정의 (가상) 데이터 세트는 1000개의 데이터 샘플로 구성합니다. 각 샘플에는 100개의 기능(Feature)이 있습니다. 각 기능은 0에서 1 사이의 float 값으로 표현됩니다. 샘플은 10개의 카테고리로 나뉩니다. 네트워크의 목적은 주어진 샘플에 대한 올바른 카테고리를 예측하는 것입니다. 학습(Training)을 위해 800개의 샘플을 사용하고 검증(Validation)을 위해 200개의 샘플을 사용할 것입니다. 학습 및 검증을 위해 배치(Batch) 크기 10을 사용합니다. 아래는 데이터 정의를 위한 간단한 MXNet 코드입니다. import mxnet as mx import numpy as np import logging logging.basicConfig(level=logging.INFO) sample_count = 1000 train_count = 800 valid_count = sample_count - train_count feature_count = 100 category_count = 10 batch=10 데이터셋 생성 균등 분포를 사용하여 1000 개의 샘플을 생성합시다. 이를 ‘X’라는 이름의 NDArray에 저장합니다. (즉, 1000라인, 100 컬럼) X = mx.nd.uniform(low=0, high=1, shape=(sample_count,feature_count)) >>> X.shape (1000L, 100L) >>> X.asnumpy() array([[ 0.70029777, 0.28444085, 0.46263582, ..., 0.73365158, 0.99670047, 0.5961988 ], [ 0.34659418, 0.82824177, 0.72929877, ..., 0.56012964, 0.32261589, 0.35627609], [ 0.10939316, 0.02995235, 0.97597599, ..., 0.20194994, 0.9266268 , 0.25102937], ..., [ 0.69691515, 0.52568913, 0.21130568, ..., 0.42498392, 0.80869114, 0.23635457], [ 0.3562004 , 0.5794751 , 0.38135922, ..., 0.6336484 , 0.26392782, 0.30010447], [ 0.40369365, 0.89351988, 0.88817406, ..., 0.13799617, 0.40905532, 0.05180593]], dtype=float32) 각 1000개의 샘플에 대한 카테고리는 0-9 범위의 정수로 표시됩니다. 랜덤하게 생성되어 ‘Y’라는 NDArray에 저장됩니다. Y = mx.nd.empty((sample_count,)) for i in range(0,sample_count-1): Y[i] = np.random.randint(0,category_count) >>> Y.shape (1000L,) >>> Y[0:10].asnumpy() array([ 3., 3., 1., 9., 4., 7., 3., 5., 2., 2.], dtype=float32) 데이터셋 나누기 다음 단계로 학습과 검증을 위해 데이터셋을 80/20으로 나눠야합니다. 이를 위해 NDArray.crop 함수를 사용합니다. 여기서 데이터 세트는 완전 무작위이므로 학습을 위해 상위 80%를 사용하고, 유효성을 검사하기 위해 하위 20%를 사용합니다. 실제 정식으로 할 때는 순차적으로 생성 된 데이터에 잠재적인 편향을 피하기 위해 데이터셋을 먼저 뒤섞어 놓아야 할 것입니다. X_train = mx.nd.crop(X, begin=(0,0), end=(train_count,feature_count-1)) X_valid = mx.nd.crop(X, begin=(train_count,0), end=(sample_count,feature_count-1)) Y_train = Y[0:train_count] Y_valid = Y[train_count:sample_count] 자, 이제 데이터 준비가 끝났습니다. 다음 단계로 넘어가 볼까요? 신경망 바인딩 우리가 만든 네트워크는 매우 간단합니다. 각 레이어를 살펴 보겠습니다. 입력 레이어는 ‘data’라는 심볼로 표현됩니다. 나중에 실제 입력 데이터에 바인딩 할 것입니다. data = mx.sym.Variable('data')[...]



MXNet 시작하기 (2) – Symbol API

Wed, 26 Jul 2017 03:24:43 +0000

1편에서는 몇 가지 MXNet 기본 사항을 살펴보고, NDArray API에 대해 알아보았습니다 (요약하면, NDArrays는 데이터, 매개 변수 등을 저장하는 장소입니다.) 이제 MXNet이 계산 단계를 정의하는 방법을 살펴 보겠습니다. 계산 단계? 코드를 말하는 건가요? 좋은 질문이네요. 우리 모두가 “프로그램 = 데이터 구조 + 코드”라고 배웠으니까요. NDArrays가 데이터 구조라면 이제 코드를 추가하면 됩니다. 일반적으로 모든 계산 단계를 명시적으로 정의하고 데이터에서 순차적으로 실행해야 합니다. 이를 “명령형 프로그래밍(Imperatitive Programming)“이라고 하며 Fortran, Pascal, C, C ++ 등이 작동하는 방식입니다. 그러나, 신경망(Neural Nework)은 본질적으로 병렬 컴퓨팅을 지향합니다. 주어진 레이어 내부에서 모든 산출물을 동시에 계산할 수 있어야 합니다. 독립적인 레이어도 병렬로 실행될 수 있습니다. 따라서, 좋은 성능을 얻으려면 멀티 스레딩이나 비슷한 것을 사용하여 병렬 처리를 구현해야 합니다. 보통 어떻게 작동할지 가늠이 되실 텐데요. 코드를 잘 짰다하더라도 데이터 크기나 네트워크 레이아웃이 계속 바뀌면 얼마나 재사용성이 클 수가 없겠죠. 다행히 대안이 있습니다. 데이터 흐름 프로그래밍 (Dataflow programming) “데이터 흐름 프로그래밍”은 데이터를 그래프로 통해 흐르는 병렬 계산을 정의하는 방법입니다. 그래프는 동작 순서, 즉 순차적으로 실행할지 또는 병렬로 실행 가능할지 여부를 결정합니다. 각 동작은 블랙 박스입니다. 실제 동작을 지정하지 않고 입력과 출력만 정의합니다. 이것은 컴퓨팅에 대한 횡설수설(?)로 들릴지 모르지만, 사실 이러한 모델이 신경망을 정의하는 데 정확히 필요합니다. 입력 데이터를 “레이어”라고 부르는 동작 순서에 따라 흐리게 하는데, 이들 레이어는 병렬적으로 실행하는 많은 명령을 가집니다. 이야기는 그만하고 실제 사례를 살펴보죠. E를 (A * B) + (C * D)로 정의하는 방법입니다. E = (A * B) + (C * D) 여기에서 A, B, C, D가 무엇인지는 큰 관계가 없습니다. 단지 기호(Symbol)일 뿐입니다. 입력 값 (정수, 벡터, 행렬 등)에 관계없이 위의 그래프는 “+” 및 “*” 연산을 정의한 경우, 출력 값을 계산하는 방식을 알려줍니다. 이 그래프는 (A * B)와 (C * D)가 동시에 병렬로 계산할 수 있다는 사실을 알 수 있습니다. 물론, MXNet은 이러한 정보를 최적화 목적으로 사용합니다. Symbol API 이제 이를 왜 기호라고 부르는 지 자세히 알아보고자, 위의 예제를 코딩 할 수 있는지 살펴 보겠습니다. >>> import mxnet as mx >>> a = mx.symbol.Variable('A') >>> b = mx.symbol.Variable('B') >>> c = mx.symbol.Variable('C') >>> d = mx.symbol.Variable('D') >>> e = (a*b)+(c*d) 어떤가요? 이러한 방식으로 a, b, c, d가 무엇인지 모른 채로 결과를 e에 지정할 수 있습니다.  좀 더 살펴 볼까요? >>> (a,b,c,d) (, , , ) >>> e >>> type(e) a, b, c, d는 명시적으로 선언 한 기호입니다. 근데 e는 다르죠. 기호이긴 하지만 ‘+’연산의 결과입니다. e에 대해 더 자세[...]



네이버 DISCO앱에 바라는 7가지

Tue, 25 Jul 2017 16:23:41 +0000

순전히 20년지기 친구의 소개로 네이버가 만든 자칭(?) 인공 지능 주제별 뉴스 큐레이션 서비스인 DISCO를 사용해 보기 시작했습니다. (2달 전에 나온 – 취향저격 콘텐츠 추천 앱 DISCO 출시!! 상태지만) 아직 서비스 초기라서 그런지 내부 직원들을 비롯해서 몇몇 콘텐츠 큐레이터들이 초기 테스트를 해 보면서 개선을 하고 있는 것 같습니다. 계속 쓸지 여부는 차치하고라도 신규 서비스 써 보는 것은 늘 즐거운 경험이라 간단하게 리뷰 남겨 봅니다. 앱 설치 후 로그인은 현재로서 ‘네이버 아이디’로만 가능합니다. 우선 (그리 어려운 일도 아닌데) 페이스북, 트위터, 카카오 등의 소셜 로그인이 가능해야 합니다. 심지어 사내 앱인 라인 로그인도 안된다는 건 약간 이상한 일입니다. 네이버 사용자가 많다는 건 알겠지만, 뉴스 큐레이션 서비스에 절대적인 가치인 소셜 바이럴 효과를 감안하면 기존의 소셜 네트워크 인맥을 지렛대 삼아, 타 소셜망에 쉽게 공유가 가능해야 더 빠른 확산이 가능할 것입니다. 과거 Daum에서도 다음 로그인만 고집하다가 망한 앱들이 한둘이 아니었구요. 현재로서 네이버 아이디로는 소셜 바이럴에 할 수 있는게 아무것도 없습니다. 여차저차 로그인을 하면, 맨 처음 주제별로 취향을 물어봅니다. 제가 못 찾았는지 입력할 수는 없고, 몇 개를 고르도록 하는 데 빠르게 취향을 찾을 수 있도록 해 주는 것도 좋지만 검색 창도 하나 두었으면 합니다. (끝나고 메인 화면에 가면 키워드 검색이 있긴 합니다.) 그냥 남들 취향에 맞추어야 할 느낌이 나네요. 하나의 키워드를 입력하면, 관심사 클러스터가 보이는게 좋을 듯 합니다. 메인 화면 메뉴의 ‘홈’과 ‘인기’는 가장 많이 눌러 보는 버튼이 될텐데, 비슷한 취향 또는 뜨는 글이나 주제별 뉴스 링크 중심이 아닌 이상하게도 사람 중심의 페이스북 타임라인 처럼 보입니다. 그래서 초기 사용자들이 이게 페이스북과 뭐가 달라?라는 의문을 품을 것 같습니다. 물론 그 옆으로 주제별 키워드를 누르면 뉴스 링크 중심으로 ‘몇 명이 소개한 글’ 형태로 목록이 나타나기는 합니다. 하지만, 그것도 ‘전체’나 ‘인기순’ 등으로 정렬을 해야 보입니다. 각 메뉴에서 일관성 있게 뉴스 링크 중심의 클러스터링을 뚜렷하게 하고, 각 뉴스 링크에 대한 반응을 보는 것으로 앱의 성격을 뚜렷하게 하는 게 좋지 않을까요? ‘좋아’/’싫어’ 어감 역시 페이스북의 그것과 비슷해서 사람들에게 또 혼란을 주는 것 같습니다. 마치 ‘싫어’를 누르면 안될 것 같은… 어찌보면 페이스북 타임 라인에서 글 숨기기 같은 기능이기 때문에 오히려 ‘추천’/’숨기기’ 등으로 바꾼다면, 오해 없이 명확하게 사용할 수 있을 듯 하네요. 앱 서비스팀에서 ‘싫어’ 기능이 오해하지 말고 쓰라는 공지를 할 정도면 오해하는 사용자를 뭐라할게 아니라 직관적이지 않은 네이밍이 문제입니다. 초기 서비스의 성패는 참여하는 사용자의 질과 커뮤니티에 좌우합니다. 지금은 내부 직원들 위주로 사용하고 있는 것 같고, 일부 IT 오피니언 리더들이 들어와 [...]



MXNet 시작하기 (1) – NDArrays API

Tue, 25 Jul 2017 08:42:44 +0000

이 시리즈는 AWS 테크 에반젤리스트인 Julien Simon이 연재한 MXNet 관련 글 모음의 번역 편집본으로 최근 각광 받고 있는 Deep Learning 라이브러리인 Apache MXnet  을 개괄적으로 설명하려고 합니다. 이 글은 간단한 코드를 이해하는 개발자라면 기계 학습과 인공 지능을 잘 알지 못하는 분이라도 쉽게 따라올 수 있도록 했습니다. 너무 겁먹지 않으셔도 됩니다. 우선 몇 차례에 걸쳐 Apache MXNet의 주요 기능과 관련된 API를 예제 코드 위주로 살펴 보겠습니다. MXNet의 이론적 근거와 아키텍처에 대해 더 자세히 알고 싶다면 “MXNet : 이기종 분산 시스템을위한 유연하고 효율적인 기계 학습 라이브러리“라는 논문를 읽어 보시길 추천합니다. 하지만, 어려운 논문을 살펴 보는 건 이 시리즈의 목적이 아니고, 개발자를 위해 기존 개념을 다루면서도 코드를 직접 사용하여 보다 이해하기 쉽게 ​​접근 할 예정입니다. 여러분은 천천히 따라오면서 필요한 만큼의 최소한의 수학과 어려운 용어를 조금씩 익힐 수 있습니다. 저도 여러분과 같이 아직 전문가가 아니며, 우리가 만드는 애플리케이션에 인공 지능 기능을  어떻게 추가 할 수 있는지에 대해서만 집중하려고 합니다. MXNet 설치 및 실행하기 우선 먼저 MXNet을 설치하십시오. 여기에서 공식 가이드를 찾을 수 있지만, 여기에서 간단히 설치할 수 있는 방법을 알려드립니다. MXNet의 주요 기능 중 하나는 CPU와 GPU에서 동일하게 실행될 수 있다는 것입니다. 즉, 컴퓨터에 NVIDIA GPU (MacBook과 동일)가 없더라도 나중에 AWS에서 제공하는 GPU 기반 가상 클라우드 인스턴스에서 사용 가능한 MXNet 코드를 작성하고 실행할 수 있습니다. 여러분 PC에 GPU가 있으면 CUDA 및 cuDNN툴킷을 설치해야합니다. 그런데, 이 도구를 설치하는 것이 초보자 입장에서 매우 까다롭고 MXNet 바이너리와 Nvidea 도구 사이의 비 호환성으로 인해 설정이 깨져서 작업하기가 어려울 수 있습니다. 이러한 이유로 MXNet 웹 사이트에서 제공되는 Docker 이미지 (CPU 환경 용, GPU 환경 용) (nvidia-docker가 필요함)를 사용하는 것이 좋습니다. 이 이미지에는 필요한 모든 것을 사전 설치하여, 몇 분 안에 시작할 수 있습니다. sudo -H pip install mxnet --upgrade python >>> import mxnet as mx >>> mx.__version__ '0.9.3a3' Docker 이미지는 ‘pip’를 통해 사용할 수 있는 Python 패키지보다 최신 버전 인 것 같습니다. docker run -it  mxnet/python root@88a5fe9c8def:/# python >>> import mxnet as mx >>> mx.__version__ '0.9.5' AWS에서 MXNet 실행하기 AWS는 Linux 및 Ubuntu에서 사용할 수있는 Deep Learning AMI(Amazon Liunx Deep Learning AMI 및 Ubuntu Deep Learnin AMI)를 제공합니다. 본 AMI에는 모든 Nvidia 도구와 그 밖의 많은 딥러닝 프레임 워크 (MXNet 포함)가 사전 설치되어 제공됩니다. ==================================================================== __|  __|_  ) _|  (     /   Deep Learning AMI for Amazon Linux ___|\___|___| ==================================================================== [ec2-user@ip-172-31-42-173 ~]$ nvidia-smi -L GPU 0: GRID K520 (UUID: GPU-d470337d-b59b-ca2a-fe6d-718f0faf2153) [ec2-user@ip-172-31-42-173 ~]$ python >>> import mxnet as mx >>> mx.__version__ [...]



인공 지능(AI) 시대의 현실적 조언

Tue, 04 Jul 2017 22:30:02 +0000

우선 저는 인공 지능 전문가(?)가 아닙니다. 다만, 이 글은 IT 기술로 인해 세상이 바뀌기 시작할 때 그 주변에서 일어나는 패턴을 몇번 경험해 본 결과, 각 분야에 있는 분들이 현실적으로 택할 수 있는 이야기를 간단하게 풀어 보려고 합니다. 이 내용을 진지하게 받아들일지 말지는 전적으로 여러분의 선택에 달려 있습니다. 일반 개발자 개발자의 숙명처럼 새로운 기술이 나오니, 당연히 알아보고 배워야 합니다. ‘늦었다고 생각할 때가 가장 늦었다’라는 말이 있죠? 바로 그렇습니다. 지금 흥행 단어(Buzzword)로 뜨고 있는 기술은 이미 4-5년전에 완성되고, 세상을 바꿀 준비가 되어 있었을 확률이 높습니다. 따라서, 지금은 많이 늦었습니다. 하지만, 실제 세상을 바꾸는 IT 기술은 진입 장벽이 높고, 특정 기업이 모든 노하우를 차지하는 경우는 드뭅니다. 오히려 누구나 접근 가능(easy to access)하면서 많은 사람이 참여함으로서 기술이 더 똑똑해 지고 쉬워지는 경향이 있죠. (사과 판매 회사는 예외로 두죠.) 따라서, 최대한 새로운 기술의 흐름을 찾고 테스트해보고 공부해보려는 노력을 경주해야 합니다. 지금 보다 더 쉬워질 때까지 기다리면 그때는 정말 늦는 것입니다. [현실적 가이드] 1. 김성훈 교수의 모두를 위한 딥러닝 http://hunkim.github.io/ml/ 2. 골빈해커 텐서플로 코딩 튜토리얼 https://github.com/golbin/TensorFlow-Tutorials 3. 텐서플로 커뮤니티 인기 글 http://fbsight.com/c/TF-KR/l/top 스타트업 AI 관련 사업 모델과 스타트업이 계속 나타날 것입니다. 이미 많은 벤처캐피털들이 AI 분야 투자를 진행하고 있으니, 조만간 유니콘에 버금가는 투자나 거품 이야기도 나올 것입니다. (특히, 한국에 많을 것으로 예상되는) 무늬만 인공 지능이나 기존 솔루션 업체나 데이터 분석하던 업체가 AI로 탈바꿈하는 경우도 나오겠죠. 하지만, 스타트업은 하나의 문제를 정의하고 해결해야 합니다. 이미 대형 IT 기업들이 뛰어든 뻔한 아이디어 보다는 의료, 농업, 제조 등 산업 현장에서 일어나는 문제를 해결하는 버티컬 스타트업이 성공(인수) 확률이 높습니다. 제가 스타트업을 만나면 늘 하는 이야기지만, 일반 사용자가 서비스를 이해할 수 있고 유용하게 쓸 수 있는 기능을 만들어 피드백을 받아 개선해 나가면서 알파 유저나 기업 시장으로 가는 것이 좋습니다. 그리고, 현재의 법 테두리 안에서는 사업성이 모호한 오히려 불법에 가까운 회색 지대에 있는 아이템을 권장합니다. 그런 문제를 푸는데 있어서 곁가지 인공 지능 기술은 그냥 클라우드 업체들이나 AI 기반 API 서비스 회사의 것을 그대로 사용하는 게 좋습니다. 이른바 텍스트 분석, 머신 러닝, 컴퓨터 비전, 딥러닝에 해당하는 생각할 수 있는 모든 바퀴는 새로 만들 필요는 없습니다. [현실적 가이드] 1. Vertical AI Startups: Solving Industry-specific Problems http://www.bradfordcross.com/blog/2017/6/13/vertical-ai-startups-solving-industry-specific-problems-by-combining-ai-and-subject-matter-expertise 2. Algorithmia의 AI 마이크로 서비스 https://algorithmia.com 3. Amazon AI 서비스 https://aws.amazon.com/ko/amazon-ai/ 참고: Algorithmia에 가입하실 때, promo code에 R[...]



사람 냄새 나는 대통령의 탄생

Wed, 10 May 2017 00:25:05 +0000

(image)

드디어 문재인 대통령이 당선되었습니다.

과거 많은 사람들이 품위있고 고상하고 위엄있는 대통령을 바라지만, 그 실상은 권위적이고 불통에다 편을 갈라치는 소수가 지배하는 권력이었다는 점을 목도했습니다.

다시 한번 깨닫습니다. 소탈하고 탈권위주의 시대의 대통령이 이 시대에 부합하는 진정한 대통령상이라는 사실을… 오늘 다시 한번 그런 시대를 맞게 되어 기쁩니다.

(image)

8년전 슬픈 로그아웃을 했지만 인터넷 소통 문화의 발전과 이를 통한 직접 민주주의에 도전했던 소시민 대통령의 친구분으로서, 정치를 하기 싫었지만 그 친구 때문에 역사의 장에 다시 나오게 되신 대통령으로서 새로운 역사를 쓰시길 간절히 바래봅니다.

나에게 있어서도 대외 활동, 특히 정부와 관련 지어 일하는데 있어 그분의 영향이 적지 않았다. 대통령은 진대제 정통부 장관을 지명했고 이에 발맞추어 소프트웨어 진흥원에도 첫 민선 고현진 원장이 취임하면서 공개 SW와 웹 표준에 대한 정부 내 지원을 시작했었기 때문이다. 웹2.0 대통령의 로그아웃

개인적으로 지난 9년간 과거 정부의 어떠한 자문 요청에도 응하지 않았지만, 앞으로 IT실험실에서 글로벌로의 변화를 위해 새로운 민주 정부에서 도움이 필요하다면 언제든 기꺼이 도울 생각입니다.

꼭 성공하시기 바랍니다.




[ZDNet 칼럼] 서버리스 인공지능 시대를 열다

Thu, 20 Apr 2017 05:17:22 +0000

아마존웹서비스(AWS)는 기존 서버 기반의 애플리케이션을 함수 단위로 쪼개서 실행할 수 있는 AWS 람다(Lambda) 서비스를 2014년에 출시하면서, 서버리스(Serverless) 아키텍처 시대를 열었다. 초기에는 AWS 자원의 변경이 일어나는 이벤트에 따라 간단한 동작을 수행하려는 요구 사항에 맞추어 출발했다. 하지만, 애플리케이션을 배포 및 운영해야 할 서버의 존재가 없어짐에 따라, 다양한 아이디어가 쏟아져 나왔다 아마존API 게이트웨이 서비스와 AWS가 원래 (서버 관리 필요 없이) 제공하던 아마존 S3, 다이나모DB 같은 빌딩 블록을 이용하여 서버리스 애플리케이션 모델을 구성할 수 있게 되었다. AWS는 클라우드 기반 기계 학습과 딥 러닝 기술을 통해 다양한 사용 사례 및 요건을 해결할 수 있는 AI 서비스 제품군을 제공하고 있다. 앞서 살펴 본, 아마존 머신러닝, 딥러닝 AMI 및 딥러닝 클러스터 구성 템플릿, 클라우드에 최적화된 MXNet 같은 오픈소스 딥러닝 엔진 등이 해당된다. AWS는 이러한 플랫폼을 이용한 인공지능에 대한 맞춤형 솔루션이 필요하지 않지만, 자신의 애플리케이션에 인공지능 기능을 활용하고자 하는 개발자라면 누구나 사용할 수 있도록 완전 관리형(Full Managed) 서비스를 제공한다. 개발자는 아마존 AI 서비스를 통해 자연어 이해(NLU), 자동 음성 인식(ASR), 비주얼 검색 및 이미지 인식, 텍스트 음성 변환(TTS), 기계 학습(ML) 기술을 이용할 수 있다. 이를 통해 개발자들은 API 호출로 스마트한 앱을 빠르게 개발하고 배포하여, 사용자 경험 향상과 비즈니스 가치를 실현할 수 있다. ■ 서버리스 AI 서비스를 위한 3종 세트​ 아마존 렉스(Lex)는 음성 및 텍스트를 사용해 대화형 인터페이스를 모든 애플리케이션에 구현하는 서비스다. 아마존 렉스는 음성을 텍스트로 변환하는 자동 음성 인식(ASR)과 텍스트의 의도를 이해하는 자연어 처리(NLU) 등과 같은 첨단 딥 러닝 기능을 함께 제공한다. 이를 통해 사용자 경험을 증진하고 생생한 대화형 인터페이스를 제공하는 애플리케이션을 구축할 수 있다. 현재 아마존 알렉사에 탑재되는 것과 동일한 딥 러닝 기술을 사용한 아마존 렉스는정교한 자연어 대화봇(챗봇)을 빠르고 쉽게 개발할 수 있으며, AWS 람다와 아마존 다이나모DB 등 서버리스 빌딩 블록을 통해 개발된 애플리케이션을 페이스북 채팅에도 바로 적용할 수 있다. 미국 오하이오주 공공 의료 서비스인 오하이오헬스(OhioHealth)는 “아마존 렉스를 활용하여 환자에게 더 나은 정보를 적시에 제공하고 있다. 이 혁신적인 애플리케이션은 고객에게 향상된 환경을 제공하는 데 큰 도움이 되고 있다”고 밝혔다. 오하이오헬스에서 개발한 아마존 렉스와 기반 서버리스 의료 상담 시스템(출처: AWS 홈페이지) 아마존 리코그니션(Rekognition)은 애플리케이션에 이미지 분석을 쉽게 추가할 수 있는 서비스다. 이미지 내 피사체, 장면, 얼굴을 분석하거나, 얼굴을 검색하거나 비교할 수 있다. 매일 수십억 개가 업로드되는 프라임 포토(Prime Photos)의 이미지들을 분석하기 위해 아마존의 컴퓨터 비전 과학[...]



[ZDNet 칼럼] 대용량 인공지능 플랫폼을 개발자들에게

Tue, 14 Mar 2017 05:11:24 +0000

아마존은 사업 초기부터 인공 지능에 투자해 왔다. 아마존닷컴의 초창기 홈페이지를 보면 ‘Eyes & Editors’라는 기능이 있었는데, 이는 좋아하는 저자의 신규 서적에 대해 자동 검색 및 알림을 해 주는 에이전트 기반 서적 추천 엔진이다. 이미 2006년에 이러한 사용자 리뷰 및 행동 기반 추천을 통해 총 판매액의 35%가 추천 시스템에서 발생했다고 한다. 최근에는 머신 러닝 및 딥러닝 기법을 물류센터에 도입하기도 했다. 사용자가 물건을 온라인 장바구니에 담기만 해도 주문자의 위치, 상품의 위치와 포장 및 운송 경로를 자동으로 예측하여, ‘고객이 주문 전에 배송 계획 예측’하는 시스템을 운용하고 있다. 매 주간 총 500억회 이상 기계 학습을 기반한 예측을 하고 있다. 아마존닷컴 초창기 첫화면(출처: Internet Archive) 이러한 예측을 기반으로 전 세계 아마존의 물류 센터 중 13 곳에는 시범적으로 키바(KIVA)라는 무인 로봇을 도입했다. 이 로봇은 배송 물품을 자동으로 계산하고 운반해서 포장하는 직원 앞에 순차적으로 놓아 준다. 그 결과 기존 1시간 이상 걸리던 물류 순환 속도를 15분으로 단축하고, 재고 공간 50% 향상, 운영 비용 20% 개선의 효과를 거두었다. 아마존 창고를 책임지는 로봇 짐꾼 ‘키바'(왼쪽, 출처: CNet Korea), 아마존 물류창고의 AI 분석용 공개 데이터(오른쪽, 출처: AWS 홈페이지) 재미있는 점은 아마존 물류 센터에 상품을 보관하는 선반에는 크고 작은 다양한 물건이 무작위로 놓여져 있다. 사람이 직접 배송 물품을 포장하기 전에, 로봇으로 인해 예측된 물품이 옮겨지게 되는데, 이 때 물품 재고 및 내역 파악을 위해 컴퓨터 비전 기술과 함께 딥러닝을 통한 이미지 모델링 분석을 통해 상품의 배열 방식이 바뀌거나 이동하는 등 다양한 외부 요인에 상관 없이 재고 파악을 할 수 있다. 딥러닝 연구자를 위해 아마존 S3 공공 데이터에 선반 속 재고 상품 이미지 세트를 무료로 공개하기도 했다. 아마존은 최근에 ‘아마존 고’라는 새로운 형태의 무인 결제 오프라인 상점을 선보이기도 했다. 줄을 서서 기다릴 필요가 없는 ‘저스트 워크아웃(Just Walk Out)’이라는 기술을 통해 모바일 앱을 사용하여 상점에 입장, 원하는 제품을 선택하면 바로 가상 장바구니에 담기고, 상점을 나설 때 자동으로 결제가 되는 것이다. 상점내 각종 센서를 통해 컴퓨터 비전, 센서 퓨전 및 딥러닝과 같은 자율 주행 차량에 사용되는 것과 동일한 유형의 기술이 활용된다. ■ 개발자를 위한 머신 러닝 서비스 출시 이러한 내부적 기술적 토대를 기반으로 AWS는 2015년 4월 ‘아마존 머신러닝’ 서비스 공개 이후, AWS 클라우드를 사용하는 고객들의 요구에 맞게끔 다양한 인공 지능을 위한 플랫폼 옵션을 공개해왔다. AWS는 대규모 자원을 가지고 있거나 투자 여력이 있는 회사만이 할 수 있는 인프라나 플랫폼을, 누구나 이용할 수 있도록 하게 하는 목표를 갖고 있다. 인공 지능 분야도 예외가 아니다. 아마존 머신러닝 서비스는 기계 학습 전문 지식은 별로 없더라도 도메[...]



[ZDNet 칼럼] 모두를 위한 아마존의 3가지 AI기술 계층

Thu, 16 Feb 2017 05:09:17 +0000

인공지능이 버즈워드(Buzz word)로 뜨면서, 100명에게 ‘인공지능’의 정의를 묻는다면 적어도 100개 이상의 답변을 얻을 것이다. 한 가지 주목할 점은 인공지능 기술과 서비스를 주요 거대 IT기업이 주도해 나가는 양상을 보이고 있다는 것이다. 그 중에서도 아마존의 인공지능 분야에 대한 혁신 움직임은 단연 두드러진다. 본 칼럼에서도 작년 ‘클라우드가 선사한 인공지능 기술의 자유와 기회‘, ‘개발자들을 위한 인공지능 기술시대‘, ‘클라우드, 현실 세계에 스며들다‘ 등의 글을 통해 관련 내용을 다루었다. 본 칼럼에서는 연초를 맞아 3회에 걸쳐 아마존이 바라보는 인공지능 기술에 대해 소개함으로써, 향후 기술 변화에 단초를 제시해 보고자 한다. ■ 인공지능의 진입 장벽을 낮추다 딥러닝(Deep Learning)으로 대변되는 인공지능 기술 시스템 구축과 관련된 프로젝트는 대용량 컴퓨팅을 요구한다. 그 동안 기업 IT 워크로드의 대부분이 기존 데이터센터 환경에서 클라우드로 옮겨가고 있는 추세다. 이에 발맞춰 인공지능에서 다루는 데이터 크기가 커지고 모델 트레이닝이 잦아짐에 따라, 아마존웹서비스(AWS)는 고객의 수요에 따라 CPU 및 스토리지, 그리고 GPU 같은 컴퓨팅 자원을 활용할 수 있는 자유를 제공하고 있다. 자율 주행을 위한 컴퓨터 비전 시스템부터 미국 식품의약국(FDA)이 승인하는 의료이미지 처리, 넷플릭스 동영상 추천, 핀터레스트의 이미지 검색 등은 AWS 클라우드 시스템을 기반으로 한다. 아마존닷컴의 경우, 추천 엔진으로부터, 머신 러닝에 기반한 주문 배송 예측을 통한 물류 센터의 로봇 활용에 이르기까지 고객의 구매 사이클에 걸쳐 시간을 단축하는 혁신을 이루고 있다. . Amazon Go 동영상(출처: Amazon.com 홈페이지) 아울러 아마존 에코와 같은 음성 인식 기반의 스마트 홈 기기와 음성 서비스 지원 기기 확대를 통한 새로운 경험을 현실로 제공하고, 최근에는 딥러닝 기술과 컴퓨터 비전을 통한 계산대가 없는 오프라인 가게인 아마존고(Go)를 선보이기도 했다. 이처럼 AWS는 아마존 및 고객 모두에게 인공지능의 핵심 서비스를 제공하고 있다. ■ 아마존 AI의 3계층 기술 스택 옵션 AWS가 클라우드를 만든 기본적인 이유는 돈이 많든 적든, 기업의 규모가 크든 작든 상관없이 클라우드를 통해 누구나 동등한 성공 기회를 얻도록 하기 위함이다. 인공지능도 동일하다. AWS는 가능한 많은 개발자들이 직접 인공지능 기반 서비스를 만들 수 있도록, 아마존의 수천 명의 엔지니어가 얻은 전문 지식을 서비스화 시켜 클라우드 이점을 결합함으로써, 기술 수준에 따라 다양한 기술 스택 중 하나를 선택할 수 있게 해주고 있다. 아마존 인공지능(Amazon AI) 기술 스택은 AWS 인프라와 상위 애플리케이션 서비스를 포함해 아래와 같은 3개의 주요 계층으로 나뉜다. 아마존 AI 서비스 스택 (출처: AWS AI 블로그) 먼저, AI 모델을 구현하는 데 필요한 기술 능력을 보유하고 있지 않거나 데이터가 부족한 개발자를 위해 최고 수준에서[...]



차니의 IT 이야기 #2- 개발자 경력 관리 조언

Mon, 26 Dec 2016 22:30:18 +0000

지난 주에 한 IT 업체의 개발자와의 만남의 시간을 가졌습니다. 대개는 기술 주제를 가지고 강연을 진행했지만, 연말이고 해서 개발자 경력 관리에 대해 그 동안 가지고 있던 몇 가지 생각을 이야기해 주었습니다. 어찌 보면 자기 자랑일수도 있고 해서 부끄럽기도 하지만, 그래도 경험을 공유하는 것이 도움이 되지 않을까 하는 생각에서 진행을 했습니다. 다녀와서 보내 준 회고 및 피드백 결과를 보니 다행히 많은 분들이 개발자 경력에 대해 다시 생각해 보게 되어서 좋았다는 의견을 많이 보내주셨더라구요. 지난 번에 스타트업 창업자를 위한 조언 이후에 약간 용기를 내어(?) 그날 했던 이야기를 정리해서 올려 봅니다. 차니의 IT 이야기 #2- 개발자 경력 관리 조언 from Channy Yun 사실 자신의 경력 관리는 어느 순간 하는 게 아니라 지속적인 과정을 통해 진행해야 합니다. 온라인 시대에 맞게 가급적 자신이 하는 일을 많은 분들에게 공유하고, 자신이 배우는 것은 외부에 공유하는 습관을 가지면 좋겠습니다. 나이가 들어도 직접 자신이 손으로 할 수 있는 일을 지속하는 것도 중요합니다. 특히, 남들이 좋은 회사로 이직하고, 직급이나 직책이 올라가는 것에 일희일비 하지 않고 자신의 페이스를 가져가는 것 또한 필요합니다. 최신 정보로 이력서를 관리하라! (경력에 대한 지속적인 배포는 필수다.) 대부분 회사 이직 시 이력서를 갱신하는 분들이 많습니다. 저는 예전에 팀원들에게 매년 연말에 이력서를 업데이트 시키고, 이를 제3자 관점에서 확인해 주기도 했는데 항상 이직을 준비하는 마음으로 지속적인 경력 업데이트가 필요합니다. 지금은 아예 LinkedIn을 통해 아예 이력서를 공개를 해 두는 경우가 많을 정도입니다. 구글에 없으면, 존재하지 않는다는 말처럼 이제 링크드인에 없으면 없는 경력이 된 세상입니다. 여러분의 이력서를 늘 지속적으로 배포(Continous Delievery)하셔야 합니다. 또한, 이력을 관리하는 방법도 어떤 것이 어떤 일에 연결되는지 맥락(Context)를 가지고 관리할 필요가 있습니다. 나만의 경력 지도 만드는 법을 참고해 보세요. Work-Work 균형이 중요하다! (업무 경력에도 본업과 부업이 필요하다) 많은 사람들이 일-삶의 균형이 중요하다고 말합니다. (나의 가족과 저녁이 있는 삶 참고) 하지만, 그에 못지 않게 업무 경력에도 균형과 취미가 필요합니다. 아무리 재미 있던 일도 본업이 되는 순간, 지루해지기 마련입니다. 따라서, 업무 경력을 쌓고 돈을 버는 ‘본업’을 통해 깊이 있는 역량을 쌓는 동시에 재미를 얻기 위한 ‘부업’도 해야 합니다. 이로 인해 새로운 본업을 찾을 수도 있거든요. 저는 커뮤니티 활동, 책쓰기, 블로그, 오픈 소스 활동 등을 통해 새로운 분야에 계속 도전해 볼 수 있었습니다. 커뮤니티에서 일생의 인맥을 만들어라! (동기가 있는 사람이 모여있다.) 개발자 커뮤니티는 매우 중요합니다. 다양한 자기 의지와 활동 동기가 있는 사람을 만날 수 있기 때문이죠. 저는 학[...]



[ZDNet 칼럼] AWS re:Invent – 클라우드, 현실 세계에 스며들다

Sat, 24 Dec 2016 09:27:31 +0000

지난 주 미국 라스베이거스에는 클라우드 컴퓨팅 마니아 3만 2천 여명이 한 자리에 모였다. AWS 리인벤트(re:Invent) 2016에 참가하기 위해 전 세계에서 모여든 AWS 고객, 개발자 및 파트너 업체 종사자들이다. 클라우드 생태계에 정점에 있는 이들이 모인 이유는 업계의 리더 위치에 있는 AWS의 미래 전략을 듣기 위해서였다. 행사를 주최한 AWS는 re:Invent를 교육 및 배움의 장소로 자리매김하고자 했고, 다양한 고객의 사례를 서로 나누는 장을 마련했다. 최근 몇 년간 클라우드 컴퓨팅은 어떻게 진화해 왔을까? 넷플릭스의 아키텍처였다가 최근에 AWS 클라우드 전략 담당 부사장으로 영입된 아드리안 코크로프트는 그의 블로그에서 다음과 같이 썼다. “2014년에 엔터프라이즈 기업들이 AWS에 테스트 및 신규 애플리케이션을 개발하기 위한 방편으로 AWS를 사용하기 시작하여, 2015년에는 대량 마이그레이션을 하거나 전체 데이터센터를 퍼블릭 클라우드로 대체하는 패턴을 보았습니다. 올해 들어 이 변화는 미디어 산업, 판매 산업에서 빠르게 도입을 하는가 하면, 은행, 보험 등 퍼블릭 클라우드를 사용하는데 규제가 강한 금융 산업도 여기에 동참하였습니다. 다음은 아마 에너지, 교통, 정부, 제조 및 헬스케어 분야의 얼리 어댑터들이 클라우드 시장을 이끄는 주자가 될 것입니다.” (Cloud Trends ? Where have we come from and where are we headed 중) 앤디 제시 AWS 최고경영자(CEO)는 2014년에는 클라우드는 새로운 표준(Normal)으로서 엔터프라이즈 기업들이 활용을 시작했음을 알렸고, 2015년 기조 연설에서는 클라우드가 가져온 7가지 자유라는 주제로 클라우드가 스스로 원하는 길을 개척할 수 있는 자유를 준다는 점을 설명하였다. 그렇다면 올해의 화두는 무엇일까? 그는 이제 사용자들이 클라우드를 통해 그 동안 해내지 못했던 것에 대해 무엇이든 해 낼 수 있다는 느낌을 준다는 ‘슈퍼 파워(Super Power)’ 도구로서 자리매김 했다는 점을 기조 연설을 통해 강조했다. ​ ■클라우드가 없는 곳에도 클라우드를 넣다 아드리안의 언급대로, 앞으로 클라우드 활용이 익숙해진 IT 서비스 분야에서 제조, 유통, 판매 분야 등으로 확대될 전망이다. 이러한 실제 세계는 사실상 네트워크 연결이 제한적이거나 아예 존재하지 않는 극단적인 상황도 있다. 예를 들어, 옥수수 농장, 항공기 제조 공장, 병원등 산업 현장은 우리 생각과 많이 다르다. 일단 현장에서 생산되는 데이터들은 바로 클라우드로 옮기기도 애매하고, 일시적으로 현장에서 IT 환경을 꾸려야 한다. 이를 위해서는 로컬 환경에 클라우드와 궁합이 맞는 컴퓨팅 및 스토리지 서비스가 필요하다. Amazon Greengrass는 AWS Lambda와 AWS IoT를 결합한 로컬 디바이스로 주변 환경의 데이터 수집이나 프로그램 처리 등을 손쉽게 해준다. AWS Lambda는 서버리스 컴퓨팅 환경을 연 클라우드 함수 서비스로 임베디드 형식으로 로컬 컴퓨팅에 이식하게 됨에 따라 그 사용 범위가 훨씬 넓어질 전망이다. Greengrass에[...]



美 대선을 통해 본 현대 민주주의 착시 효과

Thu, 10 Nov 2016 23:16:32 +0000

대이변이었습니다. 여론 조사, 소셜 미디어 심지어 전 세계 모두의 예상을 뒤엎고 도널드 트럼프가 미국 대선에서 승리했습니다. 오로지 당선을 예측한 건 16년전 TV 시리즈인 ‘심슨 가족’ 뿐이었다는 우스개가 있을 정도죠. 현대 민주주의를 제대로 꽃피운 미국에서 추잡한 과거와 막말 그리고 황당한 분리주의 정책들을 공약으로 내세우고도 트럼프가 당선된 이유가 궁금합니다. 착시 1. 소셜 미디어 및 정보 격차 여론 조사나 소셜 미디어를 보면 마치 힐러리 클린턴이 승리할 것으로 보였지만 결과는 달랐습니다. 대의 민주주의와 다수결의 원칙은 공감대 형성이라는 필연적인 절차를 거칠 경우, 유리하게 작동하지만 어느 일방의 목소리가 커지면 반대로 작용하기도 합니다. 일견 인터넷과 소셜 미디어의 확산이 마치 민주주의와 소통의 창을 넓혀주는 것처럼 보이지만, 온라인과 현실 여론의 괴리가 심화될 수도록 전혀 다른 결과를 보인다는 점은 최근 우리 나라에서도 많이 보이는 현상이었습니다. (10년전 부터 우리 나라는 온라인 소통의 실험장이었죠.) 소셜 미디어를 사용해 보면, 자신의 의견과 다른 사람은 필터링을 하는 습성이 높고 추천 콘텐츠 자체도 자신의 성향과 유사해져서 사회적 아젠다의 경우, 일방의 의견에 갇히게 되는 폐해가 있습니다. 특히, 온라인에서는 도시에 사는 지식 수준이 높고 진보적인 성향인 사람들이 많아서 때문에 이로 인한 착시 효과가 증대되어 온 것이 사실입니다. 이러한 정보의 격차로 인해 일방의 목소리가 커질 수록 다른 한편의 의견이 숨어 버리는 것이 현대 민주주의의 약점을 간과하면 안될 것입니다. 참고: This election reminds us that social media is not reflective of real life – New York Post 및 How Social Media Impacted the U.S. Election – Bloomberg 착시 2. 민주적 이기주의, 바뀌지 않은 보수 많은 사람들이 주로 시골의 백인 결집 현상이 이번 이변을 낳은 것이라고 합니다만 사실 지난 3번의 미국 대선을 보면 꼭 그렇지만도 않습니다. 아래 도표를 보면, 공화당 투표층의 숫자는 크게 변화가 없습니다. 즉, 보수층의 고정 지지 현상은 예전이나 지금도 변화가 없습니다. 단지 과거 오바마에게 갔던 투표량이 힐러리에게 없었다는 점이 가장 큰 요인입니다. 미국 대선의 특이한 캐스팅 보트 주(States)인 오하이오, 플로리다, 펜실베이니아 등 중도층에서 민주당 투표가 저조했다는 점 그리고 젊은이, 흑인, 히스패닉 등 과거 투표장으로 갔던 사람이 이번 대선에서는 절대적으로 줄었다는 점이 오히려 크게 좌우했습니다. “보수는 부패로 망하고, 진보는 분열로 망한다.”는 격언은 이번에도 유효했습니다. 따라서, 늘 그렇듯이 선거에 이길려면 중도층에 투표장으로 나가야 할 이유를 주는 것이 제일 중요한 승리 요인입니다. 그런 점에서 버니 샌더스가 민주당 후보였다면 어땠을까 하는 생각이 듭니다. 참고: FactTank: Behind Trump’s victory: Divisions by race, gender, educati[...]



급하게 먹은 밥은 늘 체하는 법

Tue, 01 Nov 2016 22:00:07 +0000

대학원 석사 1년차였던 1996년 11월 1일 첫 직장에 입사했습니다. 그러니까 딱 만으로 20년입니다. 스타트업으로 시작해서 포털 사이트 그리고 글로벌 기업으로 회사를 옮기면서 다양한 일을 해 봤고, 오픈 소스 및 개발자 커뮤니티 운영 및 대 정부 기관과 협력도 하고, 정부 연구 개발 사업도 많이 진행해 봤습니다.

이러한 경험 중 한 가지 크게 배운 것은 바로 무엇이든 급하게 하면 항상 탈이 난다는 것입니다. 의도가 순수해도 과정을 무시하는 사람들과 일하면 결과적으로 좋은 결과를 얻지 못했습니다.

최근 최순실 게이트로 인해 나라 꼴이 말이 아닌 상태로 가고 있는데, 이로 인해 미래 기술을 위한 IT업계의 노력과 스타트업 육성 부분에도 유탄을 맞기 시작했습니다. 아래는 최근에 나온 뉴스 기사들입니다.

예산 7000억 넘는 문화창조융합벨트..실적은 ‘쥐꼬리’
은행권청년창업재단, ‘금융판 미르’ 의혹에 “전·현직 대통령과 연결고리 없어”
‘창조경제’로도 확산되는 최순실 게이트..미래부 ‘타격’ 받나?
미래부, 750억 국가R&D과제 ‘AIRI 몰아주기’ 물거품

이 중에는 정상적인 사업인데 의혹 수준에 머무는 것도 있고, 진행 과정 중에 문제가 있어 보이는 것들도 있습니다. 그러다 보니, 선의를 가지고 참여해서 정직하고 양심적으로 운영하던 IT업계 분들이 본의 아니게 심적 고난을 받기도 하고, 옆에 있는 분들이 덩달아 마음 고생을 하고 있습니다.

특히, 국내 스타트업계의 산실로 알려진 디캠프와 미래 기술을 위해 만들어진 인공 지능 연구소(AIRI)에 방송이나 뉴스 기사의 무분별한 의혹 제기는 저도 충격적이었습니다. 전국에 산재한 창조경제혁신센터에서 일하시는 IT업계 분들도 꽤 있기 때문에 향후 여파가 적지 않을 것 같습니다. 이들 기관에 둥지를 틀고 있는 많은 신생 스타트업들에게도 영향이 적을 수 없습니다.

(image)

돌이켜 보면, 이러한 일들이 벌어지게 된 근본 원인을 한번 살펴볼 필요가 있을 것 같습니다. 공통점은 모두 정부가 주도해서 민간 대기업에게 각출하게 해서 만든 재단 혹은 단체로 인해 벌어진 일이라는 것입니다. (청와대와 문화체육관광부가 주도해서 전경련을 통해 대기업으로 부터 각출해 만든 미르재단과 K스포츠재단의 방식과 크게 다르지 않습니다.) 의도가 순수했다 하더라도, 그 과정이 좋지 않다면 결과는 불을 보듯 뻔할 것입니다.

사실 정권 초기에 창조경제혁신센터가 만들어질 당시에도 IT업계 계신 대다수 분들이 기업들이 어쩔 수 없이 참여하는 전시 행정 사업이 될 것이라 전망했습니다. 청와대와 정부가 나서면, 어느 기업들도 거절할 수 없는 게 현실이니까요.

정치 이슈에 대한 글은 극히 아껴왔지만, 지난 대선 전 대통령 후보께, IT실험실에서 글로벌로이란 글에서 IT 분야의 규제 개혁과 자율적이고 공정한 경쟁 환경 육성에 그렇게 바랬습니다. 그러나, 기업을 줄세우고 정부가 주도하겠다는 과거 회귀식 정책 발상이 만든 참사는 피하기 어려울 것 같습니다.

이제 4년이 지나고, 또 다시 새로운 결정을 해야 하는 대선이 다가오고 있는데 급하게 먹고 체하는 이런 과정이 되풀이되면 안되겠습니다. 저를 포함해 IT업계에 있는 분들도 올바른 과정으로 이루어지는 미래 지향적인 IT 정책인지 선별해서 스스로 검증해서 참여해야 합니다.

이러한 문제를 빠르게 청산하고 다시는 이런 일이 되풀이 되지 않았으면 좋겠습니다.




[ZDNET 칼럼] 클라우드 서버의 혁신, 은밀하게 그리고 위대하게

Tue, 01 Nov 2016 16:59:13 +0000

한때 조립 PC가 유행인 적이 있었다. 내 맘대로 원하는 사양의 CPU와 메모리 그리고 그래픽 카드를 조합하여 원하는 PC를 만드는 것이다. 하지만, 정보기술(IT) 서비스를 위한 서버 역시 물리적으로 조립은 가능하지만, 부품이나 안정성을 위해 벤더들이 제공하는 제품을 써야 하는 경우가 많았다. 벤더 중심으로 돌아가던 서버 시장은 클라우드 시대로 접어들면서 완전히 패러다임이 바뀌고 있다. 클라우드를 사용하는 고객의 서비스 계획과 인프라를 확장하는 요구 사항이 서비스 업체에 지속해서 공유되고 있고, 이러한 점이 서비스에 적극적으로 반영되고 있기 때문이다. 부품과 생산 설비를 중심으로 주기적으로 서버 제품을 생산한다면 불가능했던 일이다. 클라우드 시장을 선도하고 있는 AWS의 경우, EC2 인스턴스의 역사를 보면 IT 변화에 민감하게 가상 서버 사양을 계속 추가해 왔음을 알 수 있다. CPU를 많이 쓰는 프로그램, 메모리를 많이 쓰는 프로그램 그리고 디스크 입출력(I/O)을 많이 쓰는 경우 등등 다양한 애플리케이션에 맞게 입맛에 맞는 인스턴스 타입을 선택할 수 있다. 따라서, 최근에 추가되는 Amazon EC2의 인스턴스 타입을 보면 IT 시장의 변화를 예측할 수 있는 실마리를 제공한다. ■ 512MB 메모리 최소형 T2.Nano 인스턴스 T2 인스턴스는 AWS에서 가장 낮은 사양의 인스턴스 타입으로 별도 프로세서 사용량 기준을 가지고, (예를 들어, CPU 20%만 사용 가능) 이를 넘어가는 경우 기존에 모아둔 CPU 크레딧을 사용하는 방식으로 효율적으로 자원을 활용할 수 있다. 가격도 저렴할 뿐만 아니라 필요할 때도 컴퓨팅 용량을 크레딧으로 사용할 수 있기 때문에 인기가 높다. 최근 서비스 아키텍처가 마이크로서비스로 변화하면서 예전에 한 덩어리로 매우 큰 애플리케이션을 잘게 서비스로 쪼개는 경향이 높아졌다. 그러다 보니 개별 서비스의 사이즈는 작고, 컴퓨팅 용량을 많이 사용하지 않는 경우가 많다. re:Invent 2015에서 T2.nano를 발표하는 버너 보겔스 아마존 CTO(출처: AWS)소형 웹 사이트를 운영하거나, 테스팅 및 모니터링이나 마이크로서비스용 서비스를 위한 최소형 인스턴스 타입을 원하게 되었는데 이를 위해 만든것이 t2.nano 인스턴스다. 항시 CPU 사용량이 5% 미만인 일반적인 웹 서비스에 딱 맞고, 512MB 메모리의 초소형 서버라고 할 수 있다. (물론 트래픽이 넘치면, 모아둔 크레딧으로 72분가량 100% CPU를 사용 가능하며, 필요 시 오토스케일링으로 서버를 확장할 수 있다.) ■ 2TB급 메모리를 장착한 X1 인스턴스 클라우드 컴퓨팅의 주요 고객은 스타트업과 중소 규모 기업이라고 생각하기 쉽지만, 최근 몇 년 사이 기업 IT의 새로운 표준으로 자리 잡으면서 엔터프라이즈 기업의 수요가 많이 늘어났다. 많은 엔터프라이즈 고객은 많은 메모리 용량을 가진 고성능의 인스턴스를 요구하기도 한다. 예를 들어, 인메모리 기반의 애플리케이션 즉, SAP HANA나 [...]



블로그 13년, 3000개의 여정

Thu, 20 Oct 2016 22:27:44 +0000

가끔 아는 분들을 만나면, “요즘 블로그가 뜸하시네요.”라는 말을 듣게 됩니다. 과거 정보 채널이 블로그로 한정되어 있던 2000년대 중반 보다는 덜하지만 그래도 글쓰기는 계속하고 있습니다. 가끔 이긴 하지만, 본 개인 블로그와 Mozilla 커뮤니티 그리고 최근에는 회사에서 업무용으로 하는 AWS 한국 블로그까지 다양합니다.

2년 전 새로운 회사로 옮기면서 시작한 회사 공식 블로그는 1년 반 만에 300개의 글을 쓰고 있으니, 최근에 제가 가장 많이 쓰고 있는 블로그입니다.

특히, 2003년 10월 그러니까 지금부터 13년전 시작한 Mozilla 한국 커뮤니티 블로그의 경우, 현재까지 천 여개 글이 쓰여졌습니다. 그 중 일부는 자원 봉사자 몇 분이 도와 주셨지만, 제가 쓴 글도 (대부분 번역글) 700여개가 넘더군요.

(image)

위의 표를 보시듯 13년 동안 다양한 블로그에 제가 썼던 글은 3,000개 정도입니다. 1년에 평균 200개 이상은 어디엔가 쓰고 있다는 이야기입니다.

그래서 저를 만나시면, “요즘 블로그가 뜸하시네요.”라는 말 대신 “요즘은 어디에 글을 쓰시나요?”라고 물어 주시길 바랄께요~




[ZDNET 칼럼] 대학생, 무료 클라우드 서비스로 날개를 달아라!

Thu, 01 Sep 2016 09:55:07 +0000

2학기 개강이 다가오고 있다. 에반젤리스트로서 해커톤이나 코딩 교육 행사에 가 보면, 꿈 많은 대학생들을 만나게 된다. 자신의 창업 아이템을 생각하고 있는 친구부터 학교 수업에서 하는 프로젝트를 하는 전공 학생들까지, 클라우드 컴퓨팅을 통해 뭔가 시도해 보려는 열정가들이 매우 많다. 이들 학생들이 의례히 물어보는 것이 있다.바로 “무료로 클라우드 서비스를 이용할 수 없나?” 라는 질문이다. 부족한 것이 많은 대학 시절이기에 뭔가 만들어 보기 위해 사비를 들여 서버, 스토리지, 데이터베이스 등의 인프라를 제대로 갖추기는 어려울 것이다. 이러한 질문을 갖고 있는 수 많은 대학생을 위한 몇 가지 작은 팁을 공유하고자 한다. (상) 멋쟁이 사자처럼 3기 (하) 유니톤 대학생 해커톤 현장 (출처: LikeLion.net 및 Unithon 홈페이지) ■ 일년간 공짜로 제공하는 프리티어 클라우드 컴퓨팅 리더로 잘 알려진 아마존 웹 서비스에서는 AWS 프리티어를 제공한다. AWS 계정을 만들고 나면, 가입 후 1년간 다양한 서비스에 대해 정해진 한도 내에서 무료로 사용할 수 있는 서비스다. 예를 들어, 가상 서버의 경우 t2.micro(1vCPU 및 1GM 랩)라는 인스턴스 타입에 한해 리눅스 하나와 윈도 서버 각각 하나에 대해서 무료로 이용할 수 있다. 이를 작은 웹 서버로 이용하거나, 자신의 프로젝트 서버로 이용할 수 있다. 재미 있는 점은 클라우드 서비스의 특유의 종량제 덕분에 월간 750시간이 무상이라는 점이다. 즉, 가상 서버를 항시 켜 두게 되면 한달 내내 750시간 미만이므로 하나의 인스턴스에 대해 무상으로 이용 가능하다. AWS 프리티어를 통한 무료 웹 사이트 운영 비용 절감 방법- 출처: AWS 간단 계산기 ​ 이는 가상 서버 10대를 75시간만 이용해도 무상으로 가능하다는 뜻이다. AWS API를 이용한 간단한 프로그래밍만으로 10대를띄웠다가 중지를 반복할 수 있다. 필요하다면 100대를 7시간 이용해도 무료이다. 다만, 이 한도를 넘어가면, 과금이 될 수 있으니 주의하자. 계정 설정에서 과금 알림을 하거나, 무료 사용량이 얼마나 남았는지 확인할 수 있으니 주의해서 보면 된다. 가상 서버 말고도 다양한 프리티어 서비스가 있다. 데이터베이스 서버 역시 db.t2.micro에 대해 20GB 스토리지와 천만 I/O에 대해 무료다. 하드디스크 격인 아마존 EBS(Amazon Elastic Block Store) 스토리지는 30GB, 대용량 스토리지인 아마존 S3 (Amazon Simple Storage Service)서비스도 20GB, NoSQL 서비스인 아마존 다이나모 DB(Amazon Dynamo DB)도 25GB를 프리티어로 제공한다. 1년이 지나도 종료되지 않는 무료 서비스도 있다. 예를 들어, 이메일 전송 서비스인 아마존 SES(Amazon Simple Email Service)는 월 6만건, 모바일 푸시 노티를 보내는 아마존 SNS(Amazon Simple Notification Service)는 월 백만건, 모바일 분석 서비스는 월 1억건 등 주요 모바일 서비스 등은 한도 내에서 무상 이용이 가능하다. 특히[...]



하이브리드 웹 앱스토어 플랫폼의 종말

Mon, 22 Aug 2016 22:30:45 +0000

구글이 며칠 전 윈도우/맥/리눅스용 크롬 브라우저에서 크롬앱 지원을 단계적으로 폐지하는 계획을 발표했습니다. 크롬 브라우저에 사용하는 앱은 웹 기술을 기반으로 제작된 것으로, 2010년 구글 I/O에서 처음 소개된 후, 크롬 웹스토어 개념으로 확장되었습니다. (좌) 크롬 웹 스토어, (우) 파이어폭스 마켓플레이스 물론 크롬앱 지원을 중단해도 현재 크롬에서 유용하게 사용되고 있는 확장 프로그램과 테마는 영향을 받지 않습니다. 향후 2016년 말 윈도우/맥/리눅스 사용자들이 크롬 웹스토어를 이용시 크롬앱이 지원 대상에서 제외되며 크롬 OS에서만 지원되고, 2017년 후반에는 크롬 웹 스토어에 노출되지 않고, 2018년 초에는 이미 설치한 크롬앱도 윈도우/맥/리눅스에서 실행되지 않는다고 합니다. (2011년 발표된 크롬 OS는 웹 브라우저 기반 데스크톱 OS로서, 지금도 이를 탑재한 크롬북은 교육 시장에서는 꽤 인기가 높습니다. 하지만, 이 계획 역시 잠정적인 것으로 보입니다.) 구글 블로그에 따르면, 실제 크롬앱 사용자가 크롬 유저 중 패키지 앱 사용자는 1%도 되지 않으며, 호스팅 앱 사용자도 네이티브 앱 수준을 대체할만한 새로운 종류의 웹 표준 API이 생겨나 ‘프로그레시브 웹 앱'(Progressive Web Apps) 개발이 가능해 진 것을 이유로 들었습니다. 데스크톱 기반 웹앱의 몰락 2010년도 초 당시 크롬 웹스토어와 크롬앱은 차세대 앱 플랫폼이 될 거라는 기대를 많이 받았습니다. HTML5를 기반으로 웹 애플리케이션 및 웹 OS에 대한 관심이 한참 높을 때였고, 구글 내에서도 안드로이드와 크롬 OS가 플랫폼 경쟁을 벌일 때였기 때문입니다. 구글은 크롬 브라우저를 기반으로 데스크톱에서 웹 기반 플랫폼을 모바일에서는 안드로이드를 미는 형국이었습니다. 그런데, 반전은 구글 내부의 크롬을 담당하던 선다 파차이가 안드로이드를 맡은 후 일어났습니다. 데스크톱 보다는 모바일에 힘이 실리면서, 안드로이드를 밀면서 어느 정도 예견되었고, 그 이후로 CEO가 되면서 완전히 정리되는 양상입니다. 크롬앱은 네이티브 앱과 웹앱의 간극을 좁힐 수 있는 다양한 API를 제공했고, PC에 설치해서 사용할 수 있는 기능을 제공했지만 하이브리드형 앱의 한계를 극복하지 못했습니다. 전형적인 데스크톱 웹 OS인 크롬 OS도 안드로이드 앱을 설치할 수 있는 방향으로 바뀌면서, 장기적으로는 안드로이드 기반으로 확장될 가능성이 높습니다. 구글이라도 역시 웹 플랫폼과 앱 플랫폼의 차이를 좁히기는 어려웠습니다. 모바일 기반 웹앱의 몰락 구글 크롬 웹 스토어와 함께 주목을 끈 또 하나의 웹 앱스토어는 Mozilla의 Firefox Marketplace입니다. 2011년 오픈 소스로 만든 모바일 웹 OS인 Firefox OS를 지원하기 위해 만든 웹 앱스토어로서, 다양한 Firefox OS 기기 뿐만 아니라 안드로이드와 PC 테스크톱에 앱 설치 기능을 제[...]



카카오 맞춤법 검사 오픈 API 중단에 대한 유감

Wed, 17 Aug 2016 22:30:06 +0000

온라인 맞춤법 검사기를 개발해 오신 부산대 권혁철 교수님이 카카오가 제공하는 맞춤법 검사 서비스 및 오픈 API에 대한 공개적으로 의혹을 제기하셨는데, 이에 대해 카카오가 오픈 API를 중지하는 결정을 하였습니다. 저는 이러한 일련의 사태가 국내 소프트웨어 및 인터넷 서비스 발전에 전혀 도움이 되지 않는 우려할만한 선례를 남겼다고 생각합니다. 먼저 논란이 된 권혁철교수님의 글과 이에 대한 카카오의 답변을 읽어보시죠. 대형 포털들이 맞춤법 검사기를 공개했다, 그런데… 다음 맞춤법 검사기와 관련된 논란에 대해 설명드립니다. SW 베끼기 문제 제기 방식에 대한 유감 누구라도 본인의 소프트웨어(SW) 저작권 및 특허권이 침해됐다고 판단했다면, 이는 증거를 통해 이의를 제기하고 법적인 소송을 통해 해결해야 합니다. 장기간 SW 연구 개발을 해오신 권 교수님께서 이를 모르시지는 않으실 것입니다. 물론 처음에 개인적인 의견과 감정의 소회를 페이스북에 올리셨지만, 이를 인터넷 언론인 ‘ㅍㅍㅅㅅ’에 게재하는 것으로 책임을 져야 하는 공적인 발언이 됩니다. 많은 블로거가 인터넷 매체사로 부터 중복 게재 요청을 할 때, 내 글을 알려주는 게 고맙다는 생각에 수락하게 됩니다. 하지만, 이는 매우 유의해야 합니다. 만약 카카오의 답변글 처럼 역공학이나 참고한 내용이 없다는 것이 사실이라면, 이는 언론을 통한 명예 훼손이 될 수도 있는 사안입니다. 토론의 대상을 공적 담론의 장으로 끌어오는 것은 좋지만, 아니면 말고 식의 증거 없는 무분별한 의혹 제기는 사양합니다. 한국어 자연어 처리 기술 현실에 대한 유감 영어를 포함해 세계 각국의 맞춤법 검사기는 매우 많은 오픈 소스 라이브러리, 플러그인, 상용 소프트웨어 및 API 서비스가 나와 있습니다. 그런데, 유독 한국어 맞춤법 검사기는 권혁철 교수님이 만드신 것 외에 쓸만한 게 없었던 게 현실이었습니다. 이에 대한 공로는 누구도 부인하지 못할 것이고, 오랜 기간 연구 및 서비스로 만들어 제공하신 것에 대해서는 다시 한번 감사드립니다. 하지만, 네이버와 카카오가 자체적인 개발 방식으로 맞춤법 검사기를 만들었다면, 이에 대해 비난할게 아니라 연구자로서 오히려 기뻐하고 장려할 만한 일이라고 생각합니다. 저 또한, 카카오의 맞춤법 검사 API 공개가 향후 한글 자연어 처리 기술 발전에 큰 도움이 될 것으로 기대하고 있었습니다. 권 교수님도 자신의 기술을 사업화 하는 과정에서 경쟁사로 인지 되는 대기업과의 관계 속에서 마음이 상한 부분이 있으시더라도, 큰 틀에서 동의하실 것이라 생각합니다. 네이버와 카카오 같은 회사의 담당 개발자들도 권 교수님의 제자들이거나 아니면 자연어 처리 연구를 했던 사람들입니다. 한국어를 하는 사람들이 컴퓨터나 온라인을 [...]



픽사(Pixar)의 6가지 스토리 텔링 구조

Thu, 11 Aug 2016 23:52:19 +0000

지난 주 JetCity Improv라는 곳에서 오신 앤드류라는 분에게서 글로벌 AWS 에반젤리스트 팀 멤버들과 함께 기업 소통 및 스토리 텔링 교육(?)을 받았습니다. 이 프로그램은 시애틀에 있는 작은 극단에서 해온 배우 훈련을 기업 프로그램으로 확장한 것이었습니다. 관련해서 나중에 따로 한번 포스팅 하기로 하구요…

체험 활동을 하던 중에 픽사(Pixar)에서 주로 사용하는 이야기 구조에 대한 실습을 했었는데, 간단히 공유하고 싶어서 적어봅니다. 우리에게 익숙한 스토리 텔링을 위해 사용하는 서사 구조 중의 하나로 6가지 구조로 되어 있습니다.

Once upon a time there was ___. Every day, ___. One day ___. Because of that, ___. Because of that, ___. Until finally ___.

(image)

이 구조를 통해 이야기를 만드는 것인데요. 예를 들면, 아래와 같습니다.

옛날 옛적에(Once upon a time) 해리 포터라는 소년이 있었습니다. 매일(Every day) 해리는 양부모와 사촌에게 괴롭힘을 당했습니다. 어느 날(Until One day) 해리는 자신이 마법사였다는 것을 알게되었습니다. 호그와트 학교로 가게 된 이유로(Because of that), 그가 실제로 전설적인 영웅의 아들이라고 알게되었습니다. 자신의 부모를 죽인 볼드모트가 다시 살아나(Because of that), 영생의 마법사의 돌을 노리는 것을 알고 이를 지키기 위해 필사의 노력을 합니다. 마침내(Finally), 해리는 볼드모트로부터 마법의 돌과 호그와트 마법학교를 지킬수 있었습니다.

앞의 두 가지는 이야기를 처음 꺼내면서 균형을 잡고, 중간의 두 가지는 이야기의 균형을 깨고 뭔가 변화는 양상으로 이끌고 가지만, 결국 마지막 두 가지에서 균형을 잡는 Balanced – Unbalanced – Balanced 구조라는 것입니다.

이러한 서사 방법은 해외에서 어린이들의 이야기 교육에서도 많이 사용된다고 합니다. 이와 함께 픽사의 스토리 아티스트였던 에마 코츠(Emma Coats)가 픽사 재직 시 활용했던 22가지 이야기 구조의 규칙(‘story basics’) 역시 잘 알려져 있습니다.

옛날 옛적에 제프 베조스라는 기업가가 있었습니다. 매일 월스트리트의 금융 업무가 지겨웠습니다. 그러던 어느날 아마존이라는 책 쇼핑몰을 창업합니다. 저렴한 가격을 통해 사람들에게 인기를 얻은 이유로 더 많은 물건을 팔 수 있게 되었습니다. 계속해서 사람들이 트래픽이 몰리자, 더 효율적인 인프라 운영을 위해 클라우드 컴퓨팅에 투자를 시작합니다. 마침내, 클라우드 사업은 아마존의 효자 사업이 되었습니다.

이러한 서사 구조로 예를 들어 보면,  우리 주변의 모든 것을 재미있는 이야기로 만들 수 있습니다. 동료들이나 아니면 아이들에게 가르쳐 주고 한번 이야기를 만들어 보면 어떨까요? 단순하지만 의미가 있습니다.

 

 




[ZDNET 칼럼] ‘개발자’들을 위한 인공 지능(AI) 기술 시대

Fri, 15 Jul 2016 08:30:49 +0000

인공 지능이 열풍이다. 최근 정부가 주요 IT 기업과 함께 인공 지능 연구소를 만들고, AI 인력이 양성을 위해 학교마다 인공 지능 관련 교과를 늘리는 바람에 한동안 침체였던 인공 지능 연구자들은 때아닌 호황(?)을 맞이하고 있다. 하지만, 지난 칼럼 클라우드가 선사한 인공지능 기술의 자유와 기회에서 보았듯이, 작금의 인공 지능 기술의 변화는 과거의 인공 지능 기술 패러다임과 완전히 다르다. 10년전 있었던 빅데이터 열풍을 다시 생각해보자. 과거 대용량 데이터 분석은 고성능 서버에 고가의 데이터웨어 상용 소프트웨어를 구매해야만 가능했다. 일반적인 데이터웨어 하우스(DW) 구축은 DW 전문가들과 매우 길고 오랜 기간이 필요한 구축 프로젝트에 맡겨야 했고, 그 결과는 고객의 입맛에 잘 맞지 않았다. 야후!에서 일하던 더그 커팅(Doug Cutting)이 하둡(Hadoop)이라는 오픈 소스 기반의 대용량 데이터 분산 처리 소프트웨어를 내 놓고 난 뒤, 상황은 180도 달라졌다. DW 업체와 전문가의 손을 거치지 않고도, 일반 개발자들이 저가의 장비를 분산화 하여 손쉽게 빅데이터 분석을 할 수 있게 되었다. 그 이후, 하둡 생태계는 과거와 비교할 수 없을 만큼 다양해졌으며, 수 많은 오픈 소스 소프트웨어와 지원 벤더들이 비지니스 이용에 대한 간극을 메우고 있다. 특히 클라우드 서비스가 확산되면서, 페타바이트 규모의 완전 관리형 데이터 웨어하우스인 아마존 레드시프트(Redshift), 기존 비즈니스 인텔리전스(BI) 솔루션 대비 1/10의 비용으로 비데이터 전문가라도 손쉽게 분석할 수 있는 플랫폼을 내놓기도 했다. 그렇게 빅데이터 처리 및 분석 기술은 한없이 높았던 진입 장벽을 크게 낮추었다. ■ 진입 장벽이 확 낮아진 인공 지능 기술 소위 딥러닝(Deep Learning)으로 알려진 인공 지능 기술 역시, 구글, 페이스북, 바이두, 아마존 등 다양한 글로벌 인터넷 기업이 주도하고 있다. 이들은 자사의 검색, 소셜네트워크, 음성 인식 서비스에 녹일 목적으로 투자를 지속하고 있다. 특히, 딥러닝 분야에서도 많은 오픈 소스 도구들이 활발하게 나오고 있는데, 그 중에 구글에서 공개한 텐서플로(TensorFlow)가 인기다. 3월에 시작된 텐서플로 한국 커뮤니티는 3개월만에 현재 3천명이 넘는 회원을 가지고 있고, 지난 6월 첫 오프라인 모임은 신청한지 10분에 마감되고, 200여명이 참여했다고 한다. 텐서플로를 개발한 구글의 제프 딘(Jeff Dean)은 원래 인공 지능 전문가가 아니었다. Quora에 올라온 “제프딘은 어떻게 그렇게 빨리 인프라와 시스템 엔지니어링에서 딥러닝 분야 전문가가 된건가요?”라는 질문에는 한 학생이 제프 딘에게 직접 들은 답변이 올라와 있다. ​“저는 이 분야가 잠재력이 많고 흥미로운 분야라고 생각했습니다. 뉴럴 네[...]



훌륭한 개발 문화의 이면(3) – 다른 팀 소스 코드를 볼 수 있는가?

Wed, 06 Jul 2016 22:30:39 +0000

조엘 스폴스키는 더 나은 소프트웨어를 만들기 위한 12 단계에서 첫번째 “Source Control(소스 컨트롤)을 사용하십니까?”을 화두로 던졌습니다. 이 12가지 질문은 진정한 소프트웨어 개발 회사 인지를 검증하는 잣대로 유명합니다. 만약 취업 중인 개발자라면 인터뷰 시 꼭 던져야 하는 중요한 질문입니다. 대부분 SW 개발 회사라면 당연히 소스 콘트롤을 사용하고 있을 것이고, 저는 좀 더 나아가 다른 질문을 던지고 싶습니다. 여러분의 회사에서는 내부의 다른 개발팀이 만드는 소스 코드를 보실 수 있나요? 아니면 보안이라는 명분으로 서로 꽁꽁 감춰 놓고 있으신가요? 개발자들은 소스 코드를 읽고, 리뷰하고 수정해 주는 일련의 과정을 거쳐 성장합니다. 따라서, 외부 오픈 소스로 공개해서 개발하는 것 까지는 아니어도 회사 내부 소스를 공유하는 것은 매우 중요한 개발 문화입니다. 개발 문화의 이면에 대한 세번째는 바로 “사내 소스 공유 문화”에 대한 것입니다. 기업내 오픈소스 개발 방식 도입記에서 밝힌 대로, 2004년 Daum에 입사 했을 때 회사 개발 프로세스 상 몇 가지 문제점이 있었습니다. 가장 대표적인 것이 소스 코드를 개별 팀이 각각 관리하고 있었을 뿐 아니라 각자 CVS, 서브버전, 소스세이프 등 다양한 소스 콘트롤을 사용하고 있었습니다. ■ 소스 코드, 우선 통합하라! 각 팀이 테스트 서버나 팀내 로컬 서버에 소스 코드를 모아 두니, 가끔 팀 별로 코드 배포 안정성에 문제가 되더군요. 뿐만 아니라, 특정 서비스가 중단되었는데 조직 개편으로 팀이 분리된 경우, 중간에 소스 코드들이 사라지는 경우가 있었습니다. 당시 소스 코드는 연구 개발 결과물로 취급하고 있어서, 이게 사라지면 회계 감사가 나왔을 때 매우 난처한 경우가 생기게 됩니다. (과거 다음은 시도 때도 없이 국세청 감사를 받았던 것으로 유명하죠.) ​ 그래서, 2005년 말에 ‘전사 소스 콘트롤 통합 및 저장소 일원화’라는 프로젝트를 맡아 하게 되었습니다. 당시 막 인기를 끌고 있던 서브버전을 선택하고, 이를 전사 인증 연동, 권한 및 리비전 관리 등의 관리 시스템을 구축하였습니다. 개별 개발팀 입장에서는 잘 쓰고 있는데, 소스 코드 이전이라는 귀찮은 일이 생기니 많은 반대에 부딪혔습니다. 2005년 Daum 전사 소스 코드 통합 저장소- 무료 10년간 운영했던 레거시(?) 시스템 특히, 당시 서브버전이 이클립스 플러그인과 연동 시 안정성 등 많은 이슈가 있어서 어려움이 많았습니다. 직접 찾아가서 문제를 해결해 주는 방법으로 다행히 수백 개나 되는 전사 소스 코드가 한 자리로 모일 수 있었습니다. 만약 아직도 회사 내 소스 코드가 한 군데 모여있지 않고, 이를 관리하는 팀이 없다면 회계 감사를 위[...]



훌륭한 개발 문화의 이면(2) – 자율적 개발 환경을 선택하라

Mon, 04 Jul 2016 23:00:52 +0000

연재를 통해 개발 의욕을 고취할 수 있는 다양한 개발자 문화와 이를 잘 가꿀 수 있는 방법들을 살펴보고 있는데, 코딩 테스트에 이어 두 번째로 개발 환경의 자율성에 대한 문제를 이야기해 볼까 합니다. …개발자들의 노트북은 회사 규정에 따른 일괄 지급이 아니라 개발자가 정해진 예산 범위 내에서 자신의 장비를 선택할 수 있는가? 개발 장비 구매에 대한 예산은 충분한가?… 물론 다른 장비도 좋지만 맥북 프로 최고 사양이라는 의미에는 그 조직이 정말로 Core 기술 개발에 투자할 의지가 있는지에 대한 지표 였다. 임형준, 삼성의 반성…”SW인력 절반이 기초수준 실력”을 읽고 개발자에게 자신의 컴퓨터나 소모품, 개발 환경을 직접 선택할 수 있는 자유를 주는 건 개발 생산성에 지대한 영향을 미칩니다. (참고: 개발자의 생산성에 좌우하는 것들) 2006년 Daum 개발자 추천 하드웨어!라는 글에서 보시다시피 “Daum의 개발자 지원 제도 중에는 자산 포인트(일명, 개발자 마일리지) 제도가 있습니다. 매년 일정 포인트(200만원)를 지급하여 자신이 원하는 개발 환경을 만들어 사용하도록 회사에서 지급해 주는 것이죠. 사내에 있는 자산 포인트 관리 시스템으로 구매도 하고, 자산 교환으로 포인트 교환을 하기도 합니다.” 역시 제가 직접 입안하고 시행했던 제도였습니다. 당시 업계 최초이기도 하고, 10여년간 지속되어서 카카오와 합병 당시 카카오 개발자조차도 감동했던(?) 제도입니다. 2006년 당시 자산 포인트로 구매한 랩탑, 모니터, PC를 쓰는 Daum 개발자들 ■ 개발자가 진정 원하는 것은 무엇? 그 시초는 이렇습니다. 2005년에 Daum 개발자들이 진정 원하는 게 무엇인지 사내에서 심층 인터뷰를 진행했습니다. 대부분 SW나 책을 사 달라, 교육을 보내 달라, 이런 것이라고 생각을 했습니다. 그런데, 놀랍게도 대부분 메모리를 올려 달라, CPU를 바꿔 달라, 키보드가 안 맞는다 등이 대부분이었습니다. 물론 개발자용 PC 사양은 일반 직원 보다 훨씬 높을 뿐만 아니라, 필요하다면 언제든지 결제를 올려서 업그레이드가 가능했는데도 말입니다. 하지만, 개발자들은 그러한 프로세스가 있어도 특유의 귀차니즘(?)으로 인해 결제를 올리길 꺼리거나 그런 프로세스의 존재 자체로 선택권을 침해 받고 있다고 생각하고 있더군요. 그래서 구매 부서에 매년 개발 직군이 인당 얼마만큼 자산 구매 예산을 쓰는지 확인을 해보았더니, 감가상각(3년간) 추가 예산을 포함해서 인당 매년 100만원 정도가 되는 겁니다. 그렇다면, 개발자들에게 매년 200만원어치의 자산을 원하는 만큼 구매하도록 자율권을 주자는 파격적인 제안을 하였고, 당시 Daum 경영진들은 수용을 해주게 됩니다. 이 제도 덕분[...]



훌륭한 개발 문화의 이면(1) – 코딩 테스트 인터뷰 제대로 하기

Sun, 03 Jul 2016 23:00:55 +0000

지난 주에 모 대기업의 자사 소프트웨어 역량에 대한 자기 반성에 대한 사내 방송 이야기가 기사화된 후, IT 업계 많은 분들이 좋은 의견을 많이 내어 주셨습니다. …개발자들이 알고리즘 문제풀이집 10권을 열심히 공부해서 구글 코딩 인터뷰 문제를 척척 풀어낸다고 하자. 팔란티어 문제도 다 풀어낸다. 그래서 뭐? 문화와 개방으로 표상되는 진짜 혁신이 없으면 그런 문제 좀 푼다고 해서 달라질 것이 정말이지, 아무 것도 없다. 임백준, 삼성전자의 소프트웨어 개발자 역량 중 …개발자들의 능력이 떨어진다고 생각하지 않는다. 아주 뛰어난 개발자도 많이 있을 것이다. 개발자 면면을 보면 아주 뛰어난 개발자가 많음에도 불구하고 SW 능력이 떨어진다는 의미는 조직, 문화의 문제가 많다고 생각한다. 임형준, 삼성의 반성…”SW인력 절반이 기초수준 실력”을 읽고 위의 두 가지 의견 이외에도 공통적으로 소프트웨어 개발자 역량에 대한 문제 보다는 사내 개발 조직의 유연한 문화를 주문하는 목소리가 훨씬 많았습니다. 이건 대기업이 아니더라도 소프트웨어 개발자로 일하시는 분들은 누구나 느끼시는 점일 것입니다. 하지만, 아무리 좋은 개발 문화라고 해도 이것을 어떻게 운용하느냐에 따라 그 결과는 달라져서 결국 맞지 않는 옷을 입듯 실패하게 됩니다. 앞으로 제 경험을 토대로 몇 가지 이러한 개발 문화를 운용해 봤던 사례를 이야기해 보려고 합니다. 그 첫번째로 이번에 이슈가 된 ‘코딩 테스트’입니다. 잘 아시다시피 글로벌 IT 기업에서는 하루 종일 4-5명이 시간을 투자해서 돌아가며 코딩 테스트 면접을 봅니다. 인터뷰에 이렇게 많은 자원을 투여하는 게 쉽지 않지만, 국내 웬만한 IT 기업에도 어느 정도 정착이 되어 있기는 합니다. ■ 결과가 아닌 과정을 보라 이전 직장이었던 Daum에서는 2004년에 처음 경력 채용 시 코딩 테스트를 (아마 업계 최초로)도입했습니다. 당시에 ‘서류 전형 – 실무 기술 – 임원/HR’의 3단계 인터뷰 과정 중 개발자 채용에만 한 단계를 더 넣게 되었죠. 목적은 단순했습니다. 실무 면접 전에 적어도 소프트웨어 개발에 대한 기초적인 사고를 하는지를 검증하는 절차를 만들어 오프라인 실무 면접의 부담을 줄여주자는 것이었습니다. (당시 마이크로소프트나 야후 등 글로벌 기업의 코딩 테스트 면접을 벤치마킹 하기도 했습니다.) 처음 시행이다 보니 아무래도 문제 출제나 평가 방법 등을 현업 개발팀에게 떠 맡기면 면접 절차가 하나 더 늘어나고, 평가 공정성도 그렇고 하니, CTO 직속팀에서 이 일을 맡아서 부담을 줄여주자는 형태로 결정을 하게 되었습니다. 당시 제가 개발자 채용, 교육, 경력 [...]



[사족] 정부 “한국지도 쓰려면 위성영상 손봐야” 구글 “NO”

Wed, 22 Jun 2016 07:23:48 +0000

본 이슈는 최근에 ZDNet 임민철 기자님이 쓰신 정부 “한국지도 쓰려면 위성영상 손봐야” 구글 “NO” 에서 자세하게 다루기도 했고, 저도 이와 관련해서 무려 10년전에 구글과 정부의 어설픈 지도 서비스 협상법에서 의견을 낸 적이 있습니다만… 최근 구글이 다시 국내 수치 지도의 해외 반출을 요청하면서, 뜨거운 감자가 되었습니다. 10년이 넘게 끌고 온 문제인데다,  모바일 시대에 안드로이드의 기세가 드세다 보니 구글의 끊임없는 요청에 대해 우리가 대하는 태도가 마치 쇄국 정책처럼 보일 수도 있습니다. 구글 “韓 상세지도 달라”…속내는 [SNS 세상은 지금] 구글 韓지도 반출요청, 규제와 꼼수 사이 구글의 ‘지도 데이터 국외 반출’ 신청에 머리싸맨 정부 저는 지질학 및 GIS 전공을 했고, 다음에서 지도 API를 외부에 제공하는 일을 했던 사람으로서…  최근 이슈에 대한 제 소견은 아래와 같습니다. 1. 구글이 원하는 국가 수치 지도는 수 십년간 국가 GIS 사업을 통해 수 백억의 국민 세금이 들어간 결과물입니다. 따라서, 저작권을 가지고 있는 정부 입장에서는 단순히 경제 논리로 접근할 수 없고, 안보나 국민 편익 모두를 고려해야 하는 입장입니다. 데이터 공개는 느리지만 꾸준히 계속되었습니다.  10년전에는 1:20만 이상 지도 데이터 원천 반출이 불가능했지만, 계속적으로 (1:5만까지) 대축적 지도에 대해 단계적으로 오픈을 했고, 현재 구글도 이를 가공한 SKT Tmap의 지도 데이터 및 위치 정보(POI) DB를 이미 사용하고 있습니다. 현재 구글은 좀 더 자세한 1:1000, 1:5000 정도의 (길찾기를 위한) 소축적 지도를 달라는 요청입니다. 하지만, 이러한 상세 지도가 한번 해외 반출되기 시작하면, 다양한 업체로 부터 반출 요구가 나오기 때문에 첫 사례에 신중할 수 밖에 없겠죠. 계속 해외 반출 사례가 나오다 보면, 수치 지도 데이터가 어떤 경로로 북한으로 유입될 수도 있구요. 뭔가 특별한 예외를 위한 반출 조건이 필요합니다. 2. 그러한 반출 조건 중 하나가 (국가 안보를 위한) 구글맵 및 위성 사진 변경 요청일 수 있습니다. 우리 나라 뿐만 아니라 안보 상황이 남다른 인도를 비롯해서, 태국이나 러시아에서도 제기된 문제입니다. 현재 인도 같은 경우, 위성 지도 뿐만 아니라 테러 위험에 따른 구글 스트릿뷰에 대한 촬영도 거부하고 있는 중입니다. (한국은 스트릿뷰 촬영 중 개인 정보 수집 이슈로 중단됐지만요…) 또한, 그런 요청을 하는 나라는 유독 우리 나라 뿐만 아니라 이미 언급한 다른 나라들도 많고, 이스라엘 같이 미국 우방으로서 외교적으로 해결한 사안도 있습니다. 따라서, 국가 마다 법이 다르[...]



StatCounter를 다 믿지 마세요! (2)

Wed, 22 Jun 2016 06:39:12 +0000

최근에 StatCounter를 인용해서 구글 인터넷 브라우저 ‘크롬’… 한국서도 ‘MS 익스플로러’ 추월 같은 보도가 나오고 있지요. 물론 IE 점유율이 떨어지고, 다양한 웹 브라우저가 늘어나는 건 좋은 소식이지만, 보도 기사가 여전히 통계 오류가 있는 사이트를 참고하는 건 문제가 있습니다.

StatCounter의 최근 1년간 데스크톱 웹 브라우저 점유율을 보면, 실제로 최근 구글 크롬이 IE를 추월한 것으로 나옵니다.

(image)

하지만, 같은 기간 데스크톱 검색 엔진 점유율을 보면, 구글이 네이버보다 점유율이 훨씬 높은 것으로 보입니다. 이것은 국내 어떤 데이터와도 맞지 않고, 따라서 신뢰할 만한 자료라고 생각하지 않을 것입니다.

(image)

이는 StatCounter를 다 믿지 마세요!에서도 이미 언급한 바 있습니다.

같은 날짜의 데스크톱 검색 엔진 점유율에서 네이버 50%, 구글 40%, 다음 10% 그리고 모바일 검색에서는 90%가 구글로 나오는 것으로 봐서는 로그 데이터를 제공한 곳은 구글 검색이 활발한 사이트들일 가능성이 높다고 판단됩니다.

오히려 Korea HTML5 웹 브라우저, 운영체제 이용률이 조금 더 현실에 가깝지요. 공짜 보고서는 좀 더 신뢰성을 잘 파악하고, 보도해 주었으면 좋겠습니다.




Tistory에서 워드프레스로 URL 그대로 이사하기

Wed, 15 Jun 2016 23:00:30 +0000

지금으로 부터 10년 전(2006년) Daum의 서비스형 블로그 플랫폼인 티스토리가 출범할 때, 개밥먹기(Dog Fooding)의 일환으로 티스토리 블로그 분점을 내었습니다. 티스토리는 제가 출범할 때 부터 영향을 많이 끼친 서비스이고, 2016년 5월 현재도 국내 웹 사이트 순위 3위에 점하는 대단한 트래픽을 가지고 있습니다. 과거 다음에 재직할 때, 내부의 다양한 채널로 정말 많은 제안과 쓴소리를 했지만 아쉽게도 티스토리에 대한 투자는 잘 이루어지지 못했습니다. 합병 후, 카카오에서도 모바일 대세에 밀려 티스토리를 PC 웹의 유물처럼 느끼는지 여전히 서비스 개선은 지지부진 합니다. 물론 저도 2014년 6월 이후로 더 이상 글을 쓰지 않은 블로그였지만, 600여개 가까운 글을 썼던 보금자리였던 터라 스스로 콘텐츠를 직접 제어할 수 있도록 이전을 하기로 생각했습니다. 요즘처럼 하수상한 시절에 마치 티스토리가 문을 닫을 노파심은 아니고, 제가 평소에 가지고 있는 데이터 소유에 대한 평소 철학(인디웹(IndieWeb)을 아십니까? 참고)에 따른 것임을 양지해 주시기 바랍니다. 이 글은 설치형 워드프레스를 운영하시는 방법에 대해 익숙하신 분들을 대상으로 합니다. 설치형 운영에 대한 방법 및 질의 응답은 한국워드프레스 사용자모임을 통해서 하시기 바랍니다. 우선 티스토리에서 워드프레스로의 이사는 많은 분들이 이미 해 보셨고, 관련 글도 구글 검색을 하면 많이 나옵니다.(예: 티스토리에서 워드프레스로 (WordPress) 이사하기 (TTXML)) 이 글의 목적은 기존 이사를 하시면서 생긴 문제점 중 URL이 그대로 보존 되도록 하는 방법에 초점을 맞추고 있습니다. 티스토리에서 블로깅 좀 했다하면, 아래와 같이 2차 도메인을 설정하고 (한글 URL의 경우 링크가 약간 길어지는 문제 때문에) 숫자로된 URL을 제공하는 방법으로 설정을 하셨을 겁니다. 이전 후에도 그대로 URL이 보존되고, (티스토리가 문을 닫기 까지) 리다이렉션하는 방법을 포함합니다. 1. 티스토리 블로그 데이터 백업하기 우선 티스토리의 환경 설정 ▶ 데이터 관리 에서 TTXML 파일을 백업을 받습니다. 복원을 안되도록 막았지만, 아직까지 백업을 해주는 것만으로 감사합니다. 2. TTXML Importer 수정 버전 다운로드 많은 분들이 이사에 사용하신 워드프레스 플러그인은 TTXML Importer입니다만… URL을 보존해서 사용하려면 제가 약간 수정한 버전을 다운로드 받으시면 됩니다. 제 Github 저장소에서 ZIP 파일 다운로드가 가능합니다. 3. 워드프레스로 백업 데이터 가져오기 깨끗하게 설치된 워드프레스에서 TTXML Importer 플러그인을 plugins 디렉토리에 풀고 난 후, 활성[...]



[ZDNET 칼럼] 서버리스(Serverless)가 온다!

Mon, 13 Jun 2016 18:17:19 +0000

지난 칼럼 ‘클라우드 기술에 대한 세가지 패러다임 변화‘ 에서 ‘서버 없는 클라우드 함수의 등장’이라는 변화를 소개했다. 이러한 새로운 패러다임은 개발자들에게 큰 수고와 비용 없이도 좀 더 빠르고 민첩하게 다양한 애플리케이션을 만들고, 서비스 운용을 위한 확장성 및 가용성에 대한 수고와 비용을 없애는 방향으로 바뀌고 있다. 이러한 변화를 가장 극적으로 보여준 것이 바로 지난 5월말 뉴욕에서 있었던 서버리스 컨퍼런스(Serverless Conference)다. 일반적으로, 회자되는 기술의 유행 방식은 선두 주자가 혁신적인 서비스를 내면, 경쟁적으로 유사한 서비스가 만들어지고, 오픈 소스로 된 관련 도구가 증가하면서 개발자들이 여기에 동조하고, 콘퍼런스에서 다 같이 만나는 패턴인데,이는 과거에도 종종 있었다. 2014년 AWS람다(Lambda)가 이러한 개념을 처음 선 보인 이후로, 많은 클라우드 업체들이 이를 벤치마킹한 서비스를 줄줄이 내놓고 있다. 많은 개발자들은 관련된 코드 예제들을 오픈 소스로 공개하고, 급기야는 Serverless FRAMEwork, CloudiaJS 같은 서버리스 오픈 소스 개발 프레임워크가 계속 나오고 있다. AWS에서 Lambda와 API Gateway 서비스 개발을 총괄하고 있는 팀 와그너(Tim Wagner)는 서버리스 콘퍼런스 키노트 발표에 앞서 물리 서버를 부숴버리는 상징적인 퍼포먼스를 보여 주기도 했다. 물리적 서버를 부수는 퍼포먼스를 하고 있는 팀 와그너 출처: @samkroon ■ Serverless != No Server 물론 서버리스(Serverless)라는 말 자체가 서버가 필요 없다는 뜻은 아니다. 클라우드에서도 서버는 존재하고 있고, 다만 고객이 스스로 관리해야 하는 서버 혹은 콘테이너가 제로(0)에 수렴한다는 의미다. 따라서, 서버리스란 오로지 이벤트에 따라 동작하는 클라우드 기반의 나노 수준 (최근 회자되는 마이크로서비스가 가진 크기를 생각해서) 서비스 단위의 프로그램 코드만을 개발하고 배포에 집중한다는 의미이다. 기존의 PaaS(Platform as a Service)는 복잡한 모놀리식(Monolithic) 애플리케이션을 지원했다는 점에서, 무상태(Stateless)는 서버리스의 특징과 대비된다. 이유는 간단하다. 더 빠르게 움직이기 위해서다. 이러한 특징은 인프라 설치, 운용, 확장성 고려, 복잡한 배포 및 모니터링 등 많은 관리 업무를 줄이고, 민첩하게 만들고 배포하려는 회사 혹은 팀에게 적합하다. 예를 들어, AWS Lambda는 가장 선두에 있는 서비스로서 Node, Java, Python 코드를 올리기만 하면, 코드가 실행될 때 마다 5분 안에 실행하면서 100ms 단위로 과금한다. 다른 AWS 서비스의 이벤트를 처리(예를 들면, Amazon S3에 이미지가 올[...]