문콕방지 주차의 정석

4월 9일 출고 이후로 아직까지 문콕테러를 한건도 당하지 않았습니다.

나름 신경써서 주차한 것도 한 몫했죠. 이런식으로 말입니다.

폭이 넓고 한가한 자리를 골라 조수석 쪽을 기둥에 최대한 밀착합니다.

같은 주차장이라도 폭이 넓은 명당이 있습니다.

차의 출입이 빈번한 자리보다는 한가한 자리가 테러의 가능성을 대폭 줄여 줍니다.

운전자만 탑승하는 경우가 많습니다. 조수석 문은 열리지 않을 가능성이 높습니다.

그러나 언젠가는 문콕 제로의 신화도 무너지겠지요. ㅠㅠ


호나우두도 자기차만큼 타인의 차도 소중하다는 것을 압니다.

모든 운전자가 이런 마음이라면 문콕 테러는 발생하지 않겠죠.

퀄컴(Qualcomm) 올조인(AllJoyn) 기술 소개

퀄컴(Qualcomm)의 올조인(AllJoyn) 기술에 대하여 설명드리고자 합니다. 피상적인 설명 보다는 개발자의 시각으로 이해한 바를 차분히 풀어 보겠습니다.

AllJoyn 사이트는 다음과 같습니다.

https://www.alljoyn.org/

사이트에 이런 문구가 있는데,

AllJoyn™ is a peer-to-peer technology that enables ad hoc, proximity-based, device-to-device communication without the use of an intermediary server.

AllJoyn 기술에 대하여 간결하게 설명하고 있는 듯 하네요. 중계서버 없이 device와 device가 direct로 통신할 수 있도록 도와주는 프레임워크 또는 라이브러리로 이해하시면 됩니다.

일단 데모를 한번 보겠습니다.

안드로이드 Device끼리 연결되어서 각 Device에 저장된 사진을 공유하는 시나리오와 PC용 게임을 안드로이드 Device로 제어하는 시나리오를 보여주고 있습니다.

이 시나리오를 직접 구현해야 한다면, AllJoyn과 같은 기기간 연동를 도와주는 기술을 한번 쯤은 관심있게 검토하게 되겠죠?

Q&A 형식을 빌려 AllJoyn 기술을 조금 더 깊이 들여다 보도록 하겠습니다.

AllJoyn을 활용할 수 있는 플랫폼은?

윈도우, 리눅스, 안드로이드에서 AllJoyn 기반의 애플리케이션을 개발 할 수 있습니다.

사용할 수 있는 프로그래밍 언어는?

현재는 Java와 C++ API를 제공하고 있습니다. 차후에는 Browser Plugin을 설치하는 방식으로 JavaScript API도 제공할 것으로 알고 있습니다.

각 Device들은 어떻게 연결되어 있을까요?

답은 Wi-Fi 입니다. 같은 AP에 Wi-Fi로 물려 있는 Device간에 통신이 가능하도록 도와주는 것이 AllJoyn 기술입니다. 사이트에서는 블루투스와 Wi-Fi Direct도 지원한다고 설명하고 있지만, Wi-Fi Direct는 아직 구현 중이고, 블루투스도 안드로이드 커널, 프레임워크 수정을 피할 수 없기 때문에 현재로서는 활용하지 못한다고 보는 것이 맞을 것 같습니다.

AllJoyn이 장점으로 내세우는 것 중에 하나가 애플리케이션 개발자가 네트워크 레이어에서 어떤 기술을 통신 사용하는지 신경쓰지 않아도 된다는 것입니다. 개념적으로는 AllJoyn 프레임워크가 알아서 Wi-Fi든 Bluetooth든 상황에 맞게 선택한다고 이해하시면 됩니다. 그러나 앞서 말씀드린 것 처럼 현실적으로는 동일 Network내에 있는 Device끼리 Wi-Fi로 통신하는 방법밖에 없습니다.

연결된 Device들은 어떤 방식으로 데이터를 전달할까요?

답은 Remote Method Invocation(RMI) 입니다. Annotation을 추가한 인터페이스 파일을 서로 공유하고, proxy를 통해 해당 인터페이스의 메서드를 호출하는 방식으로 데이터를 전달합니다. 소켓 프로그래밍처럼 주고 받을 데이터의 순서와 타입에 대한 약속을 하고 힘들게 예외처리 할 필요 없이 우아하게 메서드를 정의하고 호출하면 그만입니다.

각 Device는 서로를 어떻게 찾을 수 있을까요?

지금까지 AllJoyn 프레임워크라고 뭉뚱그려 설명했는데, 이제는 AllJoyn Daemon의 개념을 제대로 설명해 드려야 할 것 같습니다.

<

p style=”text-align: left; clear: none; float: none; “>

AllJoyn 기반의 애플리케이션이 정상적으로 다른 Device와 통신하기 위해서는 각 Device에 한개 이상의 AllJoyn Daemon이 동작하고 있어야 합니다. 애플리케이션 개발자는 AllJoyn 라이브러리를 링크하고 여기에 정의된 API를 호출하는 방식으로 Daemon에 Service를 등록하거나 Client로서 Service를 찾고 연결하여 메서드를 호출할 수 있습니다.

Daemon이 설치된 Device가 같은 네트워크안에 연결되면, Daemon끼리 서로의 존재를 인지하고 정보를 교환합니다.

  • 자신에게 어떤 Service가 연결되어 있는지
  • 자신에게 어떤 이름의 Service를 찾는 Client가 연결되어 있는지

개념적으로는 같은 네트워크 안에 연결된 Device가 하나로 연결되어 가상의 AllJoyn Bus가 만들어 진다고 이해할 수 있습니다. 자연스럽게 Device의 경계는 무너지는거죠. 가상의 AllJoyn Bus에 누가 어떤 이름의 Service를 하고 있고 누가 어떤 이름의 Service를 찾고 있는지만 중요하게 됩니다.

Service는 누군가 자신을 유일하게 구별할 수 있도록 이름(well-known name)을 광고(advertise)해야 합니다. 이 이름은 Java 세상에서 패키지 이름처럼 도메인을 거꾸로 쓰는 표기법을 사용합니다.

예를 들어 다음과 같은 채팅 애플리케이션이 만들어낸 Service의 이름에서,

org.alljoyn.sample.chat.bob

org.alljoyn.sample.chat.carol

특정 Service를 나타내는 prefix는 org.alljoyn.sample.chat이고 이를 Bus에서 유일하게(Unique) 만들어주는 suffix는 bob과 carol이 됩니다. Client는 prefix로 Service를 탐색합니다. 이 예제에서 Client는 org.alljoyn.sample.chat로 Service를 탐색하게 되고 탐색(discovery) API는 org.alljoyn.sample.chat.bob와 org.alljoyn.sample.chat.carol를 모두 반환합니다. bob이 만든 채팅방과 carol이 만든 채팅방을 모두 찾은 셈이죠. 사용자의 선택에 따라 선택된 특정 Service(채팅방)와 연결하고 Service가 제공하는 메서드를 호출하면 통신은 간단히 이루어 집니다.

제대로 공부해 보고 싶으신 분은 다음 문서를 차분히 읽어 보시면 되겠습니다.

https://www.alljoyn.org/content/introduction-alljoyn

포천 스타캠핑장 (2012.05.27~28)

이번 연휴에 찾은 곳은 아직 많이 알려지지 않아 아직은 예약이 비교적 쉬운 포천 스타캠핑장입니다.

http://cafe.naver.com/starscamping

작년 가을에 생긴 캠핑장이라 그런지 인터넷 검색해보면 아직 후기가 별로 없습니다.

개인적으로는 다음과 같은 이유로 파인트리 캠핑장보다 훨씬 괜찮은 캠핑장이라고 생각합니다.

  1. 온수가 24시간 잘 나오고 시설이 깨끗합니다.
  2. 모든 사이트가 도로와 떨어져 있어서 조용합니다.

  3. 사이트 및 공터가 엄청나게 넓습니다.

  4. C사이트에 있었는데 숲을 마주 보고 있어 경치가 좋습니다.

  5. C사이트 바닥이 마사토로 되어 있어서 잠자리가 편안했습니다. (파인트리는 파쇄석)

캠핑장 가는 날 아침에 날씨를 보니 텐트치는 시간에 잠깐 보슬비가 내릴 수도 있겠더라구요. 그러나 이마트 진접점에서 장을 보고,

포천 쪽으로 방향을 잡았더니 분위기가 심상치 않았습니다.

그리고 곧 천둥 번개를 동반한 폭우가 쏟아지기 시작했습니다. 자동차 와이퍼의 최고속도를 볼 수 있었죠. 오후 3시 이후로는 비소식이 없는 포천시 신북면 일기예보를 믿고 일단 가보기로 했습니다.

거의 다 왔을 무렵 차가 막히기 시작합니다. 허브 아일랜드 진입하는 차들 때문이더군요. 덕분에 10~15분 더 걸렸는데, 주말에 까딱 잘못하다가는 허브 아일랜드 진입행렬 때문에 캠핑장 코 앞에서 1시간을 날릴 수도 있겠다는 생각이 들었습니다.

드디어 캠핑장에 도착! 거짓말처럼 비는 오지 않았고, 예약해 둔 C9 사이트에 주차를 하고 짐을 풀기 위해 차 문을 활짝 열었습니다. 숲을 마주하고 있어 경치가 참 좋았고, 사이트도 엄청 넓어서 만족스러웠습니다.

이번에도 무난히 텐트 설치를 완료했습니다.

오늘 여자친구가 준비한 점심식사는 닭백숙!

닭을 손질한 후 마늘, 대추, 찹쌀을 넣고 압력솥에 푹 삶으니,

이렇게 맛있는 백숙이 완성되었습니다. 소금에 찍어서 맛있게 먹고, 설익은 찹살과 남은 고기를 이용하여,

닭죽까지 만들어 배불리 먹었습니다.

점심 먹고 텐트 안에서 쉬면서 찍어본 평화로운 풍경입니다.

이번 캠핑은 릴렉스 체어가 없는 관계로 텐트 안에서 음악 듣고, 책 읽고 낮잠 자다가 일어나서 캠핑장을 둘러 보았습니다.

왼쪽이 C사이트, 오른쪽이 D사이트입니다. 가운데는 족구장도 있구요. 보시다시피 공터가 굉장히 넓습니다. 배드민턴을 치든 캐치볼을 하든 야외활동 하기에 참 좋습니다.

멀리서 바라본 C사이트의 모습입니다. 오른쪽에서부터 C6~C10 되겠네요. 숲을 마주하고 있어서 추천하고 싶은 사이트 입니다. 샤워장, 화장실, 개수대 등의 편의시설은 C1쪽에 있으니 참고하셔서 위치 선정 하시면 되겠습니다. C10 맞은편에도 작은 개수대가 있긴 하지만 온수가 나오지 않고 수도꼭지가 하나 밖에 없습니다. 그래도 줄서서 기다리는 일은 생기지 않더라구요.

D사이트는 대략 이런 분위기 입니다. 뒤에 보이는 시설물은 비가 올때 활용해도 괜찮다고 합니다. 가축을 키우던 곳 같은데 지금은 깨끗하게 비어 있습니다.

좌측은 B사이트, 우측은 관리사무소, 샤워실, 개수대, 화장실입니다.

B사이트와 숲 사이에 개천이 있고 개천을 마주하고 A사이트가 있는데, 현재는 공사중이라 이용할 수 없습니다. 7월 정도에는 이용 가능할 것 같네요.

관리동 뒤쪽에 위치한 사이트인데 아직 정식으로 개장한 것은 아닌지 한팀 밖에 없었습니다. A사이트의 일부인 것도 같은데 정확히 모르겠네요. 아무튼 이 위치도 참 좋아보였습니다.

비가 조금씩 내려서 텐트사고 처음으로 비를 맞아 봅니다. 얼마 전에 “오토캠핑 100문 100답”이라는 책을 읽었는데 우중캠핑에서 가장 좋은 것은 텐트칠때 비 안오고, 캠핑할때 비오다가, 텐트 걷을때 비 안오는 것이라고 하더군요. 운이 좋게도 이번 캠핑에서 가장 좋은 경우를 경험했습니다.

저녁시간이 되어 캠핑의 꽃 BBQ를 준비합니다. 새로 구입한 구스아웃도어 미니 화로대를 설치하고, 토치로 숯에 불을 피우고, 처음으로 목살에 도전해 봤습니다. 직화되는 것을 막기 위해 그릴의 높이를 높였더니 화력이 약해서 굽는데 시간이 오래 걸리더라구요. 그릴 높이를 낮추자니 기름이 떨어져서 불이 종종 나기 때문에 망설여 졌습니다.

이번에 목살을 구으면서 깨달은바는 다음과 같습니다.

1. 목살도 기름이 떨어질 수 있으니 지방 부위는 잘라내고 굽는다.

2. 숯은 고기 굽기 30분 전에 미리 불을 피워 놓는다. 불이 올라오지 않고 숯의 열기로만 구울 수 있을때까지 기다려야 한다.

3. 캠핑장에선 그냥 소고기 먹자. (금방 구워지고 굽기 정말 편합니다. 호주산으로 구입하면 가격도 괜찮구요.)

스타캠핑장에서는 장작을 주문하면 사이트 앞까지 배달해 주십니다. 낮에 만원에 구입한 장작 한단으로,

처음으로 장작 불놀이를 해봤습니다. 재미도 있고 낭만도 있고 따뜻하고… 문제는 고구마 4개를 다 태워먹었다는…

신문지 1장을 활용해서 생각보다 쉽게 불을 붙일 수 있었구요, 뒤처리도 생각했던 것보다 간단했습니다.

불놀이 하는데 자꾸 비가 오다 안오다 해서, 타프가 없는게 참 아쉽더군요. 텐트로 대피했다가 나오는 일을 반복해야 했습니다. 

비가 많이 오니까 다음날 텐트 걷을 걱정이 생기더라구요. 과연 철수할때까지 텐트가 다 마를 수 있을까 하고.

텐트에 부딛히는 비소리가 낭만적이었던 캠핑장에서의 밤을 보내고, 다음날 아침에는 일어나서 온수로 샤워를 했는데 시설이 참 훌륭하더군요. 텐트의 물을 털어내고 아침식사로 수제비를 만들어 먹었습니다.

해가 나니까 텐트의 물기는 금방 말라서 큰 어려움 없이 텐트를 걷을 수 있었습니다. 텐트 접는 요령도 생겼는지 가방에 쉽게 들어가더군요. 그래도 비온뒤 쨍한 날씨라 덥고 습해서 철수하는데 좀 힘이 들었습니다.

<

p style=”text-align: left; clear: none; float: none; “>

사이트를 말끔히 정리하고 포천시를 거쳐 의정부시까지 오는 길이 좀 막혔습니다. 외곽순환고속도로를 탄 이후로는 탄탄대로!

포천 스타캠핑장 아직 많이 알려지진 않았지만 추천하고 싶은 캠핑장 입니다. 비온 뒤에도 바닥 상태가 훌륭했고, 시설 깨끗하고, 친절하고, 경치좋고, 조용하고, 사이트 넓고, …

두번 연속으로 캠핑을 다녀왔더니 조금 지쳐서 다음에는 편한 여행을 하고 싶다는 생각이 들었습니다. 6월에는 캠핑 아닌 평범한 여행으로 전주 한옥마을에 다녀올까 합니다.

다음 캠핑은 릴렉스 체어와 함께!