Number n ::= d | nd (d in Digit)
Symbol s ::= c | sc | sd (c in Char)
Atom a ::= n | s
Expr e ::= a | (e … e)
Posted by 귀천
Number n ::= d | nd (d in Digit)
Symbol s ::= c | sc | sd (c in Char)
Atom a ::= n | s
Expr e ::= a | (e … e)
Posted by 귀천
Posted by 귀천
Posted by 귀천
트루타입 글꼴(ttf) 을 가지고 있을경우에 이를 설치하는 방법은 매우 간단합니다.
적절한 글꼴을 찾으신다면 무료 글꼴 네이버 나눔글꼴 을 추천합니다.
일단 다운로드 하셨다면 글꼴을 넣을 적절한 폴더를 생성합니다.
우분투에는
/usr/share/fonts/truetype
이라는 폴더가 있습니다.
만약에 설치하고자 하는 폰트가 네이버라면
/usr/share/fonts/truetype/naver
라는 식으로 폴더를 생성하고
저 폴더안에 다운로드한 폰트들(나눔 고딕.ttf, 등등)을 넣습니다.
물론 super user 권한으로 해야겠지요.
다 되고 나면 다음 명령어를 실행해 줍니다.
sudo fc-cache
그놈의 글꼴 설정에 가보면 새로 복사한 글꼴들을 볼 수 있습니다.
끝.
Posted by 귀천
뭐 다들 아시겠지만. IE 의 경우 한글 같은 데이터를(no ascii)
서버측으로 날릴때(form에서 get 이나 post)
겁나 깨져서 날라 갑니다.
불여우에서는 잘 인코딩 되서 가지요..
그래서 보통 submit 하기 전에
onsubmit 등의 이벤트를 걸어서 자바스크립에서 encodeURI 등으로
인코딩을 해주고 날립니다. 그리고 서버측에서 decode 해서 쓰지요.
Java 에서 decodeURI 의 역할을
하는 메소드가 있어서 잘 하면 되고,
PHP 에서는 urldecode 라는 함수가 있습니다.
그런데, PHP 에서 받아가지고
저 urldecode 로 했드만 잘 안되더군요. 알고보니 utf-8 이라서 !!
즉, 유니코드를 encodeURI 해서 받은것을, php 의 urldecode 녀석은
제대로 decode 하지 못 합니다.
그래서 찾아봤더니, 유니코드용으로 누가 작성을 해 놨네요.. 링크 참고 하시길
unicode_urldecode
Posted by 귀천
우분투를 쓰고 있는데 종종 바탕 화면에 아이콘들이 너무 많아서
지저분 해 보일때가 있습니다.
그래서 뒤지던중 nautilus 의 gconf 값중에 show_desktop 이란 녀석을 봤네요.
이 값을 체크해주면 바탕화면에 아이콘들이 보이고 다시 체크를 없애주면
바탕화면의 모든 아이콘들이 사라 집니다. 그래서 이걸 간단하게 스크립으로
짜뒀습니다. 키 바인딩 해두고 토글 처럼 쓰면 편하네요.
단 문제점은 사라지는 것은 바로 사라지는데 다시 나타나게 토글을 하면
바로 나오지가 않고, nautilus 를 한번 실행해 줘야 다시 바탕화면에 나타납니다.
바탕화면 icon redraw 매카니즘이 어떻게 되는지 모르겠어서 일단은 그냥
쓰고 있습니다. :)
Posted by 귀천
데비안 계열의 운영체제에 /etc/init.d 에 보면 각종 스크립들이 있습니다.
이 스크립들은 /etc/rc(런레벨번호).d 등에 링크되어서 시스템이 어떠한 run level 아래
구동될때 실행되게 됩니다. 웹 서버라면 mysql, apache 등이 들어 있겠지요.
보통 이 스크립들은 우분투 패키지 설치시에 자동으로 생성됩니다.
그런데 기존에 이 스크립이 없고, 관리자가 어떤 서비스를 시스템 구동시에
자동으로 시작하고 싶다면,
이 스크립을 추가해 줘야 합니다.
스크립의 실행은
스크립이름 start
스크립이름 stop
스크립이름 restart
스크립이름 force-reload
.
.
이런 식으로 시작이 되도록 해야 하고,
스크립이 작성되면
update-rc.d 스크립이름 defaults
라는 명령으로 등록을 해줘야 합니다.
그렇게 되면, 차후에 시스템이 재 구동 되어도 스크립이 자동 실행 되기 때문에
원하는 서비스를 자동으로 구동 할 수 있습니다.
이 스크립의 기본 템플릿은 다음과 같습니다.
이런 양식으로 /etc/init.d 에 작성해 주고, update-rc.d 로 등록을 해주면 됩니다.
이 스크립들이 무슨 특별한 동작을 한다기 보다는, 데비안 계열 시스템 내에서
약속된 어떤 양식에 따라서 스크립을 작성해 주고 이 스크립 안에서 원하는 프로그램을
구동시켜주거나 중지 시키거나 하는등의 명령만 짜두면
시스템이 구동 될때 자동 실행 됩니다.
아니면 관리자가 그냥 실행 할 수도 있죠.
기존에 있는 /etc/init.d 의 스크립들을 참고하는 것도 좋은 방법 입니다.
run level 에 따라 등록하거나 자세한 옵션은 man update-rc.d 를 참고하세요.
Posted by 귀천
Posted by 귀천
나사에서 주기적으로, Image of the day 를 올리는걸 보고
종종 이미지가 맘에 들길래 스크립을 짜 봤습니다.
cron 으로 돌려주면, 새로운 이미지가 있는지 확인하고 있으면 다운로드 해서 배경화면을 변경 합니다.
gnome 에서 동작하고, gconftool 을 이용해서 배경화면을 변경 합니다.
Posted by 귀천
파이썬 네이트온 봇 디버깅에 기능 추가까지 완료.
이전에 딜레이 걸리던것 처리 됐고, 몇가지 자잘한 버그를 더 잡았다.
뭐, 또 다른 버그가 있을 수 있겠지만 일단 잘 돌아가는 것 같다.
지금 쓰는 기능들은 게시판 모니터링, 서버 모니터링(시스템 사용율, cpu 온도 등등, 서버 접속자 보기)
구글api를 이용한 날씨 보기. 수업 시간표 출력 등등... 아주 간단한 것들이다.
그리고 모듈 한가지, irc 채팅이다. 지하철에서 이동하다가 심심하면 irc 채팅을 할 수 있다 .
지하철 이동할때 참... 심심한데, irc 채팅방에 접속해서 눈팅만 하더라도 꽤나 재미있다.
몽땅 text 라서 조금 제한적이고 재미가 덜하다.
하지만, 이 네이트온 메신져는 서버측 사용자가 작성한 프로그램의 text user interface 로 사용할 수 있기때문에
텍스트 기반으로 어떠한 정보를 받아보고 싶다면, 유용할 수도 있겠다.
이번에 네이트온 봇을 작성하면서 파이썬의 파워를 다시금 느낄 수 있었다.
그리고 socket 을 가지고 놀고 프로토콜도 분석 했으니, 네트워크 공부가 조금 된 것 같다.
네이트온 프로토콜은 공개되지 않고 인증이 필요해서 이것 저것 복잡했는데
IRC 프로토콜은 너무나도 간단했다. 그냥 접속해서 명령 몇개 던지니까 바로 접속이 되더라.
그래서 만약에 누군가 봇을 만들어 보고 싶다면, irc 봇을 만들어 보는 것도 좋을 것 같다.
아래는 이전 네이트온 봇 링크, 다운로드 링크 수정했음
네이트온봇
Posted by 귀천