엘키의 주절 주절

소소한 개발 이야기

유닛 테스트의 진짜 효과와 역할

유닛 테스트를 내가 접한 지도 어언 10년이 다 되간다. 그간 내가 거쳐온 많은 회사에서 사용되기도, 무시되기도, 우선 순위에 밀리기도 하더라.   이 과정에서 제안도 여러 번 해보고, 설득 과정에서 자주 나왔던 질문이 있었다.   유닛 테스트하면 뭐가 좋은가요?   처음 이 질문을 받았을 당시, 내 답변은   테스트야 하면 당연히 좋은 거다   라...

Ruby on rails 소개

Rails는 Ruby로 작성된 MVC모델을 기반 프레임워크입니다.   쉽고 빠르게 웹 어플리케이션을 구축 할 수 있도록 도와줍니다. Rails와 비슷한 역할을 하는 프레임워크로는 java spring, python django, php code igniter 등이 있습니다. Rails의 장점은 Ruby 자체가 가진 유연성이라고 볼 수 있습니다....

Welcome to Ruby!

Welcome to ruby! from 성훈 김 루비를 시작하시는 모든분들께 짧게 읽고 넘어가실 수 있는 슬라이드를 작성해보았습니다. 동적 타입 기반의 스크립트 언어를 아직 해보지 않으셨다면, 파이썬이나 루비! 기왕이면 루비를 추천해드립니다. 짧게 5분정도 소요되니 읽고 가셔요~

TDD에게서 자유로워 지자

2000년대 중후반은 모두가 유닛 테스트에 미쳤다. 아니 TDD에 미쳤다. Test Driven Development에 대한 서적이 넘쳐났으며, 모두가 TDD를 통해 구원 받을거라는 희망찬 상상에 들떠 있었다. 이 붐을 주도했던 개발자중 한명인 DHH (rails를 만든 이)도 이 흐름에 동참했었다.  그를 비롯한 많은 이의 주장은 테스트 우선 신...

Ruby on rails 세팅 for Windows

Rails installer 위 링크에서 windows용 installer를 다운 받아 설치합니다. ruby도 함께 설치되고, 환경 변수도 설정해줘 아주 편합니다. Ruby on rails IDE - Aptana Studio 3 태생이 Eclipse긴하지만, plugin 추가 설치 없이 ruby와 rails 모두를 잘 지원해줍니다. 위 ...

코드 작성과 디버깅을 쉽게하는 예외 처리

이 글은, c++을 기반으로 작성되었지만 예외 처리 기능 (try-catch, try-except 등)을 가진 모든 언어에 적용 되는 내용입니다. 파일에서 데이터를 읽는 코드를 작성해봅시다. c++로 작성해보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int _tmain(int argc, _TCHAR* argv[]) {...

Reactor 패턴과 Proactor 패턴

Reactor 패턴 어떠한 이벤트가 발생하면, 이곳으로 알려달라는 방식. 윈도우 메시지 핸들러처럼, 특정 이벤트가 발생한다면 통지 받겠다는 방식. Proactor 패턴 특정 작업을 시키고, 그 작업이 완료되면 알려달라는 방식. IOCP에서 Completion Port가 이 방식을 취하고 있다. 말로만 보면 비슷한데, 깊이 고민...

C++ 구조체 이니셜라이저 문제

1 2 3 4 5 6 7 8 struct CHAR_COLLECTION_DATA { int CharID; int Value; int ValueCode; }; CHAR_COLLECTION_DATA CollectionData = {m_CharID, m_Value, m_ValueCode }; 이런 코드가 있었다. 기능을 추가 하...

좋은 코딩 나쁜 코딩 - 읽기 쉬운 코드가 좋은 코드다

제가 여러번 극찬한 임백준씨의 번역서입니다. 얼마나 좋았으면 직접 번역을 하셨을까 궁금하더군요. 이전에 번역하신 해커와 화가도 두고 두고 읽을만큼 색다른 시각이 좋았던지라, 이 책에 대한 기대도 그만큼 컸다고 볼 수 있습니다. 대략 책 제목에서도 알 수 있듯이, 어떠한 코드가 읽기 좋은 코드인지에 대한 기준을 제시하는 책입니다. 가장 유용했던 ...

Active Record Query Interface

액티브 레코드 쿼리 인터페이스 튜토리얼만 잘 읽고 가이드만 잘 따라가도 평타를 칠 수 있는 언어! 루비….인데, 액티브 쿼리 인터페이스 읽다말고 find_by_sql을 발견 한 후, find_by_sql 위주로 작업을 했더니 몇가지 문제가 있었습니다. 현재의 세팅환경은, 다음과 같습니다. develop : sqlite production : my...