Script / CSS

G1sUtil.js

G1sBlogger.js

G1sNavigationList.js

G1sCode

Posts List


2011년 9월 5일 월요일

안드로이드(Android) 개발 환경 구축


 안드로이드 개발 환경
 AVD (Android Virtual Device)
--> 
안드로이드 응용 프로그램 테스트 
 ADT (Android Development Tool)
~ 연결 ~ 
 Android SDK(Software Development Kit)
플러그인
|

 Eclipse
Java JDK (Java Development Kit) 


1.1 Java JDK 다운로드

  1.  http://java.sun.com/사이트에 접속.
  2. 상단 메뉴에서 [Downloads - Java SE] 클릭. (안드로이드 개발 환경은 Java SE(Standard Edition 버전이 적당.)
  3. Java JDK 6 Update 20 JDK를 다운로드 (JDK 6 이상 버전)
  4. 개발 컴퓨터 OS에 맞는 플랫폼을 선택. 플랫폼 중 Windows버전 선택. 라이선스 동의 항목 체크. 다운로드.
  5. 로그인 팝업창에서 "Skip this Step" 을 통해 로그인 없이 다운.

1.2 Java JDK 설치.

  1. 공식사이트에서 다운로드한 파일 실행.
  2. 라이선스 창이 나타나면, "Accept"버튼.
  3. 설치할 패키지와 JDK 설치위치 지정 후 "Next"
  4. JRE 설치위치 정의 후 "Next"
  5. 설치 스텝 완료 후 "Finish" 버튼 클릭. Java JDK 설치 완료.

1.3 환경 변수 설정.

  1. "시스템 속성" 화면의 "고급" 탭에서 "환경변수" 버튼 클릭.
    1. window 7 : [제어판 > 시스템 > 고급 시스템 설정 > 고급 ]
    2. window XP : [제어판 > 시스템 > 고급 ]
  2. "환경병수" 화면에서 "Path" 선택. "편집" 버튼 클릭.
  3. "Path" 환경변수에 자바 실행경로 지정. (변수값 가장 끝에 ";"입력 후 자바 실행경로 입력. (bin))


2.1 이클립스 설치 (Java 작업 환경.)

  1. 이클립스 사이트에서 "Downloads" 메뉴 클릭.
  2. "Eclipse IDE..." 중 적당한 플랫폼의 설치본 다운로드.
  3. 원하는 폴더에 압축을 풀어서 이클립스 사용. (다른 설치 과정 없음.)

2,2 이클립스 작업 경로 정의

  1. "eclipse.exe"를 실행.
  2. 이클립스 작업 경로(WorkSpace) 설정. (처음 시작 시.)
  3. "Welcome" 화면이 나타나면 "Workbetch" 버튼을 클릭하여 이클립스 작업 화면으로 이동.


  • WorkSpace 변경 : File > Switch Workspace > Other...


3.1 ADT 플러그인 설치. (이클립스용 안드로이드 개발 플러그인)

  1. 이클립스 상단 메뉴에서 [Help > Install New Software]를 선택.
  2. "install"화면에서 "Add" 버튼 클릭.
  3. "Add Site"창에서 ADT를 배포하는 사이트 주소 정의
    1. "Name"에 "Android Plugin"이라고 이름 입력.(임의 지정.)
    2. "Location"에는 ADT 사이트 주소를 "https://dl-ssl.google.com/android/eclipse/" 입력 후 "OK" 버튼 클릭. (네트워크 보안 문제로 올바르게 작동하지 않을 시 "https"를 "http"로 변경.
  4. 인터넷을 통해 ADT 사이트 접속 성공시 설치할 패키지 목록에 "Developer Tools"라고 나타남.
  5. "Developer Tools"를 체크. "Next"버튼. 
  6. 설치 할 목록을 확인하고, "Next" 버튼을 클릭.
  7. 라이선스 창이 나타타면, 동의하는 체크박스를 선택하고 "Finish" 버튼 클릭.
  8. "Selection Needed" 화면이 나타나면, 체크박스 체크 후 "OK" 버튼 클릭.
  9. 설치 완료 후 재시작.


  • ADT 설치 확인 : [Help > Install New Software] 메뉴 실행. "already Installed" 링크 버튼 클릭. 설치 된 ADT 패키지 확인.


4.1 Android SDK 설치

  1. 안드로이드 개발자 사이트에 접속. 상단 메뉴의 "SDK" 메뉴 선택.
  2. 개발자 환경에 맞는 "SDK"를 선택 다운로드.
  3. 다운로드한 SDK를 압축 해제하고, 적당한 위치에 SDK 폴더로 이동.

4.2 Android SDK 환경설정.

  1. "시스템 환경 변수"에 "Android SDK"의 "tools"경로를 지정. (Java JDK 환경변수 설정 참조.)
  2. 이클립스 실행. 이클립스 상단 메뉴에서 [Window > Preferences]를 선택.
  3. "Preferences"창 "Android"메뉴 선택. "SDK Location" 입력란에 "Browse.."버튼을 이용 "Android SDK"경로를 선택 "Apply"버튼 클릭하고, "OK" 클릭.
  4. 이클립스 상단 메뉴에서 [Window > Android SDK and AVD Manager]를 실행.
  5. "Available Packages"를 선택. 설치가능 목록 중 최상위 "안드로이드 패키지 배포 서버 주소"를 체크. "Install Selected"버튼 클릭. 안드로이드 추가 패키지들에 대한 설치 진행.
  6. "Choose Packages to Install" 화면이 나타나면 패키지 라이센스에 대한 동의 처리로 "Accept All" 선택 "Install"버튼 클릭.

5.1 AVD(Android Virtual Device)생성 (안드로이드 가상기기)
  1. 이클립스 상단 메뉴 [Window > Android SDK and AVD Manager]를 선택. "Android SDK and AVD Manager" 창에서 "Virtual Device"를 선택. 처음에는 "No AVD available"목록에 나타남. "New" 버튼을 클릭하여 AVD 생성 시작.
  2. "Create new Android Virtual Device(AVD)" 창에서 가상기기 이름(Name)과 유형(Target), 메모리(SD Card), 스킨(Skin), 해상도(Resolution), 기기속성(Hardware) 등 정의.
  3. AVD "Name"은 가상기기 이름. (임의 지정)
  4. "Target"은 개발 단말기에서 지원하는 안드로이드의 버전을 선택.
  5. "SD Card"는 가상기기가 사용할 메모리 크기를 설정. (32MB)
  6. "Skin"은 가상기기 화면의 해상도 선택. (default HVGA)
  7. "Hardware"는 가상기기에 대한 장치 옵션을 선택.
  8. 생성할 "AVD" 속성 점검 완료 후 "Create AVD" 버튼 클릭. "AVD" 생성.
    생성이 성공적으로 끝났으면 "Android SDK and AVD Manager"목록에 생성한 "AVD"가 생성.
5.2 AVD 실행하기.
  1. "Android SDK and AVD Manager" 창에서 원하는 AVD 선택, "Start" 버튼 클릭. "Lanch" 클릭.
  2. 부팅 시간에 약간의 시간 소요 후. 부팅이 완료되면 안드로이드 잠김화면.
  3. 안드로이드 가상기기 우측 키패드 "menu" 버튼 클릭. 또는 열쇠 모양의 "Unlock"버튼 우측으로 드래그 하면 "홈화면"으로 이동.
  • 안드로이드 가상기기에서는 대부분의 안드로이드 응용 프로그램이 작동되지만 실제 안드로이드 폰처럼 통화하거나 문자 메시지를 보내는 등의 기능은 당연히 제한되어 있습니다.
5.3 AVD 오작동 사례
  • 가상기기 구동하기 위해 필요한 파일들의 경로 인식 문제 : 경로명에 공백 또는 한글, 특수문자 등을 자바에서 해독하지 못해 발생. 
5.4 AVD 홈폴더 변경
  1. 명령 프롬프트 실행 [윈도우 시작 메뉴 > 모든 프로그램 > 보조 프로그램 > 명령 프롬프트]
  2. "cd .android"폴더로 이동.
  3. "dir" 명령으로 ".android"폴더의 내용을 확인. "avd" 폴더. 
  4. "avd" 폴더를 AVD가 인식할 수 있도록 "android move avd -n 가상기기이름 -p 이동할경로

2011년 8월 28일 일요일

Google + 에서 Google Blogger에 글 올리기.

Google + 가 아직 Beta라 그런지 많은 부분에서 부족한 부분이 있는 것 같습니다.

특히 많은 분들이 일정 갯수 밖에 보관이 안돼고 있는 Google +의 스트림 글들을 보관하고 싶어하시는 것 같은데요.

이를 위해 Google에서 제공하는 Blog 서비스인 Blogger를 이용해 스트림 글들을 보관하는 방법에 대해 써보려고 합니다.

(이외에 에버노트를 통해 글을 관리하는 방법은 +캐투럽님의 https://plus.google.com/108074774426172562932/posts/EESCFFzJMUq 글의 동영상을 보시면 많은 도움이 되실 겁니다.)

다른 Blog들은 모르겠구요... Google에서 제공하는 Blogger는 설정을 통해 이메일 주소로 Blogger에 글을 바로 올릴 수 있는 기능을 제공합니다. 물론 바로 올리지 않고 임시파일로만 보내놓구 나중에 수정을 거친 후 글을 올릴 수 도 있구요....(전 개인적으로 두번째 방법을 사용합니다. 제목이나 태그를 수정을 통해 설정한 후 블로그에 최종적으로 올리고 있져.)

(덧 : 비공개로 남기고 싶으신 글들은 두번째 방법으로 블로그로 보내신 후, 게시를 하지 않으면 임시보관함에 남아 본인만 확인 할 수  있습니다..)



그럼. 이와 같이 Google +에서 블로그에 바로 글을 올리는 방법에 대해서  알아보도록 하겠습니다.

Google Blogger의 설정에 보시면 이메일 및 모바일이라는 태그가 보이구요.

해당 태그로 이동 하시면...


보시는 바와 같이 모바일이나 이메일을 통해 블로그에 글을 올릴 수 있도록 설정할 수가 있습니다.

저희가 알아볼것은 이메일을 통한 블로그 발행 방법이져.

가장 밑에 게시주소를 보면 블로그 주인의 이메일 주소를 기본으로 해서 (저 같은 경우 creatorhong) 뒤에 .****@blogger.com이라는 주소를 설정할 수 있습니다. 저 ****에 원하는 주소를 입력해 주시면 돼져... (보시는 데로 제 블로그에 글을 올리는 주소는 creatorhong.bloger@blogger.com)

네... 해당 주소로 이메일을 보내기만 하면... 설정에 따라 바로게시, 임시게시물로 저장 등을 할 수가 있습니다.

그럼 Google +에서 이메일을 보내는 방법을 알아볼까요.
네. 방법은 쉽습니다.


보시는 바와 같이 써클에 새 회원 추가로 위에 입력했던 블로그로 글을 올리는 주소를 입력합니다.

그러면 회원가입을 하지 않은 비회원인 상태로 자신의 써클에 해당 주소가 추가가 되는데요....


이후 g+에서 글을 올릴때마다 Google Blogger이 포함된 써클을 공유대상으로 추가하신 뒤 '아직 Google +를 사용하고 있지 않은 1명에게도 이 메일을 보냅니다.'를 체크하신뒤 스트림에 글을 올리시면 자동으로 Blogger에도 글이 올라갑니다.

물론 다른 사람의 글을 공유기능으로 퍼서 올릴 수도 있구요.
(전 다른 사람의 글을 퍼올때는 저 개인만 볼 수 있는 블로그로 보내고... 제가 올리는 글만 이 블로그로 퍼오고 있습니다.)


이제 구글 블로거의 글쓰기> 글목록> 태그를 보시면 보시는 바와 같이 google +에서 보낸 글이 임시게시물로(제 설정입니다. 바로올리기로 설정하시면 바로 올라갑니다.) 올라가 있는 것을 확인 하실 수가 있습니다.

보시면.. 당연하게도 제목은 글의 앞부분으로 되어있고 태그는 지정되어있지 않은데요.
편집을 통해 원하시는 제목으로 바꾸시고 태그를 추가하신 후 발행을 하시면...


보시는 바와 같이 블로그에 g+에서 올린 글이 올라와 있는 것을 보실 수가 있습니다.

여러가지 링크가 많은데요.
'자세히 알아보기'를 클릭하시면 g+의 대한 설명이 나온 페이지로...
'Google+에 가입'를 클릭하시면 g+ 첫화면(가입자) 혹은 프로젝트 화면(비가입자)으로...
'XXXX님의 소식 보기 또는 댓글 남기기'를 클릭하시면 g+에 있는 원문 글로 이동합니다.

게시물을 보낸 사람의 사진이나 아이디를 클릭하시면 해당 보낸 사람의 프로필 화면으로 이동하구요....

수신거부를 클릭하면... 수신거부가 돼겠져? 물론 블로그 블로그 주인이 아닌 사람이 클릭하면 아무일도 없을거라고 생각하지만... 혹시모르니 해당 글은 지우고 포스팅해야겠네요. ㅋㅋ
(덧.... 로그아웃하고 테스트 해봤는데 실제로 수신거부가 되더군요. ㄷㄷ..)

네. 아무튼... g+에서 블로그로 포스팅하는 법이었습니다.
g+의 스트림상에 흘려버리기 아까운 글들은 Google Blogger에 보관해 보세요. ^^ ㅋ


Google + 사진, 동영상 피카사웹으로 관리하세요.

g+을 하던 중 모르시는 분들이 몇분 계시는 것 같아서 한번에 정리를 해 볼까 합니다.

g+에 사진탭을 보시면 생각보다 사진을 관리할 수 있는 메뉴들을 제대로 제공하지 못하고 있는 것을 보실 수 있을텐데요..


보시는 봐와 같이 몇가지 이미지 수정 외에 사진 삭제 메뉴만 제공하고 있습니다.
사진을 다른 앨범으로 이동시키거나 하는 등의 관리가 불편한데요.

여기.. 이러한 것들을 해줄 수 있는 웹페이지가 있습니다.
네. 바로 피카사 웹.(https://picasaweb.google.com)

g+의 사진들은 피카사에서 관리된다는 것을 들어보신분들도 있을텐데요...
정작 그 사실은 알고 계시면서 이곳에서 사진들을 수정,관리할 수 있다는 것을 모르고 계신분들이 계시더라구요.

그럼. 피카사웹으로 들어가 보겠습니다.


여러 앨범들이 보이고 가장 앞부분에 버즈 소식에 있는 사진이 있습니다.
'버즈 소식에 있는 사진'이 바로 g+를 하면서 따로 앨범을 만들지 않고 올린 사진이져.
g+에서 사진 탭을 보면 그냥 '소식에 있는 사진'에
이곳에는 안보이지만 구글에서 제공하는 블로거를 사용하신다면 블로그에 올린 사진들도 따로 앨범이 만들어져 관리가 되고 있습니다.

그럼. 버즈소식에 있는 사진으로 들어가 볼까요.


네. 아시다시피 버즈소식은 앨범안에 또다시 날짜별로 앨범이 만들어지는 구조로 돼어있습니다. 아무 앨범이나 들어가면...


보시다 시피 위쪽 메뉴에 슬라이드쇼, 공유, 사진추가, 작업, 정리라는 메뉴들이 보이실 겁니다.

슬라이드쇼야.. 아시다시피 사진들을 슬라이드로 보는 거구요...
공유는 g+에 앨범전체를 포스팅을 할 수 있습니다.


네... g+ 공유창과 같져...

사진추가야... 새로운 사진을 앨범에 추가하는 거구요..

작업과 정리가 중요한데요..

작업에 보시면 앨범 속성이 있습니다.
'앨범속성'은 앨범의 기본적인 정보를 변경하는 곳인데요.


보시는 바와 같이 앨범의 제목, 앨범의 사진들을 찍은날짜.. 설명, 위치, 표시여부를 설정할 수 있습니다.

'앨범표지'는 앨범의 속한 사진 중 앨범의 표지화면으로 사용할 사진을 선택하는 것이구요.

'앨범지도'는 다음에 보시는 바와 같이 앨범에 속한 사진 각각의 위치를 설정할 수 있습니다.


'자막'은. 앨범의 속한 사진들의 설명을 입력하는 메뉴이구요.

'Picasa로 다운로드', 'Picasa로 인쇄', '콜라주만들기', '동영상 만들기' 등은 Picasa프로그램을 통한 다운로드나 인쇄, 혹은 기타 작업을 하는 메뉴입니다.

이와 같이 앨범을 편집하는 기능을 제공하며...

옆에 '정리' 메뉴는...


보시는 바와 같이 사진의 이동,복사,삭제 등을 개별적으로 할 수 있으며, 드래깅, 혹은 상단에 제공하는 정렬 메뉴를 통해 사진을 정렬할 수 있습니다. 사진을 다른 앨범으로 이동하는 것은 이동, 복사 메뉴를 통해 가능합니다.

이상. Picasaweb를 통한 g+ 사진을 정리하는 법 이었습니다.
물론 g+과 별개로 사진을 관리할 수도 있습니다.

2011년 8월 25일 목요일

3Ds Max, Ogre3D에서 사용하는 Mesh 파일로 Export.

3Ds Max로 제작한 그래픽을 오픈소스 게임엔진 Ogre3D에서 사용하는 .mesh파일로 Export하는 방법에 대해서 알아 보겠습니다.

필요한 프로그램으로는.... 우선 3Ds Max와... Ogre3D가 깔려 있어야 겠져....

우선.. OgerMax 로 가셔서 OgreMax Scene Exporter를 받으시면 됩니다....



홈페이지 가기에 문제가 있으신 분은 OgerMax 3Ds Max 에서 받으시면 됩니다...

다운을 받으시고... 해당 프로그램 압축을 푸신 후 프로그램을 실행시키시면..

보시는 봐와 같이 3Ds Max에서 Ogre3D로 Export를 할 수있도록 하는 프로그램을 Install 할 수 있습니다.

설정은 사용하시는 Ogre3D 버젼과
3Ds Max 버젼을 확인 하신 후 Install를 Click 해 주시면 됩니다.

잠시의 시간이 지나고 설치 완료.

설치를 하신 후 3Ds Max를 실행 시켜서 Export하고자 하는 프로젝트를 실행시킵니다.

이후 [File] 에서 [Export]를 보시면


보시는 봐와 같이 OgreMax Mesh (*.MESH) 확장자가 보이실 겁니다.

해당 확장자를 선택하신 후.
원하는 경로와 이름을 입력하시고 ,저장(S)를 누르시면. 잠시 Export 과정을 거친 후
해당 경로에 해당 이름의 '.mesh' 파일과 '.material' 파일이 생성 된 것을 확인 하실 수 있습니다.

생성된 '.mesh' 파일과 '.material'파일. 그리고 material 매핑에 사용된 이미지 파일을 Ogre3D 의 Media폴더에 추가하시면.... 완료.

2011년 8월 24일 수요일

게임엔진 Ogre3D 설치 및 사용 설정.

오픈소스 게임엔진 중 가장 유명한 Ogre3D를 설치해보겠습니다.

다운로드 위치는 http://www.ogre3d.org/download/sdk


다양한 버젼들이 나와있네요.
저는 VS 2010이므로 OGRE 1.7.3 SDK for Visual C++ .Net 2010 (32-bit)을 설치하겠습니다.
사용하는 VS환경에 맞게 설치해 주시면 되겠습니다.

클릭하시면 자동으로 설치가 되구요..
설치파일을 실행하시면 먼저 설치경로를 확인합니다.

저는 'c:\'로 설정을 하고 설치를 진행하겠습니다.



Extract를 클릭하시면 설치가 진행되고.. 설치가 완료되면 지정한 위치에 OgreSDK_vc10_v1-7-3(버젼에 따라 다를 수 있습니다.) 라는 이름의 폴더가 생성 된 것을 확인하실 수 있습니다.


이렇게 설치가 완료돼셨다면 환경변수 설정을 해야하는데요.
두가지 방법이 있습니다.

시스템속성의 고급탭에서 환경변수를 설정하는 것과
cmd창을 이용해서 하는 방법인데요.

먼저 첫번째 방법을 하면...
우선 시스템 속성 고급탭으로 이동해야하는데요.

Window7 사용자시라면 제어판>시스템 및 소안> 시스템 으로 들어가신 후 좌측에 고급 시스템설정 버튼을 클릭하시면 됩니다.

WindowXP 사용자시라면 '내컴퓨터'에서 마우스 우클릭을 하신후 [속성]을 선택하시면 시스템 속성이 뜨고.. 거기서 [고급]탭을 선택하시면 됩니다.


시스템 속성 > 고급탭을 보시면 하단에 환경변수라는 버튼이 보이고요.
클릭하시면 오른쪽 처럼 환경변수가 나옵니다.

여기서 사용자 변수와 시스템 변수가 있는데요.
위쪽 사용자 변수의 새로만들기를 통해 아래쪽 처럼..

변수이름에 OGRE_HOME를 입력하시고,
변수 값으로는 OgreSDK의 폴더 위치를 입력해 주시면 됩니다.

cmd창을 이용하는 방법은 우선 cmd창을 실행하신 후.
C:\windows\System32>로 이동 하신후
setx 명령어를 통해 setx OGRE_HOME OgreSDK 폴더위치 를 입력해 주시면 됩니다.


다음으로 Visual Studio를 실행하셔서 새로 프로젝트를 만드실때

http://www.ogre3d.org/tikiwiki/Setting+Up+An+Application+-+Visual+Studio

에 들어가시면 설정하는 방법이 나와있으나....
복잡한 관계로 편리하게 프로젝트 생성시의 설정을 모두 해주는 프로그램이 있는데요.

http://code.google.com/p/ogreappwizards/ 로 들어가시면


이와같은 뜨고요..
좌측 중간에 Downloads를 보시면 Ogre AppWizard를 다운받으실수있구요.
전 제 사용환경에 맞게 VC2010용 Ogre_VC10_AppWizard_1.7.3.exe를 다운 받겠습니다.
실행하시면 Setup 화면이 나오고요.
Next를 하시면 역시 폴더 위치를 확인하는 화면이 나옵니다. 그냥 Install 실행하시면 설치가 끝납니다.

이후 Visual Stidio를 실행해 보겠습니다.
파일 > New > Project를 클릭하시면 New Project화면이 뜨고요...


기존에 없던 OGRE Application이 보이실 겁니다.
Name을 입력하고 OK버튼을 누른 후 Finish를 선택하면 프로젝트 생성완료.
Test로 바로 F5 버튼으로 디버깅을 해 봅니다.


네. 이와같은 것이 뜨면 성공.

Direct3D 나 OpenGL 중 선택하시면 아래쪽으로 추가로 설정하실수 있는 항목들이 나옵니다.

만약 d3dx9_43.dll파일이 없다는 에러가 뜨신다면..
http://joker357.tistory.com/110 블로그를 참고하시기 바랍니다.

아무튼 OK버튼을 통해 실행을 하시면 


다음과 같이 Ogre의 머리와 로고, FPS등이 뜨는 것을 보실 수 있고요.
마우스 움직임, 키보드 등에 반응하는 것을 확인하실수 있습니다.

이것은 Ogre Application에서 자동으로 코딩이 되어있어서 그런 것이니... 우선 Esc로 나오신 후 
소스파일에 보시면 프로젝트 생성시 설정한 이름의 cpp파일 안에 
void OgreApp1::createScene(void) 내부 코드들을 모두 주석 처리 혹은 지우신 후 코딩을 하시면 됩니다.

2011년 8월 22일 월요일

제주여행 - 4. 우도 자전거 일주

오늘은 우도를 다녀왔습니다.


큰 지도에서 우도 여행기 보기

출발지는 역시 성산항.


오늘은 멤버가 한명 늘었습니다.
그저께 저녁 비행기로 날라와 어제는 홀로 스쿠터 여행을 떠났던 문군.
성산항에서 문군과 만난 저와 주씌는 바로 표를 구입하고 우도로 출발~

우도행 배편은 성인 기준 3000원(자세히보실려면 클릭). 자동차나 오토바이도 가지고 가실 수 있으나 파도가 심할경우 오토바이는 가져 가실 수 없습니다.

문군은 스쿠터가 있었으나 그날은 파도가 심해 모두 맨몸으로 우도 입장.


우도는 성산에서 보면 바로 보일정도로 가까워 금새 도착하실 수 있습니다.
배타고 가며 우도와 뒤편으로 보이는 성산일출봉을 찍었는데 잘 나오지는 않았네요.

탄지 얼마 안돼 우도 도착.

바로 자전거 렌트를 위해 렌트점를 찾았습니다.
대여소는 여러군대가 있으나 가격이나 가지고 있는 기종이나 모두 같으니...
아무데나 골라 들어가 각각 자전거를 빌렸습니다.

자전거는 3시간에 7천.
저희는 5시간을 1만냥씩에 빌려 우도 관광을 출발했습니다.
우도는 자전거 타고 천천히 돌면 2시간 정도면 돌 수 있을 정도.

우선 자전거를 대여해 주신 아주머니의 말씀대로 북쪽으로 먼저 코스를 잡았습니다.

해안을 따라 이어진 도로에는 자전거 이용자를 위해 자전거 도로 표시가 따로 되어있어 자전거 여행을 하기 편하도록 되어 있습니다.

마침 같은 배를 타고 온 다른 분들도 차와 혹은 렌트한 자전거, 스쿠터, 4륜오토바이 등을 타고 막 출발해 초반에는 약간의 복잡함...


개인적으로 봤을때 우도는 자전거 여행을 추천합니다.
섬도 그리 큰 크기가 아니고, 한걸음 한걸음이 장관이라 차나 오토바이 등을 타고 그냥 지나쳐가기에는 너무 아까운 풍경들..

자전거 타고 가다 잠시 멈춰서서 사진 한장.
혹은 특별한 경치에서는 잠시 내려 경치를 감상.



파도치는 해변과  갈매기. 곳곳에 세워진 제주도 전통 돌탑. 말 방목지.
전통 돌담. 아름 다운 풍경들...

이러한 장관들에 달리고 멈추기를 반복하길 잠시 어느덧 우도 북쪽 끝에 도착.



우도 북쪽에는 돌을 쌓아 올린 탑으로 되있는 달다니 탑 망대와 하얀 등대가 자리하고 있습니다.
잠시 멈춰서 사진 몇장을 찍고, 다시 출발.


지나는 길에 드라마 '인어공주' 촬영지라는 곳이 나오고 조금 지나니 바다에 돌을 쌓아 만든 하트모양이 눈에 뜁니다.
자연의 풍경을 빌려 사람의 손길이 만들어낸 작품.
잠시 자전거를 멈춰 사진에 담습니다.

계속되는 자전거 여행.

다음으로는 하고수동 해수욕장에 도착.
이때는 이미 점심이 지난 시간이라 배고픈 마음에 사진을 찍지 못했네요..
서빈백사는 모래가 뭍지 않고, 하고수동 해수욕장은 놀기에 좋다는 자전거 렌트점 아주머니의 말대로... 놀기에 좋은 백사장. 얕고 맑은 바닷물.

우도 해수욕장을 가실 생각이라면 이곳을 추천합니다.

서빈백사는 모레가 약간 굵은 편인데다 바위가 많아 발바닥이 아펐던...

아무튼. 저희에게 중요한 것은 밥.
마침 혜광식당이라는 이름의 음식점이 보이길래 가보니 음식준비가 안됐다는...
거기다 기다리는 인원이 내부를 꽉 채우고도 밖에서 기다르는 15~6명의 관광객.

알고보니 우도에서 보말칼국수 맛집으로 알려졌던 집.

하지만 언제 준비가 될지도 모르는데다 식당 외부 인원뿐 아니라 내부에 있는 분들도 식사를 못한 상태.

아침도 안먹은데다 시간은 1시가 넘은 시간.
자전거를 타느라 배가 고팠던 저희들은 혜광식당 앞에 있는 식당에 들어가 성게알 비빔밥으로 점심을 해결했습니다.


손님도 없는것에 비해 충분히 만족스러운 식사.
무엇보다 함께나온 미역국이 일품.

간단히 점심을 해결한 후 다시 페달을 밟습니다. ㅎㅎ


앞쪽으로 두개의 하얀색으로 빛나는 탑과 함께 또 다른 섬으로 연결된 다리가 보이네요.
가까이서 보니 비양도. 탑에는 조개껍질을 붙여놨던것.


ㅎㅎ.. 비양도로 진입합니다.
섬(제주도)에서 섬(우도)으로 와서 섬(비양도)로 가는 군요.



비양도 끝으로 들어오니 많은 돌탑과 함께 검은 바탕의 노란띠를 두른 등대가 보이는 군요.
그리고...


일출 소원성취 의자. ㅎㅎ

관광객들이 꽤 돼시는 군요.

소원성취 의자 뒤쪽으로 이어진 등대까지 열결된 다리는 높이가 얕아 큰 파도시에는 바닷물이 다리를 넘어오기도 하네요. 덕분에 길이 미끄러워 넘어질 뻔 하기도 한.. ㅋ

아무튼... 비양도를 뒤로 하고 다시 달립니다.


이제 반정도 왔을까요.
앞쪽으로 우도 소머리 오름이 보이네요.
마침 돌아본 뒤쪽으로는 멀리 보이는 등대.


방파제에서 낚시를 하시는 분들이 있어 잠시 걸음을 멈춰봅니다.
고기낚는 재미가 한창이시네요.

좀 더 가까워진 소머리오름의 모습도 보입니다. 파도가 거세네요. ㅋ


소머리 오름과 주변 풍경이 어우러져 계속되는 장관.


중간에 멈춰 파도를 찍고 있는 문군.
옆에서 같이 파도 사진을 한장.

바위에 와 부딫치는 파도도 장관입니다. ㅋ



다시 출발.
점점 가까워지는 소머리 오름.


오름 아래쪽 절벽사이로 동굴하나가 보입니다.
동안경굴. 코구멍 동굴이라는 명칭이 눈에띄는.... ㅎㅎ







이 주변 경관이 또 끝내주네요. ㅋ




다시 달립니다.

한쪽으로 소머리오름을 올라가는 올레길도 보이는 군요.
자전거를 가지고 소머리 오름을 오르기는 힘들듯하니.. 패쓰.. ㅎㅎ

우측으로는 우도 중앙에 자리한 마을이 보입니다.

자전거 달리면서 한장 찍었습니다. ㅋ


오름을 포기하고 약간의 언덕을 넘어 반대편 바다에 도착.


해안을 따라 조금 더 달리니 서빈백사가 보이는 군요.
마침 비도 오겠다 비를 피해(???) 바다로 풍덩했습니다. ㅋ

굵은 모레에 발바닥이 따끔따끔.
세걸음만에 가슴까지 차는 높이.
거기다 모레들 사이로 솟은 바위들.

놀기에 그렇게 좋지는 못하네요.

더구나 날씨도 춥고해서 제대로 놀기도 힘든...

하지만 비오는 밖보다는 그래도 물속이 따뜻하네요.
바닷물속에 가만히 앉아 밀려오는 파도를 느껴봅니다.
파도가 쎄 밀려갔다 밀려나가는... 이것도 나름 괜찮네요. ㅋ

중간에 물안경을 쓰고 바다를 들여다 본 문군이 손바닥만한 돔들을 발견해 그걸 잡겠다고 한바탕 하는 문군과 주씌.. ㅋ

도구가 있는것도 아니고... 바다에서 어떻게 잡겠다고...
하지만 진짜 잡을 수도 있을것처럼 손끝을 스치는 물고기들.

중간에 가만히 앉아있는 제 다리를 쪼고 도망가기까지하는....
대담한 물고기들... (앗 따거!!)

해수욕장에 물고기가 이렇게 많은것은 처음이네요.

이러니 그렇게 낚시를 하시는 분들이 많지.... ㅎㅎ

약 30분간 바다에서 놀고나니 추워져 밖으로 나와 샤워를 하고(샤워비 2000냥) 
옷을 갈아입고 나니 마침 비도 그치네요. ㅎㅎ..

우도도 한바퀴 돌고. 마지막 배시간(6시)까지도 1시간 밖에 안남아 더 구경하기도 애매한 시간이라 우도 여행은 이것으로 끝내기로 결정.

바로 렌트점에 자전거를 반납한 후 배로가니 마침 출발시간이네요.


우도에 들어오기 전에 같이 끈어놓은 배표를 내고 배에 탑승.
3층으로 올라가 자리를 잡고나니 얼마 후 배가 출발하기 시작합니다.




섬이 서서히 멀어지기 시작합니다.


어느덧 이만큼이나 멀어졌네요...


옆으로 지나가는 배와 배 뒤편으로와 손을 흔드시고 가는 보트위 손님들도 한장씩.



성산항의 등대가 가까이 다가왔네요.
뒤쪽으로는 저희가 우도에서 출발할때 우도로 들어가던 배가 다시 손님을 태우고 저희를 맹렬히 추격해 오고 있습니다.

엄청나게 빠르네요. 그사이에 이렇게 따라오다니....

성산항 도착.
문군의 오토바이를 타고 성산시내로 들어가 저녁을 먹기로 결정.
성산시내로 이동해 식당을 찾아 성산일출봉 입구로 이동해 전복뚝배기에 소주한잔씩.



이것으로 우도 여행도 끝.
내일은 김포행 비행기표가 예약돼있는....

아~ 아쉽지만 제주도 여행도 이만 끝내야 할 때군요.
제주도 여행. 많은 추억을 남기고 돌아갑니다.^^