레이블이 custom인 게시물을 표시합니다. 모든 게시물 표시
레이블이 custom인 게시물을 표시합니다. 모든 게시물 표시

2010년 12월 17일 금요일

Blogger 사용자 정의 도메인으로 바꾼 후 해야 할 일

얼마 전에 국내 모 초고속 인터넷 망 사업자에서 구글의 여러 서비스를 호스팅하는 서버 IP(문제 발생 당시 74.125.71.132였고, 이 글을 쓰고 있는 현재까지 동일)를 막아버리는 바람에 며칠 동안 Blogger 기반 블로그와 가젯, 그리고 크롬(Chrome) 브라우저 확장 기능들을 사용하지 못하는 일이 발생했습니다. 덕분에 아주 오래 전부터 마음 먹고 있었지만 엄두가 나질 않아서 미루고 있었던 블로그 도메인 네임 변경을 결국 이번에 하게 되었지요.

블로그 도메인 변경과 IP 차단이 무슨 관계가 있나?

blogspot.com 하위 도메인을 사용하는 경우와 사용자 정의 도메인(Custom Domain)을 사용하는 경우 연결되는 IP가 서로 다르기 때문입니다. 사용자 정의 도메인으로 변경하게 되면 Virtual Hosting을 위해서 네임 서버(Domain Name Server)에다 해당 도메인에 대한 ghs.google.com 별명(CNAME) 레코드를 추가해야 합니다. 이 글을 작성하는 시점에서 ghs.google.com의 IP는 72.14.203.121입니다. 그런데, blogspot.com 하위 도메인을 사용하는 경우에는 blogspot.l.google.com(이글을 작성하는 시점에서 IP 74.125.71.132) 주소로 연결됩니다. 즉, 또 다시 blogspot.com 하위 도메인으로 가는 IP가 차단된다고 하더라도 사용자 정의 도메인을 사용하는 블로그는 문제 없이 접속된다는 것을 의미합니다.

물론, ghs.google.com 사이트 IP가 차단될 가능성도 배제할 수는 없지만, 확률 상 blogspot.com 하위 도메인의 IP가 차단될 가능성이 더 크다고 봅니다. blospot.com 하위 도메인으로 워낙 다양하고 많은 블로그들이 호스팅 되고 있어서 국내법 상 민감한 주제나 유해 컨텐츠 등이 발견되는 경우에 또 다시 차단하려고 들 수도 있기 때문이죠.

어떻게 사용자 정의 도메인으로 변경하나?

Blogger 도움말에 사용자 정의 도메인으로 변경하는 방법에 대해 잘 설명하고 있으므로 여기서 자세한 설명은 생략합니다.

도메인 변경 후 무엇을 해야 하나?

이미 자신의 도메인 네임을 소유하고 있다면 사용자 정의 도메인으로 변경하는 절차는 그리 복잡한 것이 아니기 때문에 마음만 먹으면 단 몇 분만에 처리하는 것도 가능합니다.(블로그에 사용하기 위해 새로 등록하거나 추가한 도메인 네임 정보가 전파되는 데까지는 시간이 다소 걸릴 수 있기 때문에 정상적으로 동작하려면 약간의 시간이 더 필요합니다.) 문제는 변경하고 난 뒤에 신경써서 처리해야 할 일들이 제법 많다는 것이죠. 아래는 제가 이번에 사용자 정의 도메인으로 변경하면서 처리했던 일들을 기준으로 정리해본 것입니다.

검색 엔진에 블로그 새 URL 등록

기존에 운영하던 블로그의 도메인 네임이 변경되면 더 이상 검색 엔진에서 내 글들이 검색되지 않게 됩니다. 그 정도에서 그치는 것이 아니라 다른 사이트에 남겨져 있던 모든 링크가 다 끊어지게 됩니다. 한참 운영 중인 블로그의 도메인 네임을 변경하기 겁나는 가장 큰 이유인 것이죠. 다행히도 Blogger에서는 blogspot.com 형식의 기존 주소에 대해 새 주소로 redirection 처리를 완벽하게 해주고 있기 때문에 갑작스레 내 블로그 방문자가 0이 되는 일은 발생하지 않습니다.(이 redirection 서비스가 없었다면 아마 사용자 정의 도메인으로 변경하는 일은 절대 없었을 겁니다.) 그러나, 그렇다고 앞으로 발행될 새 글에도 계속 기존 주소를 그대로 사용할 수는 없는 노릇이기 때문에 결국 검색 엔진에 새로 변경된 주소를 등록해주어야 합니다.

  • 구글(Google)
    가장 간단하게는 그저 URL을 추가하기만 하면 됩니다.

    http://www.google.com/addurl

    또는 구글 웹마스터 도구에서 사이트를 추가하는 방법도 있습니다. 더 상세한 설정을 위해서는 웹마스터 도구가 낫지만, Google 계정이 필요합니다.

    https://www.google.com/webmasters/tools

  • 네이버(Naver)
    검색등록 페이지로 가서 블로그 주소와 간단한 정보 몇 가지만 입력하면 됩니다.

    https://submit.naver.com

  • 다음(Daum)
    역시 네이버와 거의 유사합니다. 검색등록 페이지에서 블로그 주소와 간단한 정보 몇 가지만 입력하면 됩니다.

    https://register.search.daum.net

  • 빙(Bing)
    Microsoft의 검색 엔진 Bing에서는 네이버나 다음과 같이 간편하게 등록할 수 있는 방법을 아직 찾지 못했습니다. 대신, Bing Webmaster Tools에서 블로그 사이트 주소를 등록했습니다. Windows Live 계정이 필요합니다.

    http://www.bing.com/toolbox/webmasters

    한 가지 주의할 점으로, Bing은 국내에서 다음과 검색 제휴가 되어 있기 때문에 다음 쪽으로 redirection 됩니다. 이럴 때는 우측 상단에 있는 Worldwide Bing 링크를 클릭하여 미국 - 영어를 선택해주면 됩니다.

  • 야후(Yahoo) & 네이트(Nate)
    이 두 곳에는 아직 등록을 하지 않았습니다. 검색등록을 하려고 하니 주소와 전화번호 같은 개인정보를 요구하더군요. 요즘처럼 세상이 뒤숭숭할 때는 제법 믿을 만해 보이는 곳이라고 하더라도 개인정보를 내주기가 꺼려져서 말입니다. 아무튼 검색등록 페이지는 각각 다음과 같습니다.

    야후: https://kr.suggest.yahoo.com
    네이트: http://add.nate.com

Feed 주소 변경

블로그 사이트의 도메인 네임이 변경되면 Feed URL도 따라서 변경이 됩니다. 기존 구독자를 잃게 되는 것이죠. 저는 이런 상황에 대비하고 더 나은 feed 관련 서비스를 사용하기 위해 예전부터 FeedBurner를 사용해왔습니다. 그리고, Blogger에서는 외부 Feed URL을 명시적으로 지정해줄 수 있어서 구독자가 어떤 Feed URL을 구독하는지에 상관 없이 항상 지정한 Feed URL로 redirection 되도록 강제할 수 있습니다.

FeedBurner의 Feed URL을 외부 Feed URL로 지정하고 싶은 경우 아래와 같이 이동하여 FeedBurner에서 제공하는 Feed URL을 기입하면 됩니다.

대시보드 -> 설정 -> 사이트 피드 -> 게시물 피드 외부 생성 URL

예를 들어, 이 블로그는 http://feeds.feedburner.com/KaisyusNotes 라고 기입되어 있습니다.

결국, 이번에 블로그의 도메인 네임이 변경되면서 Feed URL과 관련하여 수정한 것은 FeedBurner의 Original Feed 주소뿐이었습니다.

메타 블로그 서비스 등록 정보 변경

특별히 메타 블로그 서비스에 가입해두지 않았다면 이 부분은 그냥 건너 뛰어도 상관 없습니다. 이 블로그는 아래 세 가지 서비스에 가입한 상태라 변경된 도메인 네임에 대해 적절한 조치를 취해야 했습니다.

  • 다음 뷰(Daum View)
    접속주소를 변경할 수 있는 방법을 찾지 못했습니다. 문의해볼까 하다가 답변을 받는 데까지 꽤 오래 걸릴 것 같아서 포기하고 그냥 기존에 등록된 블로그 정보를 삭제한 다음 새로 등록했습니다. 덕분에 예전에 발행했던 글들의 정보가 모두 산화되고 말았지요. :-(
    이 글을 쓰고 나서 좀 있다가 다음 뷰를 천천히 둘러보았더니 블로그 주소가 변경된 경우에 대해 수정 요청하는 방법이 FAQ에 나와 있더군요. 쩝... -- 2010-12-21
  • 믹시(Mixsh)
    친절하게도 설정에서 접속주소 변경에 대한 항목을 제공하고 있었습니다.

    마이믹시 -> 나의 블로그 -> 블로그 관리 -> 정보 수정 -> 접속주소 변경요청

    그러나 자동으로 즉시 처리되는 것은 아니고, 신청을 하면 운영자 확인 후 적용해주는 방식입니다.

  • 올포스트(Olpost)
    다음 뷰와 마찬가지로 변경된 도메인을 적용할 수 있는 방법이 제공되지 않아서, 고객지원 게시판에 직접 문의를 했습니다. 그러자 다음 날 운영자님이 친절하게 답변을 주시고 바로 변경 처리해주시더군요. 아직까지는 접속주소 변경에 대해 자동으로 처리해주는 기능을 제공하지 않고 운영팀에 요청하면 확인 후 처리해주는 방식이라고 합니다.

DISQUS 댓글 서비스 마이그레이션

Blogger는 댓글 시스템이 비교적 빈약한 편입니다. 근래에 대시보드에서 댓글을 관리할 수 있는 항목이 생기긴 했지만, 댓글 형태는 크게 달라지지 않아서 아직도 부족함을 많이 느낍니다. 그래서, 이 블로그에는 기본 댓글 시스템 대신 DISQUS를 장착해서 사용하고 있습니다.

기본 댓글 시스템을 그대로 사용하고 있었다면 블로그의 도메인 네임이 변경된다고 하더라도 별도로 처리해주어야 할 일이 없었겠지만, DISQUS는 블로그 글의 고유주소(Permalink)를 기반으로 댓글을 관리하기 때문에 변경된 블로그 주소에 맞게 적절히 마이그레이션 해주어야 했습니다.

DISQUS -> Admin -> Tools -> Migrate Threads -> Domain Migration Wizard

댓글 마이그레이션은 단계적으로 진행되면서, 처음에 현재 댓글이 등록된 도메인들을 보여주는데 그 중에서 변경할 필요가 있는 도메인을 선택한 다음 바뀐 도메인을 입력해주면 됩니다. 그리곤 마이그레이션이 완료될 때까지 기다리기만 하면 됩니다.

검색 가젯 변경

현재 Blogger에서는 구글 검색 엔진에 기반한 검색 가젯을 제공하고 있습니다. 그러나, 도메인 네임을 변경하고 나면 변경된 주소에 대응하는 정보는 아직 하나도 수집되지 않았기 때문에 검색 결과가 0입니다. 사실, 이 블로그까지 방문자가 찾아오는 것도 흔한 일은 아니지만, 찾아와서 이 블로그 우측 열 또는 상단 Navbar에 장착된 검색 가젯을 이용해 검색까지 할 확률은 매우 낮습니다. 그리고, 좀 참고 기다리면 언젠가는 구글 검색 봇이 변경된 주소에 대한 내용도 수집해줄 겁니다. 그러나, 뭔가 불안합니다. 검색이 제대로 되어야 할 것만 같은 압박이 심장을 짓누릅니다.

이 상황에서 제가 대안으로 선택한 것이 Google 맞춤 검색이었습니다. 구글 맞춤 검색은 설정을 하기에 따라서 다양하게 활용이 가능하지만, 기본적으로 내 블로그와 개인 홈페이지만을 위한 전용 검색 엔진을 만들 수 있습니다. 검색할 사이트를 지정하고 디자인을 선택한 다음 검색 가젯 코드를 가져와 블로그의 적절한 위치에 추가하기만 하면 되는 것이죠.

저는 제가 운영하는 사이트들을 대상으로 이미 만들어 둔 맞춤 검색 엔진이 있었습니다. 그래서, 검색 가젯 코드만 가져와서 블로그에 장착했습니다. 이때 검색할 사이트 목록에 예전 블로그 주소를 그대로 두고 새 주소를 추가하는 것이 핵심입니다. 그러면 아직 새 주소에 대한 내용이 검색 엔진에 수집되지 않았다 하더라도 예전 주소에 대한 검색 결과가 나타날 것이고 사용자가 그 주소를 클릭하면 새 주소로 redirection 될 것이기 때문입니다.

그외에 이 블로그뿐만 아니라 관련이 있는 다른 사이트들의 검색 결과도 함께 볼 수 있다는 점도 장점으로 꼽을 수 있습니다.

웹로그 분석 서비스에서 URL 정보 변경

블로그를 운영하시는 분이라면 블로그 방문자에 대한 상세한 통계를 위해 웹로그 분석/통계 서비스를 적어도 하나 쯤은 사용할 겁니다. 요즘은 블로그 서비스 자체 통계도 대부분 제공하고 있지만, 더 자세한 분석 결과를 원한다면 별도의 웹로그 분석/통계 서비스를 이용하는 편이 더 낫다고 봅니다. 이 블로그도 그런 이유로 아래 두 가지 서비스를 이용하고 있습니다.

이 서비스들은 모두 설정에서 기존에 등록된 사이트의 주소를 변경된 주소로 고쳐주기만 하면 되었습니다.

Counter 서비스 URL 등록 정보 변경

블로그 서비스에 따라서 카운터를 기본 제공하는 곳도 있지만, Blogger는 아직 제공하지 않습니다.(가젯 중에 블로그 통계라는 것이 있지만, Page View 정도만 보여주는 수준이라 일반적인 카운터 서비스와는 좀 다릅니다.) 그래서, StatCounterSiteMeter 같은 외부 카운터 서비스를 많이들 이용합니다. 저는 StatCounter(SiteMeter를 사용해오다 페이지 로딩이 많이 느려지는 원인 중 하나인 것을 발견하고는 최근에 StatCounter로 변경했습니다.)를 사용하고 있는데, 변경된 도메인 네임에 따라서 사이트 등록 정보를 변경해주었습니다. 그뿐입니다. ;-)

그외 예전 블로그 주소가 사용된 곳을 찾아 새 주소로 변경

기존 블로그로 이어지는 링크는 한두 개가 아니고 외부에서 링크를 걸어둔 것은 내가 직접 수정할 수도 없기 때문에 일일이 다 찾아서 변경하는 것은 거의 불가능합니다. 그러므로, 본인 소유의 다른 사이트에 걸린 링크, 이메일(email) 서명(signature)에 기록된 링크, 각종 소셜 네트워크 사이트나 포털 사이트 등의 개인 프로필에 등록된 블로그 주소 정도만 찾아서 변경해주면 되겠지요. 사실, Blogger의 기존 주소 redirection 기능이 있어서 딱히 급할 것은 없으므로 눈에 띄는 대로 하나씩 차차 변경해가면 됩니다.

마치며...

검색 엔진에 새 블로그 주소 등록 신청을 하고 네이버와 다음에선 각각 등록 처리되었다는 답 메일을 받았습니다. 그러나, 웹크롤러(web-crawler)가 변경된 주소의 내용을 수집하는 데까지는 아직 더 많은 시간이 걸릴 모양입니다. 검색을 해보면 여전히 예전 주소로 된 검색 결과들이 주를 이루고, 간혹 변경된 주소로 된 결과가 한두 개 끼어 있는 정도입니다.

밀린 일 처리하듯 급하게 블로그 도메인을 변경한 탓인지 크게 바뀐 것도 없으면서 아직도 정리되지 않은 듯 어수선합니다. 그래도 좋은 경험이 되었던 것만은 확실합니다. 다만, 이제 더 이상은 블로그 주소를 변경하는 일이 없었으면 좋겠네요~ ;-)

2008년 8월 5일 화요일

Source Insight에서 Custom Token Macro 활용하기

Source Insight에서 Custom Token Macro 활용하기

이 내용은 제 springnote에 정리한 내용을 옮겨온 것입니다.


Token Macro란?

  • Token Macro는 소스에 삽입되어 있는 특정 macro 문구를 Source Insight가 올바로 해석할 수 있도록 원문으로 풀어서 기술해주는 기능입니다.
  • Source Insight가 지원하는 token macro 파일은 다음과 같습니다.
Language File Name
C and C++ C.tom - default 파일이 Source Insight에 포함되어 있음
HTML Html.tom
Java Java.tom
Resource Files Rc.tom
X86 Assembly Language X86.tom
Perl Perl.tom
  • 내 문서/Source Insight 폴더 아래에 두면 모든 프로젝트에 공통 적용됩니다.
  • 각 프로젝트의 root 폴더에 tom 파일을 두면 그 프로젝트에 대해 공통 tom 파일보다 우선합니다.

Symbian 개발 소스를 위한 설정

  • Symbian 개발 소스에도 특별히 알려주지 않으면 소스의 parsing이 제대로 되지 않아 참조가 꼬이는 문제가 발생합니다.
  • 이 문제를 해결하기 위해 e32def.h 파일 등의 내용을 가져와 C.tom 파일에 적절히 추가해주면 됩니다.
  • Symbian SDK 3.2를 기준으로 미리 작성해둔 C.tom 파일을 첨부하였습니다.
    1. 첨부된 C.tom 파일을 내 문서/Source Insight 폴더에 복사해넣습니다. 원래 있던 원본 파일은 백업을 해두시는 것이 좋습니다.
    2. Project를 rebuild 합니다.
      Project 메뉴 -> Rebuild Project 항목 선택
      ※ Project를 rebuild 하지 않아도 상수 정의 등과 같은 단순한 macro의 경우 즉시 정상적으로 보이게 됩니다. 하지만 정확한 참조 DB 생성을 위해서는 rebuild 해주는 것이 좋습니다.
  • 스크린샷
    • C.tom 파일을 적용하기 전
      _LIT로 정의된 문자열 상수가 제대로 parsing되지 못하고 엉뚱한 ID로 해석됩니다.

    • C.tom 파일을 적용한 후
      _LIT로 정의된 문자열 상수에 대한 참조가 정상적으로 잘 표시됩니다.



      rss 또는 rls에 정의된 resource 참조도 정상적으로 잘 찾아줍니다.

2008년 8월 4일 월요일

Source Insight에서 Custom Language 추가하기

Source Insight에서 Custom Language 추가하기

이 내용은 제 springnote에 정리해둔 것을 가져온 것입니다.


Custom Language란?

  • Source Insight에서 기본적으로 제공하는 프로그래밍 언어 외에 사용자가 새로운 언어 타입을 재정의하거나 추가할 수 있는 기능을 말합니다.
  • 가장 일반적으로 많이 사용되는 C/C++, Java 등의 언어에 대한 Language Definition은 이미 Source Insight에 포함되어 있는데, 이것들 외에 사용자가 별도로 더 추가하고 싶은 언어가 있을 수 있습니다. 이럴 때 사용하는 것이 Custom Language 기능입니다.
  • 또는 Symbian C++ 등과 같이 별도의 추가적인 파일 확장자나 parsing 규칙을 일부 사용하는 경우에 기존 Language Definition을 상속/재정의 해서 사용할 수도 있습니다.

Custom Language File 구하기

  • 기본적으로 Source Insight 공식 홈페이지에서 제공하는 Custom Language File(이하 CLF)을 사용할 수 있습니다.
  • 인터넷 검색을 통해서 몇몇 CLF 파일을 구할 수 있기도 하지만, 의외로 드뭅니다. :(
  • 사용자가 직접 CLF를 만드는 것도 가능합니다. 이 작업은 좀 번거롭고 시간이 걸릴 수 있습니다.

Custom Language 추가하기

Custom Language를 추가하는 데에는 두 가지 작업을 필요합니다. 하나는 Language 자체에 대한 parsing 정보를 등록하는 것이고, 나머지는 등록한 Language를 Project에 적용할 수 있도록 Document Option에 추가해주는 것입니다.
  1. 새로운 Language 추가하기 
    1. Options 메뉴 -> Preferences 메뉴 -> Languages 탭으로 이동합니다.



    2. Import 버튼을 눌러 원하는 CLF 파일을 가져옵니다.
      Add 버튼을 눌러서 새로운 Language를 추가하고 직접 keyword 편집이나 symbol parsing 규칙 등록 등의 작업을 해줄 수도 있습니다.



    3. 이제 Languages 탭에서 새로운 Language가 추가된 것을 확인할 수 있습니다.
      ※ 사용자가 추가한 Custom Language는 아이콘이 약간 다릅니다.



  2. 추가한 Language에 대한 Document Option 추가하기 
    1. Options 메뉴 -> Document Options 메뉴를 실행한 다음 다이얼로그에서 Add Type 버튼을 눌러 새로운 타입을 추가합니다.



    2. 추가된 타입에 대한 상세 설정을 해줍니다.



      1. 이 Language Type이 적용될 확장자를 지정해줍니다.
      2. Include when adding to projects 항목을 체크해주어야 프로젝트 생성 시 해당 확장자 파일이 자동으로 추가됩니다.
      3. 위 첫 번째 단계에서 추가한 Custom Language를 지정해줍니다.

Symbian C++ 개발을 위한 추천 설정

Symbian 관련 개발 상에서는 일반 C++ 개발 상에서와 달리 추가되는 파일들이 몇 가지 더 있습니다. 그렇기 때문에 이 파일들을 별도의 Language Type으로 등록해주면 소스 분석에 더욱 도움이 됩니다.
  • 가장 먼저 Symbian C++ 관련 C.tom 파일을 적용해두셔야 합니다.
  • Symbian C++ 관련 source 파일 등록
    • 추가해야 할 확장자들: *.hrh;*.pan;*.inl;*.rsg;*.rh;*.loc;*.mbg;*.rss;*.rls
      주의: C++ Language Type에 Symbian C++ 관련 확장자를 등록해두신 분은 C++ Language Type 쪽에서 그 확장자를 제거해주실 필요가 있습니다.



  • Symbian C++ 관련 build script 파일 등록
    • 추가해야 할 확장자들: *.mmp;*.midef;*.inf;*.iby