이번에 소스서버를 세팅했습니다. 환경을 바꾸고 집중해서 했더니 생각지도 못했던 아이디어가 솟아나면서 생각보다 쉽게 이틀만에 셋업을 했네요. 나중을 위해 그 과정을 적어둡니다. 소스서버 세팅은 크게 몇 가지 단계로 구분됩니다. OS 설치 네트워크 구성 소스서버 구성 (SVN) 데이터베이스 구성 (PostgreSQL) 이슈서버 구성 (redmine) 빌드서버 구성 제목은 소스서버 세팅이라 썼지만, 하는김에 필요한 것들을 다 하기로 했어요. OS 설치 [...]
오늘 ‘조엘 온 소프트웨어를 넘어서’를 보았습니다. 많은 내용이 ‘조엘 온 소프트웨어’의 재탕이라 실망한 부분도 있었지만, 새로운 내용도 몇 있었고, 꽤 가치있는 내용입니다. 지난 포스트에서 헝가리안 표기법을 무시했었는데, 이 책을 읽고 나니 다시 생각해야겠다는 생각이 들었습니다. 사실 이 책을 구매한 이유의 중 하나가 이 챕터를 보기 위해서였습니다. 내용을 요악하면 헝가리안 표기법의 원래 목적은 변수의 타입을 구분하기 [...]
일을 하다 보면 이런 멘트를 자주 접하게 됩니다. 이거 간단한 일인데요… 어쩌구 저쩌구… 금방 되겠죠? 일단 이런 말을 들으면 대번에 떠오르는 생각은 한가지입니다. 어떻게든 싸게 부려먹고 싶어하는구나! 물론 이 생각을 표현하지는 않습니다. 하지만 제 계산으로는 간단하고 금방되는 일은 가격이 더 비싸집니다. 간단한 일 간단한 일이라고 하지만 실제로는 간단한 일은 없습니다. 그렇게 간단하면 직접 했겠죠. 직접 [...]
Xcode에는 Stop on Objective-C Exceptions라는 옵션이 있습니다. 처음에 이 옵션을 보고 멋모르고 이걸 켰다가 지금까지 고생을 했네요. 일단, 이 옵션은 로우레벨 예외에서 멈추는 옵션입니다. Cocoa는 Objective-C의 예외를 캐치해 적절한 예외 메시지를 생성해 보여줍니다. 그런데 이 옵션을 체크하면 예외가 생성된 그 순간에 디버거가 멈춥니다. 그래서 예외 메시지가 전혀 표시되지 않고 EXC_BAD_어쩌구 하는 메시지나 SIGABRT만 보이게 됩니다. 최악의 [...]
간혹 JavaScript같은 동적 타이핑 언어들이 타입을 명시하지 않아도 되기에, 타이핑을 절약해 생산성 향상을 도모할 수 있다는 글을 봅니다. 글쎄요, 아주 작은 규모의 프로그램이라면 모르겠지만, 규모가 조금만 커져도 이 말은 헛소리가 되고 맙니다. 이러한 형식 미지정 언어 기능은 타이핑 시간은 줄여주겠지만, 코드만으로 필요한 형식을 알 수 없게 되기에 타이핑이 끝난 그 순간부터 고통이 시작됩니다. 다음 코드를 보아 [...]
동적 언어는 간단히 말하면 동적 분기를 지원하는 언어입니다. 여러가지 폼이 있지만, 핵심은 그 하나입니다. 그리고 이 동적 분기는 그 컨셉 자체가 CPU가 최적화하기 힘든 컨셉입니다. 그래서 동적 언어는 정적 언어에 비해 느릴 수 밖에 없게 됩니다.
Objective-C는 C 기반 언어이므로 C는 자연스럽게 섞어쓸 수 있습니다. C에 존재하는 기능은 아예 있지도 않을 정도니까요. (예: 정적 필드) 하지만 C++는 이와 비슷하게 C에서 갈라져 나온 언어로 Objective-C와는 다른 길을 걷어왔습니다. 이들은 기본적으로 호환이 되지 않습니다. 하지만 이들은 결국 C의 확장이므로, 포인터와 기본형식, 함수 호출이라는 최소의 공통분모가 있습니다. 기를 기반으로 애플은 이들을 섞어쓸 수 있도록 [...]