Accelerated Fribirdz!
세상은 고칠 것 투성이 - 프리버즈

BLOG main image



대형 포탈들이나 서비스 업체들에서는 세션을 사용할 수 없도록 정책을 정해놓은 곳들이 있다. 보안이나 성능 상의 위험을 막고자 함이다. 이 때, 암묵적인 사용금지 뿐만이 아니라 서버 상에서 세션 사용 자체를 막아버린 경우가 있는데, 이런 경우에 CakePHP는 문제를 일으킬 수 있다.

CakePHP에서 Session lib1와 이를 상속받은 Session component 2 을 이용해 세션을 처리한다.

세션에 대한 설정은 core.php에서 이루어진다. core.php3는 CakePHP와 관련된 환경 변수들을 세팅해 두는 곳이다.  core.php에서 AUTO_SESSION를 false로 해 둔다고 해서, 세션을 아예 사용하지 않는 것은 아니다.

어쨋든 Session lib가 호출되고, __startSession 메소드에서 session_start()를 호출하게 된다.

이건 버그라고 보기 힘든 면도 있지만.. 어쨋든 원인은 Session component를 강제로 항상 호출하는데 있다. /cake/libs/controller/component.php 파일에서 58번째 줄을 보면, controller에서 세션 컴포넌트를 항상 강제로 호출을 하는데, 이를 주석처리 하면 된다.

  1. /cake/libs/session.php
  2. cake/libs/controller/components/session.php
  3. /app/config/core.php
2008/09/18 21:10 2008/09/18 21:10

예전에 회사 팀블로그에 썼던 글 입니다. 부족한 부분이 많아서, 누군가에게는 도움이 될 수 있도록 내용을 정리한 후에 제 블로그에 다시 올리려고 했었는데, 게으름때문에 지금까지 미뤄져 왔네요. 일단은, 예전에 쓴 글을 그대로 퍼서 다시 올립니다.

레오퍼드도 나왔고, 덩달아 여러가지 변화도 있었으니 더 미루면 정말 쓸모없는 글이 될 거 같아서요. 다음주 즈음에 노트북하드를 새로 구입하고, 레오퍼드로 갈아탈 예정이니 쓸 거리가 많이 생길거라고 봅니다.


환경

아래 사진은 제 책상입니다. LCD 2대와 맥북이 놓여있죠. 책상 아래에는 윈도우가 깔려 있는 데스크탑이 있습니다. 오른쪽 LCD는 맥북과 연결되어 있고, 오른쪽 LCD는 데스크탑과 연결되어 있습니다. 즉, 1대의 랩탑과 1대의 데스크탑을 쓰고 있는 셈입니다. 2대의 컴퓨터를 Synergy를 통해 1개의 키보드/마우스로 쓰고 있습니다. 듀얼모니터의 생산성 향상에 대해서는 이미 많은 연구 결과들이 뒷받침해 주고 있습니다. 굳이 조엘 아저씨가 아니더라두요. :)

사용자 삽입 이미지

키보드는 3년동안 라이트 버전을 쓰다가, 얼마전 큰맘먹고 지른 해피해킹2프로입니다. 마우스는 개발도, 웹서핑도, FPS게임도 내 맘대로 움직여주는 MS 인텔리 옵티컬 1.1이고, 마우스패드는 위키북스 사장님이 선물해주신 X-Ray Thunder 8 입니다. :D (쓸데없는 자랑모드-_-) 벽에 붙어 있는 것은 TextMate Cheat Sheats이고, 타이머는 Perky님 등 많은 분들이 쓰고 있는 모델이죠. 뒤에 보이는 플립시계는 C2 발표회때 받은 것입니다.

마우스/키보드 같이 쓰기 : Synergy

시너지는 운영체제에 상관없이 (리눅스, 유닉스, OS X, 윈도우 등), 키보드/마우스를 공유할 수 있는 오픈소스 솔루션입니다. 이미 많은 분들이 애용하고 있죠. 맥북을 시너지 클라이언트, 데스크탑을 시너지 서버로 설정했고, 당연히 키보드/마우스는 데스크탑에 연결 했습니다. 컴퓨터가 부팅되면 시너지 서버와 클라이언트는 자동으로 실행되기 때문에, 심리스하게(-_-) 사용할 수 있습니다.

윈도우와 OS X를 시너지로 연결할 때 Super(윈도우의 윈도우키, OS X의 커멘드 키)키와 Alt키가 뒤바껴 눌릴 수 있습니다. 이땐 시너지 서버의 Configure - Screen's Edit - Modifier에서 Alt와 Super의 매칭을 바꿔주면 됩니다. OS X에서 한글 상위로 사용할 때 bus error가 날때는 이 글 을 참고하면 됩니다.

맥의 마우스 감도는 윈도우보다 많이 떨어집니다. 이를 보완할 수 있는 유틸리티나, MS/로지텍의 마우스 드라이버를 깔면 좀 괜찮아지지만, 민감한 분들은 견디기 힘들 수 있습니다. 저 역시 그래서 윈도우에 마우스를 연결했습니다. 하지만, OS X의 TextMate를 쓰는 경우에는 휠스크롤이 너무 느리게 동작한다는 문제점이 있습니다. 이는 외국에서도 몇몇 사람이 문제제기를 했으나, 아직 마땅한 해결책은 나오지 않았습니다. 이 점이 걸리신다면, 맥을 시너지 서버로 사용하는게 좋습니다.

텍스트 편집기 : TextMate

맥에는 TextMate라는 쿨-한 편집기가 있습니다. TextMate를 쓰기 위해 맥을 쓴다는 사람들이 있을만큼, 말 그대로 "The missing editor"라고 불릴만 합니다. 루비 온 레일스의 스크린캐스트 덕택에 더욱 유명해졌지요. 저 역시, 블로그 15분 만들기를 보고 사게 되었으니까요.

하지만, 한글을 제대로 표현해 주지 않는 등의 문제가 있습니다. 2바이트 언어권 문제는 레오퍼드 이후에 해결될 예정이니, 그 동안은 별도의 한글 글꼴을 사용해야 합니다.

TextMate에 대한 글들은 이곳과, Official Website의 Screencast를 보면 되겠습니다.

MAMP (Mac + Apache + Mysql + PHP)

펌핏과 IDTail은 APM(Apache, PHP, Mysql) 환경에서 개발되었습니다. 윈도우/리눅스에서 이를 APM이라 한다면, 맥에서는 앞에 Mac을 붙여 MAMP라고 합니다. 윈도우에 APM Setup이나 Autoset과 같은 APM통합 설치/운영이 있듯이, 맥에도 이러한 통합 솔루션이 있습니다. 가장 널리 사용되는 것은 MAMP와 XAMPP입니다. XAMPP는 Linux, Solaris, Windows 버전도 있지요.

MAMP가 가장 편리합니다. Cocoa기반의 GUI Tool도 제공이 됩니다. 자세한 설정사항은 정목님의 블로그를 참고하세요. MySQL 최신 버전을 사용하시려면 MAMP 1.5b를 받아야 합니다. 전 Mysql/Apache의 Port를 Default Port로 변경하고, htdocs 위치를 변경하고 다른 설정은 건드리지 않았습니다. (물론 아파치 설정은 조금 바꿨지요) mysql.sock 위치를 변경하는게 번거로워서 그냥 /var/tmp에 심볼릭 링크를 만들어 쓰고 있습니다.

하지만, MAMP는 SSL을 지원하지 않습니다. 잠깐 찾아보니, MAMP에서 사용하는 Apache는 SSL이 붙을 수 없는 빌드라고 합니다. IDTail에서는 ssl을 사용하기 때문에 제 환경을 XAMPP로 바꾸고 있습니다.

Mysql GUI Tools

루비 온 레일스로 블로그 15분 만에 만들기 에 등장했던 공개SW CocoaMySQL도 너무 예쁘고, 편리한 MySQL 관리 툴이지만, MySQL '공식' 제공 툴이며, OS 상관없이 쓸 수 있는 Mysql GUI Tools를 쓰고 있습니다.

Safari, Firefox

개발을 사파리로 하고 있진 않습니다. 듀얼모니터의 이점을 살리기 위해서 입니다. 또, 맥에서 Firefox가 너무 느리고, 버그도 많아서 제대로 쓸 수도 없구요. 맥북의 LCD에는 메신저, 터미널, 콘솔, Query Browser, SVN Client 등을 띄워놓구요. 왼쪽 LCD는 TextMate를, 오른쪽 LCD(윈도우 머신)에는 firefox를 띄워놓습니다. firefox에 firebug, Web Developer를 깔아놓은 건 당연하지요. (아 이녀석들 없을 땐 대체 어떻게 개발했었는지.. 아찔합니다. -_-)

SVN

OS X를 처음 설치하면, Subversion은 1.2.x가 깔려 있습니다. 1.4.3을 사용하려면 직접 빌드하거나, OS X용으로 빌드된 녀석을 찾아야 합니다. Fink로도 최신버전을 찾을 수 없습니다. 미리 컴파일 후 패키징된 것을 까는게 편합니다.

SVN Client

터미널에서 작업하는게 더 명료하지만, 아무래도 귀찮죠. SvnX라는 괜찮은 SVN GUI Client가 있습니다. 커밋 계획을 '스마트 뷰'로 보는게 특히 편리합니다. 하지만, 한글 Log를 남기면 깨지는게 단점입니다. Zig Version이라는 맥답게 심플한 프로그램도 좋습니다. 한글도 깨지지 않아요. 하지만, diff에 연결할 에디터를 고를 수 없는 등의 단점이 있습니다. 몇몇 다른 클라이언트들도 있지만, 인터페이스가 복잡하고 좀 무겁습니다.

VI

TextMate를 쓴다고 해도 vi를 안쓸 수는 없겠죠. SVN과 마찬가지로 OS X를 처음 설치하면, vim 6.2가 깔려 있고 vim.org에서 맥용 vim 7.0을 공식 지원하진 않습니다. 이곳에서 파일을 받으면 됩니다. 따로 빌드해도 되구요. 아니면, 여기서 vim7.0.188-univ.tar.bz2 를 받고 적당한 곳에 복사를 하고, alias vi="/Applications/OA/Vim.app/Contents/MacOS/Vim" 와 같은 식으로 추가해서 써도 되겠죠.

마치며

사실 맥으로 개발한다고 해서 완벽한 웹표준, 완벽한 크로스브라우징을 지키고 있진 못합니다. IDTail역시 사파리에선 깨지는 페이지들도 아직 남아 있구요. 차차 개선해 나가야지요.

맥으로 처음 웹 개발을 해보면서 겪었던 삽질들도 앞으로 하나씩 써보겠습니다. 맥이라서 해야했던 삽질도 있겠지만, 제가 잘 몰라서 했던 삽질들도 많겠죠. 어쨋든, 저처럼 무식한 삽질을 하는 분들을 한분이라도 막기 위해서 (흑흑... 있긴 있을까) 글을 써봅니다. 아, 벌써 9시가 다되가네요. -_- 집에 가야지

2007/11/25 16:02 2007/11/25 16:02

Star UML의 센스

개발 2005/12/04 16:59
UML Modeling을 위해서 Rose와 Plastic을 쓰고 있었는데, Star UML을 한번 써보고 싶어서 깔아봤다. Plastic이랑 크게 다를건 없을 것 같지만....

근데, 클래스 다이어그램을 그리는데 이름을 넣지 않으니까.. Class DIagram 1, 2 이런 식의 이름으로 생성되는게 아니라.. 그림과 같이.. 사람 이름으로..

개발자 이름을 이스터에그로 넣어놓은거 같다. :-) 재미있는 센스! 잘 쓰겠습니다. :)

StarUML은 http://tomowind.egloos.com/1980136 참조

2005/12/04 16:59 2005/12/04 16:59

Trackback to Visual Studio 2005 : 그 절반의 공개 via 겐도사마의 재림
그래도 상당히 좋아졌는걸?
인텔리센스(Intellisense)기능이 VS98부터 해서 점점 강력해 지더니 이번에도 더욱더 강력해 졌군이라고 생각이 들정도로 발전이 있었다. 가령 이전에는 '.'을 찍으면 멤버를 순서대로 보여주는데 그쳤으나 이제는 직전에 사용한 멤버를 먼저 선택해 줌으로써 (정말 간단한 아이디어지만) 코딩시에 편하다라는 느낌을 강하게 준다.
역시, Hit ratio를 줄여주는게 대세!
역시, 소비자는 10%의 성능 개선보다 5%의 Design/UI 개선에 더 큰 만족을 느낀다.
(근데 저 최근 사용 멤버/오퍼레이션을 상단에 놓는 기능.. Visual Assist X에는 없었나? 있던거 같은데.. 코딩해본지 6개월이 넘어가니... 잘 모르겠다)

어느곳에든 엔지니어적인 마인드로 이것저것 꾸겨넣기보다는 정말 사용자를 위하는 작고 친절한 배려가 필요하다. 엔지니어에게는 더욱 이런 마인드가 필요하다.

그나저나 Visual Assist의 입지는 점점 작아지는거 같다. VA뿐만 아니라, 통합 IDE가 맘모스가 될수록 Doxygen이나 Visual Boost같은 3rd party plugin들은 갈곳을 잃을 수 밖에 없겠지..

VS .Net이 처음 나왔을 때, Viausl Assist는 나름대로 입지를 굳히기 위한 좋은 전략/기능들을 내놓았었는데, 이번에는 어떻게 할까..?
2005/11/30 22:08 2005/11/30 22:08

지인이 닷넷 개발자를 구하네요.

요구사항은 닷넷 경력 1년 이상이구요. 연봉은 2700수준이라고 합니다.

자세한 것은 제가 포워딩 해드리면 직접 이야기를 나눠보시면 될 거 같습니다.

관심이 있으신 분 또는 주변에 추천해주실만한 분이 있으면 연락을 주시면, 제가 담당자에게 포워딩 해드리겠습니다. ^^

바빠서 포스팅도 못하고 있는데, 이런 식으로 하나 날로 먹기 :P
2005/08/30 15:20 2005/08/30 15:20

Ajax 기술 실전 워크샵 via 삥수 (aimh)

참고 : http://www.bizdeli.com/offline/detail.asp?pfid=S0386

일단 이런 식으로 전파되어 가는게 좋긴 한데.. Ajax는 뛰어난 기술이기는 하지만, 아직까지는 개발상의 하드코딩이 너무 많다는 것, 기타 검색 등의 문제나.. 여러가지 문제가 많은 것 같다.

공부해보고 싶지만 당장 내게 쓸모가 없고, 더 급히(?) 공부해야할 것들이 널려 있다는 점, 그리고 아직까지는 날코딩이 많아보인다는 점에서 우선순위에서 밀려나고 있다.

박병권님은 현재 마소에 Ajax 연재를 하고 계신 분, 윤석찬님도 이번 세미나에 참여하시고, XP쪽에서 많은 활동을 하고 계시는 강규영님까지 세분이 이번 세미나의 강사로 참여하신다.

tags:
2005/08/21 14:25 2005/08/21 14:25

요즘 한 국산 어플리케이션을 사용해서 어떤 프로젝트를 하고 있다. 사용하다가 버그가 발생할때마다 크리티컬한 문제가 아니더라도 같은 개발자로써-_- 도움이 되라고, 시나리오를 나름대로 정리해서 리포팅을 해주고 있다. (바쁠텐데 일을 "더" 만들어주니 도움이 되는게 아닌가? -_-)

..오늘도 사소한 버그가 발생했는데........



디버그 모드로 컴파일을 했나보다.
(경로는 제품명을 알 수 있으므로 모자이크 처리)

디버그 모드로 잘 돌아가던 프로그램이 릴리즈 모드에서는 알 수 없는 오류, 메모리 누수 또는 잘못된 동작을 하는 경우가 있다.

일단 문제가 발생하면 개발자들은 개발자 특유의 "나는 잘못한게 없는데!", "어제까지만 해도 멀쩡하게 잘 돌아갔는데!" 라고 외치며... 디버깅에 들어간다.

하지만, 거의 대부분의 경우 코딩상의 초보적인 실수가 원인이다. 지킬 것을 지키면 이런 문제는 발생하지 않는다. 포인터 변수 등을 초기화를 빠뜨렸거나 관리를 제대로 못했을 경우, 표준을 제대로 지키지 않았거나 API를 잘못 사용했을 경우.. 등등.. (디버깅 모드에서는 포인터 변수를 알아서 초기화 해준다. 그리고 오만가지를 assertion check해준다. )

디버그 모드는 디버깅을 위한 환경을 만들고, 공간을 할당하기 때문에 릴리즈 모드보다 파일의 용량도 더 크고, 속도도 적게는 1.5-2배에서 많게는 10배 이상 (특히나 STL 사용시) 느리다.

나도 예전에 버그를 잡다 잡다 포기하고 디버그 모드로 제품을 출시한 경우가 있다. =_= 디버깅 모드에서 잘 돌아가던 프로그램, 릴리즈 모드에서 에러나서 디버깅 하는거 깊고 깊은 미궁으로 빠질 수 있다는 것도 허접한 코더 나부랭이인 나도 잘 알고 있다.

하지만, 이건 정말 아니다. 옵티마이징된 코드로 컴파일된 릴리즈 모드로의 제품 출시는 개발자의 마지막 자존심이 아닐까? (난 정말 죄지은거 같던데....)

2005/08/17 21:41 2005/08/17 21:41

SD Magazine에서 재미있는 통계를 냈다.

소프트웨어 개발 종사자들을 바탕으로 통계를 냈는데, 재미있는 질문 또는 재미있는 결과가 많이 있다.

어떤 툴을 가장 많이 사용합니까?에서는 생각 외로 형상관리 부분 (Version Control/Configuration Mngt.)를 가장 많이 쓰고 있었고.. (근데, 저거 합쳐도 100%를 초과하는데 어떻게 되는거냐..... 3개를 고른다거나, 뭐 그런건가..?)

오늘날 개발자들에게 가장 중요한 스킬은 무엇인가? 에서 아키텍쳐/설계/모델링이 가장 높은 퍼센트를 갖고 있는걸 보니 아키텍쳐/디자인부분은 여전히 유행을 주도하고 있다는 것을 알 수 있었다. 생각외로 Technical Writing 즉 Wrting/Documentation이 낮은 퍼센트를 보이는 것이 의외였다.

PS : 요즘 마이크로소프트웨어의 개발자 투표 부분도 재미있게 좌절하며 보고 있다.

이어지는 내용::통계 보기

2005/07/12 21:54 2005/07/12 21:54

About Jolt #2

개발 2005/06/28 17:59
Joel On Software를 읽다가 졸트를 또 한번 발견했다.

가장 전형적인 청바지 족 모습을 상상해 보십시오. 낯빛은 창백한 데다가, 졸트를 연신 들이키며, 배달 음식으로 연명하고, 비디오 게임에 중독성을 보이고, 슬래시 닷 애독자이며, 리눅스 명령어에 통달한 해커입니다.

from 29장. 릭 채프먼이 아둔함을 찾습니다.

그..그러쿠나...-_- 슬프다. T_T

"듀크, 윈도우 또는 펭귄이 그려있는 흰 티셔츠를 아무렇게나 꾸겨입고, 머리는 부시시한 채, 불룩 튀어나온 배를.." 류는 안나와서 다행이네..

Jolt는 두 컵의 커피 상당량이 들어있는 미국의 청량음료로서, 프로그래머, 대학생, 인터넷 서퍼, 그리고 늦은 밤이나 새벽시간까지 깨어있어야 하는 사람들이 주로 찾는다. 누군가는 Jolt를 "인터넷을 움직이게 하는 연료"라고 표현하기도 한다. Jolt 한 깡통이나 한 병은 펩시콜라나 코카콜라가 가지고 있는 코카인 량의 두 배 가량을 포함하고 있다.

Jolt 신봉자들은 고유의 웹페이지를 만들었는데, 호주와 스웨덴에 있는 몇 개와 독일어로 된 Jolt 페이지를 포함하여, 야후에만도 9개나 올라있다. 공식적인 Jolt 팬클럽 페이지와 몇몇 다른 페이지들에서는, Jolt의 카페인 량을 다른 청량음료와 비교한 그림 자료를 제공하고 있다.

가장 재미있는 Jolt 웹페이지는 Jolt Cola 홈페이지이다.

from terms.co.kr

이어지는 내용

2005/06/28 17:59 2005/06/28 17:59