반응형

공개된 텔레그램 봇 API 를 이용하여 숫자야구 게임을 만들어 보았습니다.

I have created a Baseball Number (aka Puzzle Strike) game via Telegram Bot API.

사람이 아닌 프로그램이 응답함으로써 컴퓨터 봇과 숫자야구 게임을 하실 수 있습니다.

You can play a Baseball Number game with chat.

텔레그램 아이디 : psbbbot

The Bot ID : psbbbot

홈페이지(The homepage) : http://psbbbot.herokuapp.com/psbot/

영어와 한글을 모두 지원합니다.

The bot supports English and Korean.

다음 이미지는 텔레그램을 통해 직접 플레이한 게임 예시입니다.




반응형

'My Work' 카테고리의 다른 글

TellMeIt 텔레그램 봇  (0) 2017.07.20
숫자야구 플러스 친구  (4) 2017.06.19
1. CLang-LLVM 설치  (6) 2015.04.19
Web Ping (웹을 통한 핑 체크)  (0) 2014.03.20
마이피플 숫자야구 봇  (8) 2013.07.30
반응형

1. CLang-LLVM 설치


1. 리눅스 설치
위 사이트 설명에 맞춰서 설치하였습니다.
Clang 3.7 개발+디버그 버젼이라 빌드하는데 오랜 시간이 소모가 됩니다.
빌드는 64비트 컴퓨터의 CentOS 6.6에서 작업하였습니다.

1. LLVM checkout
llvm을 설치하고 싶은 디렉터리로 이동합니다.
$(HOME) 디렉터리 그대로 사용하였습니다.
svn으로 checkout하여 LLVM의 소스를 다운로드 받습니다.

  • svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
2. Clang checkout
  • cd llvm/tools
  • svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
  • cd ../..
3. 추가적인 Clang 툴들 checkout(옵션)
  • cd llvm/tools/clang/tools
  • svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
  • cd ../../../..
4. Compiler-RT checkout
  • cd llvm/projects
  • svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
  • cd ../..
5. LLVM과 Clang을 빌드
Clang 3.7 개발+디버그 버젼을 설치하기 위해서는 gcc 4.7 이상 python 2.7이상의 프로그램이 필요합니다.
※ 다음 과정은 모두 root 계정으로 진행하였습니다.

5.1. CentOS 6에서 gcc 4.8로 업그레이드 방법
cd /etc/yum.repos.d
wget people.centos.org/tru/devtools-2/devtools-2.repo

yum install devtoolset-2-gcc
yum install devtoolset-2-binutils
yum install devtoolset-2-gcc-gfortran
yum install devtoolset-2-gcc-c++

scl enable devtoolset-2 bash

ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
hash -r

5.2. python 2.7 이상으로 업그레이드.
cd /opt
wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
./configure --prefix=/usr/local
make && make altinstall
$PATH /usr/local/bin이 있는지 확인.
ln -s /usr/local/bin/python2.7 /usr/local/bin/python

5.3 LLVM과 Clang 빌드
$(HOME) 디렉터리에서 다음 작업을 수행합니다.
  • mkdir build (원본 디렉터리를 오염시키지 않고 빌드하기 위해서)
  • cd build
  • ../llvm/configure
  • make
  • make install
윈도우 설치
위의 페이지에서 Download LLVM 3.6.0의 Pre-build Binaries에서 Clang for Windows를 클릭하여 프로그램을 다운로드 받습니다.




반응형
반응형

스마트폰(웹)을 통한 PING 체크

1. 장점

스마트폰, 태블릿, PC 등의 기계에 상관없이 웹을 통해 여러 호스트들을 동시에 핑을 쏘아 확인할 수 있습니다.

2. 사용법

1. 주소(도메인 또는 IP)를 입력하신 후 추가를 클릭합니다.
2. 시작을 누르시면 호출주기마다 핑을 체크하게 됩니다.
3. 상태가 이면 ping 성공, 이면 ping 실패입니다. 
※ 언제든지 주소(도메인 또는 IP)는 추가하실 수 있습니다.

3. 제작정보

링크 : http://webping.url.ph



반응형

'My Work' 카테고리의 다른 글

텔레그램 숫자야구 봇  (0) 2015.09.30
1. CLang-LLVM 설치  (6) 2015.04.19
마이피플 숫자야구 봇  (8) 2013.07.30
Wheeler(마우스 휠버튼을 이용한 화면 캡쳐프로그램)  (2) 2010.12.19
FreeTDS  (0) 2010.02.11
반응형

공개된 마이피플 봇 API 를 이용하여 숫자야구 게임을 만들어 보았습니다.

사람이 아닌 프로그램이 응답함으로써 컴퓨터와 서로 숫자야구 게임을 하실 수 있습니다.

마이피플 아이디 : ps.bot

홈페이지 : http://sdr1982.hosting.bizfree.kr/ps/

다음 이미지는 마이피플을 통해 직접 플레이한 게임 예시입니다.


반응형
반응형
 다운로드
소개
1. 소개
제작자 : 신동렬(Ryan)
홈페이지 : http://sdr1982.tistory.com
이메일 : 1982sdr@hanmail.net

2. 제작동기
 저는 주로 웹 브라이저로 구글 크롬(Google Chrome)을 사용합니다. 크롬을 사용하다 보니 마우스 휠버튼(가운데버튼)의 활용도가 높았습니다. 마우스 휠버튼으로 탭을 닫을 수 있다던가 새창으로 주소를 열수 있다던가 하는 기능었습니다.  처음엔 윈도우 자체도 프로그램을 휠버튼으로 실행하거나 종료할 수 있으면 좋겠다 생각하여 제작하게 되었습니다.

 그리고 휠버튼을 이용한 화면캡쳐 기능이 있으면 좋겠다는 의견을 듣고 바로 기능을 추가하였습니다. 개인적으로 만들고 싶은 기능이나 수정하고 싶은 부분들이 더 있는데 언제 시간이 날 지는 모르겠습니다. 건의사항이 있거나 궁금한 사항이 있으시면 블로그를 방문하시거나 이메일을 보내주세요.

3. 사용한 보조 프로그램 및 라이브러리 
 (1) CxImage
  이 프로그램을 제작하면서 사용한 라이브러리 입니다. JPG 파일과 PNG 파일 저장기능을 구현하기 위해 CxImage 라이브러리를 포함하여 컴파일 및 링크를 하였습니다.

  관련 주소 : http://www.codeproject.com/KB/graphics/cximage.aspx

기능
마우스 휠(가운데) 버튼을 클릭함으로서 다양한 기능을 수행합니다.

1. 화면 캡쳐
2. 화면 캡쳐의 부가기능
(1) 프로그램 실행
(2) 파일로 저장
3. 더블 클릭 효과
4. 프로그램 닫기/종료 효과
5. 프로그램 최소화 효과
6. 마우스 제스처 기능

화면캡쳐
1. 화면캡쳐
(1) 땔 때
마우스 휠(가운데) 버튼을 드래그하여 화면을 캡쳐합니다.
마우스를 드롭(누르던 버튼을 땔 때)할 때 만들어진 사각형 화면 크기만큼 캡쳐됩니다.
마우스를 드래그하는 중에 ESC버튼이나 마우스 오른쪽 버튼을 누르면 캡쳐가 취소됩니다.
(2) 토글모드
마우스 휠(가운데)버튼을 누르면 캡쳐를 할 수 있는 화면 상태가 됩니다.
마우스 왼쪽 버튼으로 사각형을 그려 캡쳐 영역을 지정합니다.
원하는 캡쳐 영역을 지정했다면 마우스 휠 버튼을 또 누르면 그 영역이 캡쳐됩니다.

반면, 이 상태에서 마우스 오른쪽 버튼을 누르면 캡쳐를 취소할 수 있습니다.
(3) 윈도우
마우스 휠(가운데)버튼을 누르면 해당 윈도우가 캡쳐가 됩니다.
Alt+PrintScreen 키 대신 사용하실 수 있습니다.

2. 부가기능
(1) 프로그램 실행
캡쳐를 한 후 지정된 프로그램을 수행합니다. 기본적으로 '그림판' 프로그램이 자동으로 실행됩니다.
'그림판'이 실행되면 자동으로 그 그림판에 캡쳐한 화면을 자동으로 붙여 넣게 됩니다.
 - '하나만 실행' : 지정된 프로그램의 윈도우에서만 캡쳐한 화면을 자동으로 보여줍니다.

 - '프로그램 선택' : 자동 붙여넣기 기능을 수행할 수 있도록 그림판 이외의 프로그램을 지정합니다.
(2) 파일로 저장'
캡쳐를 한 후 그 이미지를 파일로 저장합니다. 기본적으로 프로그램이 설치된 디렉터리에 파일이 저장됩니다.
저장할 때마다 1,2, 3, ... 방식으로 파일 이름이 증가합니다.
 - 'JPEG','PNG' : 원하시는 파일 확장자로 이미지 파일이 저장이 됩니다. 
 - '폴더 저장' : 원하시는 폴더에 그림파일을 저장합니다. (프로그램 실행 때마다 재설정 해야 함.) 




반응형
반응형
FreeTDS
1. TDS
(1) TDS(Tabular Data Stream)
1) 개념 및 역사
  TDS는 Tabular Data Stream의 약자로 데이터베이스 서버와 클라이언트 사이에서 데이터를 전송하는데 사용되는 응용 계층 프로토콜이다. 데이터의 테이블들을 뜻하는 구조화된 바이트 스트림을 서버로 보내기 때문에 Tabular Data Stream이라는 이름이 붙여졌다.
  TDS는 1984년 처음으로 Sybase 회사에서 개발되고 설계되었다. 네트워크 프로토콜을 통해 두 컴퓨터 사이에 데이터를 전송하는 netlib, 클라이언트 프로그램에게 API를 제공하고 netlib을 통해 서버와 통신하는 DB-LIB으로 구성되어 있었다. 또한, 데이터베이스 테이블로 데이터를 더 빠르게 불러올 수 있는 blk(bulk copy) 라이브러리도 제공하였다.
1990년 Sybase 코드에 기반을 둔 MSSQL에 대해 마이크로소프트 기술 동의 협정을 채결하였다. 마이크로 소프트는 DB-LIB API를 유지하면서 ODBC를 추가 하였고 Sybase는 Open Client의 라이브러리인 DB-LIB, CT-LIB을 개발하였다. DB-LIB은 권장하지 않지만(deprecated) 널리 사용되고 있다.
2) TDS 프로토콜
TDS 프로토콜은 다양하게 나왔는데 대부분은 문서가 공개되지 않았다. 예외적으로 Sybase가TDS 5.0 프로토콜 문서를 이용가능 하도록 했다.
TDS 4.2 Sybase와 Microsoft
Sybase/Microsoft를 나누어서 사용하는 버전
TDS 5.0 Sybase
Sybase에서 소개. TDS 5.0은 프로토콜이 확장될 수 있기 때문에 Sybase의 새로운 TDS 버전을 보기는 힘들 것이다.
TDS 7.0 Microsoft
SQL 서버 7.0에서 소개. SQL 서버 7.0의 확장된 데이터 타입을 지원. (255자 이상의 char/varchar 필드) 또한, 유니코드를 지원.
TDS 8.0 Microsoft
SQL 서버 2000에서 소개. 64비트 정수와 “variant” 데이터 타입을 지원.

(2) 관련 용어
1) netlib
두 컴퓨터 사이에 데이터를 전송하는 역할을 한다. 이를 위해 기반이 되는 네트워크 프로토콜을 다루어야 했다. 요즘처럼 TCP/IP가 어디에서든 쓰이지 않았기 때문에 netlib은 TCP/IP 외에도 DECnet, IPX/SPX, NetBEUI 같은 통신망에서도 작동하였다.
2) DB-LIB
DB-LIB은 Sybase의 첫 번째 버전 라이브러리이다. 단점으로는 많은 데이터베이스 비일관성을 보인다. 그래서 새로운 Open Client 개발을 하려면 CT-LIB을 사용하는 것이 더 좋다.
참고주소 : http://www.freetds.org/userguide/dblib.api.summary.htm
3) CT-LIB
CT-LIB은 90년대 초기 발표된 Open Client의 재작성 버전이다. API는 DB-LIB과 완전히 다르지만 더 최신 것이며 데이터베이스의 일관성(Consistency)을 보여준다. 그래서 DB-LIB을 이용한 응용 프로그램은 CT-LIB을 사용하여 컴파일이 어렵고 포팅하기 위해 상당한 노력이 필요하다. DB-LIB은 더 이상 개발되지 않을 것이기 때문에 결국 새로운 응용프로그램은 CT-LIB을 사용하는 것이 좋다.
참고주소 : http://www.freetds.org/userguide/ctlib.api.summary.htm
4) ODBC
DBMS를 사용하기 위한 표준 소프트웨어 API 메소드를 제공한다. 각 데이터베이스의 차이는 ODBC 드라이버에 의해서 흡수되기 때문에 유저는 ODBC에 정해진 순서에 따라서 프로그램을 쓰면 어떠한 데이터베이스 관리 시스템에 관리되고 있는지 의식할 필요 없이 데이터베이스에 접근 할 수 있다.

2. FreeTDS
(1) FreeTDS
 TDS 프로토콜을 다시 구현한 무료 소프트웨어 라이브러리이다. DB-LIB이나 CT-LIB을 대신하여 사용할 수 있고 ODBC 라이브러리를 포함한다. 일반적으로 LGPL 라이선스가 적용되어 소스로부터 라이브러리를 컴파일하여 다른 응용프로그램이 FreeTDS 라이브러리를 링크하여 사용할 수 있도록 한다.
 스크립트 언어를 위해 FreeTDS는 펄, 파이썬, 루비, PHP등과 같은 언어의 모듈과 결합할 수 있다. 또한, jTDS는 FreeTDS의 자바 구현 버전이며 소스포지에서 사용가능하며 jBCP는 jTDS에서 BCP(Bulk Copy Program) 기능을 포함한다.
 현재 TDS 4.2, 5.0, 7.0, 8.0이 구현되었고 Sybase 뿐만 아니라 MSSQL 서버와도 통신할 수 있다. JDBC 드라이버도 BSD 라이선스에 의해 배포되며 다운로드 페이지(http://www.freetds.org/software.html)에서 받을 수 있다.
 FreeTDS는 다양한 용도로 사용할 수 있다. 유닉스/리눅스 웹서버를 통해 웹으로 SQL 서버에 저장된 데이터를 표현할 수 있고, NT에서 Unix로 SQL 서버 데이터베이스 코드를 이식할(port) 수 있고, 유닉스 소스로부터 SQL 서버로 데이터를 가지고 올 수 있으며, native 드라이버 없이 플랫폼에 대한 데이터베이스 접근을 제공한다.
(2) freetds.conf 파일 설정
1) 역할
파일 형식은 win.ini와 비슷하다. 하는 일은 데이터서버 이름(당신의 프로그램)을 기계이름(네트워크)으로 관련시킨다. 
configure 옵션의 –syscondir에 의해 freetds.conf의 위치가 결정된다. configure의 default 위치는 ‘/usr/local/etc/’ 이다.
freetds.conf는 2개의 섹션으로 구성된다. [global] 섹션은 모든 데이터 서버에 영향을 주지만 [dataserver] 섹션에서 오버라이딩할 수 있다.


2) 설정 값의 뜻
tds version= (4.2, 5.0, 7.0, 8.0) 
접속할 때 프로토콜 버전.
host= (호스트이름이나 IP주소)
데이터서버가 실행 중인 호스트.
port= (1433, 2638, 5000)
데이터서버가 사용할 포트 번호. 
FreeTDS는 TDS 프로토콜 버전에 따라 default 포트를 정한다. 5000은 TDS 5.0, 1433은 
다른 프로토콜에 사용.
참고주소 : http://www.freetds.org/userguide/freetdsconf.htm

(1)   DB-LIB을 이용하여 컴파일 하기

1)     빌드하기 위해 필요한 파일들

#include <sqlfront.h> /* sqlfront.h always comes first */

#include <sybdb.h>    /* sybdb.h is the only other file you need */

libsybdb.a 또는 libsybdb.so ( /usr/local/lib 폴더에 있습니다.)

 

2)     빌드 방법

cc -I /usr/local/include -Wl,-L/usr/local/lib -Wl,-R/usr/local/lib (소스파일) -lsybdb -o (실행파일)

-Idir : 헤더 파일이 검색되기 위한 리스트의 디렉터리를 추가한다.

-llibrary : 링킹할 때 library의 이름을 가진 라이브러리를 찾는다.

-Ldir : -l()에 대해 검색되기 위한 리스트의 디렉터리를 추가한다.

-ofile : 출력파일을 정하기 위해 file명을 적어줄 수 있다. (없으면 default로 출력파일은 a.out)

참고주소 : http://www.freetds.org/userguide/samplecode.htm

반응형
반응형

 

 ★취업과 TOEIC(취토)★ 토익900 (http://cafe.daum.net/4toeic)


 삼성을 목표로 고고고!!!! 삼성에 가기 위해 필요한 각종 정보 요청, 삼성 면접 후기, 삼성에 대한 질문 등

 

 

원래는 텝스학원을 다니고 있어서 시간 맞춰보려고 만들었던 건데...

요번주 일요일에 삼성 SSAT를 보게 되었습니다. ^^;

게을러서 이력서 쓰다 딴짓하다 해서 벼락치기 해야할 듯 합니다. ㅠㅠ;



위에 밑줄 친 거 다운 받으셔서 설치하시면 되고요...

'불러오기' 하셔서 SSAT.tim 파일 불러오시면 시간이 나오고요...

재생(▶)버튼 누르시면 시간이 카운트다운되고 첫번째줄의 시간이 0이 되면 소리가 나는 구조입니다. 그리고 알아서 다음 줄에 해당하는 시간이 카운트다운되고요.


언어영역 23분

수리영역 30분

추리영역 22분

공간지각 20분

시사영역 25분

상황판단 25분


이렇게 알고 있는데요...

이공계나 인문계와 시간 배분이 다른지도 궁금하고...

1~5번째줄은 1부시험으로 알고 있고 상황판단과 인성검사는 2부로 알고 있는데...

위의 시간 표시가 잘 되어 있는 지 알고 싶습니다.


만약 시간이 틀리다면 SSAT.tim파일과 프로그램을 수정해서 올릴 계획입니다.


모두 취업 건승하시고 좋은 하루 되세요~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

★취업과 TOEIC(취토)★토익900

(http://cafe.daum.net/4toeic)

 

반응형
반응형
반응형

+ Recent posts