제가 프로그래밍을 접한 시기가 97년이고, 윈도우 프로그래밍에 대한 정보를 얻기도 쉽지 않은 시기였습니다. (도서관도 시립 도서관외에는 힘들었고, 집 근처에 도서관이 없던지라 서점에 파는 책들이 전부였죠) 그런 상황에서 유닉스나, 리눅스 프로그래밍은 더 접하기 어려웠고, 그렇다보니 자연스레 윈도우 프로그래머가 되었습니다. 굳이 리눅스를 접해야만 할 이유가 없었고, 윈도우에 만족하고 있었지만, 현대 운영체제의 모태인 유닉스 계열 운영체제를 접해봐야 왜 그렇게 만들어졌는지 알아야만 윈도우 프로그래밍을 더 잘할 수도 있겠고, 유닉스 계열 운영체제가 맘에 든다면 그쪽으로 개발하는것도 괜찮겠다는 생각에 Fedora를 시작으로 리눅스를 사용하게 되었습니다. 서버 프로그래머이다보니 네트웍에 관심을 갖고 있는 것도 한..
이 책은 경험이 쌓이면서 알게되는 진리들 (성급한 최적화, 객체지향 설계가 필요한 이유, 중복 제거가 필요한 이유 등등) 을 쉽게 설명해주고 있습니다. 저는 현재 현업에서 일한지 2년이 넘었고, 취미와 학과 시절을 포함하면 10년이 넘었습니다. 그렇다보니...초급서로 느껴지는 이 책을 지금 읽기에 좀 부족하지 않냐는 생각으로 보기 시작했지만 읽다보니 전개가 재미있더군요. 전공이 컴퓨터 공학이었다보니 선후배나 동기들이 프로그래밍을 어떻게 하면 쉽게 배울 수 있느냐고 물어봅니다. 그런 부분에서는 이 책도 해답이 되긴 힘들다고 생각합니다. 이 책은 프로그래밍의 방법을 알려주는 책은 아니니까요. 제 생각에 이 책은 프로그래밍이란 과정은 알아가는데, 좀 더 유지보수하기 좋고, 이해하기 쉬운 코드를 목표로 삼고 있..
해킹 관련 서적에서는 최신 해킹 기술이 소개되지않는다. 당연하지 않는가? 취약점이 알려지면 늦어도 대게 일주일 이내에 문제가 해결된다. 그러나, 글로 작성하고 출판되는데에는 그 이상의 시간이 걸리니 말이다. 그렇다고 이 기술들이 의미가 없을까? 그건 아니다. 그 기술들이 시스템의 어떤 취약점을 파고 들었고, 어떤 원리로 그 취약점이 이용될 수 있었는지 아는 것은 매우 중요하다. 공격 코드가 어떻게 이루어져 왔는지 이해한다면, 방어적인 프로그래밍이 어떤 것인지 이해할 수 있게 된다. 이 책은 라우 레벨 차원의 여러가지 기반 지식 컴퓨터 구조 이해, 운영체제에 대한 이해, 메모리 개념에 대한 일정 수준 이상의 이해도가 필요하다고 본다. 책에서는 지금까지의 보안 취약점이 어떻게 이용되었는지를 공격 코드의 원리..
사실 저는 테스트를 별로 좋아하지 않습니다. 테스터 분들이 보시면 기분나빠하실지도 모르지만, 개발보다 지루한 작업이기 때문이죠. 하지만 테스트는 언젠가 해야하고, 프로그램의 품질에 지대한 영향을 끼칩니다. 프로그래머는 모든 상황을 생각할 수 없습니다. 현재의 코드가 미칠 여파를 모두 생각해내는건 사실상 불가능하죠. 프로그래머의 논리적 빈틈은 테스트를 통해서 해결해야합니다. 그런 코드의 빈틈을 테스터에게만 맡길 수 있을까요? 그 프로그램을 작성한 사람보다 빈틈을 더 잘 찾을 수 있을까요? 프로그래머가 하는 테스트가 꼼꼼하다면 프로그램이 공개 되고 나서 발생할 문제를 상당수 방지 하거나 해결 할 수 있습니다. 테스트 주도 개발은 기본적으로 리팩토링을 기반으로 이루어집니다. 테스트를 통해 개발을 하며, 리팩토..
지난 달에 응모했던 Yes24의 Beautiful Code 서평 이벤트에 당첨됐습니다. 이 책을 보고 싶은 이유는 뛰어난 프로그래머들이 꼽는 아름다운 코드의 기준이 무엇일까 궁금하기도 했고, 제 자신이 작성해온 코드 중에서 가장 아름다웠던 코드가 무엇일까 생각하는 계기가 될 수 있겠다 싶은 생각에서 였습니다. 요새 읽고 있는 '린 소프트웨어 개발'에서도 많은 걸 느끼고 깨닳게 해주었는데, 이 책도 그렇게 많은 걸 느낄 계기가 될 수 있단 생각이 들어 리뷰 이벤트 당첨이 좋은 기회가 될거 같습니다.
가상키 코드 값 키 VK_LBUTTON 01 VK_RBUTTON 02 VK_CANCEL 03 Ctrl-Break VK_MBUTTON 04 VK_BACK 08 Backspace VK_TAB 09 Tab VK_CLEAR 0C NumLock이 꺼져 있을 때의 5 VK_RETURN 0D Enter VK_SHIFT 10 Shift VK_CONTROL 11 Ctrl VK_MENU 12 Alt VK_PAUSE 13 Pause VK_CAPITAL 14 Caps Lock VK_ESCAPE 1B Esc VK_SPACE 20 스페이스 VK_PRIOR 21 PgUp VK_NEXT 22 PgDn VK_END 23 End VK_HOME 24 Home VK_LEFT 25 왼측 커서 이동키 VK_UP 26 위쪽 커서 이동키 VK_R..
준비물 : Visual Studio 6.0 , WinSpy++ v1.6 일단 아래와 같은 단순한 API 프로그램을 살펴보자. 그림 1 Visual C++ 6.0에서 New -> Project -> Win32 Application에서 프로젝트 이름은 BULK라고 하고 첫 번째 스텝에서 A typical "Hello World!" application을 선택하여 자동으로 생성된 프로그램을 그대로 빌드하여 실행시킨 것이다. 실제로 해보면 알겠지만 대부분의 Win32 App의 기본 골격인 메인 클래스 등록, 메인 윈도우 생성, 메시지 루프, 윈도우 프로시저까지 생성해 준다. 그림 2 위와 같이 메뉴에서 Help -> About 을 선택하여 모달 다이얼로그를 띄운다. 아래 코드가 실행되는 것이다. 그림 3 Dia..
- Total
- Today
- Yesterday
- c언어
- 게임데브포에버
- 임백준
- MS-SQL
- 디자인 패턴
- ruby
- svn
- 루비 온 레일즈
- SDL
- EzShortcut
- 루비
- perfmon
- RoR
- Rails
- 바로가기 프로그램
- 조엘 온 소프트웨어
- 멀티스레드
- 엘키
- TraceRoute
- TDD
- Ruby on Rails
- 좋은 프로그래머
- ftp
- CppSQLite
- 리버스 엔지니어링
- 디버깅
- 게임개발포에버
- SQLite Spy
- EasyExec
- NDC2013
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |