달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2010/03/16 00:01

모바일 로또 장난감2010/03/16 00:01

모바일 버전의 로또입니다. 특별한 기능은 없고 그냥 회차의 번호와 당첨금만 확인할 수 있습니다.

로또 사이트를 크롤링해서 정보를 얻었습니다.
정규식을 공부하던 차에 일종의 테스트 프로그램으로 만든건데, 정말 좋네요.
왜 정규식을 이제서야 알았는지 아쉬운 마음도 듭니다.

정규식 테스트로 끝내기는 아쉬워 특별히 모바일 사이트로 구성을 했습니다.
시간이 좀 더 있어서 HTML5로 했다면 더 좋았겠네요.

사용자 삽입 이미지
 
사용자 삽입 이미지

'장난감' 카테고리의 다른 글

모바일 로또  (0) 2010/03/16
네이트온으로 쪽지 전달하기  (0) 2010/01/27
Daum Dictionary  (0) 2009/10/31
접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
Posted by 에드몽단테스
2010/01/27 15:06

네이트온으로 쪽지 전달하기 장난감2010/01/27 15:06

게시판에 글이 등록되거나 혹은 다른 곳에서 발생된 이벤트를 실시간으로 알 수 있는 방법이 없을까?

요즘 많이 사용하는 방법으로는  게시판에 글이 등록되면 SMS로 문자가 오도록 하는 것이다.

간단하면서도 명료하고 실시간적이라는 장점이 있지만, 약간의 비용(?)이 든다는 단점도 있다.

그래서 실시간으로 알아야할 알림메세지가 있다면 sms 를 이용하지 않고 네이트온의 쪽지로 메세지가 오게 하고 싶었다.

물론 항상 네이트온을 켜놓고 있어야 한다는 경우가 가정이 되어야 한다.

참고로 나는 회사에서 업무로 네이트온을 메신저로 이용하기 때문에 항상 접속상태에 있다.

참 좋은 경우의 수이다.


예전에 네이트온 클론을 만들려고 하다가 도중에 그만 두었던 프로젝트가 있었는데,

그것을 그대로 이용하기로 했다.

네이트온 라이브러리가 만들어질 당시의 네이트온 프로토콜과 현재 프로토콜의 버전이 달라져 변경된 부분이 있었는데,

많지 않아 라이브러리를 조금 수정했다.

당시 친구목록 구현과 대화기능을 작업중이었는데, 친구목록은 그대로 이용하고 대화기능은 제거해버렸다.

그리고 이번에 쪽지 기능을 추가하였다.


원리는 간단하다.

가상의 봇계정을 하나 만든다. 그리고 이 봇에게 여러명의 친구를 등록시킨다.

외부에서 실시간으로 알림메세지가 발생하면 이 봇이 설치된 서버에 접속해 봇에게 메세지를 전달한다.

봇이 메세지를 받으면 해당 사용자에게 쪽지를 보내는 방식이다.


우선, 메신저를 실행시키고 로그인을 한다.

친구 추가 및 요청기능이 없기 때문에 미리 네이트온으로 계정을 모두 등록한 후 같은 계정으로 다시 로그인 한다.




이 봇은 보는바와 같이 아무런 기능이 없다. 대화를 요청해도 답이 없고 아무런 반응이 없다.


이제 메세지가 발생했을 경우, 이 봇이 설치된 메신저에 접속하여 특정한 메세지를 전달해보자.


아래는 샘플이다.


public class NateonMsgSendTest {
    public static void main(String[] args) throws Exception{
        String email = "hong@nate.com";  // 상대방 이메일 주소(로그인 아이디)
        String msg = URLEncoder.encode("안녕하세요\r\n반갑 습니다.", "UTF-8");
       
        Socket socket = new Socket("127.0.0.1", 5007);
        DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
        String protocol = "IMSG "+email+" "+msg;
        dos.write(protocol.getBytes());
        if(dos != null)
            dos.close();
        if(socket != null)
            socket.close();
    }
}




접속할 주소에 5007번으로 접속하여 메세지를 보낸다.


"IMSG "+email+" "+msg;

 

IMSG : 쪽지전송 프로토콜

email : 상대방 이메일주소(네이트온 로그인 아이디). 여러명에게 보낼 경우 콤마를 구분자로 붙여 보낸다.

msg : 메세지 (UTF-8로 된 문자열이며 URLEncode 하여 전송한다.)


위와 같이 메세지를 보내면 아래와 같이 쪽지가 도착한다.



 

항상 네이트온을 켜두는 경우에는 재미있게 사용할 것 같다.



'장난감' 카테고리의 다른 글

모바일 로또  (0) 2010/03/16
네이트온으로 쪽지 전달하기  (0) 2010/01/27
Daum Dictionary  (0) 2009/10/31
접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
Posted by 에드몽단테스
2009/10/31 00:54

Daum Dictionary 장난감2009/10/31 00:54

다음의 open api 를 이용한 사전입니다.

국어사전 및 영어사전 기능이 있습니다.


윈도우의 경우 좋은 사전프로그램이 많이 있습니다. 개인적으로는 야후의 미니사전을 주로 이용했는데

주 OS를 리눅스를 쓰다 보니 그럴싸한 사전을 찾을 수 없었습니다.

기본으로 내장되어 있는 사전은 영영사전이여서 주로 네이버나 다음의 사전을 이용했는데,

매번 웹사이트를 띄우려니 번거롭기가 그지 없더군요.

예전에 네이버 api로 사전을 만든 것이 있었는데, 결과값으로 주는 xml 값이 단어설명이 아닌 단어 설명이 있는 웹사이트 주소여서 웹사이트를 띄우는 번거로움은 마찬가지였습니다.

그 후 daum에서 맨처음 일본어 api를 제공하더니 곧 국어사전과, 영어사전을 제공했네요.

아무튼 매번 웹사이트를 띄우는 것은 작업도중 집중력을 떨어 트리는데 일등 공신이기 때문에 간단한 어플을 만들어봤습니다.


 

단어 입력창에서 위 또는 아래 화살표 버튼을 누르면 한영, 영한으로 기능이 변경됩니다.

참~ 쉽죠잉?


프로그램 : DaumDic.jar

소스 다운로드 : DaumDic.zip

'장난감' 카테고리의 다른 글

모바일 로또  (0) 2010/03/16
네이트온으로 쪽지 전달하기  (0) 2010/01/27
Daum Dictionary  (0) 2009/10/31
접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
Posted by 에드몽단테스

쎄지오 웹솔루션에서 동작하는 접속자 목록 표시입니다.

플렉스 공부하면서 적용해 볼 곳을 찾아보다가 구현이 어렵지 않아 붙여보았습니다.

말이 구현이 어렵지 않다할뿐이지 생각하는 바를 더 추가하기가 쉽지 않네요. 그냥 막막합니다.

 

 

대화명은 닉네임으로 표시했고, 홈페이지에 접속중인 사용자는 파란색, 쎄지오 메신저에 접속한 사용자는 노란색 아이콘을 사용했습니다.

갱신시간은 1분입니다.

'장난감' 카테고리의 다른 글

네이트온으로 쪽지 전달하기  (0) 2010/01/27
Daum Dictionary  (0) 2009/10/31
접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
자바 애플릿 채팅  (0) 2009/03/31
Posted by 에드몽단테스
2009/05/21 02:08

구글 날씨 for Java 장난감2009/05/21 02:08

구글 비공식 날씨 api를 이용한 날씨 정보 애플리케이션입니다.

개인적으로 자바를 좋아하는데 요즘 들어 자바로 프로그래밍할 기회가 별로 없네요.

Swing 관련하여 Layout 감을 잊지 않으려고 열심히 이틀 투자했습니다.

역시 Swing Layout 은 BoxLayout 이네요.

수평, 수직, 정렬들이 끝내줘요~ 

 

구글날씨

 

다운로드 : JWeather.jar


'장난감' 카테고리의 다른 글

Daum Dictionary  (0) 2009/10/31
접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
자바 애플릿 채팅  (0) 2009/03/31
사다리 게임  (0) 2009/03/31
Posted by 에드몽단테스
2009/04/07 17:01

Me2Java ver 0.9 Release! 장난감2009/04/07 17:01

Me2Java


회사안에서 커다란 웹페이지 띄어가며 미투질하기에는 부담감이 있어 몰래 미투를 하기위해(비굴...) 자바로 구성해봤습니다.
공개된 라이브러리 사용해서 약 나흘정도 걸렸습니다.

주요기능은 새글쓰기, 마지막으로 등록된 글의 댓글보기, 댓글쓰기입니다.
다른 사람의 글을 보거나 댓글을 쓸수는 없고 오직 내글을 쓰거나 내 글에 댓글을 달 수 있는 정도입니다.
그밖에 기능으로는 트레이아이콘을 추가했고, 처음시작하면 마지막으로 사용했을 때의 위치와 크기 그대로 로드되는 점, 그리고 글등록시 아이디와 사용자키를 입력하면 두번다시 입력할 필요가 없도록 한 점입니다.
사실 위 부분은 저장된 내용을 레지스트리에 쓰고 싶었으나 리눅스에서의 사용을 위해 파일로 저장을 했습니다.

설치환경
- 자바런타임환경을 사용하기 때문에 자바가상머신을 설치하셔야합니다.(http://java.com)

사용방법
1. 사용자 아이디와 사용자키를 입력한다.
  - 처음실행시 아이디와 사용자키를 입력할 수 있도록 창이 뜨며, 그 후에는 메뉴의 환경설정에서 변경할 수 있다.

2. 글등록
  - 글을 입력하고, 아이콘을 설정하고 태그를 입력하고 등록버튼을 누른다.
  - 글은 최대 150자까지만 허용되며, 기타 나머지는 me2day와 동일하다.

3. 댓글 보기 및 등록
  - 마지막으로 등록된 글에 대한 댓글을 볼 수 있다.

다운로드
 - me2java.exe (윈도우)
 - me2java.jar (리눅스) 사용방법 : $ java -jar me2java.jar

'장난감' 카테고리의 다른 글

접속자 리스트 표시 - 쎄지오 웹솔루션  (0) 2009/06/25
구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
자바 애플릿 채팅  (0) 2009/03/31
사다리 게임  (0) 2009/03/31
메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
Posted by 에드몽단테스
2009/03/31 01:44

자바 애플릿 채팅 장난감2009/03/31 01:44

애플릿 채팅

이름 : 애플릿 채팅 (자바애플릿 + ajax)
웹서버 : 쎄지오 (아파치 아님)

특징 :
 - 메인프레임을 프레임으로 나누고 히든프레임에 애플릿을 두어 웹페이지가 변경이 되어도 채팅이 끊기지 않음.
 - 쎄지오 메신저와 1:1대화 및 대화방, 로그인등 연동
 - 중국어 지원 (OS의 언어설정이 ’중국어’ 일 경우 중국어로 표시됨)

단점 :
 - 처음 애플릿 로딩시 시간이 좀 걸림
 - UI 가 이쁘지 않음

화면구성 :

 

- 웹접속자는 푸른색계열, 메신저접속자는 노란색계열으로 표시됨
- 히든프레임에서 애플릿이 돌고 있지만 접속자 목록은 서버로부터 ajax로 불러옴.
- 목록이 300명 이상일 경우에는 느려지는 경향이 있음
- 처음에는 히든프에임에 애플릿이 돌고, 사용자 목록도 애플릿으로 구성을 하였으나(즉, 애플릿이 2개 구동됨) 속도때문에 사용자 목록은 ajax로 구현
- 이름 옆에 체크박스를 체크하면 대화신청 및 대화방 초대를 받지않은(대화거절모드)


               [접속자 목록]

 

                                                                    [1:1 대화하기]
- 위의 모습은 웹과 메신저 사용자간의 대화모습이다.
- 메신저의 경우 웹과 달리 상대방의 사진이 보이고, 대화내용갈무리, 파일전송, 쪽지 전송이 가능하다.
- 애플릿의 경우 보완때문에 대화내용갈무리 및 파일전송이 불가능

 

  

                                                           [대화방 목록 및 대화방]


보완점
- ajax로 만든 사용자 목록이 300명정도보다 많을 경우 속도가 현저히 느려짐
- UI 가 이쁘지 않음
  => 접속자를 50,000명정도를 소화할 수 있도록 수정할 예정(조직도 기능 구현)
  => 사용자 목록을 웹에서 보여주는 것이 아니라 웹채팅 UI를 별도로 구성하여 필요한 경우 호출시 UI를 띄우드록 할 예정

'장난감' 카테고리의 다른 글

구글 날씨 for Java  (0) 2009/05/21
Me2Java ver 0.9 Release!  (0) 2009/04/07
자바 애플릿 채팅  (0) 2009/03/31
사다리 게임  (0) 2009/03/31
메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
HttpCapture  (0) 2009/03/30
Posted by 에드몽단테스
2009/03/31 01:01

사다리 게임 장난감2009/03/31 01:01

회사 처음들어가서 심심풀이로 만들었던 사다리 게임입니다.
VC++를 이용해 만든 것인데, 툴을 배우면서 했던 것이라 참 재미있게 했었습니다.
이런걸 내가 만들었구나 하는 뿌듯함도 있었구요^^;

주 용도는 간식을 먹기 위해 돈을 걷는 것입니다.

사용방법은 간단합니다.
먼저 목표금액을 입력하고 사다리수(사람수)를 입력하고 꽝수(?)를 입력합니다.
그리고 각 번호에 사람이름을 적습니다.
사다리 밑에 숫자는 해당금액입니다. (1은 천원, 0은 0원 4는 4천원)
비율이 너무 차이가 크다 싶으면 새사다리만들기 버튼을 누르면 새롭게 갱신됩니다.
좋은 거 나올때까지 버튼을 계속 누르면 됩니다.

그리고 게임 시작하기 를 누르면 O.K

다운로드 : sadari.exe


 

'장난감' 카테고리의 다른 글

Me2Java ver 0.9 Release!  (0) 2009/04/07
자바 애플릿 채팅  (0) 2009/03/31
사다리 게임  (0) 2009/03/31
메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
HttpCapture  (0) 2009/03/30
enDictionary  (0) 2009/03/30
Posted by 에드몽단테스

쎄지오 메신저에 웹디렉토리를 추가하였습니다.

Ajax 를 이용하여 웹상의 파일관리를 쉽게할 수 있고 업로드 및 다운로드가 간편해졌습니다.

 

 

그리고 드디어 ’자리비움’ 기능을 넣었습니다.

리눅스 또는 윈도우에서 키보드 및 마우스 이벤트를 후킹하지 못해 JNI를 계속 살펴보고 있었는데,

마우스 이벤트의 움직임만으로 JNI를 쓰지 않고 Java Core로 그냥 해결했습니다.

마우스 이벤트만 감지하므로 키보드만 열심히 눌러도 시간이 지나면 자동으로 상태가 변하게 되네요.

기본값은 10분으로 설정되어 있습니다.


'장난감' 카테고리의 다른 글

HttpCapture  (0) 2009/03/30
enDictionary  (0) 2009/03/30
메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
HttpCapture  (0) 2009/03/30
enDictionary  (0) 2009/03/30
Google Calendar 1.0 for JAVA  (3) 2009/03/30
Posted by 에드몽단테스
2009/03/30 21:40

HttpCapture 장난감2009/03/30 21:40

윈도우에서는 웹패킷 잡는 공개된 프로그램들이 많이 있지만,

리눅스에 그런 프로그램을 찾기가 쉽지가 않다.

그래서 만들었다. HttpCapture!!

주 기능은 윈도우 뿐만 아니라 리눅스에서도 패킷들 잡는 것이다.

이더넷 카드 및 장치를 인식해야하기 때문에, 리눅스와 윈도우즈 비스타에서는 관리자 권한이 필요하다.

아직 많이 테스트를 하지 못했지만 발견된 오류들이 꽤있다.

 

1. 이미지와 플래쉬 파일들은 표시를 하지 않으려 했으나 헤더만 표시되거나 내용까지 표시되는 경우가 있다.

2. 패킷이 중간에 짤리는 경우가 있다. - 이부분은 TCP를 좀더 공부해서 연관된 패킷을 잘 조합해야 한다.

 

기존에 윈도우에서 사용하던 캡쳐프로그램을 좀 본따서 만들었는데 영 신통치 않다.^^;

특징은 UTF-8로도 내용을 읽을 수 있도록 했다. 기존에 사용하던 프로그램이 국산이 아니다 보니 UTF-8로 구성된 한글은 모두 깨져버린다. 또한 패킷의 양은 2000패킷으로 제한을 두었다. 2000패킷이 넘었다면 먼저 입력된 패킷들은 과감히 버린다.

검색된 헤더를 클릭하면 아래의 패널에 헤더와 함께 컨텐츠도 표시를 했다.

아직 오류가 많으나 글을 올리는 것은 당분간은 수정할 시간이 없을 것 같기 때문이다.

급한대로 올리고 나중에라도 수정해서 다시 올려야겠다.

 

실행방법은 javaw -jar HttpCapture

리눅스에서 실행하기 위해서는 Jpcap 라이브러리가 필요하다.

윈도우에서는 Jpcap + WinPcap 이 필요하다.

HttpCapture 다운받기

 

'장난감' 카테고리의 다른 글

메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
enDictionary  (0) 2009/03/30
HttpCapture  (0) 2009/03/30
메신저에 웹디렉토리 및 자리비움 기능 추가  (0) 2009/03/30
enDictionary  (0) 2009/03/30
Google Calendar 1.0 for JAVA  (3) 2009/03/30
Posted by 에드몽단테스