장재화, Replay system, NDC2011재화 장지난 플레이를 다시 돌려 볼 수 있는 기능은 버그재현, 개발 Iteration 단축은 물론, 게임 운영, 게임디자인 상에서의 응용 등 여러 차원에서 매우 유용한 기능입니다. 이를 위해서는 주어진 외부 입력이 동일하다면 결과물도 동일하게 나오는 결정론적 시스템이 필요합니다.
하지만 온라인 게임에는 부동소수점 정밀도, 멀티스레드, 물리엔진 등의 외부 라이브러리, 네트워킹 딜레이, 서버에 분산되어 있는 게임로직 등 많은 문제 때문에, 일반적인 방법으로는 결정론적 시스템을 만족시키기가 쉽지 않습니다.
이 세션에서는 결정론적 시스템의 개념과, 이의 구현을 위해 필요한 제약 등을 소개합니다. 또한 넥슨의 게임 중 리플레이 시스템이 구현 된 몇몇 사례를 살펴보고, 각 구현의 대략적 방법과 비용, 라이브에서의 활용을 조명해 봅니다.
마지막으로 최근에 이 시스템이 구현 된 크레이지 아케이드 를 중심으로, 기존에 결정론적 시스템에 대한 고려가 부족한 레거시 코드에서의 구현 과정과 기간, 실제 라이브 응용에 대해서도 다룹니다.
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim오픈 소스 Actor Framework 인 Akka.NET 을 통해 온라인 게임 서버를 어떻게 구현할 수 있는지를 설명합니다. Actor Model 에 대한 기본 이해부터 Scale-out 가능한 게임 서버 구축까지 전반적인 내용에 대해 알 수 있습니다. 설명을 위해 클라이언트는 Unity3D 를 사용할 예정입니다.
게임서버프로그래밍 #2 - IOCP AdvSeungmo KooNHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
[프로그램 설명서] 회의 잘 하는 법 타운미팅 협업 스킬 과정SB Consulting잭 웰치는 퍼실리테이션이 없는 미팅은 무의미하다고 했습니다. 그래서 GE는 모든 리더들을 퍼실리테이터로 양성했습니다. 국내에서도 수 천 명 이상이 퍼실리테이터 교육을 받았고, 지금도 교육을 이수하고 있습니다. GE출신으로 국내 최고의 퍼실리테이터 마스터코치인 심재우 대표가 직접 교육하며 모든 노하우를 전수합니다.
협업이나 회의나 프로젝트, 워크샵에서 참가자들의 자발성을 유도하여 창의성과 오너십을 극대화 하고, 상대방이 가지고 있는 마음 속 깊은 곳의 생각과 아이디어를 표면화 시키는 기술을 체득할 수 있습니다.
퍼실리테이터 서적 및 이러닝 과정을 집필한 퍼실리테이터 마스터인 심재우대표는 8년간 GE에서 워크아웃 타운미팅과 퍼실리테이터를 직접 경험하고, 20년 간 가장 많은 기업들을 대상으로 타운미팅 교육 및 퍼실리테이터 양성을 한 국내 최고전문가로 직접 교육
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim오픈 소스 Actor Framework 인 Akka.NET 을 통해 온라인 게임 서버를 어떻게 구현할 수 있는지를 설명합니다. Actor Model 에 대한 기본 이해부터 Scale-out 가능한 게임 서버 구축까지 전반적인 내용에 대해 알 수 있습니다. 설명을 위해 클라이언트는 Unity3D 를 사용할 예정입니다.
게임서버프로그래밍 #2 - IOCP AdvSeungmo KooNHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
[프로그램 설명서] 회의 잘 하는 법 타운미팅 협업 스킬 과정SB Consulting잭 웰치는 퍼실리테이션이 없는 미팅은 무의미하다고 했습니다. 그래서 GE는 모든 리더들을 퍼실리테이터로 양성했습니다. 국내에서도 수 천 명 이상이 퍼실리테이터 교육을 받았고, 지금도 교육을 이수하고 있습니다. GE출신으로 국내 최고의 퍼실리테이터 마스터코치인 심재우 대표가 직접 교육하며 모든 노하우를 전수합니다.
협업이나 회의나 프로젝트, 워크샵에서 참가자들의 자발성을 유도하여 창의성과 오너십을 극대화 하고, 상대방이 가지고 있는 마음 속 깊은 곳의 생각과 아이디어를 표면화 시키는 기술을 체득할 수 있습니다.
퍼실리테이터 서적 및 이러닝 과정을 집필한 퍼실리테이터 마스터인 심재우대표는 8년간 GE에서 워크아웃 타운미팅과 퍼실리테이터를 직접 경험하고, 20년 간 가장 많은 기업들을 대상으로 타운미팅 교육 및 퍼실리테이터 양성을 한 국내 최고전문가로 직접 교육
[NDC14] 모바일 게임의 다음 혁신 - 야생의 땅 듀랑고의 계산 프로세스 중심 게임 디자인승명 양NDC14에서 발표한 야생의 땅 듀랑고의 계산 프로세스 중심 게임 디자인 발표 슬라이드의 공개용 버전입니다.
현장에서는 시간 관계상 진행하지 못한 QnA를 대신하여, 실시간 QnA 페이지에 올라왔던 몇 가지 질문에 대한 답변을 슬라이드 맨 끝에 추가했습니다.
더 나은 개발자 되기JeongHun ByeonThe document contains a collection of links to Flickr photos and one quote about learning Spring by teaching others. There are no other words or context provided.
손코딩뇌컴파일눈디버깅을 소개합니다.Kwangsung Ha"손코딩뇌컴파일눈디버깅" 모임을 소개합니다.
백문이 불여일런, 트라이얼앤에러(Trial and Error) 식의 몹쓸 교육을 받아 온 개발자들이 코딩하기 전에 신중하고 꼼꼼하게 생각해보기란 쉽지 않습니다.
개발 시간 중 디버깅 시간이 절반 이상을 차지하고 있는 실정에 버그를 줄이기 위해 TDD니 유닛테스트니 많은 방법들이 개발되고 있지만 가장 일차적으로 중요한 것은 개발자들이 꼼꼼히 따져보는 것이 아니겠는지요?
미국의 선진 SW회사들은 이미 화이트보드에 PS문제를 푸는 것을 인터뷰 방식으로 채택하고 있습니다. 이는 이와 같은 풀이 방식이 개발자들의 기본 역량을 측정하기에 알맞은 지표라는 것이고, 개발자들이 기본적으로 갖춰야 할 역량이기도 하다는 것 입니다.
또한 자신의 생각을 명확하게 정리하고 다른 사람이 이해할 수 있도록 전달하는 Communication Skill 도 개발자가 갖춰야 할 역량 중 하나 입니다. 알고리즘을 어떻게 구현할 것인가를 팀원들과 소통하면서 자연스럽게 생각을 정리하고 전달하는 연습도 할 수 있습니다.
컴퓨터에 앉아 코딩하기 전 펜과 종이를 들고 눈과 머리와 손을 굴려 보시는 것은 어떠신지요??
[FEConf 2018] Front-End 프로젝트의 Test code 작성경험기Ahreum Kim2018. 11. 03 'FEConf 2018' 발표자료입니다.
---
처음으로 프론트엔드 프로젝트에 (유닛)테스트코드를 작성해보며 느낀 경험을 공유합니다. 어떤 관점으로 접근 했는지부터, 테스트코드 작성을 하며 만난 고민과 해결책은 어떤 방식으로 풀어 냈는지 코드와 함께 다뤄보려 합니다. 저는 테스트 숙련자가 아니지만, 저와 비슷한 위치에서 테스트에 입문하시려는 분들께 어떻게 테스트에 입문하고 코드를 작성했는지에 대해서 구체적인 경험을 공유하는 것도 의미있을 거라 생각했습니다. 제가 드릴 얘기들이 정답이 아닐 수 있지만, 더 좋은 방향을 고민하면서 같이 생각해볼 수 있다면 좋겠습니다.
게임프로그래머에게 배우는 C#1권(버전1)Kiyoung Moon게임 프로그래밍으로 배우는 C# 1권 (버전1) 입니다.
오래전에 집필했던 책인데 오프라인 책으로 출간하지 못한 책이었습니다. C#버전도 오래된 버전이지만 지금이라도 도움이 되시는 분들이 계실까봐 올려 봅니다.
[모두의 스타트업 코딩 2주차-Part3] 나의 미래 경쟁력 도구, 스타트업 코딩 - 스타트업 코딩 개요Startup Coding페이스북 https://www.facebook.com/startupcoding4all
홈페이지 http://startupcoding.kr
모두의 스타트업 코딩 기초
2주차. 나의 미래 경쟁력 도구, 스타트업 코딩
Part3. 스타트업 코딩 개요 강의 자료
* 모두의 스타트업 코딩 교과목은
한양대 주관으로 40여 대학교가 참여하는 대학 e러닝 학점 교류 프로그램으로
2019년2학기부터 개설되었으며,
2019년2학기에는 #한양대학교 #건국대학교 #광운대학교 #세종대학교 #한양사이버대학교 #한일장신대학교 #한양대학교ERICA 의 7개 대학교에서 360여명의 학생이 수강 중.
건국대학교 컴퓨터공학과 송용준 교수
6. 어떤 코드든 만지기 전보다 더 나은 구조,
더 나은 테스트, 더 나은 이해를 포함해
좋게 만들어야 한다.
7. 코드에 대한 감정적 반응은
잘못된 것이 아니다.
훌륭한 결과물을
자랑스러워 하거나
더러운 코드에
혐오감을 느끼는 것은
자신이 건전하다는 증거다.
8. 구들리프의 법칙:
코드의 레이아웃에
대한 논쟁이 증가할
수록 의미 없는 논쟁
으로 빠질 확률이
100%에 가까워진다.
출처: http://www.hanbit.co.kr/book/look.html?isbn=978-89-7914-514-4
9. 고드윈의 법칙:
인터넷에서 논쟁이 길어질수록
상대방을 나치나 히틀러에 비교할
확률이 100%에 가까워진다.
출처: https://en.wikipedia.org/wiki/Godwin%27s_Law
10. 코드 레이아웃에 대해 싸우는 것을 멈추고,
자신만의 코드 레이아웃을 만드는
올바른 방법을 익히자.
이미지 출처: http://www.hanbit.co.kr/book/look.html?isbn=978-89-7914-514-4
11. “이중 switch문은 라파엘 문파의
멋진 액자 구조를 떠올리게 해.”
“이 기법이 주는 가슴 저미는
숨은 이유를 느껴봐”
좋은 표현 기법은 아름다움을 위해서가 아니라
실수를 줄이기 위해서 중요하다.
보기 좋은 코드는 의도를 드러낸다.
그것은 예술이 아니다.
출처: 타라 아트(TAHRA ART), 김경환, 한빛미디어 2013
맙소사!!
12. 다른 사람을 위해 코딩하는 것을 잊지 말자!
코드 에러를 줄이려면 좋은 모습을 갖추어야 한다.
유지하기 어려운 예쁜 아스키 아트를 만들지 말아야 한다는 뜻이다.
오른쪽의 *까지 수동으로 다시 입력하게 만드는 것은 가학적이다.
동료들의 시간이나 마음을 중요하게 생각하지 않는다.
혹은 수정하기 짜증나게 만들어 아무도 고칠 수 없게 만드는 것일 수 있다.
아스키 아트(ASCII art):
주로 고정폭 문자나 기호를 사용하여 그림을 표현하는 방식, 이모티콘도 간단한 아스키 아트의 일종이다.
13. 자신의 코드 레이아웃에 대해
리뷰 해보자.
관용어법을 사용하고 있으며,
일반적이고 명백하며 일관성이
있는가?
어떻게 더 발전시킬 것인가?
코드 외관에 동료들과 의견
충돌이 있지는 않은가?
이러한 의견차이를 어떻게 극복
할 것인가?
24. 자신의 사례를 들며 프로그래머의 미래가 어둡다고
넋두리하는 것을 귀담아 듣지 마세요.
그 같은 상황을 만들지 않기 위한 ‘타산지석’으로만
삼아야 합니다. 포기하기 위한, 또는 시도조차 하지
않기 위한 핑계로 삼아서는 안 됩니다.
‘일’을 하기 위해 새로 나타난 도구를 조작하는
기술이 앞으로 더 중요할 것이고,
프로그래머는 점점 더 필요해 질 것이 때문입니다.
염산악(염재현), 구글 엔지니어