Posts by Year

2024

Elixir 언어에서 Behaviour란?

9 minute read

Elixir에서 Behaviour란 용어가 나온다. Erlang의 어깨 위에 올라서서 만든 언어라 Erlang에서 사용하는 Bahaviour라는 용어를 그대로 가져온 것 같다. C++의 pure virtual function만 정의한 클래스 혹은 C#의 interface와 비슷한 ...

Concurrent Data Processing In Elixir (Svilen Gospodinov, 2021) 독후감

less than 1 minute read

Task 모듈부터 시작해 GenServer, GenStage, Flow, Broadway까지 간다. 동시성 데이터 처리에 관련된 유용한 라이브러리를 망라하고 있다. 마지막으로 나오는 Broadway가 막판 대장이다. 여러 stage를 GenStage로 꾸역꾸역 구현해서 사용하고 있...

Stateful Property-Based Testing 병렬 테스트

4 minute read

속성 기반 테스트 프레임워크인 PropEr, PropCheck를 사용하면 ’Cache 예제코드를 테스트하며 맛보는 Stateful Property-Based Testing’ 예제를 손쉽게 병렬 테스트로 바꿀 수 있다.

예제로 보는 Property-Based Testing (feat. Kata09: Back to the Checkout)

10 minute read

’속성 기반 테스트(Property-based Testing)와 속성 정의에 도움을 주는 네 가지 방법’ 글에서 속성 기반 테스트를 간략히 살펴봤다. 대략 감은 잡겠지만 속성 기반 테스트를 짜라고 하면 막막하다. 이럴 때는 좋은 예제가 도움을 줄 수 있다.

Effective Modern C++ (스콧 마이어스, 2015) 독후감

2 minute read

다시 C++을 만지게 됐다. 책장에 꽂혀 있던 ’Effective Modern C++’ 책을 다시 읽었다. 예전에 읽었던 것 같은데, 새롭고 놀랐다. 나보다 더 깊이 생각한다. 여기까지 설명하겠지 하면서 읽다 보면 예상한 것보다 한 발짝 더 깊이 들어가서 설명한다. 스콧 마이어스 ...

단위 테스트 (블라디미르 코리코프, 2021) 독후감

3 minute read

단위 테스트(Unit Testing)에 관한 책을 한 권만 꼽는다면 이 책을 꼽고 싶다. 늦게 알아서 억울한 책이다. 예제가 C#이지만 자신이 사용하는 언어와 상관없이 읽으면 도움이 되는 내용들로 가득하다.

단위 테스트가 의미 있는 코드 유형은 뭘까? 통합 테스트는?

3 minute read

’단위 테스트 (블라디미르 코리코프, 2021)’ 책의 ’7장 가치 있는 단위 테스트를 위한 리팩터링’을 보고 정리한 내용이다. 모든 코드를 테스트할 수는 없다. 그래서 중요하고 의미 있는 영역부터 테스트를 짜야 한다. 중요한 영역부터 시작해 덜 중요한 영역까지 테스트 커버리지를 ...

Back to Top ↑

2023

빈 리스트에 대한 all? 함수의 리턴 값은? - 공허참(vacuous truth)

3 minute read

Enum.all?/1 함수를 사용한 함수 테스트할 때였던 걸로 기억한다. 비어 있는 리스트를 넣어서 테스트했을 때, 기대하지 않은 값이 나와서 의아했다. 비어 있는 리스트를 인자로 넘겼을 때, false 값이 나올 것으로 기대했다. 하지만 true 로 나오는 것이었다. Enum.a...

C# 동시성 프로그래밍 2/e (스티븐 클리어리, 2019) 독후감

less than 1 minute read

C# 비동기 프로그래밍에 익숙하지 않아서 책을 사서 읽었다. 비동기 기초, 비동기 스트림, TPL(task parallel library)을 활용한 병렬 처리, System.Reactive, 테스트, 컬렉션, 동기화 등 동시성 프로그래밍에 필요한 폭넓은 지식이 담겨 있다. 여기서 ...

macOS 화면 공유(feat. Tailscale)

1 minute read

맥 미니(Mac mini M2, 2023)를 꺼본 적이 없다. 매직 트랙패드(Magic Trackpad) 2를 손가락으로 간지럽히면 언제든 깨어난다. 팬이 있는지도 모르겠다. 이게 다 조용해서 그렇다.

몽키 비즈니스 (윌리엄 언컨 3세, 2001) 독후감

4 minute read

매니저(manager)는 개인 기여자(Individual Contributor, IC, 팀원) 여러 명을 관리해야 한다. 일 대 다 관계이다. 그 말인즉슨 항상 병목이 될 수 있다는 걸 명심하고 있어야 한다. 여유 좀 부려서 팀원이 내 결정을 기다리게 했다가는 삽시간에 내가 병목이...

Back to Top ↑

2022

이펙티브 C# (빌 와그너, 2017) 독후감

2 minute read

제목에 effective가 붙은 책은 믿고 본다. 아이템 별로 스토리가 있어서 재미있다. 책보다는 스토리가 있는 팁에 더 끌리는 것과 비슷하다고 생각한다. 간단한 팁을 넘어서서 왜 이렇게 동작하는지 좀 더 깊게 설명해서 몰랐던 부분도 배운다. 스콧 마이어스(Scott Meyers)...

Testing Elixir (Andrea Leopardi, Jeffrey Matthias, 2021) 독후감

5 minute read

구성이 마음에 들어서 책을 읽었다. otp, ecto schemas, ecto queries, phoenix를 테스트하는 방법이 목차에 담겨있다. 언어만 elixir로 바꾼 일반 테스팅 책이 아니라는 기대가 있었다. 하지만 막 감탄하면서 읽지는 않았다. 주제가 달라진다고 테스트하는...

Tampermonkey로 YouTube 우측에 있는 비슷한 영상 목록 제거

1 minute read

youtube 영상 하나 보고 끝내면 되는데, 우측에 보이는 비슷한 영상 목록에서 재미있어 보이는 걸 새 탭으로 열고 봐서 문제다. youtube에 정보가 많아서 마냥 피할 수는 없다. 내 의지 따위는 믿지 않고 하나만 보고 끝내는 환경을 만들기로 했다. ’눌러라 그러면 열릴 것이...

재택근무 장비와 소프트웨어 셋업 후기 - 데스크 셋업

2 minute read

찔끔찔끔 하나씩 준비했다. 코로나19가 이렇게 길어질 줄 알았다면 투자 좀 할걸. 2021년 5월 정도에 재택근무 환경을 쾌적하게 만들었다. 늦었지만 퇴근 후 개인 작업을 할 환경을 만든다고 생각하자면서 투자를 했는데, 웬걸 코로나19로 재택근무가 더 길어졌다. 되돌아보니 그리 늦...

Learn Python the Right Way (Ritza Scott, 2021) 독후감

less than 1 minute read

python 공식 홈페이지에 튜토리얼이 있는 걸 발견했다. 이걸로 시작하려고 했는데, ’올바른 방법으로 Python 배우기 {무료 E북}​’ 글에서 “유명한 책인 ‘컴퓨터 과학자처럼 생각하며 배우는 파이썬’의 최신 개정판”이란 소개 글을 보고 읽기 시작했다. 고맙게도 무료 E북이다.

Back to Top ↑

2021

#elixirlang 매크로 코드 디버깅 팁

2 minute read

Metaprogramming Elixir 책에서 간단한 예제를 가져왔다. HTML DSL(Domain-specific language)를 매크로로 구현하는 예제를 가져오고 싶었지만 멋진 만큼 설명이 많이 필요했다. 그래서 이거 매크로로 만들어서 어디에 쓸 거야? 하는 unless ...

Back to Top ↑

2020

회사 메일로 google 계정을 만들어 업무용 google 계정을 분리

1 minute read

업무에서 사용하는 google 스프레드시트 때문에 회사에서도 google 계정을 사용하게 됐다. 구글 계정은 무조건 gmail.com 도메인을 사용해야 하는 줄 알았다. 초반에 개인 이메일을 써버려서 바꾸려니 귀찮다. 이런 이유로 개인 google 계정과 회사 google 계정을 ...

Programming Ecto (Darin Wilson, Eric Meadows-Jonsson, 2019) 독후감

1 minute read

elixir 언어에서 표준으로 쓰는 데이터베이스 래퍼(wrapper)이자 쿼리 생성기 라이브러리인 ecto를 설명한 책이다. 잘못 사용하고 있는 게 있지 않을까? 편한 걸 놔두고 어렵게 사용하고 있지 않을까? 이런 걸 배우고 싶어서 이 책을 선택했다. 생각보단 영양가가 없었다. e...

소스 코드 읽기: prometheus.erl, prometheus.ex

5 minute read

deadtrickster/prometheus.erl은 모니터링 시스템인 prometheus.io의 erlang 클라이언트다. 각종 메트릭(metric)을 프로메테우스가 파싱할 수 있는 포맷으로 텍스트를 만든다. deadtrickster/prometheus.ex는 prometheus...

소스 코드 읽기: erlang telemetry

4 minute read

telemetry는 erlang과 elixir에서 표준처럼 쓰는 메트릭(metric) 및 계측(instrumentation) 용도로 사용하는 동적 디스패치(dynamic dispatching) 라이브러리다.

Back to Top ↑

2019

Programming Phoenix 1.4 (Chris McCord 외 2명, 2019) 독후감

5 minute read

elixir 언어로 만든 웹 프레임워크 phoenix를 설명한다. phoenix에 관심이 없더라도 추천하고픈 책이다. 잘 만든 웹 프레임워크를 내공 짱짱 맨들이 설명해주기 때문이다. elixir 언어를 만든 Jose Valim도 저자 중 한 명이다. 설명도 좋고 예제 코드도 좋다....

프로젝트 템플릿을 모아두는 github 저장소를 만들었다

less than 1 minute read

최근 elixir 프로젝트를 몇 개 진행하며 프로젝트 템플릿을 모아두는 github 저장소를 만들어야겠다고 생각했다. 매번 필요한 스크립트를 이전 프로젝트 디렉터리를 뒤져서 복사해서 사용했기 때문이다. 그냥 가져다 쓰는 경우도 있지만 수정하거나 추가하는 경우도 있다. 갱신한 스크립...

강렬했던 텔레그램 BotFather와의 첫 만남

less than 1 minute read

BotFather. 크. 네이밍 보소. godfather. 텔레그램 봇을 만드려면 반드시 만나야 하는 봇이다. 처음 텔레그램 봇을 만들 때, BotFather와의 만남은 강렬했다. 만들 봇 이름, 설명 등을 적는 웹페이지를 기대했다. 하지만 텔레그램은 봇을 만들 때, 모범 사례(b...

Back to Top ↑

2018

#elixirlang 언어로 #telegram 봇 만들기

1 minute read

텔레그램은 훌륭한 메신저이자 클라이언트다. 훌륭한 클라이언트가 된 건 bot api 덕분이다. 간단한 iOS 앱을 만들려고 했는데, 텍스트로 제어가 충분하다고 생각하니 텔레그램 봇으로 만들면 되겠단 생각이 들었다. 혼자 쓸 거라 만들어 본 슬랙(slack) 봇은 과하다.

#testing #bash 간단한 assert

less than 1 minute read

팀 패스워드 관리 프로그램 tpass 개발하면서 간단하게 만들어서 썼다. 독립된 환경을 가진 유저 2 명으로 테스트를 해야 했기 때문에 테스트 환경에 공을 들였다. 독립된 환경을 구축하는 데 docker를 사용했다. 스크립트 언어로 bash를 사용했다.

#git merge 커밋 리버트(revert)

2 minute read

merge 한 커밋(commit)이 잘못됐다. push 해버려서 amend는 불가능. amend 가능해도 못하겠네. 꽤 복잡한 문제라서 revert를 하고 찬찬히 봐야겠다.

이메일은 언제 확인하나? / 2018-06

less than 1 minute read

모든 이메일에 데스크톱 알림을 띄우고 이메일이 오는 족족 확인해서 답장을 해주면 다른 업무는 안 하고 메일만 기다리는 사람은 바로 일을 시작할 수 있다. 하지만 이렇게 확인해서야 프로그래밍이 불가능하다. 인터럽트가 너무 많다. 프로그래밍에는 그냥 시간이 아닌 연속된 시간이 필요하다...

이메일 관리법 snapshot / 2018-06

2 minute read

비동기(asynchronous)로 일을 잘하고 싶다. 그 중심에 이메일이 있다. 이메일만 주고받아도 충분히 일을 진행할 수 있는 동료가 있는 반면 꼭 찾아가서 얼굴을 보고 얘기를 해야 일이 진행되는 동료가 있다. 난 이메일처럼 비동기 도구를 사용해도 충분해서 찾아갈 필요 없는 동료...

#elixirlang 언어로 만든 #slack 봇을 #heroku 서비스에 배포하기

3 minute read

다음 사이드 프로젝트는 slack 봇(bot)이다. 관리 시간을 줄일 아이디어가 떠올랐다. 언어는 요즘 쓰고 있는 elixir 언어로 결정했다. 처음부터 만들어야 하는 거 아니야? 노노. 이쪽 생태계를 무시하면 안 된다. 1986년에 발표된 32살 erlang 언어가 뒤를 든든하게...

pass, expect 프로그램과 함께한 #jekyll 블로그 deploy 스크립트

2 minute read

static 블로깅 툴인 jekyll은 직접 빌드를 해야 한다. 빌드 결과물인 html, css 파일을 웹호스팅 서버로 배포한다. 이걸 수동으로 하고 있었다. script/build 스크립트로 빌드하고 filezilla로 업로드하고 있다. 언젠가는 aws로 옮기고 push hook...

마음에 드는 #gitlab todos

less than 1 minute read

참 애정하는 기능이다. Todo를 모아서 보여준다. 나를 맨션(@mention) 하거나 담당자로 지정하면 자동으로 Todo 항목이 된다. 물론 이슈에 있는 Add Todo 버튼을 눌러 직접 추가할 수도 있다.

Back to Top ↑

2017

Programming Elixir 1.3 (Dave Thomas, 2016) 독후감

1 minute read

챕터 배치 신경 많이 썼네. 처음부터 pattern matching을 설명한다. = operator가 다른 것을 본다. 다른 세계에 왔구나. 이걸 처음부터 느낄 수 있었다. 그래서 그런지 아껴서 쓰는 control flow는 미루고 미루다가 뒤에 설명한다.

어떤 방식으로 실패를 대하는 동료를 존중할 수 있을까?

1 minute read

내가 그동안 하도 실패를 긍정적으로 묘사해 작품을 만들어 나가는 과정에서 실패란 반드시 필요한 것이라는 믿음이 직원들에게 뿌리내린 탓인지 제작진은 내 칭찬을 듣고 마음이 상한 것 같았다. 제작진은 내 칭찬을 이전 작품을 제작한 동료들보다 덜 노력하고 덜 도전했다는 평가로 해석...

#ndckr 들은 발표 간단 리뷰 - 2017

2 minute read

관심사가 한쪽으로 몰려있다. 이번엔 가능하면 관심사에서 벗어나는 주제를 다룬 발표를 선택했다. ndc 아니면 언제 듣겠나 싶어서.

Back to Top ↑

2016

#review AWS + Tajo를 이용한 ‘테라 렉 로그 분석 이야기’

less than 1 minute read

클라이언트 로그 수집할 때, 참고로 쓸 수 있는 좋은 발표. 로그 사이즈 때문에 클라이언트 로그를 수집하는 게 상당히 부담스러운 일인데, AWS를 사용하면 할 만하다. 하루에 5억건. 500GB 정도가 로그로 쌓인다.

#gdc13 #review Loading Based on Imperfect Data

less than 1 minute read

ref graph를 활용한 load list 구축. #gdc12 Data is a Four-Letter Word 참고. 개발할 땐 loose loading, 릴리즈에선 loading list를 만들어서 사용.

#gdc12 #review Solving Rigid Body Contacts

less than 1 minute read

contact solve를 이렇게 설명할 수 있구나. NDC 12에서 발표한 게임 물리 엔진의 내부 동작 원리 이해 발표보다 훨씬 세련되게 설명한다. 한 수 배웠다. 설명 방법이 돋보였던 발표.

#bts #review 언차티드 4(Uncharted) 메이킹 영상

less than 1 minute read

언차티드 1을 만들기 시작했을 때는 스튜디오에 젊은 사람들이 많았습니다. 대다수가 이 업계에서 일을 시작한 것이 20대 초반 무렵이었습니다. 시작 무렵에 주인공과 인물들 모두 20대 초반의 나이였어요. [.] 게임을 비롯해 예술 분야가 반영하는 것은 창작자의 내면이...

#gdc11 #review Anti-aliasing from a Different Perspective

less than 1 minute read

blur를 먼저하고 edge를 찾고 마스킹. 여기서 long, short edge를 구분하고 blur 커널 크기를 다르게 적용해서 original layer에 blend한다. 사진으로 보니 MLAA(morphological anti-aliasing)와 비슷한 품질이 나오고 더 빠르...

#bts God of War 3 메이킹 영상

less than 1 minute read

유튜브에서 검색하다 우연히 발견해 올라온 건 다 봤다.HD 화질로 한 분이 쫙 올렸다. 빠진 게 있으려나 모르겠네.

#gdc10 #review Uncharted 2 Art Direction

less than 1 minute read

윤곽을 잡는 방법이 신기했고 overdraw, 자연스러운 길 유도, … “이런 것까지 생각하는구나.” 라며 감탄.

#gdc10 #review The Asset pipeline for Just Cause 2: Lessons learned

less than 1 minute read

에셋(asset) 버전 컨트롤에 어떤 포맷을 해야 할까? 게임에서 빠르게 읽을 수 있게 최적화한 game ready data? 만약 이 포맷으로 저장한다면 maya와 같은 저작(authoring) 툴에서 export 하면 이전 변경 내용이 모두 없어진다. 특히 editor에서 ga...

#bts 언차티드 2(Uncharted) 메이킹 영상

1 minute read

저희는 관리와 회의, 장문의 전자우편을 별로 좋아하지 않습니다. 게임에서 뭔가 고치고 싶으면 허락을 받는 게 아니라 일단 멋지게 고쳐놓고 보는 거죠.

GitLab 팀 안내서(team handbook)를 보고

3 minute read

입사하면 보게 되는 안내서. 안내서만 보면 어떤 회사인지 알 수 있다. 이렇게 호기롭게 지르고 싶지만 내가 본 안내서가 몇 개 안 될뿐더러 안내서를 공개한 회사 내부 사정을 잘 모른다. 회사 구성원은 어떤 소양을 가진 입사자를 원할까? 자기 동료에게 바라는 건 뭘까? 실상과 다르더...

docker가 있으니 gerrit 업그레이드 스트레스는 잊으시오

3 minute read

코드 리뷰 툴로 gerrit을 쓰고 있다. 자연스럽게 작업자들이 pull, push하는 중앙 저장소가 gerrit이 된다. 잘 쓰고 있는데, 업그레이드하려니 걱정이 된다. 한 번에 문제없이 업그레이드되면 좋은데, 이걸 보장할 수가 없다. 만약 업그레이드가 실패해서 엉망이 되면 고통...

#bts 오버워치 이야기 (The Story of Overwatch, GameSpot)

less than 1 minute read

저희에게 이건 마지막 기회였어요. 우리 분야에선 “네가 만든 마지막 게임이 너를 보여준다”는 말을 자주 써요. 예를 들면 “야 내가 2008년에 와우라는 개쩌는 게임을 만들었어”라면서 자만하지 말라는 거죠. 2008년 얘기잖아요. 제가 최근에 담당한 게임은 타...

vagrant로 쓰고 버릴 gerrit plugin 빌드환경 구축

less than 1 minute read

gerrit plugin을 설치하려고 찾아보니 jar는 없다. 소스만 있다. 직접 빌드해야지 뭐. GerritForge jenkins에서 다운로드 받을 수 있긴 한데, 깨져 있는 것들도 보이고 해서 직접 빌드하기로 결정.

Back to Top ↑

2015

UAC 관리자 권한 요청을 batch script에서

less than 1 minute read

ohyecloudy/dotfiles에 있는 windows bootstrap 배치 스크립트에는 심볼릭 링크 생성이 있다. 관리자 권한으로 실행해야 하는 커맨드. 심볼릭 링크 생성이 뒤에 있어서 배치 스크립트 실패를 더럽게 한다. 그리고 관리자 권한이 필요하다는 걸 항상 실패하고 난 ...

웹에 내 공간을 만든지 10년이 됐다

1 minute read

글을 잘 쓰고 싶다. 많이 써야 는단다. 뭘 쓰지? 쓸 거리가 없는데. 영화를 보고 책도 읽고 게임도 한다. 이렇게 즐기는 콘텐츠가 많은데, 쓸 거리가 없다는 건 말이 안 되지. 이렇게 넘쳐나는 글감을 놓치고 싶지 않아 블로깅을 시작했다.

#jekyll 워드프레스에서 지킬로 본진 이동

1 minute read

본진 programming notes 블로그 툴을 wordpress에서 jekyll로 바꿨다. 덩치가 있어 핫 하다고 무턱대고 바꾸기가 망설여진다. 그래서 개인 프로젝트 개발 일기 블로그 툴로 사용해봤다. 쓸만한가? 만족. 전진기지 안정화에 성공했으니 이제 본진에 신경 쓸 차례다.

Back to Top ↑

2014

#ndc_14 #review 모에론 - 김용하 (스마일게이트)

less than 1 minute read

모에. 뭔지 모르지만 익숙하다. 왜냐면 내 첫 게임 프로젝트에서 많이 쓰였기 때문이다. 모델 뷰어는 MoeView였고 월드 에디터는 MoeTanz였다. 뭔지는 모르겠지만 일반적이지 않다는 건 느꼈다. 아. 다행히 클래스 이름 접두어는 Moe가 아니었… 아니, 있었던 거 같기도 하고.

#yahoopipes 로 여러 #rss 피드 대통합

less than 1 minute read

yahoo pipes를 사용하면 된다. 편하네. 예전에 알았던 야후 파이프를 이제야 써먹어 본다. 복잡하지 않으면 그래프 기반 다이어그램처럼 직관적인 게 따로 없다. 내가 만든 파이프.

Back to Top ↑

2013

#git object model을 보니 clojure persistent vector가 생각났다

less than 1 minute read

이런 persistent vector가 있다. 왜 persistent인가 하면 vector가 생성된 후, 변경할 수 없기 때문이다. 즉, 4를 5로 바꾸고 싶다면 5를 생성해 간선(edge)으로 연결하고 4를 연결하는 간선을 제거한 새로운 vector를 생성해야 한다.

#graphics The Unique Lighting of Mirror

less than 1 minute read

에디터에서 커브(curve)로 색 보정(color correction)을 할 수 있다. R, G, B, 휘도(luminance) 커브를 지원한다. 결과를 실시간으로 확인할 수 있다. 이게 가장 큰 장점. 인터페이스도 아티스트에게 친숙한 커브다.

Back to Top ↑

2012

Thinking in Java (브루스 에켈, 2006) 독후감

less than 1 minute read

Java를 사용할 일이 있어서 고른 책. 이 책을 많이 추천하더라. 번역이 나쁘단 얘기가 있어서 원서로 구입. 중고장터에 싸게 한 권이 나왔길래 잽싸게 주문했다.

#훌륭한습관 코드 commit(submit, check-in) 전에 diff

less than 1 minute read

소스 코드 commit 전에 항상 모든 파일 diff를 확인한다. 하나하나 확인하는 과정에서 commit 메시지를 적는다. 이렇게 해야 자세하고 정확하게 적을 수 있기 때문이다. 그리고 이 과정에서 변경 사항과 관련 없는 부분을 되돌린다. 또한, 수정이 없거나 공백만 바뀐 파일은 ...

리팩토링 Refactoring (마틴 파울러, 2012) 독후감

2 minute read

리팩토링 카탈로그 부분은 좀 지겹지만, 의사소통을 간편하게 할 수 있는 용어를 배울 수 있다. 안전하게 해당 리팩토링을 할 수 있는 절차를 적어 놓은 게 인상적. 같은 리팩토링이라도 실수를 예방할 방법이 있기 마련이기 때문이다.

Game Programming Gems 7 (Scott Jacobs, 2010) 독후감

less than 1 minute read

Game Programming Gems를 보고 난 뒤, 2권을 읽으려고 했다. 하지만 내공을 쌓는 책이라기보단 실용적인 내용이 더 많아서 역순으로 보는 게 낫겠다 싶어서 그다음으로 7권을 읽었다. 8권 번역판이 나오기 전에 읽으려고 했는데, 실패. 벌써 나왔네.

Game Engine Architecture (Jason Gregory, 2009) 독후감

less than 1 minute read

게임 엔진에 관한 모든 부분을 다룬다. foundation layer부터 rendering, animation, physics, … 보면서 Real-time Rendering과 Code Complete가 생각났다. 주제는 다르지만, 책 성격이 비슷하기 때문이다. 타겟팅 공격보다는 ...

#gdc12 #review GDC2012 간단 정리

1 minute read

GDC2012를 간단히 정리했다. 발표하는 분야가 넓어. 이거 다 이해하기는 무리. 잘 모르는 분야는 맛만 본다는 마음가짐으로 간단히 봤다.

Game Physics Engine Development (Ian Millington, 2010) 독후감

less than 1 minute read

force generator, integrator, collision detection, contact resolution으로 구성되는 큰 그림을 잘 설명해서 도움이 됐다. 물리 엔진에 관심이 있다면 게임 물리 관련 공식들이 가득 담긴 책보다는 큰 그림을 그려주는 이 책이 나은 선...

#gdc11 #review 늦은 GDC2011 간단 정리

1 minute read

지금은 2012년. 그리고 올해 GDC 행사가 끝난 시점. 작년부터 틈틈이 정리하긴 했지만 질질 끌어오던 GDC2011 정리를 마무리 짓고 싶었다. 그래서 서둘러 마무리. 아직 GDC 2012 볼트가 안 열렸으니. 뭐 오케이.

Back to Top ↑

2011

위대한 게임의 탄생 (Michael Thornton Wyman, 2011) 독후감

4 minute read

살아 있는 교훈이 담긴 게임 개발 포스트모템 모음집. 포스트모템이라도 잘 모르는 게임이면 재미가 덜하다. 구현한 콘텐츠를 예로 들어도 무슨 얘기인지 알아먹기도 어렵고. 하지만 이 책은 그런 걱정 없다. 진짜 유명하고 성공한 게임 이야기가 담겨 있으니. WoW, HL2, Unchar...

Real-Time Rendering (토마스 아케나인 몰러, 2003) 독후감

less than 1 minute read

이 책은 사이트맵과 같다. 실시간 렌더링에 관한 지식을 참 꼼꼼하게도 군데군데 구석구석 잘 퍼트려 놨는데, 그걸 잘 정리해주기 때문이다. 물론 하나하나 자세하게 설명하진 않는다. 그래 맞아. 사이트맵이 그러면 안 돼. 대신 핵심을 이해할 수 있게 설명한다. 그래서 그런지 설명을 좀...

Game Programming Gems 1 (Mark Deloura, 2001) 독후감

less than 1 minute read

레퍼런스 성격을 가지고 있는 책이다. 어느 한 영역에 집중하는 게 아니라 게임 프로그래밍에 관련된 다양한 주제를 책에서 다루고 있다. 그래서 처음부터 끝까지 쭉~ 정주행 하기엔 좋은 책이 아니다. 게임 프로그래밍 분야가 어디 좁나요? 보통 어떤 작업을 시작하기 관련 아티클을 찾아 ...

WRITING SOLID CODE (Steve Maguire, 2001) 독후감

less than 1 minute read

이 책을 처음 본 게 언젠지 기억나지 않는다. 책에 줄이 그어진 걸 보니, 그 시점 이전인 것 같다. 언젠가부터 책에 메모를 안 하고 포스트잇을 사용하기 시작했거든. 최근 다시 볼 기회가 생겨서 글을 남긴다.

The Art of Computer Programming 1 (도널드 커누스, 2006) 독후감

1 minute read

커누스 형님이 지은 책. 감히 art를 붙인 책. 10년 동안 TEX를 만들게 한 책. 빌 게이츠가 다 보면 이력서를 달라는 책. 지금 다 보고 이력서 넣으면 자선 단체에서 일하겠지만. 아 그리고 많이 추천은 하지만 본 소감을 찾아보기 어려운 책이기도 하다. 그리고 또. 다 한번 ...

Back to Top ↑

2010

실용주의 사고와 학습 (앤디 헌트, 2010) 독후감

3 minute read

많은 HR은 아직 잘 모르고 있지만 사실 자바, 루비, .NET, 혹은 아이폰 SDK를 아는지 모르는지는 별로 중요하지 않습니다. 배워야 할 신기술이나 예전 기술의 새 버전은 끊임없이 등장합니다. 기술 자체는 별로 중요하지 않습니다. 중요한 것은 지속적으로 배우는 것입니다.

실용주의 프로그래머 (데이비드 토머스, 앤드류 헌트, 2005) 독후감

1 minute read

실용주의 프로그래머는 무엇이 다른가? 우리는 태도와 스타일 그리고 문제와 해법에 접근하는 철학에 차이가 있다고 생각한다. 그들은 직면한 문제 너머를 생각하며, 문제를 항상 더 큰 맥락에 놓으려 노력하고, 항상 더 큰 그림을 보려 한다. 어쨌건 이런 더 큰 맥락 없이 도대체 어...

프로그래머의 길, 멘토에게 묻다 (데이브 후버, 애디웨일 오시나이, 2010) 독후감

1 minute read

책 제목 보고 이 책 안 사려고 했다. 책 제목이 마음에 안 든다. 아꿈사 스터디 책으로 선정돼서 어쩔 수 없이 사긴 했지만 그닥 내키진 않았다. 예전에 읽었던 ’사랑하지 않으면 떠나라’와 비슷해 보였고 어디서 긁어모은 멋진 말들로 도배된 책에 질려 있었는데, 제목을 보니 딱 멋진...

xUnit 테스트 패턴 (제라드 메스자로스, 2010) 독후감

1 minute read

테스트 코드도 계속 관리해야 하는 코드다. 릴리즈 빌드에 포함이 안 된다고 해서 악취가 진동하게 놔뒀다가는 하나만 고쳐도 엄청나게 많은 테스트 코드가 깨지는 등 감당을 못하게 된다. 좋자고 하는 건데, 테스트 코드가 오히려 병목이 될 수도 있다. ’Invoice를 테스트하려니깐 C...

Debug It! 실용주의 디버깅 (폴 부처, 2010) 독후감

1 minute read

정석 맞다. 이런 책이 늦게 나온 게 아쉽다. 읽으니깐 신입 프로그래머 시절에 하던 디버깅 방법이 생각났다. 제대로 재현도 하지 않고 코드를 읽다가 의심되는 곳을 발견하면 수정. 실행해서 버그가 발생하지 않으면 ’고쳤구나!’. 제대로 넘어갈 리가 있나. 당장 다른 곳에서 문제가 안...

Design Patterns (Erich Gamma 외 2인, 1994) 독후감

less than 1 minute read

원조. 뭔 말이 더 필요할까? 읽기가 딱딱해서 그렇지 사실 여기 있는 내용을 이해하기 쉽게 풀어놓은 책이 태반이다. 결국 그 말은 이 책에 있는 내용 이상을 쓴 책이 잘 없다는 뜻. 다른 책을 먼저 읽다가 “아~ 이런 시각을 가질 수 있구나!”라고 생각한 항목이 몇 개 있었는데, ...

Code Complete (스티브 매코널, 2005) 독후감

less than 1 minute read

구현에 관한 모든 항목을 다루고 있다. 종합선물세트와 같은 책. 해당 분야를 더 파고 싶을 때 참고하라고 책도 충실하게 소개해서 사이트맵 같은 느낌도 든다. 내용을 꽉꽉 눌러 담으려고 하니 당연히 깊이가 떨어진다. 필요한 항목을 다 모아놓아서 필요한 최소 지식을 알 수 있는 게 이...

해커와 화가 (폴 그레이엄, 2005) 독후감

2 minute read

리스프(Lisp) 얘기가 나오면 컴퓨터 프로그램의 구조와 해석 (SICP)과 같이 언급되는 책이다. 리스프가 짱이고 빠심이 충만한 책이라고 들었다. 마침 SICP로 내 속에 리스프에 대한 빠심이 쌓여 있는 터라 지금이 아니면 못 읽겠다 싶어서 책을 구해서 읽었다. 절판이라 도서관에...

실용적 예제로 본 게임인공지능 프로그램하기 (Mat Buckland, 2006) 독후감

less than 1 minute read

게임 인공지능을 개념을 잡기에 좋은 책이다. 인공지능에 기본 요소인 자동으로 움직이는 에이전트, 내비게이션 생성 및 길 찾기, FSM 설명을 책 제목처럼 실용적 예제로 설명하고 있다. 따라 하기 쉽고 이해하기 쉬운 예제를 사용해서 단순 이론 공부에 그치지 않고 어떻게 적용되는지를 ...

이산수학 (Judith L. Gersting, 2004) 독후감

less than 1 minute read

정말 오랜만에 보는 이산수학. 책을 보는 내내 연습문제 숙제로 시달리던 대학교 생각이 났다. 이 책도 더럽게 연습문제 많더라. 처음엔 연습문제와 같이 있는 프로그래밍 문제도 같이 풀려고 했는데, 보는데 조급해서 풀어보진 않았다. 예제를 열심히 보는 것에 만족.

Head First SQL (린 베일리, 2008) 독후감

less than 1 minute read

SQLite를 사용하는데 SQL 문법이 가물가물했다. 대학교 때 사용한 DB 수업 교재는 너무 두껍고 어려운 내용이라서 간단히 복습하는 용도에는 맞지 않았다. Head First 시리즈에 SQL 책이 있어서 고민하지 않고 샀다. <Head First Design Pattern...

#cpp #tr1 shared_ptr, weak_ptr

1 minute read

STL에는 auto_ptr라는 스마트 포인터가 있지만 할당하면 소멸식 복사(destructive copy)로 자원에 대한 소유권을 넘겨주는 동작을 한다. STL 알고리즘은 값에 의한 복사가 기본 동작이라서 컨테이너에 못 넣는 스마트 포인터가 되겠다. 이게 이슈가 많이 돼서 이름도 ...

#ux 초보자에게 너무 편한 구글 크롬 빈 페이지 UI

less than 1 minute read

처음 봤을 때, 그냥 괜찮은 디자인처럼 보였다. 나는 Ctrl+L 로 주소창을 열고 URL 주소를 타이핑해서 사이트를 찾아가기 때문에, 저런 인터페이스는 그냥 예쁜 인터페이스에 불과했다. 키보드에 얹은 손을 마우스로 다시 옮기기도 귀찮아서 키보드로 할 수 있는 건 웬만하면 다 키보...

게임 & 인터랙티브 애플리케이션을 위한 수학 (James M. Van Verth, 2008) 독후감

less than 1 minute read

간혹 수학이 발목을 잡을 때가 있어서 수학 책을 한 권 봐야겠다 싶었던 차에 눈에 띈 책이다. 선형 대수부터 셰이딩, 조명, 래스터화, 강체 역학까지 게임에 필요한 기초 수학은 다 다루고 있다. 자세히 설명을 안 하고 넘어가는 게 간혹 있지만 대부분 충실히 설명하고 있다. 다행히 ...

Back to Top ↑

2009

HARD CODE (에릭 브레히너, 2009) 독후감

2 minute read

마이크로 소프트(MS)가 어떻게 프로젝트, 사람을 관리하는지 살짝 엿볼 수 있는 책이다. 어떤 책인고 하니 MS에서 개발 혁신 부서장을 맡은 에릭 브레히너가 사내 웹진에 올린 글들을 묶어 놓은 책이다. 이 사람도 미지근하게 글을 안 쓴다. 한 마디로 깔건 확실하게 까는 스타일이지.

조엘 온 소프트웨어를 넘어서 (조엘 스폴스키, 2009) 독후감

1 minute read

그래! 벌써 밑천이 다 떨어져 할 말이 없을 리가 없다. ’조엘 온 소프트웨어’ 다음 편인 ’조엘 온 소프트웨어를 넘어서’가 나왔다. ’조엘 온 소프트웨어’와 ’조엘 온 소프트웨어를 넘어서’ 사이에 책이 2권 나왔지만, 진짜 후속편이라 부를만한 책은 아니었다. 좋은 블로그 글을 골...

실전 윈도우 디버깅 (Mario Hewardt, Daniel Pravat, 2008) 독후감

less than 1 minute read

아꿈사에서 <프로그램은 왜 실패하는가?>라는 디버깅 책을 공부했었다. 이 책이 끝나고 난 뒤, 너무 이론에 치우쳐 있어서 아쉬우니 실전에서 쓸 수 있는 경험들이 담긴 디버깅 서적을 공부하자고 했다. 고르고 고르던 중에 걸린 이 책. 윈도우 시스템에 관한 이야기도 많아서 ...

#review 그림자 생성 - 니시카와 젠지

1 minute read

간략한 shadow volume 소개와 여러 shadow mapping 알고리즘을 소개한 아티클이다. 프로그래머뿐만 아니라 게임에 관심이 있는 사람들도 읽을 수 있도록 쉽게 써서 그림자를 구현하기 전에 살짝 읽기에 좋은 글이다.

프로그래밍 심리학 (제럴드 M. 와인버그, 2008) 독후감

1 minute read

프로그래밍은 엄연히 인간 행동의 한 형태임에도 그런 관점에서 프로그래밍을 연구한 사람은 거의 없다. 그렇다면 프로그래밍을 인간 행위로 조명하지 않은 이유가 있었던 건 아닐까? 아마도 프로그래밍은 연구 대상으로 삼기에 너무나 복잡한 행위이기 때문에 커다란 불가사의로 남을 수밖에...

프로그램은 왜 실패하는가? (Andreas Zeller, 2006) 독후감

less than 1 minute read

프로그래머가 만든 결함(defect)에 의해 프로그램 상태가 감염(infection)되고 이 감염된 상태 때문에 실패(failure)하게 된다. 감염을 따로 격리하고 결함을 찾아서 고치는 과정을 디버깅이라 하는데, 이 책은 짜임새 있고 논리적인 접근법을 가르쳐 주는 이론서이다. 딱...

#review Google C++ Style Guide

1 minute read

사실 style guide가 나와서 말인데, 나는 조엘이 엄선한 소프트웨어 블로그 베스트 29선에서 본 ’스타일은 언어 요소다 - 켄 아놀드’글을 완전 지지한다. 많은 언어가 무시하는 공백 문자를 언어 요소로 넣자고 주장하는데, 지겨운 스타일 논쟁을 완전 없앨 수 있고 파싱이 쉬워...

데드라인 (톰 디마르코, 2004) 독후감

less than 1 minute read

“강사님은 지금 사람 선별법, 작업 할당, 동기 부여, 팀 구성 같이 관리에서 가장 필수적인 네 가지 기본사항은 전혀 다루지도 않으면서 관리의 자연과학적인 부분을 우리에게 가르치시겠다는 건가요?” “강사님은 그 네 가지를 빠뜨린 과정을 가지고 ‘프로젝트 관리’라고 부르고...

#cpp #idioms Nifty Counter

1 minute read

목적은 Construct On First Use와 같다. 즉, global static object, global object 초기화 순서가 명확하지 않아서 발생하는 static initialization order fiasco를 막기 위한 idiom이다.

#review 디자인은 죽었는가? - 마틴 파울러(Is Design Dead? - Martin Fowler)

1 minute read

종종 어떤 XPers들은 많은 디자인 활동과 디자인 패턴을 쓸모없다고 한다. 또 어떤 XP 비방자들은 XP를 디자인도 없는 짜보고 고치는(code and fix) 개발방식으로 회귀라고 말한다. 마틴 파울러(Martin Fowler)가 “어휴 둘 다 오해하고 자빠졌네.”라며 교통정리...

#64bit 포팅 - 32비트 포인터들이여 안녕

less than 1 minute read

포팅을 위해 64bit로 빌드를 하면 갑자기 담배가 급하게 땡기게 된다. 수백 개의 에러를 보면 “어휴~ 이걸 언제 다 잡지?”라는 생각이 절로 든다. 하지만 다 저마다 독특한 상황에서 발생하는 에러가 아니라 에러는 수백 개라도 공통된 패턴이 있기 마련이다. viva64.com에 ...

#term memoization, 메모이제이션

less than 1 minute read

계산한 값을 메모리에 저장해서 여러 번 같은 값 계산을 피하는 최적화 기법을 메모이제이션(memoization)이라고 한다. 실행 속도와 공간을 바꾸는 가장 기초적인 기법이기도 하다. 실수로 메모리제이션이라고 하기도 하는데 메모이제이션이 정확한 용어이다.

CapsLock! 자네에게 어울리는 자리는 그곳이 아닐세

less than 1 minute read

사실 이제까지 아무런 불평불만 없이 잘 써왔다. Lisp를 틈틈이 배우고 있는데, 가장 잘 어울리는 환경이 Emacs라서 설치하고 도움말을 찾아봤다. 그런데 얼씨구! 키 입력에 왜 이리 컨트롤 키(Ctrl)가 많은지 모르겠다. 같이 누르기가 너무 불편하다. 단축키를 배정한 사람이 ...

비디오 메모리 구하기 (DirectDraw, WMI)

2 minute read

PerfHUD나 DirectX Caps Viewer로 볼 수 있지만, 비디오 메모리 사용량을 렌더링하는 게 그리 힘든 일이 아니라 보통 이 정도는 렌더링해준다. 그건 좋은데 문제는 DirectX9 인터페이스로는 사용 가능한 전용 비디오 메모리를 알 수 없는 거다. 그래서 보통 Di...

#review 해커 문화의 뿌리를 찾아서 - developerWorks

less than 1 minute read

최근에 SICP 스터디가 끝났는데 , SICP에서 배우는 리스프(Lisp)의 방언(dialect)인 스킴(Scheme)의 역사와 중요 개념의 소개를 다룬 글이라서 너무 재미있게 읽었다. 관심 없는 역사는 연도와 사건들의 map으로 밖에 안 느껴져서 너무 지겨운데, 관심이 있거나 지...

#cpp Pimpl 관용구

2 minute read

컴파일할때 파일 간의 디펜던시를 줄이려고 사용하는 관용구(idiom)이다. public 접근 권한으로 정의된 함수가 변경될 때, 이 파일을 include 하는 녀석들이 다시 컴파일되는 건 당연한데, 다른 녀석들이 못 보는 private 접근 권한의 멤버 함수나 변수가 변경될 때도 ...

#stl istreambuf_iterator, ostreambuf_iterator : 서식화(formatted)하지 않는 입출력

less than 1 minute read

사용자 입력은 서식화된 입력(공백 문자 무시 등)이 필요하지만 파일 입출력에서는 서식화된(formatted) 입력이 필요 없는 경우가 대부분이다. 서식화된 입출력은 쌩 입출력보다 처리를 하는 게 많아서 속도가 느린 게 당연하다. 공백 문자 무시 옵션을 켜도 되지만 이런 서식화 입출...

Beautiful Code (찰스 페졸드 외 37인, 2007) 독후감

1 minute read

코딩 명장들이 자신이 짰던 코드 중 가장 아름답다고 꼽는 코드는 어떠할까? 이런 궁금증이 이 책을 보게 했다. 어떤 코드들이 과학을 넘어선 저편에 존재하는 듯한 ’아름답다’라는 단어를 사용하게끔 할까?

#stl 상등 관계(equality)와 동등 관계(equivalence)의 차이 파악

2 minute read

두 값이 같은가를 판단하는 두 가지 방법이 존재한다. 첫 번째 방법은 두 값이 같은지를 바로 판단하는 것이고 두 번째 방법은 작지도 않고 크지도 않다는 것을 확인해서 두 값이 같은지를 판단한다. 이 첫 번째 방법은 operator== 로 판단하는데, A == B 이면 두 값이 같다...

큐브 - 머리가 안 돌아가면 이거라도 돌려야지

less than 1 minute read

머리로 하는 직업인데, 머리가 안 돌아가면 정말 막막하다. XP의 아버지 켄트 벡(Kent Beck)은 머리가 안 돌아갈 때 밖에 나가서 톱질한다고 한다. 육체적인 움직임이 머리를 돌리는데 도움을 준다는 얘기인데, 여기저기 찾아볼 필요없이 내 경험만 들추어봐도 이런 경험을 한 경우...

#stl VS 2005의 std::string 구현(딩컴웨어 STL)

1 minute read

Effective STL 항목 15에서 string이 여러 가지 방식으로 구현되어 있다는 걸 상기시키고 있다. 구현 방법까지 표준 문서에 정의하지 않았기 때문에 당연한 결과이기도 하다. VS 2005에 포함된 딩컴웨어 STL은 어떻게 구현되었나 궁금해서 찾아봤다.

#review 초보 개발자를 위한 오픈 소스 라이선스 길잡이

2 minute read

특허는 … 알고리즘이 같다면 어떤 컴퓨터 언어로 표현되었는지에 상관없이 침해로 규율할 수 있기 때문이다. … 그러나 출원 및 등록유지 비용이 든다는 점이 단점이다. 이에 비해 저작권은 알고리즘이 표현된 것을 보호하므로 보호받는 범위가 좁고 프로그램 저작물을 의도적으로 보...

#stl copy_if 알고리즘 구현

1 minute read

STL 알고리즘 이름의 _if 접미사는 술어 함수(predicate)를 인자로 받는 것을 의미한다. 이 술어 함수를 알고리즘 안에서 호출해서 돌려받은 반환 값에 따라 동작을 수행할지 말지를 결정하게 된다. 예를 들면 count_if()는 술어 함수 호출결과가 true인 원소들의 개...

#stl 정렬 알고리즘(sort, stable_sort, partial_sort, nth_element)

3 minute read

컨테이너 정렬이 필요할 때, sort를 사용하고 순서가 유지돼야 하면 stable_sort를 사용했다. partial_sort와 nth_element는 한 번도 사용해본 적이 없는데, 일부분만 정렬이 필요하거나 몇 번째 원소를 뽑을 때 유용하게 사용할 수 있을 것 같다. 예를 들면...

#stl accumulate - 수치 알고리즘

1 minute read

for_each 알고리즘으로 대체 구현이 가능한 거라 한 번도 사용해보지 않은 알고리즘이다. Effective STL 37번 항목에서 accumulate알고리즘에 대한 언급이 나오는데, 으.. 읽고 보니 좋은 걸 안 쓰고 있었구나.

#review 이슈 트래커 개발자가 들려주는 이슈 트래커 이야기

2 minute read

맨티스, 버그 질라, 트랙 등 유명한 이슈 트래커가 팀 요구 사항에 맞지 않아 ECUS라는 사내 이슈 트래커를 개발하면서 겪은 경험담을 적어 놓았다. 많이 쓰이는 오픈 소스 기반의 이슈 트래커들의 장단점과 ECUS에서 어떤 걸 버리고 개선했는지에 대한 얘기를 1부에서 다뤘고 이슈 ...

#term predicate, 술어

1 minute read

predicate 발음듣기 [미] [prédikət] 【문법】 술부, 술어 (cf. SUBJECT) 【컴퓨터】 술어 구글 사전

Working Effectively With Legacy Code (Michael Feathers, 2004) 독후감

1 minute read

TDD(Test-Driven Development, 테스트 주도 개발)를 처음 접했을 때, 개발 방법이 충격적이었다. 테스트를 먼저 추가하면서 시작되는 TDD의 리듬을 타면 테스트가 바탕이 된 매우 견고한 코드로 갈 수 있을 것 같다. 하지만 낯선 개발 방법에 적용하는 시간과 노력...

스포어(spore) 프로토타입(prototype)

1 minute read

Spore Prototypes Available for Free[gamedev.net]라는 글을 통해 알게 됐다. Spore - Prototypes에서 스포어 게임을 개발할 때 사용한 프로토타입들을 받아서 실행해 볼 수 있다.

#visualstudio - _noop 키워드

1 minute read

NOOP 혹은 NOP 로 사용하는데, NO OPerator의 줄임말이다. 말 그대로 아무런 연산을 하지 않는 명령어를 뜻한다. 표준이 아니라 VC++ 키워드라는 게 걸리는데, 다른 컴파일러에서 동작하도록 쉽게 수정할 수 있으니 포팅 걱정은 안 하고 VC++에서 편하게 써도 된다. ...

Back to Top ↑

2008

EASTL - 할당자(allocator)

2 minute read

EASTL - Electronic Arts Standard Template Library은 거대 게임 개발사인 EA가 C++ 표준 라이브러리인 STL을 게임 개발에 맞게 수정한 라이브러리이다.

조엘이 엄선한 소프트웨어 블로그 베스트 29선 (조엘 스폴스키, 2006) 독후감

1 minute read

조엘이 소프트웨어에 관한 좋은 글들을 묶어서 책으로 냈다. 내가 관심 있는 분야에 관한 글도 있고 소셜 네트워크와 같이 관심 없는 분야의 글도 실려 있다. 처음에는 관심 있는 분야만 쏙쏙 골라서 봤는데, 관심이 없는 분야라도 좋은 글이라고 하니 억지로라도 읽어봤다. 사실 이런 관심...

조엘 온 소프트웨어 (조엘 스폴스키, 2005) 독후감

1 minute read

프로그래밍 경험도 풍부하고 그 경험에 걸맞은 내공을 가진 사람이 프로그래머로서 소프트웨어에 관한 글을 쓴다면 어떤 책이 나올까? 내가 생각하기에는 바로 ’조엘 온 소프트웨어’와 같은 책이 나올 것 같다. 소프트웨어에 관한 그의 통찰력을 무미건조하지 않고 재미있게 풀어놓았다. 미국식...

Unicode - (3) UTF-8 in Windows

3 minute read

UTF-8 문자의 크기는 그림과 같이 1-byte에서 4-byte까지 가질 수 있다. 가장 큰 특징인 기존 US-ASCII와 호환성을 위해 이런 가변 길이 인코딩을 선택했는데, 덕분에 영어는 1-byte로 표현할 수 있지만 한글은 3-byte가 필요하다. 양키들이 쓰는 US-ASC...

Unicode - (2) UTF-16(wide character) in Windows

1 minute read

Windows에서 Unicode 인코딩은 UTF-16을 기본으로 사용하고 Unicode라고 부르기보다는 wide character라고 부른다. 그래서 Windows에서 wide character는 UTF-16 character라고 생각하면 된다. wide character 자료형인...

Unicode - (1) 개념

1 minute read

모든 문자에 고윳값을 할당하는 테이블을 만드는 프로젝트가 유니코드 컨소시엄과 ISO 10646에 의해 시작됐다. 문제는 하나의 단체가 아니라 두 단체라는 거. 이거 다 편하자고 하는 일인데, 다른 두 개의 테이블이 만드는 것은 모든 사람이 원하지 않는 일이라는 것을 알고 같은 문자...

PerfHUD 6 새로 추가된 Feature 간략 리뷰

less than 1 minute read

역경을 딛고 집에 PerfHUD 6 - NVIDIA를 설치하고 새로 추가된 피쳐들을 살펴봤다. 앞자리 숫자가 바뀐 버전인 만큼 정말 멋진 기능들이 많이 추가됐다. 더 쾌적하게 게임을 하려고 ATI 비디오 카드를 꼽을 수는 있겠는데, 개발용으론 이제 NVIDIA 비디오 카드밖에 못 ...

#define D3D_DEBUG_INFO

1 minute read

Debugging시 Watch창으로 내부 변수들을 볼 수 있다. 위의 그림은 IDirect3DDevice9를 Watch창으로 본 화면. 어휴! 역시 DirectX 새로운 SDK 나오면 무조건 Document부터 다 훑어봐야 한다. 발견한 지 일주일이 안 됐지만 그전부터 사용 가능한...

Head First Design Patterns (에릭 프리먼 외, 2005) 독후감

less than 1 minute read

“IT 서적이 이런식으로 쓰일 수도 있구나!” 처음 한 챕터를 읽고 난 뒤에 충격을 받았다. 기술서적으로는 항상 딱딱한 구성의 책만 보아왔고, 또 당연히 그렇다고 생각했는데 말이다. 이런 구성과 설명이 내 뇌를 어떻게 자극하는지는 모르지만, 분명한 건 이런 구성이 나한테는 꽤 잘 ...

Back to Top ↑

2007

이펙티브 C++ 3판 (Effective C++, 스콧 마이어스, 2015) 독후감

less than 1 minute read

2판이 있는데, 목차를 살펴보니 새로 추가된 내용이 많아서 샀다. 상당히 많은 부분이 추가 되었고 내용들도 수정되고 추가 되었다. TR1에 대한 소개도 추가되었고 템플릿쪽에 대한 얘기가 늘어났다. 두번째로 보는 C++ 책이라 불리는 책이니 책에 대한 다른 칭찬의 말은 필요도 없을 ...

#vcs 소스 컨트롤 시스템에서 메시지 내용, 커밋 단위를 이렇게 하는게 좋지 않을까?

1 minute read

업무를 하다가 보면 이런 메시지로 커밋된 것을 발견할 수 있다. 이런 메시지를 보는 즉시 한숨이 나오는건 당연. 가끔 너무 짜증나서 책상을 내려칠때도 있다. 도대체 어떤 버그가 고쳐졌다는 얘긴지 알 수가 없다. 이런 메시지를 적어서 커밋을 한 당사자에게 1달 정도 뒤에 어떤 버그를...

#quiz 몬티 홀 문제(Monty Hall problem)

2 minute read

Suppose you’re on a game show, and you’re given the choice of threedoors: Behind one door is a car; behind the others, goats. You pick adoor, say No. 1, a...

똑똑하고 100배 일 잘하는 개발자 모시기 (조엘 스폴스키, 2007) 독후감

1 minute read

조엘 온 소프트웨어를 보고 느낀 것이 많아서 새로운 책이 나왔다길래 닥치고 구입했다. 조엘 온 소프트웨어를 읽었을 때의 즐거움을 다시 느껴보고 싶었고 글 제목만 얼핏 보면 개발자를 뽑는 사람에게만 도움이 될 것 같지만 개발자로서 어떤 개발자를 모시고 싶어하는지 아는 것도 무척이나 ...

Back to Top ↑