[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon이 발표는 [야생의 땅: 듀랑고]의 지형 배포 시스템과 생태계 시뮬레이션 자동화 시스템에 대한 이야기를 다룹니다. 듀랑고의 각 섬은 크기와 지형, 기후 조건이 다양하고 섬의 개수가 많아서 수동으로 관리하는 것은 사실상 불가능합니다. 몇번의 사내 테스트와 베타 테스트를 거치면서 이러한 문제를 해결해주는 자동화된 도구의 필요성이 절실해졌고, 작년에 NDC에서 발표했던 생태계 시뮬레이터와 Docker, 그리고 아마존 웹서비스(AWS)를 이용하여 수많은 섬들을 자동으로 생성하고 관리하는 자동화 시스템을 구축하게 되었습니다. 그 과정에서 했던 고민들, 기존의 애플리케이션을 "Dockerizing" 했던 경험, AWS의 각 서비스들을 적절히 활용했던 이야기, AWS의 각 지역별 요금이 상이하다는 점을 이용해서 비용을 절감한 사례, 그리고 자동화 시스템의 문제점과 앞으로의 방향에 대해서 이야기 할 계획입니다.
파이썬 생존 안내서 (자막)Heungsub Lee넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
[17.02.09] Github introduction (Korean Version)Ildoo KimGit 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
[17.01.19] docker introduction (Korean Version)Ildoo KimDocker(도커) 소개를 위해 사용했던 자료입니다.
제가 속한 개발팀에서는 도커 컨테이너를 기반으로 개발부터 배포까지 가능한 환경 및 인프라를 구축하여 개발팀에서 대다수의 오퍼레이션까지 관여하면서 Devops 형태로 운영합니다.
Docker(도커)를 처음 사용하거나 개념적으로 익숙하지 않은 초보를 위해 만든 자료입니다.
슬라이드에서 사용된 스크립트/코드는 아래에 있습니다.
https://github.com/ildoonet/docker_introduction
----
김일두, Software Engineer @ Kakao
Github : https://github.com/ildoonet
Linkedin : https://www.linkedin.com/in/ildoo-kim-56962034/
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsSuwon Chaenode.js를 만든 라이언 달의 소개 동영상 Ryan Dahl: Introduction to Node.js 에 대한 설명문서 입니다. 실제 동영상은 다음 URL에서 볼 수 있습니다.http://www.youtube.com/watch?v=M-sc73Y-zQA
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조[NDC17]
Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
https://github.com/ncsoft/Unreal.js
https://github.com/ncsoft/React-UMG
Demo Link -
https://youtu.be/3F0TGGqedkQ
https://youtu.be/kawyH68OB_g
https://youtu.be/EG99YW6P3rg
[17.02.09] Github introduction (Korean Version)Ildoo KimGit 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
[17.01.19] docker introduction (Korean Version)Ildoo KimDocker(도커) 소개를 위해 사용했던 자료입니다.
제가 속한 개발팀에서는 도커 컨테이너를 기반으로 개발부터 배포까지 가능한 환경 및 인프라를 구축하여 개발팀에서 대다수의 오퍼레이션까지 관여하면서 Devops 형태로 운영합니다.
Docker(도커)를 처음 사용하거나 개념적으로 익숙하지 않은 초보를 위해 만든 자료입니다.
슬라이드에서 사용된 스크립트/코드는 아래에 있습니다.
https://github.com/ildoonet/docker_introduction
----
김일두, Software Engineer @ Kakao
Github : https://github.com/ildoonet
Linkedin : https://www.linkedin.com/in/ildoo-kim-56962034/
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsSuwon Chaenode.js를 만든 라이언 달의 소개 동영상 Ryan Dahl: Introduction to Node.js 에 대한 설명문서 입니다. 실제 동영상은 다음 URL에서 볼 수 있습니다.http://www.youtube.com/watch?v=M-sc73Y-zQA
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조[NDC17]
Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
https://github.com/ncsoft/Unreal.js
https://github.com/ncsoft/React-UMG
Demo Link -
https://youtu.be/3F0TGGqedkQ
https://youtu.be/kawyH68OB_g
https://youtu.be/EG99YW6P3rg
Electron mainprocessDaehwan LeeDesktopApplication 개발을 위한 Electron에 대해서 간단하게 공부를 해 보았습니다. 그중에서도 핵심부분인 Main Process에 대해서 간단하게 추려서 AngularJS2 & Electron 스터디 모임에서 발표한 내용을 업로드합니다. 몇몇 API만 추려서 설명하기 때문에 나머지 부분들은 공식 문서를 통해서 부족한 부분들을 채우시면 될 것 같습니다.
Building Native Experiences with ElectronBen GotowListen to this talk! https://www.youtube.com/watch?v=JIRXVGVPzn8
Tips and tricks for creating Electron apps that look beautiful and work the way users expect.
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER Engineering
웹 개발 방식은 빠르게 변하고 있습니다. 웹이 등장했을 때부터 현재까지 웹 개발 방식이 어떻게 바뀌어 왔는지 빠르게 훑어보고, 지금부터 웹 개발을 시작한다면 어떤 내용을 공부하면 좋을지 알아봅니다.
iOS App 개발 with React Native + ClojureScriptCheolhee HanClojureScript 와 React Native 를 이용하여, 사물인터넷 기기와 App의 프로토타입 개발한 결과를 시연합니다.
React Native 를 채택까지의 과정을 전개합니다.
왜 Clojure로 개발하는가? 대한 이야기.
소스 저장소
https://github.com/cheolhee/ReactNativeDuckie
31. 살짝 아쉬움
• 몇 가지 기능이 살짝 아쉬움
• 대표적으로 미디어 공유 기능
• 기존에는 링크에 의존
• 트위터도 GIF, MP4 공유가 되는 시대…
• “움짤(GIF) 기능 넣어도 돼요?”
• “네, 잉여짓 맘대로 해 보세요“
• 마침 교육기간이라 OK!
끼얏호
Reaction Guys
32. Chat Control
• 동적인 콘텐츠가 들어갈 부분.
• 여기만 바꾸면 되지 않을…까?
• C#
• RichTextBox의 마개조 커스터마이징 버전.
• 새 기능 추가가 어려움.
Chat Control
일단, 리서치
41. CEF* 라이브러리 비교 (for C#)
CefGlue1
• CEF1 기반
• 개발 정체
• 커뮤니티 작음
• 메모리릭 버그
• 크롬 구버전
CefGlue3
• CEF3 기반
• 개발 정체
• 커뮤니티 작음
CefSharp3
• CEF3 기반
• 개발 활발
• NuGet 지원
• 커뮤니티 활발
*Chromium Embedded Framework
CefSharp vs CefGlue
(Google Trends)
☺
44. CefSharp 특징
C#
CEF의 C# Wrapper
Nuget
PM> Install-Package CefSharp.WinForms
Nuget Package 지원
45. public class BoundObject
{
public string MyProperty { get; set; }
public void MyMethod()
{
// Do something.
}
}
browser.RegisterJsObject("bound", new BoundObject());
C#
bound.myProperty;
bound.myMethod();
JS
JS Binding
65. 페이지 이동 문제 해결책
• 선별된 링크만 허용
• A Tag의 MouseDown, Click 이벤트를 오버라이드
• 웹 링크일 경우, 외부 브라우저를 통해 실행
• 의도하지 않은 이동을 거부
• window.onDragOver, onDrop 이벤트를 오버라이드 해서 블럭
• BeforeUnload 이벤트를 적용.
CefSharp의 JSDialogHandler를 재 정의 해서 블럭
78. 아쉬운 점들
• 브라우저는 브라우저
• 일반 컨트롤이 아님.
• 링크 예외 처리 등… 깔끔하지 못한 부분이 있다.
• CefSharp의 완성도
• 윈도우 메시지를 전부 잘 처리해 주지 못 한다.
• C# Winform 하고 매끄럽게 연동되지 못 한다.
제일 아쉬웠던 부분
81. 웹으로 앱을 만들기?
• 찾아보니 역시 같은 생각을 한 사람들이 있다.
• Chromium + io.js(node.js) 를 이용해서 Hybrid app을 만들려는 시도가 있다.
NW.JS Electron
(Atom-Shell)
Brackets-Shell 이거다!
82. 셋 다 개념은 비슷.
File I/O
Local API
HTML
CSS
JavaScript
86. NW.JS vs Electron vs Brackets-shell
NW.JS
• (node-webkit)
• Intel 지원 ☺
• 멀티 플렛폼 ☺
• Chromium message
loop를 수정해서 연동 ☹
• index.html이 앱 메인 ☹
Electron
• (Atom-shell)
• Github 지원 ☺
• 멀티 플렛폼 ☺
• Atom을 만들기 위해 시작
• Chromium과 IPC 통신으로
연동 ☺
• main.js가 앱 메인 ☺
Brackets-shell
• Adobe 지원
• 멀티 플렛폼 ☺
• 오직 Brackets만을 위한 ☹
* https://github.com/nwjs/nw.js/wiki/How-node.js-is-integrated-with-chromium
* https://github.com/atom/electron/blob/master/docs/development/atom-shell-vs-node-webkit.md
* https://github.com/adobe/brackets-shell
☺
87. ..그런데 그러면 다 새로 짜는 게 아닌가요?
• 기존의 코드는 C# 이고…
• 저건 Node.js 인데?
88. • C#, Node.js 간 상호 호출 가능
• 멀티 플렛폼
EDGE.JS
* http://tjanczuk.github.io/edge
C# Node.js
93. • 단일 페이지 기반 앱 방식으로 웹 기술을 성공적으로 ѫ.
• CefSharp
• 웹앱 기반도 시도.
• Electron
• Edge.js
94. 장점
• Frontend 쪽 생산성을 높일 수 있다.
• HTML5, AngularJS, React, … 등 최신 웹 기술을 바로 ѫ 해 볼 수 있다.
• Electron
• 멀티 플렛폼
• Win API등을 몰라도 웹 기술 만으로 데스크톱 앱 작성 가능
• 기존 C# 코드의 재활용 가능
• 단일 페이지 방식을 써서 일반 컨트롤 처럼. ( CefSharp )
• 웹앱 기반에 Edge.js를 활용.
95. 단점
• 앞에서 소개한 것들이 만능은 아님
• 기존 코드를 많이 재사용 한다고는 하지만, 배울 것도…
• node.js
• 웹 개발 기술
96. 결론
• 기존 프로그램에도 충분히 웹 기술을 ѫ할 수 있습니다.
• 웹 기반 앱을 만들어 볼 수도 있고요.
• 웹을 한 번 써 보시는 것은 어떨까요?