Mountain Lion GM에서 Tunnelblick OpenVPN 연결 방법
UPDATE : 2012.07.23
아래 연결 문제를 해결한 업데이트 버전이 새로 배포되었다. 배포 버전에선 기본 설정값으로 사용해도 문제 없이 정상 처리가 가능하다.
업데이트 버전 다운로드 링크 : Tunnelblick 3.3beta10 (build 3048)
Mountain Lion이 베타버전을 거쳐 지난주에 GM(Gold Master) 버전으로 개발자들에게 배포되었다.. 지금까지의 경우 GM 버전의 빌드 번호가 변경없이 상용으로 출시된 케이스가 많았기 때문에 7월 말에 출시 예정인 Mountain Lion 정식 버전에서도 큰 변화없이 출시될 것으로 바라보는 시각이 많이 있다.. 이미 대부분의 어플리케이션들이 Mountain Lion에 대응할 수 있도록 업데이트가 이뤄진 상태이다.. 혹시라도 본인이 보유하고 있는 어플리케이션이 Mountain Lion에서 정상적으로 동작하는지 궁금하다면 http://roaringapps.com/apps:table/tags/_d/index_tags/_d/p/2 사이트를 통해 확인이 가능하다..
개인적으로 서버에 접속하기 위해 VPN을 사용하고 있는데 맥에서는 Tunnelblick 이라는 매우 유용한 OpenVPN Client가 있다.. 오픈소스로 공개되어 있어 누구나 자유롭게 사용이 가능한 어플리케이션이다.. Mac OS X Lion 버전에서는 사용하는데 전혀 문제가 없었는데 Mountain Lion DP 버전으로 OS 업그레이드를 하면서부터 문제가 발생하기 시작했다..
앞서 소개한 roaringapps 의 호환 리스트에서도 표시가 되어 있지만 Tunnelblick이 Mountain Lion에서 동작하는데 일부 문제가 발생하는 것으로 보고되어 있다.. 서버에 접속시도를 한 후 정상적으로 연결이 된 것처럼 보이다가 계속 접속 시도를 반복하면서 결국은 서버 접속을 하지 못하는 증상을 보이는 것이다..
기본적으로 Tunnelblick이 OpenVPN Client 이기 때문에 OpenVPN을 따로 Mac에 설치한 후 세팅과정을 거치면 연결 처리를 할 수 있기는 하다.. 하지만 그 과정이 복잡하고 본인의 경우 Mountain Lion의 배포 버전이 바뀔 때마다 클린 설치를 해왔기 때문에 매번 그 세팅 작업을 진행하는 것이 번거로웠다.. 구글링을 통해서도 마땅이 대안을 찾지 못하던 중 Tunnelblick Discussion Group에 올라온 댓글을 보고 방법을 찾게 되었다..Tunnelblick을 이용하는 유저 중 이 문제로 Mountain Lion에서 작업하지 못하는 분들은 나름 유용할 것이다..
방법은 매우 간단하다.. Tunnelblick의 VPN 설정을 바꿔주면 된다.. (답을 찾고 너무 간단해서 어이없긴 했다..)
Tunnelblick을 실행하면 상단 메뉴 영역에 Tunnelblick 아이콘이 자리잡는다.. 이 아이콘을 선택하면 위 그림과 같은 설정 메뉴가 보여지는데 여기서 VPN 상세 항목을 선택한다..
항목을 선택하면 현재 사용 중인 인증서의 옵션 설정 화면이 보인다.. 기본 선택 상태는 '로그'인데 그 옆의 '설정' 항목을 선택해서 세부 설정으로 들어간다..
세부 설정으로 들어가서 보이는 옵션 항목 중 DNS/WINS 설정 항목을 보면 기본값이 '네임서버로 설정' 으로 되어 있을 것이다.. 이 설정값을 변경해야 한다.. 이 작업에 앞서 연결하기 옵션이 '수동으로' 항목으로 되어 있는지 확인해 보고 안되어 있다면 '수동으로' 옵션으로 변경해 놓는 것을 추천한다..
DNS/WINS 셀렉트박스 항목 중 '네임서버 (3.0b10)로 설정' 을 선택하고 우측 하단의 '연결' 버튼을 클릭하면 정상적으로 VPN 접속이 되는 것을 확인할 수 있다..
일종의 편법 같은 방법이긴 하지만 Tunnelblick이 업데이트 되지 않은 현 상태에서 VPN을 사용하기 위한 해결책이니 유용하게 사용하시길..
Tunnelblick 사용 버전 : 3.2.6 (build 2891.3007) 다운로드
갤럭시S 프로요 유출본 설치에서 정식 프로요 업데이트 방법
대부분의 사용자들은 순정 펌웨어 상태였을 것이기 때문에 프로요 업데이트가 별 문제 없이 순조롭게 진행되었겠지만 지난달 사전 유출된 프로요 펌웨어를 설치했던 이들은 KIES에서 업데이트가 진행되지 못하는 문제를 접했을 것이다.. 이는 유출본과 정식본의 안드로이드 버전이 동일하기 때문에 버전 업데이트가 진행이 되지 못하는 것이 원인이다..
혹시 이 과정에서 공장 초기화(Factory Reset)를 진행하여 펌웨어를 유출본 이전 상태로 돌리려는 시도를 하는 사용자가 있을지 모르겠는데 이미 프로요로 업데이트 된 상태에선 공장 초기화를 해도 유출본 이전 펌웨어로 돌아가지 않는다.. 당연히 공장 초기화 작업 이후 KIES에서 정식 프로요 버전으로 업데이트를 진행할 수도 없다..
방법은 프로요 유출본 펌웨어를 2.1 이클레어 상태로 돌리는 것이다.. 이미 스스로 유출본 프로요 펌웨어를 설치할 정도의 사용자라면 이 이슈에 대한 답을 알고 해결했겠지만 이 문제를 해결하지 못하는 사용자가 있을지 모르므로 간단하게 유출본 프로요에서 정식 프로요로 업데이트를 진행하는 방법을 정리해 본다..
업데이트 방법은 아래 두단계만 진행하면 된다..
- 유출본 프로요에서 2.1 이클레어 순정 펌웨어로 다운 그레이드
- 2.1 순정 펌웨어 상태에서 KIES를 통한 정식 프로요 업데이트
이 작업을 위해 사전에 미리 준비할 파일들은 다음과 같다..
- odin3 1.3
- DI03 갤럭시S 순정 펌웨어 (M110S-NPS-IMAGE-REV03-DI03-1545-USER.tar)
- KIES (삼성모바일 사이트에서 다운로드)
작업에 필요한 파일들은 파일명으로 구글링하면 쉽게 찾을 수 있다..
단, 유의할 점은 작업을 진행하기 전에 갤럭시S의 USB 드라이버가 사전에 잡혀 있어야 한다는 점..
유출본 프로요에서 정식 프로요로 업그레이드 진행 순서
1. USB 케이블을 분리한 상태에서 갤럭시S의 전원을 끈다.
2. odin3 파일을 실행한다.
3. odin3 의 우측하단 메뉴에서 PDA 버튼을 클릭하고 DI03 갤럭시S 순정 펌웨어 파일을 불러온다..
참고로 펌웨어 파일은 tar로 압축된 형태 그대로 불러와야 한다..
4. USB 케이블을 연결하고 갤럭시S의 홈키와 전원키를 동시에 눌러 다운로드 모드로 들어간다
5. 다운모드로 연결되어 정상적으로 갤럭시S가 인식되면 odin3에서 좌측 상단의 셀 하나가 노란색으로 변경된다..
이 상태에서 우측의 Start 버튼을 누르면 유출폰 프로요 펌웨어에서 2.1 이클레어 순정 펌웨어로 다운 그레이드가 진행된다..
6. 다운그레이드가 완료되면 갤럭시S를 재부팅한다.. 재부팅이 완료되면 2.1 이클레어로 복원된 갤럭시S를 만날 수 있다..
순정 펌웨어로 복원되었는지 확인하고 싶은 사용자는 환경설정 > 휴대폰 정보로 들어가면 버전 정보에서
2.1 버전으로 다운 그레이드 된 것을 확인할 수 있다..
7. 다운 그레이드가 완료되면 KIES를 실행시켜 프로요 업데이트를 진행한다..
이 과정은 삼성 모바일 사이트에서 자세히 안내하고 있으니 그 내용을 참고하여 업데이트를 진행하면 된다..
2.1 다운 그레이드 중 벽돌 상태가 되었을 경우
2.1 다운 그레이드 과정 중 USB 케이블 등이 빠지는 등 예상치 못한 상황으로 인하여 펌웨어 다운 그레이드가 정상적으로 끝나지 않은 경우가 발생하면 갤럭시S가 소위 말하는 벽돌 상태가 된다.. (업그레이드가 완료되지 않았습니다 라는 한글 메시지가 보임)
이러한 경우가 발생하면 일단 배터리를 강제로 빼내어 전원을 차단시킨 후 위 순서에서 2번 순서부터 진행하면 큰 이슈 없이 다운 그레이드를 진행할 수 있다.. (벽돌 상태에서 상태바가 올라가면서 2.1 순정 펌웨어로 다운 그레이드가 진행됨)
* 위 진행은 2.1 순정 펌웨어에서 유출본 프로요를 설치한 갤럭시S에 해당하며 루팅이나 부두패치 등의 케이스는
적용되지 않을 수 있습니다..
* 부두패치 등의 별도의 커스텀 펌웨어 패치를 한 경우라면 각 상황에 맞는 펌웨어를 사용해야 할 수도 있습니다..
Opera Labs - Fingertouch
모바일폰 영역에서 touch UI가 많은 관심을 가지는 것은 사실이지만 디바이스 자체의 물리적 한계로 인해 PC 등 다른 환경 하에서 익숙해져 있던 UX를 모바일폰에서 그대로 경험하는 것은 어려웠던 것이 사실이다.. 그리고 그 사실은 실제로 유저 사용성에 있어 많은 제약을 가져 오기도 한다..
한달 전 쯤 Opera Labs 역시 이에 대한 고민을 해왔음을 보여주는 결과를 공개했다.. 위 동영상이 바로 그 내용인데 Fingertouch라고 명명된 이 기술은 사실 살펴보면 별거 아닌 것 같은 내용이다.. 좀더 세밀하게 제어하고자 하는 영역을 확대하여 명확한 선택을 이끌어내고 이를 다시 결과값으로 반영한다는 프로세스를 UI로 표현한 것이 전부이다.. 단순하지만 이 UI가 가지는 중요성은 바로 기존의 접근법과는 다른 관점으로 현상을 바라보고 해결책을 제시했다는 점이다..
touch 기반의 모바일폰이 Case Study로 삼고 있는 iPhone의 경우 멀티 터치를 이용하여 화면 전체를 확대한 이후 제어 영역을 선택할 수 있는 구조로 설계가 되어 있다.. 작은 화면 정보를 확대하여 표시한다는 접근 역시 매우 참신한 것이지만 그 뒤 프로세스는 기존 방식과 동일하게 접근한다는 점에선 결국 나름대로의 한계가 있는게 사실이다.. Opera Labs의 Fingertouch 역시 해당 영역이 확대되어 보여진다는 것을 직관적으로 유저가 파악할 수 있는가라는 한계가 있기 때문에 최선의 선택은 아닐 수 있다.. 하지만 touch UI에서의 사용성 고민에 또 다른 대안을 마련했다는 점에서 그 가치가 매우 크다고 보여진다..
참고 : http://labs.opera.com/news/2009/03/05/
멋진 화면보호기.. DropClock
DropClock이란 멋진 화면보호기를 하나 소개한다.. 초고속카메라를 이용해 물에 빠지는 숫자를 개별적으로 촬영한 후 이것으로 화면보호기를 만든 것인데 떨어지는 모습을 바라보고 있으면 자기도 모르게 화면속으로 시선을 고정하고 있음을 알 수 있다..
DropClock : http://scr.sc/products/dropclock/
개발자를 위한 요가..
Video: 개발자를 위한 요가 1
출처 : SOFT & MICRO
개발자를 배려하는 이런 시도들은 적극적으로 추천되어야 한다.. 아마도 대다수의 개발자들은 요가 자체보다는 요가를 지도하는 선생님에게 더 시선이 몰릴듯 하지만.. --;; 개인적으로 겐도사마에게 추천..
Visual Basic 6.0 추가 기술지원 중단 소식..
Visual Basic(이하 VB) 6.0의 추가 기술지원이 오는 2008년 4월 8일 부로 중단하게 된다는 소식이 Technet News letter를 통해 전달되었다.. 이미 VB.Net 기반으로 전환하면서 2005년 3월 VB에 대한 표준지원을 중단하고 3년간 유료서비스만을 유지하겠다는 발표가 있었던 것이기에 4월 8일 추가 기술지원 중단 소식은 예정된 수순을 밟는 것이다..
1991년 1월 27일 처음 세상에 선보였던 VB는 그동안 많은 개발자들이 즐겨 사용하는 개발언어로 인기를 끌었다.. 물론 C++ 등의 개발언어 사용자들에 의해 폄하된 시선과 평가를 얻기도 했지만 수많은 어플리케이션들을 손쉽게 만들어 배포되어 왔음을 무시할 순 없다..
개발언어는 흐름에 민감한 분야 중 하나이다.. 항상 새로운 개발언어는 탄생하기 마련이고 VB 역시 그러한 흐름가운데 사라지는 언어라고 생각할 수 도 있다.. 하지만 VB.Net 출시 이후 기존 VB 개발자들이 VB.Net으로 전환하는 비율보다 Java로 전환하는 비율이 더 높았다는 소식들을 접하면 MS가 기존 VB 개발자들에 대해 다소 빈약한 지원정책을 가지고 있던 것은 아닌가라는 생각도 잠시 해보게 된다..
IT 역사에 또 하나의 점을 찍게된 VB를 바라보며 한 때 VB로 이것 저것 만들어보던 예전 추억을 떠올려본다..
InternetTimeView 플러그인
스와치 본사가 있는 스위스 베른주(州) 빌시(市)의 GMT를 기준으로 오전 0시부터 시작하여 하루 24시간을 1000으로 나눠 표시하는 방법으로 지정하며 시간의 단위는 beat로 표시합니다.. 즉 하루를 1000beat로 표시하는 방식으로 사용됩니다..
좀더 자세한 정보는 위키피디아를 참고하시기 바랍니다..
InternetTimeView 플러그인을 설치한 후 인터넷 표준시를 표시할 부분에 [##_InternetTimeArea_##] 치환자를 삽입하면 아래 그림과 같은 방식으로 인터넷 표준시가 표시됩니다.. 텍스트로 정보가 표시되기 때문에 텍스트가 보여지는 모습은 해당 치환자가 삽입된 위치의 CSS 설정을 따르게 됩니다..
환경설정의 옵션값은 인터넷 표준시를 페이지 로딩 시마다 새로 변경할 것인지 아니면 일정 시간마다 변경할 것인지를 지정합니다.. 기본 선택은 페이지 로딩과 상관없이 일정시간마다 변경하는 것입니다..
플러그인 내용은 인터넷 표준시를 텍스트로 표시해 주는 것이 전부입니다.. 너무나 간단한 내용에 비해선 소스가 양이 좀 많습니다만 플러그인을 처음 제작하려는 이들이 전체적인 플러그인 구조를 파악할 수 있도록 하고자 하는 의도로 만든 플러그인이니 참고하시기 바랍니다.. (이런 것도 플러그인으로 만들어 올리는 구나 정도로.. ^^)
update : 이전 소스에서 setInternetTimeBeat 함수에 전달하는 인자를 수정했습니다.
javascript를 표기할 때 유의할 점..
예전에 HTML과 javascript를 공부했던 이들이라면 javascript의 HTML 소스상의 표기방식에 대해 잘 알고 있을 것이다.. 대략 아래의 표기방식으로 처리했으리라 생각한다..
[code]<script language="javascript" type="text">
// 스크립트 함수
</script>[/code]
위 표기법은 몇가지 문제를 소유하고 있는데 그 문제는 다음과 같다.
- language 속성은 표준속성이 아니다.. 현재는 type 속성에 포함되어있고 type="text/javascript" 방식으로 표기한다.. 만약 javascript가 아닌 vbscript를 사용할 경우 type="text/vbscript"로 표기하면 된다..
- 자바스크립트를 지원하지 않는 예전 브라우저와의 호환을 위해 스크립트 함수 부분을 주석처리해줘야 한다..
위 내용대로 정리하여 올바른 표기법으로 다시 처리하면 아래와 같다..
[code]<script type="text/javascript">
<!-- // 스크립트 함수 //-->
</script>[/code]
여기까지가 대부분이 알고있는 javascript의 표기법이다.. 그런데 시대가 바뀌어 접하게 된 XHTML의 세상에서는 이 역시 바람직한 표기법이 아니게 된다.. (HTML 4.0 기반에서는 위 표기법이 옳은 표기법이다..)
XHTML(Extensible HyperText Markup Language)에서는 XHTML 해석기가 <script ~~> 부분을 태그로 잘못 인식할 수 있는 가능성이 있어서 태그로 인식할 경우 스크립트 함수 부분에서 에러가 발생할 수 있다.. XHTML이 XML 포맷을 기반으로 하는 문법이기 때문에 발생하는 문제인데 이 문제를 해결하려면 스크립트 함수 부분을 CDATA escaping 처리를 해주면 된다.. CDATA escaping 처리를 하게 된 javascript 표기법은 아래와 같다..
[code]<script type="text/javascript">
<![CDATA[ 스크립트 함수 ]]>
</script>[/code]
위 표기법은 일반적인 경우는 문제가 없지만 언제나 발목을 잡게 되는 자바스크립트를 지원하지 않는 예전 브라우저(특히 CDATA를 인식하지 못하는 브라우저)를 위한 호환처리에서 문제가 발생한다.. 호환 처리를 하기 위해 주석처리 부분을 수정하게 되면 아래와 같이 변경된다..
[code]<script type="text/javascript">
/* <![CDATA[ */
스크립트 함수
/*]]>*/
</script>[/code]
꽤나 복잡한 모양새가 되버렸지만 이렇게 표기하면 XHTML에서 전혀 문제없이 javascript를 사용할 수 있게 된다.. 굳이 이렇게 복잡하게 신경써가면서 처리해야 하는 이유는 다름아닌 다양한 브라우저 유저층들을 위한 호환성 처리 및 표준을 지키게 됨으로 얻을 수 있는 정확한 데이터의 활용 때문이다..
태터툴즈나 텍스트큐브를 사용하는 사용자들 중 HTML에서 XHTML로 마크업 언어를 변경하는 이들이 많이 있을텐데 이러한 부분을 주의한다면 좀더 표준에 다가설 수 있는 작업을 할 수 있을 것이다..
p.s 본 블로그에서도 위 부분은 아직 제대로 처리하지 못하고 있는 것이 사실인데 이 기회에 한번 스킨 소스를 살펴보려 한다.. 플러그인이 생성한 것까지 보려면 플러그인 소스도 봐야하나??
참고로 텍스트큐브에서는 위 코드를 아래 방식으로 처리한다.. 주석처리의 방법 상 차이일 뿐 동일한 내용.. :)
[code]<script type="text/javascript">
// <![CDATA[
스크립트 함수
// ]]>
</script>[/code]
참고 :
http://www.w3.org/TR/html4/interact/scripts.html
iPhone을 손톱으로 입력할 수 없는 이유..
터치스크린의 동작방식은 여러가지가 있다.. 크게 분류를 하면 터치스크린 표면에서 직접 입력을 받을 수 있는 방식과 터치스크린 외곽에 적외선 발광소자 설치한 후 적외선 중간의 신호가 외부에 의해 간섭을 받는지를 측정하는 방식 등 두개로 나눌 수 있다.. 전자가 대부분의 소형 디스플레이 장치(PDA, PMP, 휴대폰 등등)에서 사용되는 반면 후자는 좀더 큰 디스플레이 장치(모니터 급 이상)에서 많이 사용된다..
각각의 장단점이 있는데 전자의 경우는 소형화에 적합한 반면 터치스크린 화면을 눌러서 입력하기 때문에 터치스크린 표면 마모현상이 필연적으로 발생하게 된다. 후자의 경우는 전자의 마모현상은 없으나 적외선 발광소자를 써야하기 때문에 소형 디스플레이 장치에서는 활용할 수 없게되는 단점이 있다..
자 그럼 iPhone을 손톱으로 입력하지 못하는 이유는 무엇일까?
터치스크린을 직접 입력하는 방식도 크게 두개로 나뉘게 되는데 압전방식과 정전용량방식이 그것이다.. 압전방식은 터치스크린을 누르는 순간 발생하는 압력에 의해 전압이 발생하게 되고 그 전압차이로 입력을 감지하는 방식이다.. 현재 대부분의 소형 디스플레이의 터치스크린은 이 압전방식을 사용하고 있다.. 이 방식의 장점은 입력할 수 있는 도구의 특성을 가리지 않는다는 것인데 이는 터치스크린 표면에 압력을 줄 수 있는 것이라면 모두 입력할 수 있는 도구로 쓰여질 수 있기 때문이다.. 따라서 이 방식으로 만들어진 터치스크린은 손톱으로도 동작을 시킬 수 있다..
다른 방식인 정전용량방식은 동작의 방식이 약간 다르다.. 정전용량방식은 표면에 전류가 흐를 수 있는 물질(전도체)이 닿을 경우 그 전류가 전도체를 통해 빠져나가는 정도를 측정하여 입력한 위치를 판단하고 입력처리하는 방식이다.. 당연히 전류가 새나갈 수 없는 손톱으로는 입력한 위치를 측정할 수 없다는 문제가 있다.. 그럼에도 불구하고 굳이 iPhone이 정전용량방식을 채택한 이유는 정전용량방식이 가질 수 있는 멀티터치 기능에 있다고 보여진다.. 현재까지의 기술력으로는 멀티터치를 구현할 수 있는 것은 정전용량방식이 유일하기 때문이다.. iPhone의 UI에서는 두 손가락을 이용하여 화면의 크기를 조절하는 등의 인터페이스가 설계되어 있는데 이는 압전방식에서는 불가능한 방식이다..
그럼 예쁘게 자란 손톱을 가지고 있는 여성유저들은 iPhone을 쓰지 말아햐 하는 것일까? 잡스 아저씨에게 물어보시랍~