전체 글 275

스티브 잡스의 넥스트 시절

스티브 잡스는 매킨토시를 개발하면서 회사의 주력 제품이었던 애플2 개발자들과 의견 대립이 있었고, 이후 매킨토시의 실적이 부진함에도 책임을 다른 이에게 떠넘기려 하다가 자신이 영입한 존 스컬리(마케팅의 귀재, 1984 슈퍼볼 광고로 애플의 이미지 혁신)에 의해서 퇴출당한다. (이때까지만 하더라도 상당히 괴팍한 성격이었다고 한다.) 너무 상심한 잡스는 자신의 "전부"였던 애플 주식을 "전부" 매각하고, 애플 출신의 6명과 함께 퇴사 후 첫번째 회사인 넥스트를 설립한다. 나 역시도 픽사나 넥스트의 이름 정도만 알고 있었는데, 책을 보니 넥스트에서 개발한 워크스테이션 및 소프트웨어 등이 IT 역사에 상당한 의미가 있었다. (픽사는 이제 유명하니 생략!)..

Daily 2011.03.18

#include "stdafx.h" 이전의 모든 코드는 무시

Precompiled Header가 무조건 cpp의 처음에 와야 한다는 사실은 알고 있었지만 이러한 내용이 있는지는 몰랐다. 즉 Precompiled Header를 사용하면 극단적으로 다음의 코드가 컴파일 및 실행 가능하다. (이는 VS6으로 테스트한 내용이다.) ABCDEFG // 오타 아님, 소스에 포함된 문장 #include "stdafx.h" int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } 아무래도 Precompiled Header를 사용하는 옵션을 설정하면 #include "stdafx.h"를 소스의 시작으로 인식하는 듯 하다. The compiler skips to the specified #include dir..

Game Dev/Work Log 2011.03.16

메모리 변조를 막는 Coding

코드 영역을 변조하는 경우는 nProtect나 기타 보안 모듈을 통해서 검출이 가능한데 메모리 변조를 하는 경우는 검출하기가 힘든 것 같다. 따라서 이 포스트에 간단하게 메모리 변조 해키에 대응하는 코드 작성법을 정리해 놓는다. 1. 검증과 방어 간단하다. 예상되는 입력과 출력이 맞는지 코드를 항상 검증한다. 2. 안전한 함수, 안전한 자료형 seed 값이 노출 될 경우 rand 함수의 결과값을 100% 예측할 수 있다. 또 strcpy, strcat 등의 문자열 조작 함수는 버퍼 오버런 공격을 당할 위험이 크다. 따라서 WinCrypt.h에 포함된 CryptGenRandom 함수나 strcpy_s, strcat_s 등의 안전한 함수를 사용하고 기본 자료형을 Wrap한 자료형을 사용하도록 한다. 3. 메..

Game Dev/Article 2011.03.11

Visual Studio 6.0 Setting

2001년 대학교 입학 후 처음 쓰던 Visual Studio 6.0... 이 추억의 프로그램을 10년이 지난 2011년에 그것도 실무에서 쓰게 될 줄은 상상도 하지 못했다. 최소한 2003은 되어야 그나마 2010과 IDE 스타일이 비슷한데 6.0이라니! 내가 6.0을 쓴다니~ 델파이 프로그래머가 귀해서 많은 돈을 받는다는 얘기를 이제서야 믿게 되었다. 일단 침착하게...... VS6을 실행시켜 보았다. 음 코드 파일을 Tab으로 표시하는 기능이 없었다. 그리고 소스 컨트롤에서 체크아웃 된 파일을 보여주는 Pending-Check In 윈도우도 없고, IDE에서 쓸 수 있는 총 컬러도 16색이고, 소스 코드에 몇번째 줄인지 표시도 되지 않았다. 기뻐 돌아가시겠네. ^_^ 그런데 사람이 기뻐서 죽으라는 ..

Game Dev/Work Log 2011.03.08

박은호의 후덜덜한 프리킥 골

뉴스에서 박은호가 프리킥으로만 2골을 넣었다고 해서 한국 신인 선수가 볼을 잘 차는구나라고 생각했는데 알고보니 본래 이름이 Wagner인 브라질 선수였습니다. 예전에 브라질 선수 주닝요(Juninho)를 전인호라고 부르기도 했었는데, 박은호라는 이름도 참 잘 지은듯 싶습니다. 아래 동영상은 하이라이트이고 박은호 골은 35초, 3분 30초에 나옵니다. 저도 동영상 보고 정말 후덜덜하다고 밖에 표현을 못 하겠네요. 얼마나 놀라운지 해설자 분도 "세상에 이럴수가!"라는 감탄을 연발하는데 여러분들도 직접 확인해보세요! 추가로 아래 동영상들은 (제 개인적인 느낌상) 박은호의 골과 비슷한 역대 프리킥 골들입니다. 첫번째 골은 베컴이 2006년 월드컵 에콰도르전에서 넣은 프리킥과 유사한 것 같고, 2번째 골은 200..

Hobby/Football 2011.03.07

K리그 네이트 중계

오늘자 김현회 칼럼을 보니 네이트에서 K리그 경기 중 TV 중계되는 경기에 한하여 모두 인터넷으로 중계해준다고 합니다. 물론 EPL 등 유럽 명문 리그보다는 평균 경기력이 떨어지겠지만, 자기 지역팀이라는 애정을 가지고 보면 재미있습니다. 실제로 대부분의 경기 내용이 괜찮기도 하고 예전에 비해 감독과 선수 수준도 많이 높아졌습니다. 10. K리그를 사랑하는 네이트 항상 K리그 중계 문제는 팬들의 불만이었다. 텔레비전으로 경기를 지켜보지 못하는 부득이한 사정이 생겼을 때 인터넷을 통해 좋은 화질로 경기를 본다는 건 쉽지 않은 일이다. 그런데 올 시즌 포털 사이트 네이트에서는 텔레비전으로 중계되는 K리그 경기를 전부 실시간으로 서비스 할 예정이다. 서울과 수원의 1라운드 라이벌전도 포털 사이트 중에서는 유일하..

Hobby/Football 2011.03.05

위대한 탄생 김태원의 말들...

위대한 탄생을 보면 남자의 자격이나 다른 예능에서 느끼지 못했던 김태원의 면모를 느낄 수 있다. 아무래도 예능에서는 웃음 포인트만 강조되다 보니 "국민할매"로 전락하였지만, 위대한 탄생에서는 프로그램 특성상 20년 넘게 락밴드 리더를 하고 수많은 명곡을 작사/작곡한 내면의 감성이 더 잘 드러나는게 아닐까 싶다. 지난 방송들에서도 김태원의 명언들이 많이 있었지만 다 잊어버렸고... 오늘 방송에서 나에게 감동으로 다가온 말들만 정리해본다. 이태권 : 우리 4명 중에서 1등이 나올까요? 김태원 : 1등에 집착하지 마라. 이후에 너희들 인생이 어떻게 바뀌느냐가 더 중요한거다. (최종 멘토 오디션을 앞두고 4명의 멘티에게) 긴장하는 사람은 지고 설레이는 사람은 이긴다. (최종 멘토 오디션이 끝나고 합격자들에게) ..

Daily 2011.03.04

최근 일하면서 느낀 점들

1. 능력 없는 프로그래머는 회사에 존재할 이유가 없다. 아무것도 할 줄 모른다고 내버려 둬서는 안된다. 이들이 하는 일은 제로가 아니다. 다른 사람들의 일을 방해하기 때문이다. 소스 잘못 짜서 체크인 하면 고쳐야지, 모른다고 달려오면 알려줘야지... 하지만 웃긴 것은 아무리 "연봉제" "성과제"라고 하지만 이런 사람들이 짤리거나 연봉이 깎이는 것은 보지 못했다. "연봉은 삭감되지 않는다. 다만 동결될 뿐.." 2. 오래 지속하고 싶은 프로젝트 일수록 TDD는 필수! 현재 일하는 프로젝트는 7-8년 전부터 시작된 프로젝트이다. 그래서 컴파일러도 구형이고 소스 컨트롤 프로그램도 CVS를 쓴다. 나름의 이유야 있었겠지만 프로그램 구조도 좋지는 않은데, 이 모든 것들이 "여력이 없다." "현재 상용화 중이라 ..

Game Dev/Article 2011.03.04

작업표시줄의 크기가 재부팅 후 변경될 때

와이드 모니터를 사용하면서 작업 표시줄을 왼쪽/오른쪽에 옮겨놓고 세로 방향으로 사용을 하고 있다. 이렇게 하면 아무래도 가로로 놓았을 때보다 작업표시줄에 표시되는 프로그램이 많고 불필요하게 넓은 와이드 화면을 효율적으로 사용할 수 있다. 하지만 이렇게 작업표시줄을 세로로 설정하면 재부팅할 때마다 크기가 한줄씩 줄어들게 된다. (검색해보니 가로 방향도 마찬가지인것 같다.) 매번 수고스럽게 크기를 원상복구 시키다가 오늘 업무용 PC를 포맷하면서 해결방법을 찾아보았다. 내 기도에 응답하신 구글님의 답은 다음과 같다. 제어판 > 날짜, 시간, 언어 및 국가별 옵션 > 국가 및 언어 옵션 > 언어 탭 > 자세히 > 입력 도구 모음 > 바탕 화면에 입력 도구 모음 표시를 해제 재부팅을 해보니... Olleh~ 크기..

Daily 2011.03.04