개발&Development 190

PHPUnit에서 Trac까지

이글을 쓰는 시점에서 PHPUnit과 Trac은 완벽하게 붙지는 않는다. 그래도 시늉까지 해 보는 방법을 설명한다. 이후 좀더 깔끔하게 된다면 업데이트 하겠다. 유닛테스팅은 최근의 개발방법론에서 중요한 요소이다. 유닛테스트를 깨지지 않게 하는 것은 코드의 안정성을 유지하는 좋은 방법중 하나이다. 혹은 TDD(Test Driven Development)를 적용하는데도 기본적인 방법이다. CruiseControl을 사용해서 SubVersion Repository를 감시하며 지속적으로 실행하는 방법도 있겠지만 Trac에 바로 통합하는 방법을 설명코자 한다. 목표는 아래와 같다. 커밋이 일어나면 자동으로 유닛 테스트가 수행되고 그 결과가 Trac 페이지에 떡하니 뜨길 바란다. 우선 Trac과 SubVersion..

Tistory Project review 조금

1. Code Review 최종적으로 Service에 Deploy 되기 전에 Review를 하는 것은 몇번 엄한 코드가 나갈뻔한 상황을 제어할 수 있었다. 형상관리툴(이 프로젝트에서는 SVN)을 사용하고 서비스 적용 전에 그 변화들을 확인해 가는 것은 품질 확인에 많은 도움이 된다. 다만 이것이 쌓여버리면 역시 터진다. 리뷰 시간도 줄어들고 작성자도 기억이 가물가물해 진다. 커밋 후 짧은 시간 안에 이루어 지는 것이 필수. 2. Ticket System/Issue Tracking Trac을 사용하였고 이는 현재의 사안들을 적절히 추적할 수 있게 한다. 과거를 따라 갈 수도 있다. 버그를 보고받고 재현하고 수정한다는 과정을 자연스럽게 확립할 수 있고 다시 이슈가 발생한 경우 많은 정보를 찾을 수 있다. 귀..

IT강국 대한민국

"마XXX"오락을 띄우는데 "nPxxxxxx"의 "GxxxGuxxx"가 뜨다가 죽으면서 키보드 드라이버를 해 드셨다. 키보드 드라이버가 완전 사망, 키 입력을 할 수가 없다. 그거 고치느라 쌩쑈를 했다. 마침 타블렛이 연결안되어 있었으면 우짤뻔 했노. 패스워드를 타블렛으로 입력하는 경험을 하게 해준 그 프로그램에게 감사. (최근에 얼핏 USB 키보드까지 제어하겠다라는 금융권 보안시스템의 이야기를 듣고 어찌나 무섭던지. 일반인들은 키보드 나가면 OS 재설치 해야 하는데 말이쥐.) 부모님이 집에 오셨다가 전기요금의 E-mail 청구서를 한번 보게 해달라고 하셨다. 대단한 "한X". Excel로 보내 주셨내. 집컴에는 오피스가 없어서(완전 오락용) 급한대로 Excel Viewer를 설치해 봤다. 열수 없다고 ..

Greatest problem in computing today

의 저자서문중에 알고리즘을 어떻게 표현할까에 대한 이야기를 하면서 언급한 문서가 하나 있다. Communcations of ACM Volume6, Issue 9(September 1963) : Computer-drawn flowcharts (전문을 보고 싶으면 멤버쉽에 가입을 하셔야 할껍니다.) 대뜸 첫마디가 이렇다. Perhaps the greatest problem in computing today, although little has been written about it, is the need for better documentation of programs.프로그래밍 분야의 역사적으로 가장 중요한 문제임이 틀림없다. 1960년대나 2000년대나 -ㅅ-. PS. 이 페이퍼를 보는대 무려 예제코드가..

LetterBox Skin for Textcube 1.5.3

이전버전 : http://gendoh.tistory.com/2510953 1. 사이즈 폭과 관련하여 style.css에 관련 설정을 처음 부분으로 다 모았습니다. 덧셈과 뺄셈을 하시면 가로폭을 마음대로 조정할 수 있을 것입니다. 2. skin_comment 블럭을 사용하였습니다. 비표준 치환자이기에 텍스트 큐브는 이것을 지워버립니다. 코드를 볼때만 표시되고 화면 출력에서는 사라집니다. skin.html을 확인해 주세요. 3. 저의 주소가 변경되었습니다. gendoh.tistory.com에서 gendoh.com 으로 변경되었습니다. 직전 버전부터 적용된 라이센스에 따라 자유롭게 수정 및 재배포가 가능합니다만 저의 블로그 주소인 http://gendoh.com 이 반드시 하단에 출력되어야 합니다. Textc..

다음 블로그의 문제점이라고 한다면

나의 FeedDemon 에서 글을 구독하다가 부분 공개라 직접 가서 글을 봐야 할때 글이 스크롤이 안된다. 일부 자바스크립트로 스크롤을 구현한 경우 제대로 스크롤이 되지 않는다. 브라우저가 임베디드 되어 있는 경우 IE로 인식 되지만 IE가 아닌것을. 전에 일부 블로그가 스크립트로 커스텀 스크롤바를 만들던지 하면 스크롤이 안되서 자바스크립트를 끄거나 주인장을 협박하기도 하였는데 이번엔 어째야 하나. 사람들이 다양한 이펙트를 위해 JS를 막 쓰려고 하면 일단 부정적인 의견을 내는것이, 예외상황들 다 고려하기가 너무 어렵다. 사이드바에 드래그&드랍을 구현하고 나서 이후 버그리포팅들을 보면, 정말 골때리는 케이스들이 많다. 그리고 아직도 버그 천지일 것이다. 예전에 윈도우 프로그래밍을 하면서 느낀 것 중 하나..

CodeHighlight Plug-in 0.5

이전버전 : http://gendoh.tistory.com/2510878 스킨과 Class 충돌이 있어서 Tistory에 적용되지 못했던 비운의 플러그인이었습니다. 이번 버전에서는 소스까지 고쳐가며 Class 충돌문제를 해결하였습니다. 더불어 Textcube 1.5 호환 테스트를 수행하였습니다. 태터툴즈 1.1 이상에서 문제없이 수행될 것입니다. 이하 기존의 내용을 그대로 인용합니다. 베이스로 "dp.SyntaxHighlighter"를 사용합니다. http://www.dreamprojections.com/SyntaxHighlighter 기존 테터에서 사용되던 [ code ] [ / code ]를 사용합니다. 그냥 이대로 하는 경우 C++로 기본 적용됩니다. 만약 언어를 적용하고 싶은 경우 "[ code"..

Skin LetterBox for Textcube 1.5

변경 : 2007-08-24 곧 1.5.1 나오면서 스킨 스키마가 살짝 변경되는 것 같아서 준비중입니다. 이 스킨은 급하신 분들만 :) 곧 LetterBox 1.5.1 나옵니다. 새로운 버전입니다. (이전버전 : http://gendoh.tistory.com/2510826 ) Textcube 1.5 릴리징을 기념하여 버전업을 하였습니다. 스킨버전도 1.5 입니다. 1. Textcube의 플러그인 "Metapage Recent Entries as blogmeta" 를 지원합니다. 2. print 미디어의 css가 강화되었습니다. 3. Textcube 1.5의 위지윅 에디터용 css를 지원합니다. 일부이미지는 1up님의 Coolant Skin에서 훔쳐왔습니다. Textcube 자체 이미지를 훔친것도 있습니다..

Escaping String

CDATA : 스트링 노테이션은 언어를 처음 접할때 찾아보게 되는 중요한 요소중 하나이자 실제 프로그래밍에서도 까다로운 부분임에 틀림없다. SQL Injection 공격도 결국 인자로 받는 데이터를 어떻게 안전하게 이스케이핑 해서 전달하느냐의 문제이고, 블로그에서 댓글을 어떻게 잘 표현할 것인가에 대한 문제기도 하다. 실제로 지금 현재 TextCube 1.5는 댓글이 두번 이스케이핑이 되어 '&'가 '&'로 나온다거나 쌍따옴표(")가 '"'로 나오는 문제가 있다. 수정중이긴 하지만 MySQL, PHP, HTML, JavaScript까지의 연타 상황에서는 쉬운 문제만은 아니다. G-Test도 결국 그런 이유에서 나온 테스트 패턴이다. TextCube Wiki에도 나와 있는 코딩 가이드라인에 이런 내용부터 ..