델파이 컴포넌트 만들기 강좌.

   가. 기초
1.  콤포넌트 개발 기초
http://www.acrosoft.pe.kr/lecture/component1.htm
2.  프로퍼티
http://www.acrosoft.pe.kr/lecture/component1-3.htm
3. 프로퍼티 카테고리
http://www.acrosoft.pe.kr/lecture/component1-4.htm
4. 메소드와 이벤트
http://www.acrosoft.pe.kr/lecture/component1-5.htm
5. VCL
http://www.acrosoft.pe.kr/lecture/component1-7.htm
6. 윈도우 메시지 처리
http://www.acrosoft.pe.kr/lecture/component1-8.htm

   나. 컴포넌트 제작
1. 컴포넌트 개발 실전
http://www.acrosoft.pe.kr/lecture/component2-1.htm
2. 3차원 레이블 컴포넌트 제작
http://www.acrosoft.pe.kr/lecture/component2-3.htm
3. 데이터 연동 콤포넌트(Data-Aware Component) 개발
http://www.acrosoft.pe.kr/lecture/component2-5.htm
4. 패키지
http://www.acrosoft.pe.kr/lecture/component2-6.htm
   다. 컴포넌트 제작 고급
1. 콤포넌트 개발의 고급 기술
http://www.acrosoft.pe.kr/lecture/component3-1.htm
2. 프로퍼티 에디터
http://www.acrosoft.pe.kr/lecture/component3-3.htm
3. 콤포넌트 에디터(Component Editor)
http://www.acrosoft.pe.kr/lecture/component3-4.htm
4. 도움말 만들기
http://www.acrosoft.pe.kr/lecture/component3-5.htm

by 프레야 | 2008/10/05 00:37 | Delphi | 트랙백 | 덧글(1)

[08.07.29] 넷째날. 어느덧 자전거 여행 마지막날

아침에 눈을 떠서 시간을 보니 5시 30분.

피로가 쌓였는지 4시 30분에 알람을 맞추어 일정을 보려했는데 늦잠을 자고 말았다.

그리고 어제 오버페이스를 해서 그런지 허벅지에 알이 배기고 무지하게 땡긴다 ToT

일단 짐을 바리바리 싸들고 성산 일출봉으로 갔다.

성산 일출봉에 도착하니 날이 오늘도 구름이 껴서 날이 어둑어둑하다.  내려오는 사람들이 많았는데 과연 일출을

보았을까? 못보았을까??  올라가 보고싶긴한데 허벅지가 너무 땡겨서 올라갈 엄두가 나지않는다.

사실 높이를 보니 올라가보고 싶지가 않다 ㅡㅡ;   다음에 체력좀 보강해서 다시한번 여행할때 올라가봐야겠다

옆에 편의점에서 감각김밥과 레몬음료를 마시고 자전거 페달을 밟는다.

우도로가는 유람선 승선장에 도착했다. 새벽이라 그런지 아직 하는것같지는 않고 한바퀴 둘러보았다.

피로가 쌓이긴 쌓였나보다. 난생 처음 자전거를 타고 이렇게 여행하니 엉덩이와 허벅지 사이도 눌렸는지 너무아프다.

그래도 타다보면 무감각이되어서 다시 탈만 해진다^^

오늘도 어제와 마찬가지로 쭈욱 해변도로로 달리고있다. 달리는 동안 바다가 계속 옆에있다.

어제만 해도 바다의 짠내가 약간 이상하게 느껴졌으나 몸이 익숙해졌는지 그마저도 나지 않았다.

바다를 보면 미역인가 다시마 같이 생긴것들이 있는데 저걸 겉어서 우리의 식탁으로 올라오는걸까??

다른곳과 다르게 이곳을 다니면서 제주도의 옛 집 환경을 조금이나마 느낄수가있었다.  담장을 모두 돌로 쌓아서

만들어 놓았다. 더 신기한건 사진에는 없지만 밭들도 모두 돌을 쌓아서 테두리를 만들었다는점. 저많은 돌로

넘어지지않고 곧게 쌓아논것을 보면 신기하다 @.@

세화리에와서 앉아서 음료수를 마시면서 쉬었다. 오늘도 다행이 구름이 껴서 라이딩하기에 선선한 날씨다.

하지만 이날 방심을 하는 바람에 얼굴이 엄청나게 탔다. ㅡㅜ. 바닷바람과 구름을 뚫고 나오는 자외선 떄문일까..

배가 아침에 고기잡으러 떠나는줄 알았으나 대화내용을 듣고있다보니 고기잡아온것을 경매하기 시작한다.

티비로 보던걸 직접 보니 신기하기만 하다 ㅎ.


얼굴이 안보이는 소심한 셀카 한번 찍어본다~  다행이도 오늘 타는곳은 오르막도 그리없고 내리막도 별로없는

평지가 대부분이다. 그래서 체력이 쪽쪽빨리지 않고 탈만하다.^^

사실 만장굴에 들릴려고 마음먹었었는데 역시 온길을 다시 되돌아가야해서 겁이 났다.. 몸도 지친지 오래이고 오늘 비행기를

타고 제주를 떠나기에 그냥 지나쳤다.  나중에 제주공항에서 만장굴 사진을 보고 엄청 후회한다.. 아.. 그곳을 왜 안갔을까 ㅡㅜ

생각해보니 제주도와서 동굴을 한번도 관광하지 못했다. 저 멀리 풍력발전시범단지가 눈에 보인다. 벌써 반정도 왔다는 생각에

실제 저곳까지 갈때까지 상당히 많이 쉬었다가 간다.

좀더 가까이가서 한컷^^
지금 까지 온길을 배경으로 자전거를 놓고 사진을 찍어본다^^ 사실 자전거 펑크가 날까봐 펑크 패치 도구와

예비용 튜브 2개까지 챙겨왔는데 아직까지 펑크 한번없이 잘 달려주기만한다. 아무 말성 안부리고 지금까지

잘 달려주는 자전거가 고맙다.

멀리서 보이던  풍력발전 시범단지가 눈앞에 보인다^^ 제주도가 바람이 많이 불긴 많이부나보다.

팽글팽글 잘돌아가는 풍차들.


지나가면서 찍어본다. 날씨가 좋았다면 상당히 멋진 사진이 되었을텐데 참 아쉽다.

편하게 라이딩을 했으니 멋진 사진은 포기를 해야하는건가 ㅡㅜ.

어떤것 하나를 얻으면 다른것 하나는 포기해야된다는걸 다시 한번 느낀다.

다시 자전거를 타기 시작해서 도착한 김념 해수욕장이다. 사람도 적당히 있고 해수욕하기 좋은곳같다.

약간 에메랄드 빛을 띄는게 제주도의 해수욕장은 참 좋다는걸 느낀다.


제주도에서만 맛볼수 있다는 아이스크림이다. 한라설인가를 이용해서 만들었다는것같은데 정확히 기억은 안난다.

맛은 백년초맛.  실제 맛은 요구르트 아이스크림 비슷한 맛이다.  땀을 많이 흘려서 그런지

남기지도않고 맛있게 다 먹었다.
아~ 투명한 바닷물~ 제주와서 투명한 바닷물을 너무 많이봐서 나중에

서해안이나 그런곳에 놀러가면 바닷물을 보면 실망할것같다. 이제 슬슬 다음 목적지를 향해서 다시 이동을 했다.


떠나면서 아쉬어서 사진 한장 떠 찍어보았다. 
다음은 협재해수욕장, 중문해수욕장과 함께 더불어 제일 유명하다는 함덕해수욕장으로 가는길. 이곳을 가다가

대단하신 부부 라이더를 본다. 남편되시는 분은 뒤에 유모차를 자전거에 달고 아이가 타고있어요 라는 글을 써논뒤

부인분과 함께 라이딩을 하고 계신다. 워낙 바삐가셔서 말은 못걸어보고 자전거 타면서 위험하게 찍어본 사진.

어린 아이를 대리고 가족이 제주도 한바퀴를 도는 모습을 보면서 저분들의 마음을 생각해보니 뭔가 표현하기 힘든것들이

느껴진다.  길을 가다가 보니 어제 보았던 까페 회원 여성분 중에 한명을 만난다.

오늘 하루종일 말한마디 못해봐서(물건살때 빼고 ㅡㅜ) 급반가움에 자전거를 세우고 이런저런 대화를 나누었다.

어제 우도까지 가서 우도에서 숙박하셨다고 한다. 이번에 와서 체력문제도있고해서 못보고 가는곳도 상당히 많은것같다 ㅡㅜ

그분과 함께 함덕해수욕장 까지 같이가다가 여성분과 어제 같은 숙박에서 잔분들로 보이는 남자분 2분도 만나게 되어 같이

함덕 해수욕장 까지 간다. 5박 6일 일정으로 왔고 친구와 여행중이라고 한다.

같이 함덕해수욕장에 도착했다. 도착하면서 해수욕장 풍경을 구경하였다. 와 멋있다. 협재는 밤에 도착하고 아침에 출발하여

제대로 볼수없었지만 이곳은 날씨가 안좋은 오늘임에도 불구하고 상당히 멋있었다. 꿈꾸는 에메랄드빛 바다에 투명한

바다색깔.. 와와..

투명한 바다색을 표현해보려고 세로로 사진도 찍어보고^^


이 바닷물에 발한번 못담궈 보고가면 후회할것같아서 역시 신발만 벋고 살짝 들어가본다!!

ㅋ 시원한 이느낌.



같이 라이딩하고 오신 여성분 1명, 그리고 남자분 2명과 이걸 같이 타보았다. 카우(?)인가 뭔가 라고하는데

우리나라에서 이것을 탈수있는곳은 이곳밖에 없다고 하신다.  약간의 설명을 듣고나서 타는데.

레프팅을 좋아하는데 레프팅은 물살에 따라 혼자 가기도하지만 이것은 순전히 자기힘으로 가야한다.

첨에는 재밌었는데 체력이 많이 떨어져있는 상태라서 그런지 20분정도 타다가 반납하고 샤워한다.

샤워 하고 쉬고있으니 주인 아저씨께서 수박먹으라고 수박을 주신다. 우와우와. 감사하다는 말을하고

두조각을 먹고. 여성분 1명과 남자분 1명은 해수욕하러 가고 남은 한분에게 저는 오늘 비행기를 타야해서 먼저 출발해본다고

말하고 남은길 수고하시라는 이야기와 함께 먼저 출발을 했다.

계속 라이딩하다보면 신촌리 입구가 나오는데 그곳에서 왼쪽으로가면 오르막이 심하다는 말을 아까 아저씨분께들어서

오른쪽으로 해안도로를 타고 갔다(검문소가 있다) 오른쪽으로 가니 오르막도 없고 별 무리 없이 마지막 해수욕장인

삼양 해수욕장에 도착을 했다. 이곳에서 누워서 10분정도 쉬고 물은 마시면서 사람들 해수욕하는것을 구경했다.

삼양 해수욕장을 떠나서 용두암까지 오는데 시내에 입성하게된다. 시내에서 길을 정말 많이 해메고(원래 좀 길치라서;;)

드디어 다시 용두암에 도착을했다. 우와.. 우와.. 드디어 완주!!

체력의 한계도 군대 이후로 오랫만에 맛보고 여러가지 추억과 볼거리들도 함께한 3박 4일의 라이딩이 끝나는 시점이다.

성취감이 느껴지고 괜히 뿌듯해진다^^ 괜히 웃음이 히죽히죽 나온다. 실성한것도 아닌데 ㅎㅎ.

다시 바라본 용두암. 잠깐 용두암을 구경하고 용두암 하이킹으로 향하였다.  김기사님하고 같이 일하시는분이신지 처음

출발할때는 못보았던 분이 손수 자전거까지 포장해주셨다. 너무 감사하다^^ 몸이 지쳐 포장하기에도 막막했었는데..

그리고 김기사님이 포장한 자전거를 차에 실고 공항까지 태워다 주셨다.. 아 이번 여행에 여러모로 정말 도움을 많이 주셨다.

근처에 찜질방추천을 해달라하니 해수랜드 찜질방을 추천해주셨다. 용두암 하이킹에서 왔다고 하면 천원 할인 해준다고

하셨다. 비행기 출발 시간까지 약 4시간 30분정도 남았다.  비행기 표를 받고 자전거를 화물로 붙이고 다시 용두암 해수랜드로

가서 지친몸을 샤워를 하고 찜질방에 가서 편하게 쉬면서 비행기 출발시간이 될때까지 시간을 보냈다.



완주 기념으로 셀카도 찍고^^ 출발한 용두암 하이킹에서 찍어야했는데 깜빡잊고 못찍어서 아쉽지만 찜질방에서.

얼굴이 정말 많이 탔다. 나중에 대전에 돌아가서 사람들이 왜이리 깜해졌냐고 놀란다.

이게 제주도 하이킹 완주의 훈장인데 말이다. ㅎㅎ


비행기 출발시간이 다되어서 다시 공항으로 이동..

마지막으로 제주시 사진을 찍으니 왠지 모르게 너무 아쉽다. 3박 4일의 일정이 너무 짧고 아쉽게만 느껴진다.

그리고 짧은 시간에 너무 많은 추억을 만들어가게한 제주도. 힘들었지만 보람있었고 나중에 꼭 다시 오겠다는 다짐을

하고..


비행기 타는 곳까지 가는 버스를 타고.


비행기에 탑승하며 제주를 떠났다.



여행에 많은 도움을 주신 용두암 하이킹 김기사님과  일정표를 만들어 까페에 공개 해주신 별이셋님에게 감사의 인사를 드리고

여행기를 마무리합니다.

by 프레야 | 2008/08/01 18:12 | 트랙백 | 덧글(0)

[08.07.29] 셋째날. 홀로 여행하며 만나는 사람들

어제 낮에 고생을 한덕에 오늘은 좀더 빨리 일어났다.

일어난 시간을보니 4시 45분정도 되는것같다. 잠을 설쳐서 그런지 몸도 많이 피곤하고 잠도왔다.

샤워를 하고 짐을 챙기고있는데 옆에서도 분주히 짐을 챙기시는분 3분이 계신다. 아마 자전거 하이킹을 하시나보다.

나가서 찜질방 앞에 편의점에 가서 샌드위치랑 우유를 사먹으려고 하는데 아까 그분들이 계신다^^. 역시 자전거

하이킹 하시는분들이다. 다가오셔서 자전거가 이쁘다고 하시며 얼마냐고 물으시며 대충 하이킹에 대한 이야기를 조금했다.

낮에 나와서 찍은사진. 아직 완전히 날이 밝지않고 하늘에 구름이 많이보인다. 오늘하루종일 구름이 꼇으면 하는

작은 소망을 가져본다.


이번에 도착한곳은 천지연 폭포이다.. 매우 가보고싶었던 곳 중에 하나. 천지연 폭포 입구쪽에 들어가기전에 옆에 항구를

사진을 한컷 찍어보았다. 역시 여행에서 남는건 사진이라는 말이 맞는것같다. 더 많은 사진을 못찍은게 아쉬울 따름.


천지연 폭포 사진이다. 너무 이른아침이라그런지 요금받는곳에 아무도없고 아침운동 하시는 제주시민들로 가득하다.

결국 요금 안내고 자전거 타고 들어와서 좀더 쉽게 구경할수있었다 ^o^



아침에 운동하시는 분들 사진. 저기 앞에 자전거 세워논 곳도 보인다.  셋째날은 날이 구름이 껴서 둘째날 만큼 힘들지는 않았지만

계속된 엉덩이의 압박으로 인해 엉덩이가 아프다. 허벅지에도 살짝 근육통이있어서 에어 파스를 뿌려본다.

한달씩 자전거 여행하는 분들 보면 대단하다는 생각도 가져본다.  천지연 폭포에 나올때쯤에 까페 회원 여성분들 2명을 만난다.

잘 몰랐는데 같은날 출발했다고 사진도 올라와있다.  그리고 아침에 만난 3명의 하이킹하시는분들도 또보게 된다.



아침부터 계속 보는 3분들에게 부탁해서 찍은 사진. 전방폭포이다. 이곳 전방폭포는 폭포가 떨어지는것이 바로 바다로 향하게

된다. 땀이 많이나 세수를 했는데 엄청 시원하다. 여행 오신 3분은 한분이 조카 2명을 대리고 같이 제주도 여행을 하는 중이시라고

한다. 조카 2명도 나이는 고등학생 중학생 정도 되보이는데 체력도 좋고 자전거를 잘타는것같다.

쇳깍이에 도착했다. 까페 여성 회원분들을 여기서 또보게된다. 오늘은 특히나 자전거 여행을 하는 사람을 자주보게된다.

이 배를 타실려고 기다리시는데 나중에 물어보니 파도가 세어서 결국에 못타셨다고 하신다. 배가 참 옛날배 처럼 생겼다.

오늘은 딱히 가는데 볼거리가 없는것같아 표선해수욕장을 목표로 열심히 달려본다. 어제처럼 오르막이 별로 심하지않고 오늘은

날씨도 자전거 타기에 딱 좋은 날씨이다.  중간에 쉬고있는데 아까 그 3분을 또 만나서 같이 라이딩을한다. 원래 예정에 없었던

남원 읍사무소를 거쳐 태흥초교가 나오는 해안도로를 4명이서 25키로정도의 속도로 질주를 한다. 이때 무리한게 허벅지에 알까지

배겨서 나중에 고생을한다.  막 달리던 찰나 갑자기 소나기가 엄청나게 내린다. 그 삼촌분이라는 분이 밥은 먹었냐고하면서

밥을 해주신다고 한다. ㅎㅎ 여행의 묘미란 이런것인걸까. 새로운 사람을 만나면 즐거움이 따르기 마련이다.


원래 산타는걸 좋아하신다고 한다. 취사도구랑 야영 장비까지 셋이서 나누어서 들고 다니신다. 직접 해먹는 밥이란 여행의

또 색다른 묘미인것같다.


이렇게 만든 짜장밥을 엄청난 속도로 해치웠다. ㅋ

다른곳에서 사먹는 밥보다 훨씬 더 맛있었다. 설거지를 도와드리고 목적지가 달라 먼저 출발 하라고해서 또 보자는 말과 함게

인사를 하고 라이딩을 또 시작했다.


표선 해수욕장을 가는 해안도로 들어가는 길이다. 날씨가 좋긴 좋아도 땀은 계속 나는 구나. 열심히 땀을 닦고

햇빛이 비추면 버프도 쓰고 선글라스도 쓰고 썬크림도 발라가며 열심히 달린다.

물론 쉬는시간도 상당히 많다. ^^;

오늘부터 해안도로를 많이 타는데 바다를 보며 자전거를 타는 일은 상당히 즐거운 일이다. 옆에 탁트힌 바다를

바라보고있으면 내마음도 탁트이며 기분이 상쾌해진다.

제주도의 해안에는 이렇듯 돌이 엄청 많다. 바람도 많다.  제주도 하면 유명한게 돌 , 바람, 여자가 많다고했는데.

여자는 없다..ㅎㅎ 돌만 무지하게 본것같다.

표선 해수욕장에 도착했다. 이곳에서 약 30분간의 휴식을 취하면서 슬러쉬를 먹으면서 담배를 폈다.

ㅋ 바로 이맛.. 피로가 싹 풀리는것같다. 자전거 타는 일은 힘들기도 하지만 이렇게 중간중간에 풍경이나

휴식들은 일상 생활에서 맛보기 힘든 기쁨이고 행복이다.
당나귀 같이 생긴게 한마리 있어서 찍었는데 너무 멀어서 그런지 사진에 잘안나왔다.

해안도로에서 자전거를 놓고 사진 한컷. 날씨가 어두워 자전거 타기에는 좋으나 빛이 얼마 없으면 사진은 잘

안 찍힌다. 그래도 햇빛 안비추는게 더 좋다. ㅎㅎ


오징어를 말리고 있는 모습. 아 정말 맛있어 보인다. 냄새도 좋다. 반만 말린 오징어인가?? 그걸 만드는듯 한데.

나중에 여유있게 여행오면 꼭 사먹어봐야지.. 이걸말고도 왼쪽으로는 해녀의 집이라고 하면서 각종 해산물이나

회, 전복들을 파는데 군침이 넘어간다. 워낙 해산물을 좋아해서..

2시쯤 되어 신양 해수욕장에 도착했다. 이곳에서 밥해주신분과 또 만났다. 텐트를 치고 야영 준비중이셨다.

그곳에서 같이 자전거를 대놓고 제주도와서 한번도 못해본 해수욕을 신나게 즐겼다. 수영도하고. 파도도 맞고 하다가.

심심해져서 텐트 주위로 와서 그분과 함께 이런저런 많은 이야기를 나누었다. 정말 산과 여행을 좋아하시는것같았다.

나중에 꼭 나도 산한번 가봐야지. 좀 대화 하다보니 먹구름이 엄청나게 몰려온다. 비가 많이 올려나. 그분과함께

라면 끍여먹기로했는데 비때문에 라이딩이 불가능해질까봐 얼른 숙박지로 출발 해보시라고 하신다. 다음에 또볼줄

알았는데 이번이 마지막으로 보고 못보았다. 참 여러번 만나면서 정도 많이들고 아쉽기도하다. 막 짐을 챙기고

출발했다. 비가 내리기 시작한다.





비가 내리기 시작해서 섭지코지를 못보고 바로 성산일충봉으로 향하고있는데 성산일출봉에 도착할때가 되니 하늘이 다시 맑아진

다. 하늘의 장난인가ㅡㅡ^

길을 물어 물어 성산 일출봉에 도착했다. 일출할 시간이 아닌데도 일출봉에 오르는 사람이 꽤 많았다. 오르는 높이가 장난이

아닌듯했다. 계단도 꽤 많아보이고. 내일 아침에 오를려면 좀 힘들겠구나 하는 생각을 해본다.


미도 모텔에 자전거를 묶어놓고 방을 확인하고 옷을 갈아 입었다. 주인 아주머니께서 비에 젖은 라이딩 옷도 세탁기로 돌려주시고

참 친절했다. 저녁은 전복뚝백이를 먹었다. 꽃게도 2마리정도 들어있고 홍합도있고 전복도 있고 맛있었다. 국물도 시원하고.

근데 가격이 너무 비싸다 OTL...


숙소로 돌아와서 사진 한장 찰칵. 에어컨도있고 나름 편안한 밤을 보냈다. 9시가 되자마자 잠이 들고 셋째날도

그렇게 지나가버렸다.

by 프레야 | 2008/07/31 17:07 | 트랙백 | 덧글(0)

[08.07.28] 둘째날. 오르막이있으면 내리막도 있다.

아침 5시쯤 되었을까. 민박집 아주머니 께서 깨우신다. "학생!! 여자 2명은 벌써 출발했어."(학생아니고 직장인인데 ㅡㅜ)

너무 피곤해서 못일어 나겠다.. 결국에 5시 40분쯤에 일어나서 씻고 짐정리를 하고 나오니 6시 20분정도 되었다.

나와서 바로 협재해수욕장을 찍어본다. 아직 해가 제대로 안떠서 에메랄드 빛의 협재해수욕장은 결국 마음만으로 느껴보고

출발을 한다. 매우 기대한 해수욕장인데 제대로 보지못해서 매우 아쉽다 ToT 



어제 협재해수욕장으로 내려온 신나는 내리막을 힘들게 낑낑 올라간다. MTB도아니고 미니벨로에 싸이클비슷한 16단 기어라서

저단으로 해놓아도 오르막 오르는건 힘들다. 헉헉. 일주도로를 타고 가다가 오설록 가는 방향으로 좌회전한다. 얕은 오르막

내리막이 반복된다. 오르막을 오를때는 이 오르막이 끝나면 내리막이 있겠지!! 하는 마음으로 올라간다.

내리막에서는 바람을 맞으며 자전거 타는 기분은 정말 최고이다. d^^b

생각하는 정원 일단 팻말에 보인다.


페달을 구르다보니 도착한 생각하는 정원. 이른 아침이라 그런지 자전거 타고 들어갈려고했는데 개장안했으니

좀만 기다리라고한다. 헛.. 지갑을 꺼내려고보니.. 아까 슈퍼에 잠깐 들려서 흐르는 땀을 좀 억제하려고

탱크보이 하나랑 물을 샀는데 그곳에 놓고왔나보다..

자전거를 30분 이상타다보면 땀도 꽤많이나고 힘이 좀 들기마련이다. 평지면 좀 괜찬으나 오르막이있으면 더욱 더 그렇다.

왔떤길을 되돌아갈려니 죽을 맛이다. 헥헥. 갈길도 바쁜데 ㅡㅜ

다행이 그 슈퍼에 도착하니 지갑이 제자리에 있다. 지갑을 가지고 다시 출발한다. 잊어 버렸으면 정말 큰일날뻔했다.

여행이고 뭐고 제주고아 될뻔한 순간이었다..


생각하는 정원은 아직도 개장을 안한 상태라서 그냥 패스했다. 쭈욱 달리다보니 오설록이 보인다.

작은 풍차인가?? 바람개비인가??


오설록에 도착하였다. 자전거를 세워놓고 사진한장 찰칵!!!

저 비닐봉지가 무척 애용되었다. 지도,  버프, 스포츠 선글라스, 썬크림등 자주 사용되는 물품들은 비닐봉지에 넣고

필요할때마다 꺼내서 사용할수있었다.

녹차 밭이라 그런지 녹차의 향이 코로 향에 들어온다. 개인적으로 차를 좀 좋아하는 편이어서 머릿속으로 차맛을 상상하게

된다.  살짝 구수한 녹차의 맛과 차의 단맛이 머리속으로 상상된다.(찻잎으로 우려먹는 차들은 티백용 차들과 비교불가!!)
제주도에선 말키우는곳도 참 많은듯하다. 처음으로 보는 말키우는 농장?!?!!?!

오랜만에 말을 구경하니 신기하다^^



좀더 가다보니 슈퍼가있어서 아침을 먹었다. 딸기 우유와 왕크림빵!! 아. 아침운동을 하고 먹으니 역시 꿀맛이다.

물은 정말 끊임 없이 먹게된다. 흘리는 땀 양이 엄청나다 보니. 화장실도 가고싶지 않고 계속 들어가는 물이 신기하기만

하다.


빵을 다먹고 가게 주인아저씨에게 소인국 테마파크가 어떤곳이냐고 물어보니 세계 유명한 건물들을 축소해서 만들어 놓은 곳

이라고 한다. 힘들어서 패스 할려고했으나 그래도 한번 가봐야 될것같다!!

입장료가 6천원인가 8천원인가.. 꽤 비싸다 ㅡㅜ 그래도 들어가보았다.

제주 항공을 축소해놓은 모형이다^^

살짝 기울어져 있는 피사의 사탑 사진이다. 사진에서 보다싶이 오늘은 날씨가 너무 좋다.. 너무 맑다.. 햇빛도 내리찐다.

이 내리째는 햇빛으로 인해 몇시간뒤에 정말 체력의 한계를 느끼기도 한다..


여행지에 관광온 사람들. 혼자서 이런곳을 찾거나 해수욕장에 가면 좀 외롭긴 한건 어쩔수가 없나보다^^;

만리 장성 사진^^ 작년에 중국을 갔을때 가봤는데 왠만큼은 리프트로 올라가는데 정상까지 올라가는데도 꽤 힘들었었다.

이외에도 찍은 사진이 많은데 너무 많아서 생략을 좀 생략했다. 이쁘게 나온 사진들은 거의다 올렸다.

막상보면 실망할수도있겠지만 사진으로 남기니 이쁘게 나오고 괜찬은것같다^o^

가다가 나온 시와 미로의 공원. 겉에서 구경만 하고 지나갔다.

마라도 잠수함 탑승장이 거의 다가온다. 옆에는 산이있는데 깜빡하고 사진을 못찍었다. ToT 신나는 내리막길. ㅋ

마라도 잠수합 탑승장이다. 이곳에서 한 20분정도 쉬었다. 아 벌써 꽤 힘들다. 햇빛도 내리찌다보니 날씨도 매우덥고

체력이 땅으로 쑥쑥 빨리는듯한 기분이다. 저 멀리 마라도 여객선 타는곳과 올인 촬영장이보였는데..


보기에도 오르막길이고 꽤 멀어보여서.. 그냥 패스했다.. 원래 목표가 12시까지만 자전거를 타고 햇빛이 내리 쬘때는

쉴려고 계획했던 터라 시간상 그냥 지나갔다.. 아마 예상컨데 저기까지 갔다왔으면 쓰러졌을지도 모른다 ㅎㅎ;

마라도 잠수함타는곳을 오면서 좀 반대로 왔기에 다시 되돌아간다. 오르막이 약간 경사가있는편이어서

끌바로 끌고 간다. 헥헥. 내려왔던곳까지 가다보니 벌써 물이 다 떨어졌다. 휴게실이있어서 더위좀 식히고

얼음물을 사서 한잔 마신다. 이곳 전망도 좀 괜찬아서 사진을 한장 찍는다.

다 쉬고 출발을했다. 미니 카레이싱 경험장인가?? 와.. 잼있어보인다.. 혼자타기 좀 그렇고 시간도 촉박해서 지나간다.

나중에 올때 꼭 한번 타봐야지.

이제 중문 관광 단지로 향하는길... 이곳 갈때는 사진도 못찍었다. 오르막이 꽤나 길다. 이 오르막만 오르면 끝나겠지 하고

긴 오르막을 가다보면 앞에 또 보인다.. 이렇게 3~4 경사는 심하지 않지만 긴오르막이있다. 이곳에서 다른 자전거 여행객과

마주친다. 가다가 힘들어서 정말 죽을것같았다. 극기훈련 온기분도 들고 첨으로 아 휴가는 집에서 그냥 뒹굴 거리고 바닷가나

가서 바람좀 쐬다 와야하는건데 하는 생각 까지도 든다 ㅡㅜ. 편의점에서 만난 어떤 아저씨를 봤다. 간단히 인사를 하고 날씨

참 덮다고 인사말을 하고 수고하시라고 하고 나 먼저 떠난다. 언덕 하나 다 올라가니 앞에 또 오르막이 보인다.

좌절... OTL.. 나무 그날하나 있어서 그곳에 자전거를 세우고 좀 누었다.  그아저씨분도 좀있다가 이곳에 오시더니 옆에 앉으셔서

힘들어 죽겠다고 하신다 ㅎㅎ 이렇게 이렇게 오르막을 몇개 더 오르다보니 긴 내리막이 있기 마련!!! 긴 내리막을 타고 내려오다

보니 드디어 중문 관광 단지에 도착을 하였다!!

하늘이 정말 푸르지 않은가???

아침도 부실하게 먹고 날도 더워 냉면과 해물 파전을 시켰다. 배가 고파서 그런지 해물파전을 3개 남기고 다먹고

냉면도 다먹었다!!. 배가 좀 빵빵해졌다. 이제 중문단지에서 관광을 할 차례!!


밥먹은 곳에서 제일 가까운 소리 박물관에 갔다. 개인적으로 나하고는 별로 안맞는것같다 ㅡㅜ 입장료도 비싼데

나한데는 돈이 아까웠다 ㅡㅜ 다른분들은 잼있게 보시는분들도 있겠지만... 차라리 중문 해수욕장을 다녀올껄

하는 생각이든다. 이때 정말 너무 힘들어서 쓰러질것같아서 못갔다..


발도 한번 올려서 피아노 소리도 들어본다^^

옜날 악기들.. 옜날 아날로그 악기로 들으면 따듯한 음악을 들려준다나 뭐라나... 하는 얘기도 기억나서

집에 하나쯤있으면 참 좋겠다는 생각도 해본다.


천재연 폭포에 왔다.  천재연 폭포에 가까이 가기위해서는 저 다리를 넘고 수많은 계단을 내려가야하는것같았다...


가까운 전망대에서 보는것만 으로 만족했다^^ 저기 내려가면 다시 못올라올것만 같았다;;

이날은 정말 힘든 날이었다..
우리나라 기와식 나무로 만들어진 건물같은곳에서 앞을보니 전망이 참 좋았다. 저기 앞에 보이는

편의점같은곳에 의자가있었는데 사람들도 많이 왔다갔다했는데

너무 피곤하다보니 창피한줄도 모르고 제일 구석의 의자로 가서. 1시부터 4시까지 낮잠을 잤다.

4시까지 잠을 자고 1시간동안 냉커피 한잔 마시면서 지도를 보면서 앞으로 갈길을 보았다.

오늘 목적지인 월드컵 경기장. 그곳에 있는 워터월드에 포함되어있는 찜질방이었다.

워터월드에 갈때에는 내리막이 좀 있어서 그래도 편하게 갔다.

제주도 하이킹을 하다보면 차도 많이 보이고 스쿠터로 일주하시는 분들도 많이 보인다.

오르막을 오를때는 부러워 보이기도 했다. 힘들어서 헥헥거리며 올라갈때 슝슝 하면서

휙휙지나갈때에는 ㅡㅜ 

그래도 내힘으로 구경한다는데 의의를 두고있기때문에. 열심히 간다.


드디어 월드컵 경기장에 도착했다!! 목적지에 도착하니 오늘 하루 정말 힘들었고 뿌듯한 마음이 크다.

그리고 앞으로 2틀 더 가야한다는 걱정도 든다... 그래도 남자가 시작했으면 끝을 봐야한다는 생각에!!

마음을 다시 한번 다잡아본다. 제주도여행 자전거로 떠나자 까페에서 완주하신 여성분들을 보면 참

대단하시다는 생각을 해본다.


이마트에서 먹은 저녁 밥. 해물 순두부 찌게. 보통 육지에서 해물순두부를 먹으면 조개 달랑 몇개있는게 끝인데 이곳은

새우도있고 홍합도있고 많은 해삼물이 들어가있다. 만족 ^-^.

정말 맛있게 먹았다.


찜질방에서 깜빡하고 사진을 한장도 못남겼다.

찜질방 숙면실에서 잠을 청하려했으니 잠을 제대로 잘수가없었다. 사람도 많고 들락날락거리고.

문열고 와 여기 시원하네 하고 큰소리 치시는 아주머니도 계시고 ㅡㅜ.  오늘 뼈저리게 느낀게

무조건 앞이 보이자 마자 출발 해야겠다. 라는 생각으로 내일 아침 5시부터 라이딩 시작해야지 생각을했는데.

결국 잠을 설치다가 12시에 잠들었다..


by 프레야 | 2008/07/31 14:38 | 트랙백 | 덧글(0)

[08.07.27] 첫째날. 처음으로 제주도 땅을 밟아보다.


이번 여름휴가때는 자전거 하이킹을 하기로 결심을 하고 하이킹을 알아보던 그 때 제주도 하이킹을 추천받아서 목표를

제주도로 정했다. 그리하여 하이킹 출발 10흘 전부터 이것저것 준비를 하였다. 네이버의 제주도 여행 자전거로 하기 까페에서

많은 정보를 얻고 차근차근 준비하고 드디어 출발하는 날이 되었다!

전날 자전거를 핸들, 페달, 앞바퀴를 분리하고 박스포장을 하여 차에 실었다. (항공을 이용할시 자전거는 박스 포장되어야한다.)

동네에서 아침밥을 먹고 신나게 청주공항으로 향하는길. 떠나는 마음이 마냥 즐겁기만 하다. 부릉부릉~~


청주 공항에 도착하여  짐끄는 수레를 가져와서 박스포장된 자전거와 스피리스 비닐 제질로된 짐을 짐수레에 올려놓고

사진 한장. 별로 준비한 물품은 없다.  자전거 탈때 입을옷 한벌, 속옷 한벌, 양말 2컬래, 핸드폰충전기,디카 충전기, 디카,

선크림, 칫솔, 세안제. 뿌리는 에어파스. 구급약. 정도이고 혹시나 우천시를 대비해 비닐팩에 모두 밀봉해서 넣었다.
예정보다 너무 빨리 도착하여 공항에서 1시간 30분을 기다리다가 드디어 비행기를 탄다!!  한성항공 비행기이다.

대한항공이나 아시아나의 항공기보다는 작은편이고 탑승인원도 적다. 모두 커플 혹은 친구들 끼리 여행하시는분이 많은데

나만 홀로타 좀 쓸쓸하게 느껴지기도한다. 

비행기에서 바라본 육지.. 높은 하늘에서 바라보는 육지는 참 귀엽기도하고 신기하기도 하다.



비행기가 고도를 잡기시작하니 구름위로 올라와버렸다. 크아~ 저 뭉게구름. 가슴이 벌써 부터 시원해진다.


제주 공항에 도착하였다. 이제 박스를 풀어서 자전거를 조립할 시간~~ 룰루.. 맥가이버의 시간이 왔다.

미니공구로 이리저리 조립을 하기시작..


자전거 조립을하고 모든짐을 결속한 상태.. 이래뵈도 있을건 다있다. 자전거 응급 수리도구부터 3박 4일간 살아갈 짐들^^

자전거를 조립하는데 벌써 땀으로 온몸을 적셨다.

정보를 얻은 까페이자 제주도의 하이킹 업체인 용두암 하이킹에 도착하였다. 까페 회원들에게 주는 생수와 보리빵 2개.

그리고 제주도 지도를 받았다. 우의도 챙겨주실려고하셨는데 기능성 반팔, 반바지를 가져와서 괜찬타고했다.

자전거 핸들옆에 보이는 봉지에 보리빵이 들어있다.  생각지도 못했는데

나중에 저 봉지는 여행을 하면서 엄청난 도움을 주게되었다.

용두암 하이킹의 김기사님 사진 한장. 찰칵. 참 남자답게 잘생기셨다. 이번 여행에 많은 도움을 받아 감사할 따름이다.

이제 출발을 시작한다. 아 얼마나 기다렸던 시간인가. 자전거의 페달을 힘차게 구른다. 용두암을 거쳐 바다를

맞이한 순간이다. 마음이 트인다. 기분도 상쾌하고 좋다. 이때까지 모든것이 즐겁고 마냥 신나기만 했는데...

제주도 여행을 하다보면 낚시를 하시는 분들을 참 많이 볼수있다.



해안 도로로 향하는길. 출발하면서 자전거 여행하는 사람들을 정말 많이 볼수있었다. 외국인도있고.. 친구분들끼리 오신분들도

있고.. 제주도가 하이킹 장소로서 꽤나 유명한 곳인가보다.



열심히 해안도로를 타고가다가 만난 UFO 레스토랑!!. 테마 까페 인듯하다. 실내는 어떤 인테리어일까 궁금했으나.

배도 안고프고..  레스토랑을 혼자가기에도 그렇고.. 돈도 많이 깨질듯 하니 패스!! 하고 그냥 지나간다.


자전거 여행을 해보신분은 아시겠지만 경사가 얕은 오르막이라도 계속 길게 되면 장난이 아니라는것은 알수있다. T.T

긴 오르막 한번 오르고나면 온몸은 땀으로 젖어있고 힘이 든다. 하지만 첫날이라서 괜찬다. 뭐 이정도 고생은 생각안해본건

아니니깐. 하하. 자 달리자.


쉬면서 찍은 사진. 뭐 아름다운 해안선이 자연적으로 구부러져있다는 내용같은데 몇번의 얕은 오르막을 오르다보니.

내 인생이 구부러진듯한 생각도하며 웃는다. 물 한번 마시고 다시 출발을한다.

김기사님이 가다가 들르라고 한 키친애월 까페. 이곳에서 컵빙수를 먹고 가라하셔서 들려보았다. 산책로등이

이쁘게 잘 꾸며진 까페다.


사진은 못찍었지만 주인장께서도 무척이나 친절하시고 웃는 얼굴로 맞이해주신다. 용두암 하이킹에서 출발한 사람은

무료(?)로 맛볼수있는 컵빙수!! 땀도 많이 흐르고 목도 마른상태에서 먹은거다 보니 컵빙수가 완전 꿀맛이다.

몸이 시원해지고 약간의 피로가 싹 풀리는듯하다. 남기지 않고 모두 먹었다.

컵빙수를 먹고 다시 달리기 시작하여 처음으로 해수욕장에 도착하였다. 바로 곽지 해수욕장이다.

출발한 시간이 늦어서 들릴까 말까 고민을했는데 그래도 이왕 온김에 들렸다.


제주도 해수욕장의 장점이라면 대천해수욕장이나 해운대만큼 사람이 바글바글 하지 않다는점. 그리고 해수욕장이 꽤 많다는

점이다. 다른 해수욕장의 경우 사람이 너무 많아 물이 더럽기도하고 눈살 찌부리는 장면도 가끔 볼수있는데 제주의 해수욕장은

물이 참 맑다는 점이 너무 좋다. 그리고 적당한 인파

곽지 해수욕장을 들리고 이제 오늘의 마지막 목적지인 협제 해수욕장으로 달려가고있다.  얼마나 기대를 했던가. 에메랄드빛 바다

에 속이 투명한 바닷물.. 사진이나 영화속에서나 보던 그러한 장면을 꿈꾸며 달려가기 시작했다.. 근데

너무 늦게 출발한 탓인지 도착하기도 전에 해가 저물고있었다. ToT

해안도로로 빠지는길.. 이길을 택하지 않고 좀더 빠르게 도달하기위해 일주도로를 계속 탔다. 물론 일주도로를 추천받기도

하였다.



일주도로를 타다가 보니 협재해수욕장에 드디어 다왔다. 온몸은 땀으로 젖어있다가 해가 저물고 바람을 맞아서 시원하다.

이 이정표에서 우회전을하면 된다. 그럼 신나는 내리막길이 기다리고있다.(어짜피 내일 이 내리막길을 다시 올라와야한다;;)


그렇게 기대하던 협재해수욕장... 그러나 이미 해는 저물었다.. ㅡㅜ.  일단 사진한장 찍고 협재 민박에 들러 방을 확인하고

자전거를 보관했다.

인근 식당에서 먹은 해물 뚝백이. 배고파서 그런지 순식간에 후다닥 다먹었다.

난 바다음식을 정말 좋아한다^-^.

아 맛있어라.


밥을 먹고 나온뒤 맥주 핸캔을 사고 바닷가를 좀 거닌다. 땀흘린뒤에 마시는 맥주 한 모금이란!!

맥주를 좋아하시는분들은 모두 아실꺼라 생각한다. 역시 물이 매우 맑다. 와 투명하다.. 바로이거다..

근데 어두워서 먼곳은 잘 안보인다.. OTL...

물에 발만 살짝 담그어 본다. 시원하다. ^^

나중에 시간이 많다면 협재해수욕장으로 꼭 피서를 오리라 마음 먹었다.



협재 민박이다.. 협재민박에서 자면서 앞 뜰에서 맥주를 드시던분들이있었는데

같은 하이킹에서 출발하시고 까페 회원이셨나 보다. 타인의 초상권 침해 문제로 다른 사람 사진은 허락안맞고

잘 안찍는 편이여서 사진은 패스..  피곤한 몸을 바닥에 기대니

잠이 금방 솔솔 온다.


by 프레야 | 2008/07/31 13:14 | 트랙백 | 덧글(0)

SVN 사용하기 전 준비 문서

  버젼 관리의 필요성

여러 사람이 함께 작업할 경우 작업 결과를 모아두는 곳이 필요하다. 이때 쉽게 떠올릴 수 있는 것이 FTP 서버나 공유 서버에 작업 결과물을 모아둘 저장소를 만들어 두는 것이다. 그 저장소에는 프로그램의 소스 코드도 있을 것이고, 개발 과정을 정리한 문서, 프로그램에서 사용하는 라이브러리 등도 있을 것이다.

각각의 개발자는 작업을 하기 위해서 그 저장소에 저장된 파일을 가져와서 자신의 로컬 PC에 복사본을 만들어서 작업을 수행한다. 그런 다음 작업이 끝나면 다시 그 결과물을 저장소에 넣어둘 것이다. 이런 상황에서는 몇 가지 문제점이 발견된다.

우선 서로 다른 두 명의 개발자가 동시에 같은 파일을 복사해서 작업한 다음 저장소에 올리는 경우를 생각해보자. 열심히 작업을 해서 한 명이 먼저 작업을 끝내서 저장소에 올렸다. 잠시 후에 그 사실을 모르고 있는 또 다른 개발자가 저장소에 자신의 작업 결과물을 저장소에 보내는 순간 덮어쓰기가 일어나며 앞선 개발자의 작업은 덧없이 날아가 버린다.

물론 저장소에 올리기 전에 내가 내려 받은 파일의 최종 수정일을 기록해뒀다가, 올리기 전에 서버의 최종수정일이 변하지 않았는지를 확인하면 되지만 너무나 귀찮은 일이다.

혹 그런 귀찮음을 무릅쓰고 철저하게 확인을 한다 하더라도, 날짜가 변경되어 있을 때 도대체 누가 어떤 목적으로 그 파일의 어떤 부분을 수정했는지 알아내려면 모든 개발팀에게 “누가 언제 왜 어떤 목적으로 어떤 부분을 수정했나요?”하고 일일이 물어봐야 한다.

물론 이러한 확인이 이뤄진 후에도 앞서 작업한 개발자와 상의해서 서로 다른 두 개의 결과물을 조정해서 합의된 최종 결과물을 만든 후에 서버에 올리는 것도 여러분의 몫이다.

또 다른 경우는 며칠 전의 상태로 작업 결과를 되돌려야 하는 상황이 발생할 때이다. 1차 개발을 완료한 시점에서 추가적인 요구 사항을 처리하기 시작했다고 가정해보자. 이 때 잘못된 판단으로 도저히 회복하기 힘든 큰 실수를 저질러서 차라리 1차 개발이 완료된 시점에서 다시 개발하는 것이 좋을 때도 있을 것이다.

단순한 공유 서버를 사용했을 때 이런 상황을 해결하기 위한 방법은 전체 작업 결과물을 특정 날짜 별로 복사해서 따로 관리하는 것이다.

이 방법은 물론 특정 날짜의 작업으로 되돌릴 수 있지만, 작업 결과물의 덩치가 크고 개발기간이 길수록 불필요한 디스크의 낭비가 심해진다. 만일 2시간 전의 상태로 저장소를 되돌리고 싶다면 어떻게 할까?

매 시간마다 또 특정 태그를 붙인 복사본을 만들면서 작업을 할 것인가? 또 어떤 내용은 그대로 두고 특정 파일만을 이틀 전의 상태로 되돌리고 싶을 때는 어떻게 할 것인가?

소프트웨어의 큰 특징 중 하나는 프로젝트가 진행되는 기간 동안 그 소프트웨어는 계속해서 변경된다는 것이다. 이 때 변경되는 것은 여러분이 작성한 코드 뿐 아니라, 관련된 문서나 적용하는 라이브러리를 포함한 프로젝트의 모든 산출물이다.

여러 명이 동시에 작업하는 프로젝트라면 그러한 변경으로 인해 모든 개발자의 작업이 영향을 받게 된다. 바로 이런 문제들을 해결하기 위해 등장한 것이 바로 버전관리 시스템이다.


요약하자면


  • 개발 버전과 릴리즈 버전이 섞이지 않고 쉽게 관리 할 수 있습니다.
  • 소스를 잘못 수정 했더라도 기록이 남고 되돌리기가 쉽습니다.(많은 파일의 경우 유용)
  • 수정, 추가, 삭제 등의 기록이 모두 남고 변경 사항을 추적하기 쉽습니다.
  • 개발자들이 따로 따로 백업을 하지 않아도 됩니다.


  • 버전 관리 시스템의 종류

    현재 나와 있는 소프트웨어 버전 관리 시스템은 여러 종류가 있습니다. 각각 장단점이 있습니다.



    - CVS (Concurrent Version System) : 가장 널리 사용되며 역사가 깊은 버전 관리 시스템입니다. http://www.cvshome.org[]


    - Subversion : CVS의 단점을 개선하고 CVS를 대체할 목적으로 개발 되었습니다. 이 문서에서 설명할 버전 관리 시스템입니다. http://subversion.tigris.org[]


    - Visual Sourcesafe : Microsoft에서 만든 버전 관리 시스템입니다. CVS와는 버전 관리 관점에서 조금의 차이점이 있습니다. 윈도우 기반 소프트웨어의 버전 관리를 할 때 자주 사용됩니다. http://msdn.microsoft.com/ssafe/[]


    - Clear Case : Rational이라는 회사에서 만든 버전 관리 시스템입니다. 지금은 IBM에 합병되었습니다. 상용 소프트웨어입니다. http://www-306.ibm.com/software/rational[]


    - BitKeeper : 리눅스 커널이 BitKeeper를 이용해서 개발 하고 있습니다. 상용 소프트웨어입니다. http://www.bitkeeper.com[]


    SVN 과 CVS의 차이점


    -  소스 코드 뿐 아니라 바이너리 파일, 문서 지원

    -   커밋의 단위가 파일이 아니라 변경된 작업 단위
    -   디렉토리, 파일별로 세밀한 접근 가능
    -   CVS에 비해서 빠르다.



    SVN 기본 용어 정리

    리비전 (rivision) : 변경들의 논리적인 단위(?), 변경 집합이라고 해석한 책도 있음

     

    리비전 번호 (rivision %d) : 변경들의 논리적인 증가, 0부터 새로운 변경 집합이 발생하면 1 증가

    저장소 (repository) : 여러 가지 버전들을 저장하는 하나의 장소

     

    작업본 (working copy)  = 작업 디렉토리 (working directory) = 작업장 (workspace) : 저장소의 파일들은 직접 변경할 수 없다. 변경하기 위해서는 저장소의 파일들을 작업하는 컴퓨터 시스템(즉, 로칼)으로 받아 사용해야 한다. 이런 저장소의 파일들이 로칼에 저장되는 공간을 workspace라고 한다.

     

    체크 아웃 (check out) : 작업장을 처음 사용하기 위해서는 저장소에서 필요한 파일들을 받아야 한다. 처음으로 작업장에 파일을 채우는 과정을 "체크 아웃"이라 한다. 체크 아웃(쉽게 다운로드)을 통해 작업장에 최신 파일이 저장된다. 체크 아웃의 주어를 "파일들"이라고 생각하면 이해가 쉽다. 파일이 호텔(=저장소)에 들어가 숙박(=저장) 후 호텔을 나와 직장(=작업장)에 일하러 가기 위해 프런트에서 "체크 아웃"한다고 생각해보자. 그러면 이해가 쉽다.

     

    커밋 (cummit) : 작업 후에 작업장의 파일은 변경된다. 이 변경된 파일들을 다시 저장소에 저장하고 싶을 때, 저장소에 다시 올려 보내는 것(쉽게 업로드)을 '커밋'이라 한다.  커밋하게 되면 리비전의 번호가 증가하게 된다.

     

    갱신 (update) : 지난 작업을 마치고 커밋한 이후에 다른 사람이 저장소의 파일을 변경(커밋)할 경우가 있다. 있든 없든, 변경 여부를 확인하기 위해(=변경 여부를 작업장에 반영하기 위해) 작업장의 파일들을 갱신 하는 과정을 거친다. 이를 체크 아웃이라고 설명하는 책, 문서 등등도 있다.

     

    태그 (tag) : 특정 시점(리비전)에 태크(=이름)을 부여하여 기억하기 쉽게 할 수 있다. 그 태크를 이용해서 체크 아웃할 수 있다.

     

    체크 인 (check in) : commit

     

    Import : 저장소에 파일들을 집어 넣는다. svn import 명령

     

    차이 (diff) : 리비전 간의 코드의 차이점, 작업중인 버전과 HEAD(=저장소의 최신버전)을 비교할 때 [ + ] 기호는 작업장에서 변경된 부분, [ - ] 기호는 다른 사용자에 의해 변경된 부분을 표시하는데 사용

    svn diff 명령

     

    패치 (patch) : svn diff 명령의 출력을 파일에 저장하면 그 자체가 패치다. 패치를 이용한 갱신은 patch 명령


    윈도우에서 SVN을 사용하기 위해 필요한것들

    1. SVN

    2. 아파치

    3. Tortoise

    by 프레야 | 2008/06/23 00:34 | 트랙백 | 덧글(0)

    델파이에서 아웃룩 메일보낼때.

    #13 이 개행문자로 안먹힌다.

    StringReplace(스트링, #13, '%0D%0A', [rfReplaceAll]);

    을 해주면 제대로 줄이 바뀐다.

    by 프레야 | 2008/03/20 16:43 | 트랙백 | 덧글(0)

    ShellExecute(Ex) 사용법 예제 12가지

    출처:http://www.howto.pe.kr

    프로그램을 띄우거나 파일을 실행할경우 ShellAPI 함수인 ShellExecute() 를 사용합니다.
    이 함수는 윈도우즈 탐색기에서 파일을 선택하고 더블클릭하는 기능과 동일한 동작을 합니다.
    다음은 ShellExecute() 의 몇가지 사용예입니다.

    (1) 파일과 연관(association)된 프로그램으로 파일을 엽니다
        ShellExecute(Handle, 'open', PChar('test.txt'), nil, nil, SW_SHOW);

    (2) notepad.exe 에 파라미터로 config.sys 파일을 주어 메모장을 실행합니다
        ShellExecute(Handle, 'open', 'notepad', 'c:\config.sys', nil, SW_SHOW);

    (3) PC에 설치된 기본 웝브라우저로 지정한 사이트를 엽니다.
        ShellExecute(Handle, 'open', 'www.howto.pe.kr', nil, nil, SW_SHOW);

    (4) 특정 폴더를 시작 폴더로 하는 윈도우즈 탐색기를 엽니다
        ShellExecute(Handle, 'explore', PChar('c:\windows)', nil, nil, SW_SHOW);

    (5) readme.doc 파일을 연결된 프로그램으로 인쇄하고 화면을 닫습니다
        ShellExecute(Handle, 'print', 'readme.doc', nil, nil, SW_SHOW);
        
    (6) rMyDelphiFile.pas 파일을 wordpad 프로그램으로 인쇄하고 화면을 닫습니다
        ShellExecute(Handle, 'print', 'wordpad.wxe', 'MyDelphiFile.pas', nil, SW_SHOW);

    (7) readme.doc 파일을 프린터를 선택하여 연결된 프로그램으로 인쇄하고 화면을 닫습니다
        var
          Device : array[0..255] of char;
          Driver : array[0..255] of char;
          Port   : array[0..255] of char;
          S: String;
          hDeviceMode: THandle;
        begin
          Printer.PrinterIndex := -1;  // 프린터 인덱스를 지정합니다. 여기서는 기본 프린터(-1) 선택
          Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
          S := Format('"%s" "%s" "%s"',[Device, Driver, Port]);
          ShellExecute(Handle, 'printto', 'readme.doc', Pchar(S), nil, SW_HIDE);

    (8) 기본 메일 프로그램을 실행합니다.
        ShellExecute(Handle, nil, 'mailto:cozy@howto.pe.kr', nil, nil, SW_SHOW);

    (9) DOS 명령어를 실행하고 화면을 닫습니다
        ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c copy file1.txt file2.txt'), nil, SW_SHOW);

    (10) DOS 명령어를 실행하고 화면을 닫지 않습니다
         ShellExecute(Handle, 'open', PChar('command.com'), PChar('/k dir'), nil, SW_SHOW);

    (11) ShellExecute()의 리턴값은 실행된 프로그램의 핸들이거나 에러코드입니다
         리턴값이 32 이하이면 에러가 발생한것으로 각각은 아래와 같은 의미가 있습니다

      var
        code: Integer;
      begin
        code := ShellExecute(...);
        if code <= 32 then ShowMessage(ShowShellExecuteError(code));
      end;
        
      // ShellExecute()의 리턴코드에 대한 에러 메시지
      function ShowShellExecuteError(i: integer): String;
      begin
        case i of 0: result := 'The operating system is out of memory or resources.';
          ERROR_FILE_NOT_FOUND: result := 'The specified file was not found.';
          ERROR_PATH_NOT_FOUND: result := 'The specified path was not found.';
          ERROR_BAD_FORMAT: result := 'The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).';
          SE_ERR_ACCESSDENIED: result := 'The operating system denied access to the specified file.';
          SE_ERR_ASSOCINCOMPLETE: result := 'The filename association is incomplete or invalid.';
          SE_ERR_DDEBUSY: result := 'The DDE transaction could not be completed because other DDE transactions were being processed.';
          SE_ERR_DDEFAIL: result := 'The DDE transaction failed.';
          SE_ERR_DDETIMEOUT: result := 'The DDE transaction could not be completed because the request timed out.';
          SE_ERR_DLLNOTFOUND: result := 'The specified dynamic-link library was not found.';
          //SE_ERR_FNF          : result:='The specified file was not found.';
          SE_ERR_NOASSOC           : result:='Unbekannter Extender.';
          SE_ERR_OOM: result := 'There was not enough memory to complete the operation.';
          //SE_ERR_PNF          : result:='The specified path was not found.';
          SE_ERR_SHARE: result := 'A sharing violation occurred.';
        end;
      end;

    (12) ShellExecuteEx()를 이용하여 notepad.exe 를 실행한 후 종료될때까지 기다립니다
      var
        SEInfo: TShellExecuteInfo;
        ExitCode: DWORD;
        ExecuteFile, ParamString, StartInString: string;
      begin
        ExecuteFile   := 'notepad.exe';   // 실행할 프로그램
        ParamString   := 'c:\winzip.log'; // 프로그램의 명령행 파라미터
        StartInString := 'c:\';           // 시작 위치
        FillChar(SEInfo, SizeOf(SEInfo), 0);
        SEInfo.cbSize := SizeOf(TShellExecuteInfo);

        with SEInfo do
        begin
          fMask        := SEE_MASK_NOCLOSEPROCESS;
          Wnd          := Application.Handle;
          lpFile       := PChar(ExecuteFile);
          lpParameters := PChar(ParamString);
          lpDirectory  := PChar(StartInString);
          nShow        := SW_SHOWNORMAL;
        end;
        if ShellExecuteEx(@SEInfo) then
        begin
          repeat
            Application.ProcessMessages;
            GetExitCodeProcess(SEInfo.hProcess, ExitCode);
          until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
          ShowMessage('프로그램이 종료되었습니다');
        end
        else ShowMessage('프로그램을 실행할 수 없습니다');

    by 프레야 | 2008/03/20 15:32 | Delphi | 트랙백 | 덧글(1)

    원더걸스 짱

    by 프레야 | 2007/09/18 12:58 | 트랙백 | 덧글(0)

    델파이에서 지원하는 문자열 조작

    델파이에서의 문자열은 C의 Char와 비슷한 (NULL 터미네이터)문자열과 파스칼 스타일의 문자열이 있다.

    문자열의 선언

      ▶ PChar(C 스타일 문자열)
        pTest:PChar;
        이렇게 선언했을 경우에는 pTest는 포인터임으로 문자열의 영역을 다음과 같이 확보해야된다.
        pTest:=AllocStar(128);

        아니면 아래와 같이 영역을 지정해 주면 된다.
        ArrTest:array[0..127] of Char;
             :
        pTest := ArrTest;  

      ▶ String(파스칼 스타일 문자열)
        sTest:String
        스트링은 특별히 문자열의 영역을 확보할 필요는 없다.
        단 $H 옵션을 사용했을 경우 길이가 255가 된다.



      ■ C스타일 문자열 관련 함수

    함수

    기능

    StrAllocC문자열에 버퍼사이즈를 정하고 문자열의 첫 문자를 가르키는 포인터를 반환
    StrBufSizeStrAlloc으로 정한 문자열 버퍼에 저장할 수 있는 최대 문자수를 반환
    StrCatSource의 카피를 Dest 의 마지막에 추가하고 결합된 문자열을 반환
    StrCompStr1을 Str2과 비교
    StrCopySource를 Dest 에 카피하고 Dest를 반환
    StrDispose文字列을 파기
    StrECopy Source를 Dest에 카피, 문자열의 마지막에 NULL문자를 가르키는 포인터를 반환
    StrEnd Null로 끝나는 문자열의 마지막을 가르키는 포인터 반환
    StrFmt 배열의 엔트리를 형식화
    StrIComp지정된 문자수 만큼 두개의 문자열을 비교
    StrLCat 지정한 문자수를 문자열에 추가
    StrLComp지정한 문자수 만큼의 2개의 문자열을 비교
    StrLCopy지정된 문자수를 Source에서 Dest로 카피
    StrLen문자열안에 NULL을 제외한 문자수를 반환
    StrLFmt지정된 오픈 배열의 일련의 인수를 형식화
    StrLIComp지정된 문자수 만큼 대소문자를 구별하지 않고 두개의 문자열을 비교
    StrLower문자열을 소문자로 변환
    StrMove지정된 문자수를 문자열에 카피
    StrNew힙영역을 확보 문자열을 카피, 그 문자열을 가르키는 포인터 반환。
    StrPCopy파스칼 스타일의 문자열을 NULL로 끝나는 문자열에 카피
    StrPLCopy파스칼 스타일의 문자열의 문자를 Null로 끝나는 문자열에 카피
    StrPosStr1안의 최초의 Str2을 가르키는 포인터를 반환
    StrRScanStr 안의 마지막 Chr를 가르키는 포인터를 반환
    StrScan 문자열 안의 최초의 지정 문자를 가르키는 포인터를 반환
    StrUpper문자열을 대문자로 반환


     
    파스칼 스타일 문자열 관련 함수

    함수

    기능

    Concat문자열과 문자열을 더한다.
    이것보다는 그냥 "+" 를 이용하여 문자열을 더한다.
    Copy부분 문자열 얻기
    Delete문자열의 일부 삭제
    Insert문자열을 다른 문자열에 삽입
    Length문자열의 길이 얻기
    Pos문자열에 지정한 부분의 문자열의 위치 반환
    Format지정한 형식으로 수치나 문자열을 변환


      문자열 수치 변환 관련 함수

    함수

    기능

    IntToStr정수를 파스칼 문자열로 변환
    DateToStrTDateTime형의 변수를 파스칼 문자열로 변환
    FloatToStr부동소수점값을 파스칼 문자열로 변환
    IntToHex정수를 16진수 표기 문자열로 표기
    StrToInt문자열(10진수, 16진수)을 수치로 변환
    StrToIntDef문자열을 수치로 변환
    TimeToStrTDateTime 변수를 문자열로 변환
    Val문자열을 수치로 변환


      특수 문자 표기
        #을 사용하면 문자열에 제어문자를 표기할 수 있다.
       '#13#10' (CRLF)

      ■ 문자 판별

    함수

    기능

    IsCharLower소문자인지 아닌지 판별
    IsCharUpper대문자인지 아닌지 판별
    IsCharAlpha영자이지 아닌지 판별
    IsCharAlphaNumeric영숫자인지 아닌지 판별

    by 프레야 | 2007/08/22 11:37 | Delphi | 트랙백 | 덧글(1)

    ◀ 이전 페이지다음 페이지 ▶