로컬에서 virtualPC로 trac + svn 사용기

Oct 9 4 In: project

로컬에서 jsp서버를 깔고, 서버에 올리면서 svn으로 버전관리를 trac을 통해 하고 싶었다.
웹퍼블리싱을 하면서 인클루드와 경로등을 위해 간단히 톰캣서버만 사용하다가, 몇몇 프로젝트에서 개발측에 소스를 넘겨줄때 trac을 이용한 소스 변경 이력을 전달하기 편해서 사용을 해왔다.
때문에 개발자 처럼 이클립스등과 연동하거나 ticket기능이 아니라 주로 타임라인과 리소스 관리 위주로 사용위함.

1. 일단 로컬에서 jsp서버는 tomcatforWindows를 통해 한방에 해결 가능했으며 그동안 써왔었음.

2. 이제 서버가 필요한데… 기존에 사용하던 virturalPC에 서버를 설치하기로 했다.
2-1. 먼저 virtualPC (이후 guest로 칭함)에 tomcatforWindows를 설치했다.
2-2. guest에선 쉽게 localhost로 접속된다.

3. 근데 hostPC에서 guest로 접속이 안된다. 기존에는 guest에서 host로의 접속은 잘 되었는데… virtualPC의 네트워크 아이피 문제를 해결해야겠다.
3-1. 몇몇 사이트를 찾아 네트워크 문제를 해결해 보려고 하였다.
3-2. 제어판의 새하드웨어 추가 > 목록에서 네트워크 어뎁터 선택 > Microsoft의 Microsoft Loopback Atapter 추가
3-3. 로컬 hostPC의 네트워크 속성에서 현재 연결되어 있는 네트워크의 속성창을 연다ㅏ. > 공유 탭에서 ‘다른 네트워크~ 허용’ 체크하고 LoopbackAtapter의 명칭을 선택해 준다.
3-4. Loopback Atapter (예를들면 로컬연결영역 2) 의 IP를 세팅한다.
ip : 192.168.02.1
서브넷 마스크 : 255.255.255.0
기본게이트 : 비움
기본 설정 DNS 서버 : 168.126.63.1
보조 DNS 서버 : 168.126.63.2
그리고 우아하게 적용…
3-5. 이제 virtualPC의 setting에서 네트워크를 설정해준다.
Atapter를 Microsoft Loopback Adapter로 잡아준다.
그리고 guest의 ip를 설정해준다.
iP 주소 : 192.168.0.2
넷마스트 : 255.255.255.0
기본 게이트웨이 (IP) : 192.168.0.1
1차 DNS : 192.168.0.1
3-6. 마지막으로 guest의 보안설정을 해제 해 준다.
패널 찾기 힘들땐 실행창에서 firewall.cpl라고 실행해 준다.

3-end. 이제 host에서 guest로 접속이된다. 만세부른다.
호스트 브라우저에서 http://192.168.0.2/ 하면 guest의 화면을 볼 수 있다.
이걸로 일단 host와 guest의 통신은 되었음.

4. 이제는 host와 guest에 각기 svn을 깐다.
4-1. 가장 편하고 강력한 거북이svn을 설치한다.
4-2. 단, host (클라이언트svn)을 설치할땐 상관없지만, Trac과 연동될 guest의 svn은 버전이 맞아야 한다.
4-3. TOW는 최신의 TOW-0.3.0-alpha1를 깔고 svn은 TortoiseSVN-1.5.5를 깔아준다.

5. 이제 guest에 TOW를 깐다.
5-1. 깐다고 해봐야 TOW를 받아서 C드라이브 루트에 압축을 풀면 끝.
5-2. 실행 > cmd로 커맨드 창을 열고 svn과 trac에 신규 프로젝트 명을 등록한다.
C:\TOW>create-svn-repo.bat C:\TOW>create-trac-repo.bat 5-3. 사용할 유저를 추가한다.
C:\TOW>add-user.bat 유저를 추가한 후엔 권한을 부여해야 하는데, C:\TOW\SvnRepo\Projects\authz 를 편집창에서 수정한다.
(예 : user1 = rw)

6. 이제… guest에서 서버로 사용될 폴더를 준비하자.
6-1. Trac에 포함된 svn은 저장소 역할만 하므로 실제 내가 host에서 파일을 업데이트 할 폴더에 자동으로 업데이트 해주기 위해 hook을 설정해 준다.
6-2. 위의 말 뜻은… host의 작업폴더, guest의 작업폴더, 그리고 이를 버전관리하는 svn저장소 3군데가 따로 있으며, host에서 커밋하면 Trac의 svn저장소에만 올라가게 되므로 guest의 작업폴더에는 따로 fpt등으로 파일을 올려줘야 한다.
때문에 trac의 훅을 이용해 자동으로 guest의 작업폴더에도 업데이트를 해주는걸 의미한다. (guest에 따로 TortoiseSVN을 깐 이유이다)
6-3 훅설정은 TOW폴더의 SvnRepo\Projects\projectName\hooks에서
배치파일을 하나 만들어주는걸로 끝.
post-commint.bat를 하나 만들고 편집한다.
c:\TOW\Subversion\bin\svn up C:\works\toy\trunk
위와 같이..

7. 마지막으로
7-1. guest가 부팅되고 나면 Tow폴더의 start-tow.bat 를 실행한다.
7-2. host에 작업폴더를 마련하고 svn checkout으로 대화창을 연다.
7-3. url of repository에 guest의 trac의 svn저장소를 적어준다.
예 : http://192.168.0.2:8080/svn/projectName/
7-4. 이제 로그인창에서 등록한 유저명과 패스워드를 적어서 guest에서 다운받아온다.
7-5. 이제 host에서 host의 톰캣을 통해 작업한 후 일정 작업량을 svn을 통해 커밋한다.
7-6. 그러면 guest의 trac과 guest의 작업폴더에 동시에 업데이트가 이루어지고, guest에 설치된 톰캣을 통해 guest서버로 접속해 확인 할 수 있다.
7-7. 참고로 http://192.168.0.2:8080/projects/toy/로 trac으로 들어가 보자.

아…. 많네…

JS천하통일 이야기

Oct 8 5 In: script, 일상적인 이야기

case1.
“제가 아무리 막아보았지만 그토록 빠른 이동을 하는 술수는 처음 보았습니다. 결국 전혀 맞설수 없었지요”
무투파의 수장인 기인은 그 소릴 듣고 말했다.
“마치… 발이 땅에서 떨어지지 않고 움직이는 그러한 보법말이더냐?”
“네 맞습니다. 순식간에 저와 거리가 없어지는듯 하다가도 어느새 저편으로 가 있었지요”
수장은 말했다.
“그건 어느 유파의 라이브러리를 사용하는거 같구나. 아마도 애니메이트 초식이었을게다”
작고 상처투성이인 청년은 다급히 물었다.
“저도 그런 기술을 쓸수 있을까요?”
잠시 생각에 잠긴 기인은 자신의 후계를 위해 이 청년을 수하로 들이기로 결정했다.
“너의 실력은 아직 원시코드로 간단한 함수를 호출할 정도일 터. 조금 내공(코어)을 끌어올린 다음 내가 알려주는 라이브러리를 익힐수 있도록 도와주마”

case2.
“들었는가? 자네. 네통에서는 얼마전부터 각 문하생들마다 더미아이디를 하나 더 생성하게 해주는 서비르를 시행하고 있다네”
“물론이지.. 꽤 되었다 하더군”
“내가 아는 친구는 그걸 이용해서 자신의 흔적을 남기지 않는다 하더구만”
“아니… 네통은 문파에 들아갈때 반드시 등록되지 않나?”
“그렇지… 내가 아는 그 친구는 바로 그 부계정으로 문파에 등록해 사용하다가 문파에서 비전을 수급 한 뒤에는 부계정을 바로 삭제한다고 하네. 본계정을 애초부터 숨기고 있던거지..”
“허.. 어찌 그런 생각을…”
“하기사 이젠 네통으로 각 문파의 문하생들이 자신의 라이브러리 비급을 전달하는건 일도 아니니 그다지 나무랄 일도 아닌거 같네”

case3.
‘존’ 대사부가 세운 제이코리파에서는 작은 소동이 일어났다.
“어찌 하여 새로운 라이브러리를 개발하고 있느냐?” 현철 사범이 가인에게 물었다.
“… 저희 라이브러리가 너무 편해서.. 내공정진을 함께 하기가 어렵습니다”
“무슨말이냐”
“쉬운 메소드와 애드온이 많기에 더욱 그러한것이 아닌가 합니다. 속하 제자가 좀더 내공을 연마코자 그런것이니 너그러이 용서해 주십시오”
가인은 대답하면서 자신이 적어놓은 라이브러리를 보여주었고 현철사범은 그 라이브러리를 펼쳐 천천히 읽어내려갔다.
“흠.. 어느때고 간에 mouseleave이벤트를 사용하도록 하고 있느냐?”
“네…”
“좋다, 물론 존사부님의 비급을 수급하기도 좋지만 너 자신의 라이브러리를 만드는것도 좋겠지. 정진하도록 하여라”

case4.
기롼이란 청년은 의기양양해져서 문파로 돌아왔다.
“헤헤 그 거지같은 녀석을 혼내줘서 속이 다 시원하네 흐흐”
같은방 소속인 문하생들에게 자랑하던 중, 결국 어플리케이션 제2사부인 동숙사범에게 자초지종을 들키게 되었다.
“이놈! 어디서 문파의 기술을 쓰고 다니라 했더냐. 너는 아직 그 정도 실력이 아니다!”
프로토파의 사범인 동숙사범이 기롼이를 꾸짖었다.
“우리같은 대 방파에서 괜한 사람을 핍박했다는 소리가 들리면 어쩌려고 그러느냐! 이 일은 ‘샘’ 노사께 이를터이니 넌 스터디방에서 자숙하고 있거라!”
기롼이는 풀이 죽어서 스터디방으로 향했고 프로토파의 비전을 펼쳐 그중에서 getElementsByClassName확장에 대해를 읽어내려갔다.
‘쳇.. 사범님은 구닥다리야. 어차피 이런 메소드도 조금만 지나면 굳이 라이브러리를 호출하지 않아도 될텐데..’

case5.
규영과 을순은 서남지역으로 이동하던중 희안한 광경을 목격했다.
한 무리의 인력들이 한 남자를 둘러싸고 시비를 걸고 있었는데, 가운데 남자는 의연한 태도를 유지하고 있었다.
어느새인가 싸움이 벌어졌고 순식간에 한 남자만이 서 있었으며 불량배들은 모두 나가떨어져 있었다.
규영이 물었다.
“아니..보셨나요? 방금 저 남자가 사용한게 뭔지..”
을순이 대답했다.
“자신을 복제함과 동시에 팔괘에서 나타나게끔하여 마치 3차원의 요소처럼 공격하는것 말이냐”
“네 전 어떤일이 일어났는지도 잘 모르겠습니다”
을순은 조용히 말을 이었다.
“저건 마치 벼락이 지나간 뒤에나 알수 있다는 뜻으로 후뢰시(後雷始) 라는 이름을 가진 기술이지.
서역에서 들어온 기술로서 라이브러리와는 전혀 다른 언어로 만들어진단다.
플렉스라는 파는 그 정점에서 아직도 끊임없는 기술을 개발하고 있다고 들었다.”
규영의 부러워 하는 눈을 보고 을순은 덧붙였다.
“하지만 아무나 쓸수 없는 기술이기도 하지.. 모든곳에서 동등하게 사용하기도 어렵거니와 가장 중요한건 아도브산하에 속한자만이 허락받아 사용한단다. 여튼 우리와 같은 길을 걷고 있는것만은 틀림없지”

그때 저 멀리서 같은 광경을 보고 있던 한 노승이 눈에 띄였으나 순식간에 보이지 않게 되었다.
을순은 그를 놓지지 않으면서 속으로 뇌아렸다.
‘… 더글러스 크록포드경이 나타나다니… 큰 한파가 한번 몰아닥치겠구나…’

HP probook 4310s VK253PA 구매

Aug 31 3 In: 일상적인 이야기

지난주 네이버 HP노트북 카페에서 공동구매로 구입하였다.
4일간의 기다림이 지나고 정작 금요일 저녁 받아보았을때는 감흥이 그다지 없었다.

여튼… 이전에 쓰고 있던 LG Xnote R510-K284K 랑 비교될 수 밖에 없는데…
최초 구매 목적은 이동시 15.3인치의 불편함을 해소하기 위함이었음. 바로 그게 거의 모든 이유였으니…

다행이도 4310s 253은 2Kg 빠듯이 모자라는 무게라 기존에 비해 800g정도 가벼웠는데, 그 정도로도 나름 만족할 수준이다.
그외에는 대부분 좀 부정적인 생각이 들었는데…

1. 환풍구가 오른쪽에 편중되어 있어 마우스 잡은 손에 직통으로 열기가 닿는 불편함.
2. 키보드 조작감은 좋으나 전체적으로 마감이라던가 섬세한 기계부품같은 느낌이 나지 않음.
3. 파티션을 초기에 세팅불가 – C드라이브 통으로 300기가 가까이 사용해야 하는 불편함.
4. 터치패드 터치감이…좋지 않음. 손가락이 짝짝 달라붙어서 섬세히 조작이 어렵다. 손가락이 마른 헝겁정도 수준이어야 무난히 사용할 수준…
5. LED라고 해도 그닥 느낌이 다르진 않네.. 시야각이 좋은것도 아니고

그냥 업무용으로 들고 다니기 좋을정도… 흑;;