※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1855호(2018. 7. 18. 발행)에 기고한 원고입니다.


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

오픈AI, 위화감 없이 두 얼굴을 합성해 주는 ‘글로우’ 기술 발표.pdf



인공지능 관련 비영리 연구기관으로 설립된 오픈AI(OpenAI)’는 위화감 없이 두 얼굴 사진을 합성할 수 있는 기술인 ‘Glow(글로우)’를 발표


오픈AI의 연구원인 프라풀라 다리왈과 더크 킹마에 의해 개발된 글로우는 가역 1×1 중첩(invertible 1x1 convolutions)’ 기술을 이용하는 이미지 생성 인공지능임


글로우는 두 사진을 합성할뿐더러 합성의 정도를 조절할 수 있는데, 가령 왼쪽 입력 창에 천체 물리학자 닐 디그래스 타이슨의 얼굴을 넣고, 오른쪽 입력 i창에 여배우 라시다 리 존스의 얼굴을 넣은 뒤 어느 쪽을 많이 반영할 것인지 조작할 수 있음


Glow: Better Reversible Generative Models

(클릭하면 링크 사이트에서 두 얼굴 합성을 체험해 볼 수 있습니다)


합성 창의 MIX 버튼 위치를 중앙 위치로 설정하면 두 사진 이미지를 균일하게 합성하게 되는데, 결과는 실재 인물일 것 같은 자연스러운 남성의 얼굴이 생성됨


MIX 조절 버튼을 왼쪽으로 옮기게 되면 결과 값은 왼쪽 입력 창에 있는 디그래스 타이슨의 특징이 더 강하게 반영하지만, 이 역시 MIX가 중앙일 때 나온 것과 마찬가지로 상당히 자연스러운 느낌을 줌


MIX 조절 버튼을 오른쪽으로 옮기면 당연히 리 존스의 얼굴 특징이 더 많이 반영되며, 결과 값은 약간 중성적 느낌이 나는 여성의 사진을 생성함


오픈AI는 글로우를 더 나은 가역적 생성 모델(better reversible generative model)'이라 설명하고 있는데, 한쪽 이미지와 다른 한쪽의 이미지 사이를 쉽게 오가며 다양한 합성 이미지를 생성할 수 있다는 뜻을 담고 있음

 

<자료> OpenAI Blog

[그림 1] 글로우를 이용한 두 사진의 다양한 합성

 

글로우는 얼굴 사진의 합성 외에도 사진에 나이, 수염, 미소등의 속성을 추가하여 이미지를 자연스럽게 변화시키는 기능도 제공함


<자료> Fast Company

[그림 2] 얼굴 속성 값의 변화


글로우는 학습한 이미지를 토대로 자동으로 레이블을 붙일 수 있는 것도 특징인데, 데모용으로 준비된 3만 명의 얼굴 사진을 학습시키면 자동으로 미소, 나이, 가는 눈, 금발, 수염등의 레이블을 설정함


자동으로 설정된 레이블은 나중에 자유롭게 조작할 수 있으며, 새로 입력된 이미지에 속성 변화를 추가할 수 있음


가령 왼쪽 입력 창에 유명 AI 연구자인 제프리 힌튼의 얼굴 사진을 세팅하고, ‘웃음-나이-금발-턱수염등의 속성 값을 최대로 하고, ‘가는 눈속성 값을 최대로 하면(눈 크게 뜨기 설정), 오른쪽의 출력 창에 설정을 반영한 변경된 사진이 생성됨


수염이 검은 것이 약간의 위화감을 주기는 하지만, 실재한다고 해도 이상하지 않은 남성의 얼굴이 생성되며 AI가 독자적으로 판단해 만들어 낸 것 같은 느낌은 주지 않음


오픈AI는 글로우를 깃허브(GitHub)에 공개해 누구나 자유롭게 사용해 보도록 하고 있음(https://github.com/openai/glow)


글로우를 동작시키기 위해는 기계학습 오픈소스 라이브러리인 텐서플로우(TensorFlow)와 우버가 만든 텐서플로우용 오픈소스 분산 딥러닝 프레임워크인 호로보드(Horovod)가 필요하며, 구체적인 조작 방법 등은 글로우 문서에 설명되어 있음


문서는 https://d4mucfpksywv.cloudfront.net/research-covers/glow/paper/glow.pdf에서 다운로드 받을 수 있음


두 연구원은 한 사진에서 다른 사진으로 넘어가는 도중의 변환 이미지 완성도에 대해 부자연스러운 합성이 보인다, 보다 자연스러운 변화를 주기 위해 자동회귀모형(autoregressive model)VAE 기법을 사용해 개선하고 싶다는 뜻을 밝히고 있음


VAE(Variational Autoencode, 변동 자동 인코딩)는 딥러닝 모델 중 하나로, 학습 데이터를 바탕으로 그 특징을 파악하여 학습한 데이터 세트와 비슷한 데이터를 생성할 수 있음


※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1834호(2018. 2. 21. 발행)에 기고한 원고입니다.


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

제2의 안드로이드를 꿈꾸는 바이두의 자율주행 플랫폼 &lsquo;아폴로&rsquo;.pdf



[ 요 약 ]


바이두는 오픈소스 자율운전 플랫폼 아폴로(Apollo) 프로젝트를 진행 중이며 2020년 말까지 고속도로와 복잡한 시내 환경에서 자율주행을 목표로 하고 있음아폴로 플랫폼에는 중국 업체들 외에도 MS, 포드엔비디아보쉬 등 해외 기업 포함 총 90개 기업이 참여하고 있음아폴로 플랫폼의 현재 상태는 2005년 구글에 인수될 당시 안드로이드와 비슷하다는 평가이며바이두의 오픈소스 플랫폼이 자율운전 시스템의 안드로이드가 될 지 관심이 모아지고 있음



[ 본 문 ]


ž 바이두(Baidu)는 올해 CES에서 오픈소스 자율운전 플랫폼 아폴로(Apollo)2.0 버전을 공개하고, 아폴로를 탑재한 자율운전차의 시험 주행 모습을 선보였음


Ø 2017 7월 바이두는 아폴로 플랫폼 버전 1.0의 소프트웨어와 데이터를 공개하며 자율운전 기술 개발업체 및 차량 제조업체 누구나 다운로드 받아 활용할 수 있는 오픈소스 플랫폼으로 운영하겠다는 계획을 발표한 바 있음


<자료> TechCrunch


[그림 1] 바이두의 아폴로 플랫폼 발표


Ø 자율운전차 개발자들에게 바이두가 아폴로 플랫폼 관련 데이터, API, 오픈소스 코드 등을 제공하고, 하드웨어를 직접 개발해 출시할 수 있도록 레퍼런스 하드웨어도 제공하겠다는 포부를 밝힌 것


Ø 발표 당시 아폴로 자율주행차 프로그램에 참여하는 파트너 기업이 이미 50개에 달했는데, 이후 짧은 시간 안에 아폴로는 자율운전차의 안드로이드로 자리매김하는 데 성공하였음


Ø 바이두는 올해 CES에서 라스베이거스와 베이징을 연결해 아폴로를 탑재한 자율운전 자동차들의 시범 주행 모습을 중계하였는데, 주행 장소는 베이징의 바이두 본사였고 새벽 어둠 속에서 자율운전차들이 대열을 이루어 주행하였음


Ø 아폴로 2.0은 도로 정비가 잘 되어 있는 도시 환경에서의 자율운전을 목표로 하고 있으며, 바이두의 로드맵에 따르면 고속도로와 복잡한 도로 환경에서 주행이 가능한 3.0 버전은 2020년 말까지 개발 완료될 예정


ž 바이두는 사내 시범 주행 모습 외에도, 현재 자신들이 개발하고 있는 인공지능 도시(AI City)에서 아폴로를 탑재한 자율주행차가 주행하는 데모 영상도 공개하였음


Ø 바이두는 현재 허베이(河北)성의 시옹안(雄安)에서 지방정부와 공동으로 AI 시티를 개발하고 있는데, 도시 일부를 특별 신구(New Area)로 지정해 차세대 스마트 시티의 프로토타입을 구축하고 있음


Ø 구체적으로 살펴 보면 이 신구를 AI를 활용한 상업 지역으로 만든다는 목표 아래, 지능형 운송(Intelligent Transportation), 대화형 인공지능(Conversational AI), 클라우드 컴퓨팅을 도입하여 지능형 미래 도시를 건설하고 있음


Ø 바이두가 공개한, AI 시티 내에서 아폴로 탑재 자율운전차의 시범 주행 영상을 보면 다양한 모델의 차종들이 시내 도로를 주행하고 있으며, 특히 중앙 분리대가 없는 왕복 차선의 도로 등에서도 문제없이 다닐 수 있음을 확인해 주고 있음


Ø 또한 복잡한 교차로에서 신호와 보행자를 인식하여 안전한 주행 경로를 결정하고, 교차로에서 U턴을 할 수도 있으며, 마주 오던 차량이 중앙선을 넘어 차선에 들어올 경우에도 안전하게 정지하는 등의 모습이 담겨 있음



<자료> Baidu


[그림 2] 시옹안 AI 시티 내에서 아폴로 탑재 차량의 주행 모습


Ø 통상 중앙 분리대가 없고, 도로 폭이 좁을 경우 보다 고도의 자율주행 기술이 필요하다고 알려져 있기 때문에, 바이두의 자율운전 기술은 어느 정도는 궤도에 올라선 것으로 보임


ž 아폴로 플랫폼은 소프트웨어와 하드웨어로 구성되며, 일반 차량도 이 플랫폼을 탑재하면 자율운전 차량으로 변신이 가능함


Ø 아폴로 플랫폼의 센서로는 라이더(Lidar, 레이저 센서), 카메라, 레이더가 사용되며, 이 세 종류의 센서를 표준 장비로 일반 차량에 탑재하면 취합된 정보를 AI센서 융합(Sensor Fusion) 기술로 분석하여 자율운전을 실현함


Ø 실제 미국의 자율시스템 개발 스타트업인 오토노머스터프(AutonomouStuff)는 아폴로 1.0을 탑재한 자동차를 사흘 만에 제작해 선보여 화제가 된 바 있음


Ø 아폴로 탑재 자율운전차는 테슬라 전기차처럼 태블릿 형태의 디스플레이를 대쉬보드로 사용하는데, 자율운전 기능을 시각화하여 운행 상태를 디스플레이에 표시해주기 때문에, AI 알고리즘이 무엇을 보고 어떻게 판단했는지 알 수 있음


<자료> Baidu

[그림 3] 태블릿 형태의 디스플레이


Ø 예를 들어 아폴로 API(자율운전 라이브러리)인지(Perception) 기능은 차량 주변의 개체를 파악하고 그 유형을 식별하며, 설계(Planning) 기능은 파악된 개체를 고려하여 안전한 주행 경로를 산정하는 역할을 맡고 있음


Ø 알고리즘의 연산 결과를 디스플레이에 표시해 주기 때문에 자동차의 움직임을 이해할 수 있으며, 자동차의 주행 데이터가 기록되는 기능도 있어 알고리즘 디버깅에 도움을 줌


ž 바이두는 아폴로 플랫폼을 독자 개발하지 않고 오픈소스 방식으로 기술을 공개한 후 파트너들이 제품을 개발하도록 하고 있는데, 현재 90개 기업이 여기에 참여하고 있음


Ø 중국의 자동차 업체인 FAW그룹, 체리자동차, 장성자동차 등 65개의 중국 기업들이 생태계의 중심을 이루고 있기는 하지만, 포드, 다임러, 현대자동차 등 외국 완성차 업체들도 아폴로 플랫폼에 높은 관심을 갖고 참여하고 있음


Ø 해외 공급업체는 하드웨어 부문에서 보쉬, 컨티넨탈, 델파이, 벨로다인 등이, 소프트웨어 부문에서는 마이크로소프트 클라우드, 톰톰 등이, 서비스 부문에서는 그랩 택시, 유카 등이, 반도체 부문에서는 엔비디아, 인텔, NXP, 르네사스 등이 참여하고 있음


Ø 이 중 마이크로소프트의 참여가 눈에 띄는데, MS는 아폴로 플랫폼에 클라우드 서비스인 애저(Azure)를 제공하고 자율운전 차량 시뮬레이터 드림뷰(Dreamview)의 운용을 지원함


<자료> Baidu


[그림 4] 자율운전 시뮬레이터 드림뷰


Ø 또한 아폴로 기반 자율운전차의 상용 판매가 시작되고 시가지에서 운행을 시작하게 되면 MS는 자동차와 클라우드를 연결하는 커넥티드 카 기능을 제공할 계획이며, 현재 중국에서 전개 중인 아폴로 프로젝트가 미국과 유럽으로 확장되도록 지원할 계획임


ž 아폴로 플랫폼은 오픈소스 방식으로 개발되고 있으며, 개발된 소프트웨어는 깃허브(GitHub)에 공개되는데, 자율운전차 기술에 새로 나서는 후발주자들에게 유용할 전망


Ø 아폴로는 누구나 이용할 수 있으며 공개 소프트웨어 이용에 참여한 기업들은 가신들이 개발한 소프트웨어를 아폴로에 피드백 할 수 있으며, 바이두는 이런 과정을 반복함으로써 아폴로의 완성도가 향상되는 시나리오를 그리고 있음


Ø 바이두가 아폴로의 시운전 영상도 공개했지만, 전문가들은 아폴로의 기능이 아직은 제한적이어서 복잡한 시가지 주행이 가능한 것은 아니라고 보는데, 현재 아폴로가 제공하는 기능은 간선 도로에서 직진, 좌회전, 우회전, U턴 등 기본 조작 중심임


Ø , 아폴로의 기능은 아직 미완성으로 지금 당장 웨이모(Waymo)처럼 무인 택시로 사용할 수 있을 정도는 아니기 때문에, 이미 어느 정도 자율운전차 기술 개발을 이룬 선도기업들이라면 굳이 아폴로 프로젝트에 참여할 인센티브는 없다고 할 수 있음


Ø 그러나 새롭게 뛰어드는 기업 입장에서 보면 아폴로 프로젝트에 참여함으로써 단기간에 자율운전차를 상용화할 수 있어 새로운 사업기회를 발견할 수 있음


Ø 포드 등 자체 기술 개발을 하고 있는 대형 업체도 아폴로에 참여하고 있는데, 이들은 자체 개발과 함께 거대 중국 시장을 배경으로 하는 아폴로 프로젝트 병행을 통해 구글이나 테슬라 등이 선도하는 시장 상황을 일거에 역전시킨다는 계획을 갖고 있을 지 모름


Ø 한편 바이두는 아폴로의 오픈소스 정책의 최대 장벽으로 각 국가들이 보안을 이유로 자율주행차 관련 법규를 자국 기업에 유리하게 통제할 가능성을 꼽고 있는데, 국가기관의 입장에서 보면 자율주행차는 그 자체로 무기가 될 수 있기 때문


ž 현재 아폴로 플랫폼의 상태는 구글이 스마트폰 운영체제 안드로이드를 인수했던 2005년경과 비슷하다는 평을 받고 있는데, 아폴로가 제2의 안드로이드가 될 지 귀추가 주목됨


Ø 아폴로 프로젝트의 참여 기업 대부분은 중국 자동차 메이커이긴 하지만 현재 아폴로를 탑재한 자율운전 자동차들이 속속 선보이고 있으며, 승용차뿐만 아니라 아폴로 탑재 버스, 도로청소용 차량, 운송 로봇 등도 등장하고 있음


<자료> Baidu


[그림 5] 아폴로를 탑재한 다양한 차량들


Ø 현 상태는 구글이 안드로이드를 천만 달러에 인수한 2005년 경의 모습과 흡사한데, 당시만해도 애플 iOS에 비해 미성숙한 운영체제였지만 구글이 오픈소스 방식으로 개발하면서 안드로이드는 빠르게 완성도를 높여가기 시작했음


Ø 안드로이드가 볼륨 면에서 iOS를 제치고 스마트폰 운영체제를 석권한 것처럼, 아폴로로 비슷한 궤적을 그릴 수 있을지 관심이 모이는데, 중국이라는 또 하나의 세계 시장을 배후로 하고 있다는 점 하나 만으로도 가능성은 이미 충분함


Ø 한편, 아폴로 플랫폼의 성장 가능성은 향후 자율운전의 기초 기술은 스마트폰 운영체제처럼 공통적으로 사용할 수 있는 방향으로 진행한다는 것을 시사함


Ø 이는 누구나 손쉽게 자율운전차를 개발할 수 있는 시대가 된다는 것으로, 자동차 제조업체들은 차별화 요인을 어디에 두어야 할 지를 최우선 과제로 고민하게 될 것으로 보임


Ø 스마트폰을 외면했던 노키아가 삼성전자에 자리를 내준 것처럼, 자체 자율운전 기술이 없는 새로운 신생기업도 완성차 업체를 위협할 가능성이 열린 것이기 때문에, 기존 대기업들로서는 어떻게 자율운전 시장의 애플로 자리매김할 것인지가 핵심 목표가 될 것임

※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1816호(2017. 9. 29. 발행)에 기고한 원고입니다.


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

SW 개발 생산성이 기업 경쟁력 - 지속적 통합 도구 젠킨스 인기.pdf



ž 소프트웨어 개발 시 CI(지속적인 통합)를 제공하는 OSS(오픈소스 소프트웨어) 젠킨스(Jenkins)의 인기가 치솟고 있음


Ø 소프트웨어 공학에서 지속적 통합(continuous integration, CI)은 지속적으로 품질 관리를 적용하는 프로세스를 실행하는 것으로 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점을 맞추고 있음


Ø 일반적으로 개발자들이 기존 코드의 수정 작업을 시작할 때 현재 코드 베이스의 복사본을 받아서 작업을 하게 되는데, 만일 다른 개발자들이 자신들이 변경한 코드를 소스 코드 저장소에 제출하면, 코드 베이스로부터 받아온 복사본은 저장소의 코드와 점차 달라지게 됨


Ø 이런 상황이 반복되면 어느 시점에는 저장소가 개발자들의 베이스 라인과는 너무 많이 달라지게 되는 소위 통합의 지옥이라 불리는 상황에 빠지게 됨


Ø 통합의 지옥에 빠지게 되면 작업하는 시간보다 작업 내용을 통합하는데 걸리는 시간이 더 걸리게 되어, 최악의 경우 개발자들이 자신들의 변경 내용들을 취소하고 작업들을 완전히 처음부터 다시 하는 것이 나을 수도 있는 상황이 되어 버림


Ø 2011클라우드비즈(CloudBees)가 발표한 젠킨스(Jenkins)는 소프트웨어 개발 시 통합의 지옥 문제를 해결하기 위한 지속적 통합(CI) 서비스를 제공하는 도구의 하나로, 소스 코드의 컴파일과 빌드, 테스트 및 품질 검사, 서버에 배포 등을 자동화 해 줌


<자료> Jenkins


[그림 1] 지속적 통합 도구 젠킨스의 마스코트


Ø 젠킨스는 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 저장소에 빈번히 업로드 함으로써 지속적 통합이 가능하도록 해 주는데, MIT 라이선스를 따르는 오픈소스 소프트웨어임


Ø 젠킨스는 개발자들에게 지루한 작업을 대신 해주는 집사라는 이미지로 자리매김하고 있기 때문에, 마스코트 캐릭터는 영화에 나오는 집사처럼 나비 넥타이를 하고 있음


Ø 2011년 발표 이래 젠킨스는 꾸준히 개선되며 개발자들의 호응을 얻었고, 클라우드비즈가 지난 8월말에 개최한 젠킨스 월드 2017 컨퍼런스에는 800 명의 개발자가 참여하는 등 젠킨스의 인기가 심상치 않음을 보여 주었음


ž 클라우드비즈는 젠킨스의 인기에 대해 현재 메인 스트림 서비스 기업들이 소프트웨어 개발로 진검승부 하는 가운데 그 생산성 향상이 곧 사업의 관건이 됐기 때문으로 분석


Ø 글로벌 대형 서비스 기업들이 젠킨스를 대규모로 도입, 소프트웨어 개발의 자동화에 전사적으로 임하게 된 것은 서비스 경쟁력이 지속적 통합에 달려 있다고 보았기 때문이라는 것


Ø 젠킨스를 통해 소프트웨어 개발 자동화를 전사적으로 추진할 수 있게 된 것은 작년에 선보인 젠킨스 2.0에서 파이프 라인이라는 구조를 탑재했기 때문인데, 이는 젠킨스에 실행시키는 작업과 순서를 코드(프로그래밍)에 의해 기술하는 것임


Ø 젠킨스 1.0까지는 사용자가 젠킨스에 실행시키는 작업을 GUI로 설정했으나, 그 내용은 젠킨스의 독자 형식 설정 파일로 저장되므로 사용자가 나중에 설정 내용이 올바로 되었는지 검증하거나 설정 내용의 변경 이력을 추적하기가 어려웠음


Ø 이에 비해 젠킨스 2.0에서는 설정 내용을 코드로 관리 할 수 있게 되었으며, 깃허브(GitHub)와 같은 소스 코드 관리 도구를 이용하여 변경 이력을 관리하고 코드의 정확성을 다른 사용자가 체크하는 코드 리뷰를 실시할 수 있게 되었음


Ø 클라우드비즈에 따르면 파이프 라인을 도입하여 보다 복잡한 작업의 자동화를 젠킨스에서 실현할 수 있게 되었을 뿐만 아니라, 젠킨스에서 자동화된 작업의 재사용이 가능하게 되었음


Ø 과거 젠킨스를 이용한 소프트웨어 개발의 자동화는 개발자가 개인적으로 나선 것이며, 자동화 메커니즘을 다른 프로젝트에 적용하기가 어려웠음


Ø 그러나 젠킨스 2.0에서는 개발자가 만든 자동화 메커니즘이 코드화 되어 그 코드를 라이브러리로 전사 공유할 수 있게 되었으며, 따라서 젠킨스의 전사적 도입이 용이하게 된 것임


ž 젠킨스를 전사 차원에서 도입하고 있는 대표 사례는 결제 서비스 기업인 페이팔(PayPal)4천 명의 개발자가 이용하는 젠킨스 도입을 추진하고 있음


Ø 페이팔은 현재 개발자 익스피리언스 팀을 마련해 젠킨스 도입으로 4천명 이상의 사내 소프트웨어 개발자들의 개발 경험을 전사적으로 통일하고 개선해 나가고 있음


Ø 페이팔이 독자적으로 개발해 운영 중인 결제 시스템은 규모가 방대하고 게다가 수정도 빈번한데, 35,000 대의 가상 머신에서 돌아가는 이 시스템은 2,600개 이상의 서비스로 구성되어 소스 코드의 행수가 7천만 라인을 넘으며, 이중 매년 1천만 라인의 소스 코드가 수정되고 있음


Ø 이러한 거대 시스템 업데이트 작업을 젠킨스로 자동화하고 있는데, 페이팔이 이용 중인 젠킨스의 인스턴스는 5천 개를 넘고, 하루에 32,000 번의 빌드 작업과 1,000 번의 배포 작업을 실시하며, 테스트 회수 만도 하루 100만 회에 달함


Ø 페이팔 개발자 익스피리언스 팀의 책임자는 젠킨스가 소프트웨어 개발자에게 자유뿐만 아니라 소프트웨어 개발 프로세스의 시각화를 안겨 주었다고 말하는데, 소스 코드의 빌드, 테스트, 배포를 젠킨스가 수행하며 그 로그가 기록되기 때문


ž 클라우드비즈는 젠킨스 2.0의 파이프 라인 실행 상황을 시각화 해주는 블루 오션(Blue Ocean)이라는 도구도 OSS로 함께 공개하고 있음


Ø 젠킨스 사용자는 블루 오션 도구를 이용해 빌드 작업이 다양한 환경 별로 준비되어 있는 테스트 서버에 배포가 되었는지 여부를 GUI에서 확인할 수 있음


<자료> Jenkins


[그림 2] 젠킨스 프로세스 관리 툴 블루 오션


Ø 블루 오션은 사용자가 GUI에서 설정한 내용을 파이프 라인의 코드로 저장하는 기능도 갖추고 있는데, 젠킨스에 익숙하지 않은 초보 사용자도 파이프 라인의 코드를 작성할 수 있게 하였음


Ø 젠킨스를 전사적으로 확장하면 다양한 스킬 레벨의 사용자가 이용하게 되는데, 누구나 젠킨스를 활용할 수 있게 해주는 것이 바로 이 블루 오션의 역할임


Ø OSS로 공개된 젠킨스의 수익모델은 리눅스와 마찬가지로 교육 및 지원 서비스에 있는데, 이번 젠킨스 월드 2017 컨퍼런스에서 클라우드비즈는 젠킨스의 로그를 분석해 사용자 기업의 개발 프로세스의 문제점을 찾아 개선 사항을 제안하는 CloudBees DevOptics를 새로 발표하였음


ž 젠킨스의 도입은 주로 미국과 유럽 기업을 중심으로 활발히 진행 중이며, 소프트웨어 개발을 외부에 아웃소싱 하는 경향이 강한 아시아계 기업들은 상대적으로 저조하다고 함


Ø 클라우드비즈에 따르면 젠킨스의 도입은 페이팔 같은 미국 기업뿐 아니라 독일의 보쉬(Bosch) BMW 등 유럽 기업에서 대규모 도입이 추진되고 있음


Ø 반면 미국이나 유럽에 비해 소프트웨어 개발을 아웃소싱 하는 경향이 강한 아시아계 기업들은 소프트웨어 개발 프로세스를 자사에서 직접 관리하지 못하는 상황이기 때문에 젠킨스를 전사적으로 도입해 개발 프로세스를 개선하기 어려운 면이 있음


Ø 게다가 소프트웨어 개발을 위탁하는 시스템 통합(SI) 업체들 역시 사내 소프트웨어 개발 환경과 개발 프로세스가 고객 기업마다 제각각이기 때문에 SI 업체 내부의 독자적인 개발 프로세스를 표준화하기도 어려움


Ø 소프트웨어 개발의 생산성 향상이 곧 서비스 기업의 경쟁력으로 직결되는 상황에서, 소프트웨어를 자체 개발하는 미국과 유럽의 기업들이 젠킨스 도입을 위해 전사 차원의 노력을 기울이는 것에 비해 아시아계 기업들의 경쟁력이 더욱 뒤쳐질 가능성이 제기되는 것은 이런 이유 때문임


Ø 한국의 기업들도 자체 소프트웨어 개발 생산성이 기업의 경쟁력이라는 인식 하에, 현행 소프트웨어 개발 시스템을 점검하고 경쟁력 강화를 위한 시스템 개편 필요성을 점검할 필요가 있음

※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1796호(2017. 5. 17 발행)에 기고한 원고입니다.


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

누구나 트위터를 운영할 수 있게 해주는 마스토돈.pdf



ž 트위터와 같은 사이트를 쉽게 구축 할 수 있게 해주는 마스토돈(Mastodon)이 전세계적으로 인기를 얻을 조짐을 보이고 있음


Ø 마스토돈은 독일의 오이겐 로흐코(Eugen Rochko)가 개발한 트위터의 클론으로, 수백 명 이용자 단위의 미니 트위터들이 상호 연계하는 구조를 만들어 낼 수 있음



Ø 마스토돈은 트위터와 마찬가지로 이용자들의 포스트가 시계열로 표시되는데, 트위터와 차이점은 하나의 게시물 당 최대 길이가 500자로 트위터보다 길고, 복수의 마스토돈 사이트들이 사용자에 의해 운영되며 각 사이트를 넘어 타 이용자들의 포스트를 구독할 수 있는 구조라는 점


Ø 각 마스토돈 사이트들은 인스턴스(Instance)로 불리는데, 이용자들은 자신이 속한 마스토돈 사이트의 운영 정책과 맞지 않는다고 생각하면, 다른 마스토돈 사이트로 자유롭게 이동할 수 있음


Ø 마스토돈은 신생대 제3기에 번성하다 약 100만년 전에 멸종한 장비목(長鼻目)의 동물로 코끼리나 매머드 보다는 키가 작고 몸이 작달막한데, 위아래 양턱에 코끼리처럼 상아 모양의 어금니가 발달한 것으로 추정됨


Ø 트위터에서 개별 포스트를 새소리를 의미하는 '트윗(tweet)'이라고 하는 데 비해, 마스토돈에서는 요란하게 운다는 뜻의 '투웃(toot)'이라고 하는데, 서비스 마스코트 캐릭터는 마스토돈이 스마트폰을 보며 즐겁게 웃는 형상을 나타내고 있음


<자료> Mashable


[그림 1] 트위터 잡는 마스토돈


ž 창업자 오이겐 로흐코는 크라우드펀딩 사이트인 패트리온(Patreon)에서 개발 자금을 모았으며, 공식 마스토돈 사이트인 mastodon.social을 운영 중임


Ø 패트리온은 2013년 설립된 미국의 창작자 후원 사이트로, 주로 콘텐츠 창작자들이 정기적 혹은 일시적 후원을 받고 그에 해당하는 혜택을 지급하는 시스템으로 운영되고 있음


Ø 소프트웨어의 핵심은 오픈소스 분산 SNS 소프트웨어인 「GNU social」의 사양을 기본으로 하며, 여기에 트위터의 클라이언트와 비슷한 심플한 사용자 인터페이스를 가미하였음


<자료> GitHub


[그림 2] 마스토돈.소셜 서비스 화면


Ø 공식 사이트가 인기를 얻기 시작한 것은 올해 3월 말경으로, 언론에서 관심을 갖고 보도한 이후 당시까지 일주일에 수백 명씩 이용자가 늘어나던 것이 주당 8천명 이상씩 늘기 시작


Ø 5 10일 현재 마스토돈 공식 사이트에는 1,777개의 인스턴스가 등록되어 있으며, 총 이용자 수는 62만여 명임


Ø 마스토돈의 인기 배경에는 독점적인 클라우드 서비스에 대한 우려가 자리잡고 있는데, 트위터 뿐만 아니라 대기업이 운영하는 클라우드 서비스는 편리한 만큼 사용자 수가 수억 명 수준까지 성장하지만, 서비스 운영 정책과 맞지 않을 경우 종종 계정 정지 및 삭제를 단행함


Ø 반면 마스토돈의 경우, 사용자가 다른 마스토돈 사이트로 옮길 수 있으며, 스스로 운영 정책을 결정하고 자신만의 마스토돈 사이트를 운영할 수 있다는 장점이 있음



<자료> Mastodon


[그림 3] 마스토돈 계정과 투웃의 증가 추이


ž 현재 전세계에서 마스토돈 사이트들이 속속 등장하고 있는데, 분산형 SNS가 유행하는 이유로는 게시 및 검색이 용이한 사용자 인터페이스와 함께 설치의 용이성이 꼽히고 있음


Ø 마스토돈은 웹 애플리케이션을 배포한 경험이 있는 사람이라면 누구나 쉽게 설치 할 수 있는 환경을 제공하고 있음


Ø 소스코드 공유 사이트인 '깃허브(GitHub)'의 마스토돈 공식 페이지에는 OS(운영체제)의 가상화를 지원하는 컨테이너 기술인 '도커(Docker)'와 가상 시스템 관리 도구인 '베이그런트(Vagrant)' 등을 이용하여 마스토돈 사이트를 구축하는 방법을 자세히 설명하고 있음


Ø 다른 마스토돈 사이트의 사용자를 팔로우 하는 '원격 팔로우(remote follow)'를 위해서는 HTTPS 통신에 의한 인증·암호화가 필수이며, HTTP 사이트와 HTTPS 사이트는 사실상 분리됨


Ø 자기 혼자서 개인용 메모를 포스트의 형태로 축적할 목적으로 혼자 이용하는 마스토돈 사이트의 운영도 가능하며, 원격 팔로우를 이용하여 타임라인에 충실하게 구성할 수도 있음



Ø 이런 기능들은 사실 트위터와 전혀 다를 바 없지만, 마스토돈은 데이터베이스를 사용자 스스로가 보유하고 있고, 관리자라면 쉽게 자신의 데이터를 꺼낼 수 있는 장점이 있음


Ø 전문가들은 자신의 데이터를 직접 관리 할 수 있다는 안정감과 2007년 트위터가 등장할 때와 같이, 정확히 무슨 서비스인지 모르지만 새로운 서비스가 앞으로 어떻게 성장할 지 가늠이 안 되는 기대감이 사그러들지 않는 한, 당분간 마스토돈의 인기는 지속될 것으로 예상하고 있음

※ 다음 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1756호(2016. 7. 27 발행)에 기고한 원고입니다. 


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

포켓몬 GO 치트키 자동사냥.pdf



7월 초 북미와 호주, 뉴질랜드에 공개되자마자 큰 붐을 일으키고 있는 위치 기반 증강현실 게임 포켓몬 GO(Pokémon GO)는 일부 이용자에게는 건강 앱으로도 받아들여지고 있음


포켓몬 GO를 즐기려면 다양한 장소에서 발견되는 포켓몬을 잡기 위해 직접 야외로 나서야 하기 때문에, 평소에는 당최 돌아 다니지 않던 많은 사람들을 밖으로 내모는 효과를 내고 있음


• 포켓몬을 찾아 돌아다니다 어느새 수km를 걷게 되었다는 글들이 SNS에 연이어 올라오고 있으며포켓몬 GO가 스트레스나 우울증에 시달리는 사람들에게도 정서적 안정 효과를 줄 수 있다는 평가도 나오는 등 마치 건강 앱 같은 느낌도 주고 있음


 실제로 포켓몬 GO의 기반이 되는 위치기반 게임 인그레스(Ingress)를 개발한 나이안틱(Niantic) CEO 존 한케는 스마트 기기에 빠진 3명의 자녀를 기술을 이용해 집밖으로 내보낼 것을 궁리하다가 잉그레스(Ingress) 게임을 개발하게 되었다고 함


 나이안틱은 기업의 비전과 미션을 바탕으로 개발하는 게임에 원칙을 부여하고 있는데(1)신선한 눈으로 세상을 볼 수 있게 한다, (2)밖으로 나와 몸을 달리게 한다, (3)현실사회에서 교류를 촉진한다가 3가지 원칙임




<자료> Gamespot


[그림 1] 위치기반 게임 잉그레스(Ingress)




◈ 그러나 게임 개발의 취지에 반하게, 게임의 구조를 분석해 집에서 한 발짝도 나오지 않고도 포켓몬을 잡을 수 있는 치트 키를 노리는 사람들이 벌써 나오고 있음


프로그래머들이 자작 소스코드 등을 게시하고 공유하는 깃허브(GitHub) 사이트에는 이런 목적으로 생각되는 데이터와 소스코드가 718일 현재 340개 이상 게시되어 있는데, 대부분 지난 며칠 사이에 업로드 되었음




<자료> GitHub


[그림 2] 깃허브의 포켓몬 GO검색 결()와 자동 로그인 및 포획 파이썬 스크립트(아래)



• 게시된 내용들은 다양한데 게임 서버와 통신 포맷을 분석한 결과나, 게임 서버와 통신 프로토콜을 분석하는 도구도 있고, 포켓몬 GO 클라이언트 응용프로그램을 디컴파일 한 소스코드도 있음


이러한 데이터를 바탕으로 분석해 찾아낸 API(응용 프로그래밍 인터페이스)를 이용한 데모 프로그램들도 여럿 공개되어 있음


게임 내 아바타를 외부에서 자유 자재로 움직이거나 GPS 데이터를 조작해 어디서나 원하는 위치로 이동하는 도구 등은 이미 발견되었음


자동으로 로그인 해 포켓몬을 잡을 수 있다고 설명하는 파이썬 스크립트도 있지만 현재는 로그인까지만 가능한 것으로 보임


◈ 스마트폰 게임 개발 전문가들은 이 정도까지 할 수 있으면 자동 포켓몬 포획 도구의 등장은 시간 문제라고 함


전문가들은 치트 도구가 횡행하게 되면 게임의 매력을 크게 손상시킬 우려가 있으므로 운영하는 측은 즉각적인 조치가 필요하다고 적극 권고하고 있음


분석한 API를 이용하는 치트 행위는 물론 이용 약관 위반으로서 발각되면 계정 삭제 등의 조치가 내려지지만, 발견되지 않게 속임수를 쓰는 기술도 동시에 개발되기 때문에 이런 싸움은 숨바꼭질의 경향이 있음


통상 RPG 게임에서 자동사냥(오토마우스) 기능이 암암리에 성행하는 것은 사냥이 지루하기 때문이기도 하지만, 자동사냥으로 캐릭터의 레벨을 올려 판매하거나 사냥 도중 획득하는 희귀 아이템을 판매해 수익을 얻을 수 있는 시장이 존재하기 때문


치트 도구의 등장은 게임의 인기를 반영하는 것이기는 하지만, 자동사냥 등에 그치지 않고 게임 내 유료 아이템의 위조까지 범죄의 형태를 띠게 되면, 이용자나 운영회사 모두 경제적인 피해를 입게 되며, 게임에 대한 외면으로 이어질 우려도 있음


무엇보다도 스마트폰 게이머들을 집밖으로 이끌어 내 몸을 움직이게 하고, 다른 이용자들과 현실에서 교류를 촉진하게 한다는 게임 개발의 원래 취지가 크게 훼손될 우려가 있음


닌텐도 GO 게임의 예상치 못한 인기는 게임업계에 새로운 활력과 시사점을 주고 있지만, 게임의 인기 뒤편에서는 치트 도구들과 새로운 싸움이 시작되려 하고 있음