오랜만에 스킨을 변경했더니.. 여러가지 설정들이 다 날라가 버렸네요.. 에휴~ 그중에서 SyntaxHighlighter를 이용한 소스코드 보여주는 부분이 전부다 이상해져버려서.. 해당 설정 다시 하면서 내용 정리해 봅니다. SyntaxHighlighter의 경우 3.0 버전까지 나와 있는 것 같은데요.. http://alexgorbatchev.com/SyntaxHighlighter/ 기존 블로그들이 1.5.1 버전으로 되어 있어서 해당 버전으로 정리하도록 하겠습니다. 설정 측면에서 보면 jQuery 관련된 코드 넣어주는 것 제외하고는 큰 차이는 없습니다. http://code.google.com/p/syntaxhighlighter/ 먼저 위 사이트에서 SyntaxhHighlighter 1.5.1 버전을 ..
프로그래머들은 한번쯤 리펙토링이라는 것을 들어봤을 겁니다. 리펙토링이 좋다는 것은 익히 들어 알겠는데 실제로 못하는 경우가 대부분입니다. 왜 그럴까요? 우선, 리펙토링이 무엇이고 어떻게 하는 것인지 모르기 때문인 것 같습니다. 솔직히 저도 리펙토링 관련 책을 이번에 읽어보기는 했지만, 아직도 어떤 경우에 리펙토링을 해야 하는지 느낌이 확 오지는 않습니다. -.- A->B로 변경하는 것이 설명되어 있으면, 바로 B->A로 바꾸는 것도 설명되어 있습니다. 즉, 경우에 따라 적용하는 리펙토링이 다르다는 것인데.. 이건 경험이 필요한 것 같습니다.~ 끊임없이 생각해보고 변경하다보면 어떤 것이 올바른 리펙토링인지 알수 있지 않을까 합니다. 다음으로는 리펙토링을 하고 있으면, 윗분들은 아무것도 하지 않고 있다고 생..
요즘 테스트 코드와 관련해서... 테스트 코드를 먼저 만들고 난 후, 코딩을 진행하는 것이 좋다... 또는 프로그래밍 코딩을 하면, 테스트 코드를 만들어 확인해야 한다.. 리펙토링을 하기 전에는 반드시 테스트 코드가 있어야 한다.. 라는 이야기를 많이 합니다. 테스트 코드라는 것이 매우 중요한 개념이라는 것은 많이 들어서 알 것 같습니다. 그런데.. 실천이 매우 어렵다는 것을 한번 느낀 적이 있어 글을 써봅니다. 최근 프로젝트에서 JUnit이라는 테스트 프레임워크와 Ant 툴을 이용해서 프로젝트에서 테스트 프로그램을 구성해 보았습니다. 흔히 말하듯 빌드 한방에 테스트가 완료되구요.. 테스트 전후의 데이터도 변화가 없게 만들고... 나름 머리써가면서 잘 만들어 놨었죠~~ 하지만, 테스트 구현에 있어 약간의..
요즘~ 필요하다고 생각하는 소스는 공개되어 있는 것도 많고 또.. 컴포넌트 단위로 저렴하게 구입할 수 있는 것도 많습니다. 그러므로 모든 소스를 직접 구현하겠다는 생각은 굉장히 위험한 것이라고 생각합니다. 비록 프로그래밍 코딩에 자신도 있고, 알고리즘 구현도 잘 한다고 할지라도 이미 만들어진 것을 구현하는데 들어갈 노력을... 더 나은 사용자 환경 구축이나 최적화 등에 힘쓰는 것이 바람직 하다고 생각합니다. 더 나아가 본인 스스로나 팀 내부에서 작성한 소스들도 재사용이 가능하도록 정리하려는 노력이 필요합니다. 경우에 따라, 같은 프로젝트에 동일한 일을 하는 소스가 여러군데 존재하기도 하더라구요~ 그러한 경우를 막기 위해서 재사용하기 쉽게 만들어야 합니다. 팀 프로젝트에서 소스 코드의 중복이야말로 추후 문..
프로젝트의 규모가 점점 커지면서, 소스코드의 버전관리가 중요한 요소로 자리잡아 가고 있습니다. 혼자서 단독으로 프로그래밍을 하던 시기에는 백업 파일만 잘 보관하면 됐지.. 버전관리가 왜 필요할까? 하고 생각했던 것이 사실입니다. 하지만, 협업을 하게 되면서.. 단순히 백업만 가지고서는 발생할 수 있는 문제점들을 해결하는데 어려움이 있게 됩니다. 소스코드를 누가 변경한 것인가? 현재 소스와 이전 소스의 차이점은 무엇인가? 현재 소스를 릴리스(release)에 어떻게 반영할 것인가? 동시에 동일 파일에 대한 변경이 발생할 경우, 충돌을 어떻게 해결할 것인가? 단순한 백업에서는 해결하지 못했던 것을 소스코드 버전관리를 통해서 처리할 수 있게 되는 것입니다. 그래서 어떤 프로젝트를 막론하고.. 심지어 프로토타입..
실제로 프로젝트를 진행할 때, 프로토타입을 만든다는 이야기를 많이 합니다. 이런 프로토타입(prototype)의 사전적인 의미를 살펴보도록 하죠. prototype [출처 : 네이버영어사전] ━ n. 1 원형(原型)(archetype);견본, 전형;(후대 사물의) 선조, 원조(元祖) the prototype of a character (소설에서) 인물의 원형 2【생물】 원형(原形) ━ vt. …의 원형[견본]을 만들다 원형이나 견본이라는 의미로 주로 사용되고 있는데요.. 프로그래밍에서는 언제 프로토타입(원형, 견본)을 만들어야 할까요? 당연히 이미 해봤던 것이나, 전체적인 로직과 흐름을 잘 알고 있으며, 구현이 가능한 것에 대해서는 프로토타입이 필요 없을 것입니다. 처음 시도해 보는, 이 기능이 구현될지..
마틴파울러는 이렇게 말했습니다. 컴퓨터가 이해할 수 있는 코드는 어느 바보나 다 짤 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다. 워드 커닝햄은 다음과 같이 이야기했습니다. 저는 작지만 유용한 프로그램들을 매일 작성할 것을 추천합니다. 누군가가 똑같거나 혹은 더 나은 걸 이미 만들었다는 데에 절대 신경쓰지 마세요. 유용성과 복잡성 간의 균형 감각을 얻기 위해서는 당신 자신이 만든 프로그램의 유용성을 직접 느껴봐야만 합니다. 둘 다 매우 감동적인 이야기입니다. 정말 부럽기도 하구요~~ 그러나 IT 개발자의 현실은 그렇게 여유롭지만은 못한 것 같습니다. 몇주전 블로고스피어에 올라왔던 아메바님의 그림일기를 보면 아주 적나라하죠.. ^^ 이런 현실을 벗어나 즐겁게 일하면서 사람이 이해할 수 ..