Rath World » 2007 » July

Archive

Archive for July, 2007

OpenID 귓속말 서비스

July 23rd, 2007 7 comments

OpenID 귓속말 소개

OpenID로 개인적인 메시지를 주고 받을 수 있는 간단한 서비스입니다.

아직 정식 서비스가 아니라 이용약관이나 별도의 가입 절차도 없지만, 편리하게 사용해볼 수 있다는 장점이 있습니다.

 

기능 목록입니다.

  • OpenID & 로그인 전용
  • 귓속말 보내기
  • 귓말 수신시 SMS 로 알림
  • 귓말 수신시 내 스프링노트의 지정한 페이지에 쌓이도록 하기
  • 받는 사람 입력창에 me2day 사용자의 아이디를 입력하고 CTRL+SPACE 입력시 OpenID 자동완성 (Windows, Linux Only)

 

스크린샷

귓속말 서비스를 이용중인 화면입니다. 설정 부분의 매력적인 부가기능(SMS, 스프링노트로 쓰기)을 주목해주세요 🙂

openid-whisper.png

 

써보고 싶어요!

OpenID 만 있다면 바로 이용해보실 수 있습니다. http://whisper.lab01.openmaru.com/

사용의 편리성을 위해 아무런 가입절차가 없습니다. 그저 자신의 오픈아이디로 로그인 하는 것이 가입절차의 전부입니다.

 

아직 OpenID를 가지고 있지 않으신가요? 그렇다면 지금 바로 OpenID를 만드세요.

 

로그인을 하셨나요? 귓속말 본문을 입력하시고, 받는 사람 OpenID 주소창에 메시지를 받을 친구의 오픈아이디를 넣으시고, ‘보내기’ 버튼을 누르시면 됩니다. 너무 간단하다고요? 죄송합니다. 그게 전부입니다 🙂

 

궁금한 게 있을 경우 받는 사람 OpenID 주소에 제 오픈아이디인 http://rath.myid.net/ 를 입력하고 메시지를 보내보세요. 확인 즉시 회신해드리겠습니다.

 

매번 귓속말을 확인하러 이 사이트를 방문해야하나요??

그럴 필요 없습니다. 우측 상단의 ‘설정’ 메뉴를 이용하면 귓말 도착시 SMS 및 자신의 스프링노트에 알람을 받을 수 있도록 설정할 수 있습니다.

openid-whisper-pref.png

 

 

(1) SMS로 귓말 수신 알람 받기

이것을 사용하기로 하고 자신의 휴대폰 번호를 입력해두면 귓속말이 도착했을 때 SMS로 도착 알림을 받을 수 있습니다.

아직은 시범 서비스이므로 사용자에게 과금 하는 절차는 없습니다. 🙂

 

(2) 받은 귓말을 내 스프링노트에 쓰기

SMS 수신 알람 기능은 ‘누군가 나에게 새로운 귓속말을 보냈다’ 는 것을 알려주기만 합니다. 하지만 스프링노트에 쓰기 기능을 사용하면 아예 귓속말 사이트에 접속하지 않아도 됩니다. 귓속말이 도착하면 자신이 지정한 스프링노트 페이지에 바로바로 귓속말을 보낸 사람의 OpenID, 보낸 시각, 귓속말 내용 이렇게 3개가 차곡차곡 쌓이게 됩니다.

 

(3) 매쉬업을 위한 사용자키

이 오픈ID 귓속말 서비스를 기반으로 매쉬업(Mash-Up) 서비스를 이용하기 위한 사람들을 위해 ‘사용자 키‘를 제공합니다.

이용 초기에는 사용자키를 발급되지 않은 상태이며, ‘새 사용자키 발급‘ 버튼을 눌러야 발급이 됩니다. 이 사용자키는 비밀번호만큼이나 중요한 것입니다! 만약 누출의 위험이 생겼을 경우 ‘새 사용자키 발급‘ 버튼을 눌러 다시 발급받으시는 것이 좋습니다.

 

매쉬업 개발자 분들은 각 사용자에게 키를 복사할 것을 요청해야할텐데요, 그것을 위한 편리한 URL을 제공합니다.

 

  http://whisper.lab01.openmaru.com/api/getkey?openid=http://rath.myid.net/

 

위 URL 에서 마지막 openid 파라미터 부분만 사용자의 openid로 바꾸면 아래와 같이 사용자가 무슨 키를 복사해야하는지 한 눈에 알아볼 수 있는 페이지가 표시됩니다.

 

openid-whisper-userkey.png

 

 

개발자들을 위한 API

미흡한 형태이나 몇가지 API가 공개되어 있습니다.

  • 귓말 보내기
    • 설명: 특정 사용자에게 귓속말을 보냅니다.
    • URL: http://whisper.lab01.openmaru.com/api/send
    • Method: POST only
    • 인증: BASIC_AUTH.
      • username : normalize 된 송신자의 OpenID.
      • password : 사용자키 (ex. 0123456)
    • 파라미터
      • openid_to : 받는 사람의 openid
      • message : UTF-8로 인코딩된 귓속말 내용
    • 결과
      • 없음. 성공시 200 OK
  • 읽지 않은 귓말 개수 확인
    • 설명: 내가(특정 사용자) 읽지 않은 귓속말의 개수를 확인합니다.
    • URL: http://whisper.lab01.openmaru.com/api/hasunread
    • Method: GET only
    • 인증: BASIC_AUTH 
      • username : normalize 된 송신자의 OpenID.
      • password : 사용자키 (ex. 0123456)
    • 파라미터
      • openid : BASIC_AUTH 사용시 불필요.
    • 결과
      • 인증시
        • 읽지 않은 귓속말의 개수
      • 무인증시
        • 읽지 않은 귓속말이 존재하는지 여부만 0과 1로 출력
      • XML 출력 예
        1. <?xml version=”1.0″ encoding=”UTF-8″?>
        2. <whisper-count type=”unread”>0</whisper-count>
  • 사용자키 조회
    • 설명: 특정 사용자의 사용자키를 조회합니다.
    • URL: http://whisper.lab01.openmaru.com/api/getkey
    • Method: GET only
    • 인증: 없음. (IDP의 인증을 필요로함)
    • 파라미터
      • openid : 사용자키를 얻어올 사용자의 정규화된 OpenID
    • 결과
      • 사용자키가 출력된 HTML 페이지.
  • 내가 받은 귓속말 목록 (받은 귓속말 only, 보낸 귓속말은 지원하지 않음)
    • URL: http://whisper.lab01.openmaru.com/api/list
    • Method: GET Only
    • 인증: BASIC_AUTH
      • username : normalize 된 자신의 OpenID
      • password : 사용자키
    • 응답 형식
      • messages 엘리먼트 속의 message 엘리먼트 집합
      • message:id 속성은 메시지의 고유아이디
      • message:hasRead 속성은 이 메시지를 읽었는지 안읽었는지 여부
      • from 보낸 사람의 OpenID
      • content 귓속말 내용
      • sent-date yyyy-MM-dd HH:mm:ss 형식으로 표현된 귓속말을 받은 시각.
    • 응답 XML 예
      1. <?xml version=”1.0″ encoding=”UTF-8″?>
      2. <messages>
      3.   <message id=”6443987249387294823718732132-2007072212323″ hasRead=”false”>
      4.     <from> http://rath.myid.net/ </from>
      5.     <content><!CDATA[아- 아- 동네 사람들- 오픈아이디 귓속말 API 좀 써봐연~]]></content>
      6.     <sent-date>yyyy-MM-dd HH:mm:ss</sent-date>
      7.   </message>
      8.   <message id=”328917987a123123823718732132-2007072212323″ hasRead=”true”>
      9.     <from> http://rath.myid.net/ </from>
      10.     <content><!CDATA[아- 아- 동네 사람들- 오픈아이디 귓속말 API 좀 써봐연~]]></content>
      11.     <sent-date>yyyy-MM-dd HH:mm:ss</sent-date>
      12.   </message>
      13. </messages>
  • 내 귓속말 삭제
    • URL: http://whisper.lab01.openmaru.com/api/delete/$(MESSAGE-ID)
    • Method: DELETE Only
    • 인증: BASIC_AUTH
      • username : normalize 된 자신의 OpenID
      • password : 사용자키
    • 파라미터
      • message-id : URI 부분 /api/delete/ 뒤에 삭제하고자 하는 메시지의 id를 넣는다.
        • 예) /api/delete/328917987a123123823718732132-2007072212323
    • 응답 형식
      • 200 OK
      • otherwise error (401, 500)

 

 

이 글은 스프링노트에서 작성되었습니다.

Categories: Development Tags:

습관

July 22nd, 2007 3 comments

언제부터인지 나도 알 수는 없지만

놀고 싶어서 놀아본 적이 별로 없는 것 같다. 그저 그 사람이 보고 싶었을 뿐이거나
관계상 자리에 참석하지 않으면 안되는 (혹은 나 혼자 참석하지 않으면 안된다고 생각하는) 자리였다.
아무런 대화없이 그저 상대방과 같은 시공간을 공유하고 있음만으로도 욕구가 충족될 때가 있지 않던가. 대화가 꼭 필요한가? 입에서 나오는 것들은 대부분 천한 것. 스킨쉽이나 욕정이 대수인가? 지나고나면 부질 없는 것들.

습관이란게 무서워서

사람들을 만나 밥을 먹고 술을 먹는 그런 자리. 그날은 그 자리에 나가고 싶지 않아도,
습관적으로 나가게 된다. 퇴근 시간에 가까워졌고, 사실 난 일에 꽂혀있고 사람들을 만나러 갈 내적 동기가 전혀 없음에도 불구하고. 자동적으로 나가게 된다. 누가 날 협박한 것도 아니고, 나가지 않은 다음날이 되어도 변하는 게 없음에도 불구하고.

내가 무슨 핑계를 대든, 환경을 욕하든 니가 나를 이렇게 만들었네 니네들이 나를 이렇게 만들었네 생각하든 다 우스운 일이다. 어차피 인간의 행동에 90% 이상이 무의식과 습관의 산물 아니던가.
환경이 나의 의식적인 동기에 반하는 모습을 보이는 건 전적으로 내 문제다.

의식적으로 수정 불가능한 것들이지만, 어찌어찌 노력하면 측정하기는 쉽다.
하지만 무의식과 습관의 교정은 스스로의 생각과 행동을 1-2초 단위로 제 3자의 입장에서 주기적으로 관찰해야하는 끔찍한 고통이 수반된다. 얼마나 더 오래살겠다고, 무엇을 더 얻겠다고, 무엇을 위해 그런 고통을 받아야 할까. 그게 과연 정말 자신이 원하던 거였을까?

어차피 사다리 위에 오르면 오르기 전에 생각했던 것과 다른 세상만 보이지 않는가.
그런 면에서 에피쿠로스들의 마음을 이해할 수 있다.

한 3개월 정도, 아무도 만나지 않고 일만 했으면 좋겠다. 그래도 일주일에 1-2번은 좋아하는 사람을 만나 그저 흐뭇해하며 내게 賞은 줘야지. 따로 따로 놓고 보면 다 좋은 것들인데, 균형이 떠나버려 noise로 가득찬 내 머리속과 마음을 정화시킬 시간이 필요해.

Categories: Personal Tags:

JDK 1.7 Build b16 으로 싹 교체

July 22nd, 2007 Comments off

다 바꿔버렸다.

https://jdk7.dev.java.net/

메모리 512MB 인 불쌍한 xrath.com 섭의 java process 8개도 다함께 업.

rath 7126 23924 0 02:26 pts/3 00:00:00 java -server -jar rath-search-daemon.jar

rath 7165 7162 0 02:27 pts/4 00:00:00 java -Xms128m -Xmx256m -Dsun.io.useCanonCaches=false -Dapplication.home=/opt/flex2/bin/.. -jar /opt/flex2/bin/../lib/fcsh.jar

rath 7190 24010 0 02:27 pts/5 00:00:03 java -jar TajaBot.jar

root 7221 7217 2 02:28 pts/1 00:00:30 /opt/java/bin/java -server -Djava.ext.dirs=/opt/james/lib -Djava.security.manager -Djava.ext.dirs=/opt/james/lib -Djava.security.manager -Djava.security.policy=jar:file:/opt/james/bin/phoenix-loader.jar!/META-INF/java.policy -Dphoenix.home=/opt/james -Djava.io.tmpdir=/opt/james/temp -jar /opt/james/bin/phoenix-loader.jar

rath 7264 13826 0 02:28 pts/10 00:00:00 java -server -jar me2photo-server.jar

rath 7284 7283 0 02:28 pts/6 00:00:00 java -jar mo-service.jar

rath 8147 1 3 02:50 pts/0 00:00:05 /opt/jdk1.7.0/bin/java -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djava.system.class.loader=com.caucho.loader.SystemClassLoader -Djava.awt.headless=true -Dresin.home=/home/rath/resin/ -Dcom.sun.management.jmxremote com.caucho.boot.ResinWatchdogManager start

rath 8182 8147 21 02:50 pts/0 00:00:27 /opt/jdk1.7.0/bin/java -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djava.system.class.loader=com.caucho.loader.SystemClassLoader -Djava.awt.headless=true -Dresin.home=/home/rath/resin/ -server -Xmx256m -Xss1m -Xdebug -Dcom.sun.management.jmxremote com.caucho.server.resin.Resin -socketwait 54462 start

아 개운하고 좋다.
Hotspot Server VM이나 구경하려고 -server 쳤다가 발견한 Tiered VM

[rath@ns bin]$ java -server -version
java version “1.7.0-ea”
Java(TM) SE Runtime Environment (build 1.7.0-ea-b16)
Java HotSpot(TM) Tiered VM (build 1.7.0-ea-b16, mixed mode)

OpenJDK 빌드도 해보고 싶은데..

교체 기념으로 한글 CAPTCHA 도 다시 살렸다. 😉

Categories: Development Tags: