겸손한 개발을 위한 자양분



TRAC 0.12dev 버전 설치가 꽤나 까다로워서 배치파일로 만들었습니다.
압축을 풀고, inst.bat 파일을 실행하면 됩니다.

완전 자동 설치가 아니므로,
설치 각 단계에 대한 설명은 콘솔창을 참고
해야합니다.


가령, 위 화면은 아파치 서버를 인스톨할때의 설명이며,
각 입력 단계에 입력할 내용을 보여주는... 데요...
-_-;;; 위의 192.168.1.101 은 사용하실 IP 로 잡아주셔야합니다.

inst2.bat 파일은 추가 설정을 위한것인데,
다른 웹자료를 참고하셔야 할 듯...

설치 후의 기타 설정방법은 setting.txt 를 읽어보시기 바랍니다.

배치파일의 내용을 보면 아시겠지만,
설치중에 필요한 파일들은 C:\_TracInst 폴더에 복사됩니다.
그리고, TRAC/SVN/HTDOCS 는 C:\DevServer 폴더를 기준으로 합니다.


inst.bat로 설치되는 내용은 다음과 같습니다.
  • 아파치 서버 ( apache_2.2.14-win32-x86-no_ssl.msi )
  • 서브버전 ( Setup-Subversion-1.6.5.msi )
  • 파이썬 ( python-2.5.4.msi )
    • setuptools-0.6c9.win32-py2.5.exe
    • svn-python-1.6.5.win32-py2.5.exe
    • mod_python-3.3.1.win32-py2.5-Apache2.2.exe
  • TRAC 0.12dev ( trunk )
    • genshi ( trunk )
    • babel ( trunk )
    • ElementTree
    • cldr1.7.1
    • pytz
    • docutils
    • epydoc
    • Pygments


포함되어있지만 자동으로 설치되지 않는 내용은 다음과 같습니다.

  • /css ( TRAC 의 한글 폰트 가독성을 고려한 css )
  • /ganttcalendarplugin ( 한글화된 ganttcalendar plugin )
  • /ticketdeleteplugin ( 티켓 삭제용 plugin )
  • vcredist_x86.exe ( msvcrt**.dll 관련 문제 발생시 해결 )


그 외에, 시스템 환경 설정에 다음의 PATH 를 자동으로 추가합니다.
C:\_TracInst\Apache2.2\bin;C:\_TracInst\Python25;C:\_TracInst\Python25\Scripts;C:\_TracInst\Subversion\bin

시간나면 설치방법 올리겠는데, 아직 잘... ^^;

으허허헝

잡담2009. 10. 15. 11:18
K-Defense 때문에 자꾸 블루스크린나요 ㅠ_ㅠ
작업한거 날릴때는 정말 속쓰림...

킹스정보통신... 신경좀 써주세요... 네?~

kd> !process 0140 0
Searching for Process with Cid == 140
Cid Handle table at e1003000 with 256 Entries in use
PROCESS 81f32be0  SessionId: none  Cid: 0140    Peb: 7ffd9000  ParentCid: 0004
    DirBase: 037d0000  ObjectTable: e100f658  HandleCount:  18.
    Image: smss.exe
 
kd> dt nt!_HANDLE_TABLE e100f658
nt!_HANDLE_TABLE
   +0x000 TableCode        : 0xe1293000
   +0x004 QuotaProcess     : 0x81f32be0 _EPROCESS
   +0x008 UniqueProcessId  : 0x00000140
   +0x00c HandleTableLock  : [4] _EX_PUSH_LOCK
   +0x01c HandleTableList  : _LIST_ENTRY [ 0xe1374a4c - 0xe1000d84 ]
   +0x024 HandleContentionEvent : _EX_PUSH_LOCK
   +0x028 DebugInfo        : (null)
   +0x02c ExtraInfoPages   : 0
   +0x030 FirstFree        : 0x50
   +0x034 LastFree         : 0
   +0x038 NextHandleNeedingPool : 0x800
   +0x03c HandleCount      : 18
   +0x040 Flags            : 0
   +0x040 StrictFIFO       : 0y0
 
kd> dd 0xe1293000
e1293000  00000000 fffffffe e1008591 000f0003
e1293010  81ecdd53 00100020 e1350639 001f0001
e1293020  e14a7bb1 001f0001 e1009e89 000f000f
e1293030  e1387dc1 000f000f 81ed2691 00100001
e1293040  e1004fc9 000f0001 e137c9f9 000f000f
e1293050  81efa4f1 001f0003 e13c5459 00020006
e1293060  81f827e9 001f0003 81f8c009 001f0fff
e1293070  81f8c009 00000400 e13fd539 001f0001
 
kd> dt nt!_HANDLE_TABLE_ENTRY
   +0x000 Object           : Ptr32 Void
   +0x000 ObAttributes     : Uint4B
   +0x000 InfoTable        : Ptr32 _HANDLE_TABLE_ENTRY_INFO
   +0x000 Value            : Uint4B
   +0x004 GrantedAccess    : Uint4B
   +0x004 GrantedAccessIndex : Uint2B
   +0x006 CreatorBackTraceIndex : Uint2B
   +0x004 NextFreeTableEntry : Int4B
 
kd> dt nt!_OBJECT_HEADER e1008591&0xfffffffc
   +0x000 PointerCount     : 17
   +0x004 HandleCount      : 16
   +0x004 NextToFree       : 0x00000010
   +0x008 Type             : 0x81fb5040 _OBJECT_TYPE
   +0x00c NameInfoOffset   : 0x10 ''
   +0x00d HandleInfoOffset : 0 ''
   +0x00e QuotaInfoOffset  : 0 ''
   +0x00f Flags            : 0x32 '2'
   +0x010 ObjectCreateInfo : 0x00000001 _OBJECT_CREATE_INFORMATION
   +0x010 QuotaBlockCharged : 0x00000001
   +0x014 SecurityDescriptor : 0xe100a77a
   +0x018 Body             : _QUAD
 
kd> dt nt!_OBJECT_TYPE 0x81fb5040
   +0x000 Mutex            : _ERESOURCE
   +0x038 TypeList         : _LIST_ENTRY [ 0x81fb5078 - 0x81fb5078 ]
   +0x040 Name             : _UNICODE_STRING "KeyedEvent"
   +0x048 DefaultObject    : 0x80561b40
   +0x04c Index            : 0x10
   +0x050 TotalNumberOfObjects : 1
   +0x054 TotalNumberOfHandles : 0x10
   +0x058 HighWaterNumberOfObjects : 1
   +0x05c HighWaterNumberOfHandles : 0x11
   +0x060 TypeInfo         : _OBJECT_TYPE_INITIALIZER
   +0x0ac Key              : 0x6579654b
   +0x0b0 ObjectLocks      : [4] _ERESOURCE

사용자 삽입 이미지


2주전에 강남역에 있는 백세주 마을을 갔었습니다.
안주를 하나 시켜서 복분자를 마시다가~
조금 모자란 감이 있고 해서,
무슨... 갈비찜 비슷한 요리를 시켰지요.

오래 걸리는 요리라고 하더군요
그래도 시켰습니다.

한 20분 정도 지났나봐요.
함께 갔던 분이,
요리가 나오지 않았음에도,
일어나자고 하시더군요.

오래 걸린다고 알고 시킨 메뉴라서
취소하기도 머쓱해서
그냥 계산을 하고 나왔습니다.

지하철 막차를 타고 집에 가는데,
카드사에서 전화가 왔습니다.

"백세주 마을에서, 통화를 원하는데 연결 해드릴까요?"

백세주 마을에서 제 연락처를 몰라서, 카드사로 문의했던거죠.

전화를 받으니,
드시지 못한 메뉴를 계산해서 죄송하다고 얘기하시더군요.


손님이 시킨 메뉴를 잘 드셨는지 확인을 못해서 미안하다는...
일반적인 주점에서는 상상도 하지 못할... 이런... 멘트를~
우왕~ 요새는 '고객만족'이 아니라 '고객감동'을 줘야 한다고 하던데
기분 좋았습니다.


그리고, 오늘~ 백세주 마을 상품권이 왔습니다.
우헿헿헿헿

그 요리, 만원 초반였던것 같은데
3만원 상품권 왔네요.

전화부터, 상품권까지
정말 고객에 대한 예우를 제대로 해준 것 같아
흐뭇했습니다.

앞으로 애용하고 싶은 곳입니다.

우왕 굿~!
강남 백세주마을 매니저(님) 센스쟁이~