태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

요즘 들어 웹 표준에 대한 이야기들이 많다. 애플이 아이폰에 플래시를 지원하지 않는다고 발표하고, 대신에 HTML5 표준을 준수할 것을 권고하면서 웹 표준에 대한 관심은 더 높아졌다. 그렇다면 '웹 표준'이란 무엇이고, 웹 표준을 준수한다는 것은 어떤 것인지 알아보도록 하자.

1. 웹 표준이란?
  웹 표준이란 표준화 기구들(주로 W3C, World Wide Web Consortium)에서 정의하는 것으로, 웹 사이트를 작성할 때 이용하는 HTML이나 CSS, JavaScript 등에 대한 규정을 담고 있다.


2. 웹 표준을 지켜야 하는 이유는?
  표준은 지키라고 있는 것이니까. 물론 표준을 지키지 않는다고 웹 페이지가 만들어지지 않는 것은 아니다. 하지만 이랬던 적 없었는지 생각해보자.
같은 사이트를 접속하는데 브라우저마다 모양이 다르게 나오는 경우
같은 사이트인데 특정 브라우저로 접속했을 때 기능이 작동하지 않는 경우
등등 
이런 문제를 해결하기 위한 가장 필수적이면서 기본적인 방법이 바로 웹 표준을 준수하는 일이다. 우리 나라의 경우는 IE에 대한 의존도가 너무 높다. 그래서인지 웹 페이지들이 IE에 맞춰서 꾸며져 있는 경우가 많은데, 그런 사이트들을 크롬이나 파이어폭스 등 다른 웹브라우저를 이용해서 접속하면 페이지가 정상적으로 나타나지 않는다. 심지어는 페이지를 ActiveX와 Flash로 도배해놓아서 사이트에 로그인조차 되지 않는 곳도 아직 꽤 있다. 웹 표준을 지킨다면 이런 일은 벌어지지 않을 것이다.(참고 : http://ko.wikipedia.org/wiki/%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD%EC%9D%98_%EC%9B%B9_%ED%98%B8%ED%99%98%EC%84%B1_%EB%AC%B8%EC%A0%9C)
하지만 웹 표준을 지키면 예쁜 페이지를 만들 수 없다고 생각하는 사람들이 있다. 하지만 그건 큰 오산이다. CSS만으로도 충분히 예쁜 페이지를 만들 수 있으며, HTML의 새로운 표준인 HTML5를 이용하면 기존의 Flash 애니메이션 기능을 외부 플러그인 없이 구현할 수도 있다고 한다.


3. 웹 표준을 준수하고 있을까? 
  그렇다면 우리가 평소에 사용하고 있는 웹 브라우저나 웹 페이지들이 웹 표준을 준수하고 있는지 알아보자.

3-1. 우선, 웹 브라우저가 표준을 얼마나 지키고 있는지 알아보는 방법이다.
웹 브라우저의 표준 준수 정도를 확인할 수 있는 테스트로 대표적인 것이 Acid 테스트이다. Acid test는 Acid1, Acid2, Acid3 총 세 가지가 있는데, Acid1과 Acid2 테스트는 현존하는 거의 모든 브라우저들이 기준을 완벽하게 통과하고 있다. 차이는 Acid3에서 발생한다.
 

(Google Chrome의 Acid3 테스트 결과. 100점 만점을 기록한다.)

필자가 테스트 해본 결과로는, 구글 크롬 15와 파이어폭스 7.0.1 8.0에서는 모두 만점을 기록했다. 그리고 IE 9.0에서는 95점을 기록했다.
본인의 브라우저를 테스트해보고 싶은 분들은 다음 링크를 따라가보시길 바란다.



3-2. 그 다음으로 웹 사이트들이 웹 표준을 잘 지키고 있는지 알아보자.
웹 표준을 제정하는 기관인 W3C에서 제공하는 사이트가 있다. 주소는 http://validator.w3.org/이다.


이 페이지에서는 URL을 입력하거나, 자신이 만든 페이지의 파일을 업로드하거나, 혹은 자신이 짠 코드를 직접 기입하는 방법을 통해서 웹 표준 준수여부를 확인할 수 있다. 


4. 웹 표준을 준수하는 방법은?
DTD
Down Team is Down이 아니다. Document Type Definition의 약자로 쓰인 DTD는 우리 말로는 '문서형 정의'라 부른다. 이는 HTML이나 XHTML 문서를 만들 때 필수적으로 선언해야하는 것이다. 선언의 예는 다음과 같다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 
XHTML 1.0 Strict를 정의한 부분이다. 꽤나 복잡하게 생겼는데, 그나마 HTML5에 들어서는 선언이 많이 단순화되어, <!doctype html>(대소문자 구분 없이)이라고만 적어주면 된다. 그렇다면 이렇게 복잡한 선언을 왜 하는 것일까? 바로 HTML이나 XHTML의 버전에 따라 문법에 약간의 차이가 있고, 지원되는 기능에 차이가 있기 때문이다. 따라서 웹브라우저는 우리가 선언한 방식대로 문서를 읽어들여 우리에게 보여준다.

DTD는 어떻게 구성되는가?

<!DOCTYPE 최상위요소 PUBLIC(또는 SYSTEM) "FPI" "URI"> 순서로 기입한다. 예를 들자면,

HTML 4.01 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN " "http://www.w3.org/TR/html4/loose.dtd" 

 (참고)HTML의 버전


대충 웹 표준이 무엇이고, 어떻게 해야 지킬 수 있는 것인지 알아보았다. 이제부터는 인터넷 서핑을 하면서 웹 표준에 대해서 한 번씩은 생각해보는 것이 어떠할지?
 

  • Favicon of https://alllink.tistory.com BlogIcon 링크정보 2011.11.20 16:07 신고

    블로그에서는 기능의 작동유무보다는 레이아웃부분이 안맞는 경우가 많이 생기는데, 웹표준에 맞춰 스킨을 수정했더니 그런 문제가 없어지더라고요.
    브라우저에따라 간격이나 색상이 조금씩 차이가 나기도하지만 그건 어쩔 수 없으니 그냥 넘어가고요.

1년 반만의 포스팅.

요즘 안드로이드 폰 사이에서 배터리 및 성능 최적화를 위해 사용하고 있는 SetCPU 어플.




곰디님께서 최적화 팁을 올려주셨고, 많은 안드로이드 유저분들이 그 팁을 적용하여 폰을 이용중인 것으로 알고있다.

그런데 정작 어플을 사용하고 있는 우리는 SetCPU의 각 설정값의 의미가 뭔지도 모르는 채로 최적화 값만 따라서 적용하고 있다. 그래서 오늘은 SetCPU의 scaling 설정값에 대하여 이야기 해보려 한다.

해외 포럼에서 찾아낸 글이다.







----------
I just received an email from Mike (the creator of SetCPU). He explained for me exactly what each CPU Governor option does. Hope this helps.


I'll explain all of the governors:

- The ondemand governor is the default option used by Android. It scales the CPU speed between the minimum and maximum speeds depending on CPU load. If the system needs more speed, the kernel will rapidly scale up the CPU speed.
- The conservative sets the CPU speed in a similar way to the ondemand governor, but scales the CPU up much less rapidly. This would theoretically save battery power, but may lead to less responsiveness.
- The userspace governor is currently useless. It's another way for applications to set the CPU speed that SetCPU does not use.
- The powersave governor always keeps the CPU at the minimum set frequency.
- The performance governor always keeps the CPU at the maximum set frequency.

Except for "userspace," no matter which governor you set, the CPU will always stay within the bounds of the maximum and minimum speeds you set in SetCPU.
----------










개발자에게서 직접 들은 대답이라고 한다. 이를 정리해보면

-ondemand ; 갤럭시s에는 잘 어울리지 않는다고 알려진 이 모드는 안드로이드 커널의 기본 옵션을 이용하여 CPU의 클럭을 조절한다고 한다. 아마도 최고 클럭과 최저 클럭을 설정할 수 있다는 것 이외에는 SetCPU를 설치하지 않은 상태와 다를게 없는 듯하다.
-conservative ; ondemand와 비슷한 설정이지만, CPU의 속도를 올릴 때 ondemand보다 조금 천천히 올린다고 한다. 이 때문에 반응성이 약간 저하될 수도 있지만, 이론상으로는 이 방법을 통해 배터리 절약의 효과를 볼 수 있다고 한다.
-userspace ; 개발자도 인정한 쓸모 없는 기능이다.
-powersave ; 배터리를 아낀다고 무조건 이 모드를 설정하는 유저들이 많은 것으로 안다. 그러나 이 모드는 경우에 따라 성능을 꽤 많이 희생시킬 수도 있는 설정이다.
이 모드에서는 배터리 절약을 위해 무조건 사용자가 설정해 놓은 '최저' 클럭에 맞추어 폰을 가동하게 되어있다. 이렇게 되면 아무리 최고 클럭을 높게 설정해 놓더라도 아무런 의미가 없게 된다. 무조건 최저에 맞추어 CPU가 작동하기 때문이다.
-performance ; 말그대로 최적의 성능을 위한 설정이다. 이 모드에서는 사용자가 설정한 '최고' 클럭으로만 폰이 작동된다. 물론 이 상태에서는 최저 클럭 값이 아무런 영향을 주지 못하게 된다. 항상 최고 클럭으로만 폰이 가동되기 때문이다.


결국에는 클럭에 변화가 생기는 설정값은 ondemand와 conservative뿐이다. 나머지 설정들은 최고, 혹은 최저 클럭수만 조절해주면 그 값에 클럭이 고정되는 것이다.
이렇게 되면 우리가 그동안 복잡하게 설정해 사용해왔던 것들이 사실은 무의미하다(?)고 할 수 있는 것이다. 그래서 필자는 상황에 따라 유동적으로 클럭이 변경되도록 다음과 같이 설정해두고 있다.



아직 오래 테스트 해보자는 못했지만, 체감상 속도에 문제는 없어보인다. 각자의 상황에 맞추어 다섯가지 설정값들을 적절히 이용해보도록 하자.




아직 오래 테스트 해보자는 못했지만, 체감상 속도에 문제는 없어보인다. 각자의 상황에 맞추어 다섯가지 설정값들을 적절히 이용해보도록 하자.

iPod 에서 작성된 글입니다.
iPod touch를 이용해 인터넷 주소를 입력하다가 잠시 다른 일을 하기 위해 주소를 입력하던 상태 그대로 터치를 손에 쥐고 다닌 적이 있다.
그런데, 잠시 후에 들여다 본 화면에는 예전에는 보지 못했던 색다른(?) 광경이 나타나 있었다.


Undo. 이게 뭐지? 대충 봤을 때 '실행 취소' 정도의 느낌이 드는데, 맞다.
이런 기능이 숨어 있을 줄이야...
사용법은 간단하다. 글을 적는다.(혹은 삭제한다.)


그리고 나서 디바이스를 한번 흔들어 주기만하면 실행 취소 창이 나타난다. 참~~~~쉽다.


(블로그 포스팅하다가 실행해 본 모습. ) -- Post From My iPod touch
  • 코피티즈 2009.07.30 00:20

    와 ㅋㅋ 지금 알았네요 좋은 정보 감사합니다.

  • 또자쿨쿨 2009.08.09 21:10

    안녕하세요
    블로그검색 온타운 쥔장입니다.
    막 등록하였습니다.
    벌써 배너를 달아두셨네용 -0 -;;;;
    http://ddoza.tistory.com/859 <- 꼭 읽어주세요
    그럼 또 뵙겠습니다.

정말 오랜만에 포스팅하는 듯하다. 시험을 핑계로 블로그를 뒷전으로 미루어 두었다가, 시험이 끝났는데도 불구하고 블로그는 사실상 개점휴업상태였다. 드디어 기나긴 공백을 지나 다시 포스팅을 시작하게 되었다. 이번에 소개할 어플은 요즘 대세(?)로 떠오르고 있는 배터리 상태관리 툴이다. BatteryStatus라는 어플인데, 매우 간단하고 편리한 어플이다. 이 어플은 App Store 어플이며, 가격은 무려 Free이다. 이번 3.0 펌웨어에서 추가된다 사치 기능을 이용해 어플을 찾아보았다.


파란 배터리 아이콘이다. 스프링보드 상에서는 이렇게 나온다.


이제 아이콘을 터치해 어플을 실행해 보겠다.


Unknown 천국이다. 혼란스러워하지 말자. 아직 기능이 Off상태라 그렇다. 상단의 Monitoring을 On으로 토글하자.


이제야 원하는 자료가 나오기 시작한다. 이 어플에서는 잔여 배터리 퍼센티지와 함께 아이폰을 고려한 듯 통화시간, 대기시간, 엣지와 와이파이를 통한 인터넷 사용 시간, 오디오 재생, 비디오 재생 시간 등의 정보를 보여준다.


그리고 맨 하단에는 현재 배터리가 충전 중인 상태를 나타낸다. 배터리 관련 어플들 중 무료이면서 이런 기능을 제공하는 어플은 없는 듯 하다. 그러나, 너무 텍스트 위주로 짜여져 있어 사용자 입장에서는 조금 초라한 느낌을 주는 어플이다. -- Post From My iPod touch
이번 WWDC에서 아이폰 국내 출시가 좌절된 가운데, 많은 유저들이 실망감과 함께 분노감(?)을 감추지 못했다. 그러던 중, 아이폰 3G로 보이는 애플의 '이동통신용 무선설비의 기기'가 전파인증을 받은 사실이 확인되면서 아이폰 국내 출시에 대한 기대가 높아지고 있다. 과연 이번에는 진짜로 출시될 것인가?

http://www.rra.go.kr/approval/status/view.jsp?category=4&no=APA-A1241

APPLE INC.에서 의뢰해 인증받은 결과. 2009년 6월 12일자로 인증되어 있다.


솔직히 필자의 생각으로는 iPhone의 국내 출시는, 와이파이(Wi-Fi)나 앱 스토어(App Store) 기능의 제한이 있지 않는 이상 국내 이동통신사들의 복잡한 이해관계(WIPI를 통한 막대한 수익)로 인해 어려울 듯하다. 그래도 이번에는 전파 인증까지 받은 상황이니 한 번 기대해 볼만하다.
오늘 자정쯤에 티스토리 모바일로 블로그에 접속해 댓글을 달다가 작은 변화를 발견했다. 예전 포스팅에서 '티스토리 모바일은 댓글 등록시 제목 표시줄에 댓글삭제라 나온다'라고 한 적이 있다. 이 사진이 바로 그 증거이다.


제목 표시줄에 "댓글삭제"라 나온 것을 볼 수 있다.
이제 그 변화를 보자.


"댓글 저장"이라는 제목으로 바뀌었다. 이제 더 이상 댓글을 등록하고 제목 표시줄을 보며 깜짝깜짝 놀랄 일은 없을 것이다.

티스토리, 갈수록 마음에 든다. -- Post From My iPod touch

얼마 전 네이버에서 그 동안 PDA사이트에서의 부족한 점들을 개선하여 모바일 사이트(http://m.naver.com)를 개설했다. 새로운 모바일 사이트에서는 기존의 PDA사이트에서의 기능을 포함하면서 조금 더 편리하고 진보된 인터페이스를 선보인 바 있다.
많은 이용자들이 새 사이트로 네이버를 이용하고 있는 가운데, 네이버에서 PDA사이트의 서비스 종료를 공지했다. 네이버 PDA(http://pda.naver.com) 사이트 홈에 공지가 떠 있다. 내용은 이렇다.



네이버 PDA서비스는 7월 8일자로 종료될 예정이다. 물론 새로운 사이트가 충분히 PDA사이트를 보완해 줄 수 있지만, 꽤 오랜 시간동안 PDA사이트를 이용해 온 입장에서는 많이 아쉽다. 그래도 아쉽지만 네이버 모바일 사이트로 옮겨가야겠다.
ps)그런데, 새로운 모바일 사이트에서 PDA 전기종을 지원하는지는 잘 모르겠다. -- Post From My iPod touch
지난 금요일에 Daum 고객센터에 주제별 새글 문제에 대한 질문을 보냈는데, 주말을 지나고 오늘이 되어서야 답변이 날아들었다.



해결이 되었다는 내용이다. 주제별 새글에 올라가려면 가장 중요한 것이 '태그'이다. 태그를 주제에 맞게 잘 달아야 메인에도 잘 나타날 것이다.
다른 분들도 주제별 새글에 포스트가 나타나지 않는다면 다음 고객센터에 문의해 보시기 바란다.
-- Post From My iPod touch
아이폰/터치 펌웨어 1.1.X 대에는 Finder란 파일 관리 어플이 있었다. Mac의 Finder를 연상케하는 이 어플은 터미널에 익숙치 못한 초보 아이폰 유저들에게는 가뭄의 단비나 다름없었다. 어플에 문제가 생겼을 때 '만병통치약'으로 작용하던 권한 설정부터 시작해 파일 시스템 전반을 관리할 수 있었던 파인더 어플.
그러나 펌웨어가 2.X로 판올림되면서 많은 어플이 사라지고 일부 필수 어플들이 새로운 펌웨어에 맞게 porting되어 올라오는 동안, 파인더 어플은 한동안 porting되어 올라오지 않았다. 그리고 그 사이 Finder를 대신할 약간의 어플들(예를 들어, iCommander같은 어플)이 Cydia를 통하여 출시되었고, 얼마 후 Finder 어플도 포팅되어 나타났으나, 예전의 강력한 기능(파일 뷰어 기능 등등)은 사라진 상태였다.
그러한 상태에서 새로운 파일 뷰어의 등장은 필수적이었다. 그리고 그에 부응이라도 하듯 강력한 파일 관리 어플이 등장했다. 그 이름은 'iFile'. 파일 관리 부분에 대해서는 어떤 어플도 아직까지는 이 어플을 따라잡을 수가 없을 것이다.
이 어플은 Cydia 어플로, jailbreak한 유저들만 이용할 수 있다.
두번째 줄 맨 오른쪽 아이콘이 1.1.X대에서 위용을 떨쳤던 파인더어플. 그리고 세번째 줄 맨 처음 어플이 우리가 살펴볼 신예(?), iFile이다. 아이콘 모양도 둘이 비슷하다.



실행하면 바로 시스템 내부를 탐색할 수 있다. 사진의 폴더는 각종 App Store 어플들과 텍스트, 롬 파일 등이 들어 있는 mobile이다.



설정 탭이다. 처음 화면에서 좌측 하단의 톱니 모양의 버튼이다. 설정 탭에서는 테마 설정 이외에는 별로 해 줄 것이 없다. 별 것 없는 듯해 가장 먼저 소개했다.



파일 속성 창이다. 여기서 권한 설정도 가능하다. 진입 방법은 간단하다. 파일이나 폴더 옆에 나있는 < 버튼을 눌러주면 된다. 파일 이름 변경부터 권한 설정까지 다양한 기능이 있다. 하단에 있는 Access Permissions가 권한 설정 메뉴이다.



권한을 설정하는데, 여기서 웬만하면 sticky는 선택하지 않았으면 한다. 어플들이 실행되지 않는 문제를 발견했다. 읽기 쓰기 실행의 세 가지 권한을 지정한다.



본격적으로 파일 관리를 해보자. 원하는 파일이 있는 폴더로 가서 우측 상단의 Edit 버튼을 누른다.



선택하면 아래와 같이 되는데, 이 상태에서는 파일이나 폴더의 생성도 가능하고, 심지어는 파일 압축도 가능하다. 우선 파일을 옮겨 보자. 파일을 선택한 뒤 우측 하단의 화살표가 밖으로 나오는 버튼을 선택한다.



복사냐 잘라내기냐를 선택하는 부분이다. 원하는 대로 터치 하시길.



옮기기를 희망하는 위치로 옮겨와서 다시 한번 우측 하단의 그 버튼을 누르면 이번에는 Paste버튼이 나타난다. 터치.



파일이 옮겨졌을 것이다. 이번에는 파일 압축울 해보자. 원하는 파일을 선택하고 하단의 두번째 아이콘을 누른 뒤, 압축 파일명을 입력한다. 그리고 Create하면 된다.






메일 첨부(?)기능도 있다. Edit를 선택한 상태에서 파일을 고르고 편지 버튼을 클릭하면 자동으로 Mail 어플과 연동된다.



이런 기능 외에도 다채로운 기능을 선보이는데, 그 중 하나가 인터넷 브라우저 기능. 파일 탐색 중 인터넷 서핑이 필요하다면 아랫줄 가운데에 있는 책모양 버튼을 누른다. 북마크가 뜨는데, 원하는 사이트를 선택하면 사이트가 뜬다. 하지만 주소 직접 입력 기능은 없다는 것을 유의하자.






iFile의 또 다른 자랑은 강력한 파일 뷰어 기능이다. 직접 열거하기에도 너무 많아 스크린 샷으로 대체한다.



되는지 안 되는지 테스트 해 보자. 여기서는 텍스트 파일과 이미지 파일을 시험해 보았다. 역시 잘 된다.






참고로 landscape 모드로도 동작한다.




아무리 봐도 팔방미인 어플이다. 무료 어플이니 Cydia에서 찾아 다운로드 해 보자. 추천, 댓글 환영! -- Post From My iPod touch
  • Favicon of https://realog.net BlogIcon 악랄가츠 2009.06.07 09:32 신고

    오호~ 이건 정말 유용하겠는데요..
    잘때 음악과 영화만 주로 보는데...
    저건... 편하겠는데요 ㄷㄷㄷ

  • Favicon of https://blue2310.tistory.com BlogIcon 드자이너김군 2009.06.07 16:46 신고

    음.. 전 거의 아이팟이 게임기라.. ㅋ
    근데 정말 유용하겠어요. 아이팟의 놀라운 능력은 도데체 어디까지 이어질지~
    참 다양한 어플이 개발되는게.. 참 부러운 기종 입니다.

  • Favicon of http://krang.tistory.com BlogIcon Krang 2009.06.08 22:43 신고

    정말 잘 몰라서 하는 질문인데요.
    아이폰도 아이팟이랑 같은 어플 사용할 수 있는건가요??
    (제가 좀 무식,,-ㅅ-;;)

    • Favicon of https://julians.tistory.com BlogIcon __init__ 2009.06.08 23:16 신고

      거의 모두 가능합니다:) 전화나 문자, GPS기능 같은게 포함되어있는 건 폰에서만 가능하고요~

  • saq333 2009.12.09 00:36

    컴퓨터에 있는 파일을 어떻게 넣어서 설치해요??

  • ㅎㅎ 2010.01.31 16:16

    이어플 정말편함 ㅎㅎ 인스톨러스 다운이 안되서 찾아봤더니 폴더권한을 0777로 바꿔야한다나 뭐라나 암튼 이걸로 권한설정하니 바로 고쳐졌다능

  • 2010.07.10 01:28

    비밀댓글입니다

네이버가 모바일 시장에 뛰어들면서 내놓은 어플. 올해 초 네이버는 큰 변화를 시도하였는데, 그 중 하나가 오픈캐스트라는 것이었다. 오픈캐스트는 여러 블로그나 사이트 등지에서 유용한 정보를 링크 형식으로 따와 모아놓은 사이트라고 할 수 있겠다.(정확히 운영해보지는 않아서;;;) 이 오픈캐스트를 아이폰에서 쉽게 볼 수 있도록 한 어플이 바로 Opencast이다.
이 어플은 App Store 어플이며, 가격은 당연히 무료이다.




첫 실행시 그림이다. 오픈캐스트를 상징하는 동그라미와 콜론 모양의 엠블럼.




홈 화면이 나온다. 업데이트 순, 구독자 순, 그리고 발행부 순으로 볼 수 있다.




My캐스트에서는 자신이 구독 신청을한 캐스트를 볼 수 있다. 필자의 경우 세 개를 구도가고 있는데, 이 중 iPod Art님의 오픈캐스트로 들어가보았다.




보기도 꽤 좋다. 그런데 글을 올리는 기능은 없는 듯 했다.(내가 관리자가 아니어서 안 뜨는걸까?) '각종 스트리밍 주소'. 필자의 포스팅이다. 눌러보았다.




잘 나온다. 사파리를 띄우지 않고 어플 내에 브라우저를 내장한 점이 마음에 든다. 솔직히 어플 꺼지면서 사파리가 런치될 때까지는 상당한 시간이 걸린다.




카테고리에 따라서도 오픈캐스트를 찾아볼 수 있고, 검색 기능도 네번째 탭에 따로 제공한다.


참고로, iPod Art님의 오픈 캐스트 링크는 필자의 블로그 좌측 사이트바에 있다.
추천과 댓글 잊지 말아주세요! -- Post From My iPod touch