Daybreakin Things

Posted
Filed under 컴퓨터
아무리 IE가 지나치게 유연한 브라우저라고는 하지만 이건 너무 심했다.
(아래의 {ampersand}는 모두 &을 가리킴)

"{ampersand}nbsp;"와 "{ampersand}nbsp" 를 동일하게 처리하고 있는 것이다. (아래는 Firefox에서 본 것인데 동일한 페이지를 IE로 보면 {ampersand}nbsp가 보이지 않는다)

Naver 지식iN 도움말 부분의 버그


그러니 Naver 같은 대형 포털에서도 웹 개발자들이 세미콜론 쯤은 빼먹어도 IE에서는 별로 문제가 없으니 다른 브라우저에서는 깨지든지 말든지 그냥 두는 것이다.

뭐, 이것 말고도 a 태그를 쓰지 않고 div, td 등에 javascript로 링크를 걸 때 style로 cursor:pointer를 주면 모든 브라우저에서 링크를 가리킬 때의 마우스 포인터 모양이 제대로 나오는데 IE만 cursor:hand라는 걸 만들어 놓는 바람에 그걸로 해 둔 사이트들은 다른 브라우저에서 그곳을 클릭해도 뭔가 링크가 동작하는 곳인지 헷갈리게 되어 있다. (Naver에서 무언가 페이지를 고르는 링크는 전부 cursor:hand로 되어 있다. 내가 예전에 naver에 건의했으나 담당팀에 알려주겠다고만 하고 전혀 고쳐지지 않았다)

아래는 span 태그에 style을 건 것이다. IE와 Firefox에서 비교해 보라.
cursor:pointer
cursor:hand

IE도 문제지만 아직도 다른 브라우저에 대한 고려가 없는 건 이제 반성하고 고치도록 노력할 때가 되지 않았나 하는 생각이 든다.
Posted
Filed under 컴퓨터
내가 아무리 시험공부를 하고 있던 중이지만, 이건 너무하다 싶어 글을 쓴다.

내가 운영하고 있는, 그러나 사람이 거의 오지 않고 있는, Daybreaker's Program Feedbacks 사이트는 phpBB로 만들어져 있다.

거기에 누군가 회원 등록(나와 그 사람을 합쳐서 2명만 회원..-_-)을 했는데 새 글이 없었다. 누군가 하고 프로필을 봤더니..

(......)


성인 사이트 스팸이잖아!! 섊!! -_-

자동화 프로그램을 이용했는지 여부는 모르겠으나 앞으로 phpBB를 운영하시는 다른 분들도 조심해야 될 것 같다. (그나마 난 회원이라도 적어서 쉽게 알아낼 수 있지만...)

ps. 태터 수정해서 올블로그 추천, 스크랩 기능 추가.
Posted
Filed under 컴퓨터
시험공부하다가 갑자기 세벌식 모아치기가 생각나서 시도해 보았다.
(이제 보통으로 치는 세벌식은 장문 20분 동안 쳤을 때 평균 230타에, 최저 180타, 최고 320타이다.(한 줄 단위) 세벌식으로 MSN 하는 데도 별도 불편하지 않고. - 시작한 지 한 달 되었음)

오~~

한 글자 한 글자 바로바로 완성되니까 입력하는게 이렇게 보기 좋고 재미있을 수가 없다. (마치 세벌식 예찬론자처럼 보이겠는데, 정말 두벌식으로 칠 때 비하면 훨씬 재미있다)

탁탁탁.. 한 자에 한 번씩 소리가 나니까 박자감도 있고.
(다만 밤에 기숙사에서 치거나 도서관에서 칠 때는 시끄러울 염려가...)
예전에 아론의 기계식 키보드를 쳐본 적이 있는데 만약 모아치기를 그런 것으로 한다면 제맛이 날 것이다.

shift가 들어가는 받침은 어쩔 수 없이 따로 쳐야 하지만, 대부분의 글자들은 모아치기로도 가능할 듯 싶다.

한 가지 아쉬운 점은 날개셋 입력기가 상대적으로 길고 짧은 타이밍을 인식해서 앞 글자에 받침이 없고 뒷글자에만 받침이 있는 경우 앞글자로 받침이 붙는 현상을 줄여 주었으면 하는 것이다.

그래도 훨씬 재미있다. ^^;;
Posted
Filed under 컴퓨터
시험 기간 중에 한 삽질에 따르면(......), Windows에 내장된 굴림과 돋움 글꼴이 8, 9, 10pt에서도 깔끔하게 잘 보이는 이유는...

true type으로 vector shape를 잘 그린 것이 아니라, 별도로 화면 표시용 bitmap 데이터를 내부에 포함하고 있었다는 것. orz

이런 이야기가 갑자기 왜 나오냐면 daybreaker's coder 글꼴을 만들면서 고정폭으로 만들면 한글이 너무 안 예쁘게 나와서 가변폭으로 두었었기 때문에 그걸 고정폭으로 하려다 생각해보니 굴림체가 있었던 것이다.

굴림체 data를 추출해서 영문만(-_-) daybreaker's coder로 바꿔치기했더니 웬걸 19pt까지는 원래꺼가 그대로 나오는 것이었다.

난 원래 9, 10pt용으로 만드려고 했으므로 안되겠다 싶어 font에 주어지는 온갖 옵션들을 다 뒤졌더니 true type table에 unsupported로 EBD, EBDL (embedded bitmap data 뭐 이런 거)가 들어가 있었던 것이다. (instructions may depend on points라는 항목이 어딘가에 있었는데 그것과 관련된 것이었다)

그 옵션들을 모두 삭제하니 역시 작은 포인트에서도 영문은 내 디자인으로 잘 나왔다.

그런데 한글은.....

'굴림체 Coder' 글꼴. 대략 난감해졌다.. OTL


누가 bitmap 정보를 ttf에 포함시키는 방법좀 알려줘요~~!! (아예 내 영문 글꼴도 bitmap으로 만들어 버렸으면...)

ps. 그렇게 하고 나니 12.7 MB이던 ttf 용량이 5.7 MB로 줄더라..orz

ps2. 시험기간에 이런 삽질 잘 하고 있다고 생각되면 추천에 한표. (올블)
Posted
Filed under 컴퓨터
대용량 자료 공유를 위해 1일 다운로드 횟수를 제한하는 간단한 php 프로그램이다. 귀찮은 관계로(....) mysql을 사용했는데 사실은 file로 관리하는 편이 나을 것이다. 사실 만든 건 일주일 정도 됐는데 실제 사용하면서 버그 등을 대충 잡은 다음 공개하는 것이다.

프로그램은 여기서 볼 수 있다.

현재 0.1 버전이고 추후 시간이 나면 관리자 인터페이스 등도 추가할 계획이다.

ps. send_file 함수에서 fpassthru가 끝난 다음 다시 redirection 시키려면 어떻게 해야 하는지 답변 달아 주시면 감사하겠다. (naver 지식in에 올렸더니 header("Refresh: 0; URL=xxxx"); 라고 하던데 안 된다)
Posted
Filed under 컴퓨터
망할 maple 숙제.. -_-;;

결국 끝내고 말았다. Newton Method야 별로 어려울 것이 없었고, 문제는 소수 판정 알고리즘을 만드는 것인데, 아이들은 Robin-Miller의 정리를 이용하는 것에서부터 에라토네스의 체 등 여러 방법으로 제작하고 있었다.

한 친구랑 이야기하다가, 소수는 항상 6n±1 (n은 자연수)에 속하므로 간단히 그 수들로만 나누면 될 거라는 아이디어를 그 녀석이 이야기해 주었다.

사실, 내가 구현하고 있었던 방법은 수의 범위를 어떻게 주든지 간에 무조건 1부터 시작하여 하나씩 수를 증가시키면서 그 동안 나타난 소수들을 배열에 저장하고 그 배열에 든 범위까지는 배열의 소수로만 나누어 본 뒤 그 범위를 넘었을 때만 일일이 나눠보는(물론 sqrt(n)보다 작은 수까지만) 방식이었다.

하지만 태생적인 문제로 수의 시작 범위가 1보다 많이 큰 수들에서는 1부터 계산해야 하기 때문에 불리할 수 밖에 없었다. 게다가 결정적으로 maple 자체가 배열 처리가 느리다는 이야기를 듣게 되었다.

결국 삽질 끝에(?) 그 기본 아이디어에 약간의 최적화를 하니 아래와 같은 엄청난 결과를 얻을 수 있었다. 드디어 성공이다!! (그러나 시험은 일주일 남았다...OTL)

1부터 백만까지의 소수 개수 구하기.. naive는 너무 느려 중단시켰다.
tested at Pentium 1.5 GHz Centrino

Posted
Filed under 컴퓨터
갑자기 메모장, 알집 등으로 파일을 여는 속도가 느려졌다. (각각을 그냥 exe만 실행하는 건 빠르게 잘 된다)

지식iN 같은 델 찾아봐도 뚜렷한 해결책 없이 포맷하라거나 adaware 돌리라는 대답 뿐이다. adaware를 돌리긴 했지만 별다른 것도 없었고.
(컴퓨터 살 때 껴준 Norton Antivirus를 항상 자동 업데이트하여 최신으로 유지하고, SP2의 방화벽도 켜 놓기 때문에 어서 웬만해서는 안 걸린다)

다른 건 몰라도 txt/ini/inf 등등을 메모장으로 열 때마다 랙이 걸리면서 수십초 동안 열도록 명령한 프로그램이 먹통이 된다.

또 하나, 탐색기에서 오른쪽 버튼으로 파일을 클릭하면 그때도 비슷하게 잠시 먹통이 된다.

도대체 이런 현상들은 왜 발생하는 걸까?

-----------

registry를 추적해 보니, system 폴더의 query.dll (1.36MB짜리..)와 관련이 있을 듯하다. 더더욱 신기한 건 인터넷에 연결이 안 되어 있으면 저런 현상이 거의 일어나지 않는다는 점이다.

정확히, tray 표시 부분에 'xxx에 연결되었습니다 / 연결이 되지 않았습니다'에 맞추어 저런 현상이 나타나거나 나타나지 않거나 한다.


ps. 혹시 해결 방법 아시는 분을 코멘트 부탁드려요! ^^
Posted
Filed under 컴퓨터

김용묵 님의 입력기 <날개셋>에 있는 자판 보기창


세벌식 최종 자판으로 전환한지 약 2주 정도.

현재 max 200타, average 150타 정도 나오고, 겹받침(ㄵㄼㄻㅀㄿ 등)에서 극도로-_- 느려지는(귀찮아서 자판을 안 외웠다..) 경우가 있지만 이제는 두벌식보다 세벌식이 편하게 느껴진다.

대충 하는 이야가들을 들어보니 300타까지는 무난하게 속도가 오르다가 한 번 고비가 오고, 그걸 넘기면 400, 500 이상으로 계속 올라간다고 한다.

확실히 똑같은 글을 치더라도 세벌식이 더 부담이 적다. 이젠 세벌식 자판으로 숫자를 입력하는 것도 많이 익숙해졌고, - ! " ? % : · 을 입력하는 것도 편해졌다.

처음에 자판을 처음 외울 때, 두벌식을 까먹고 세벌식도 느릴 때가 가장 힘들었지만(특히나 레포트가 겹치는 경우..orz) 이젠 그다지 불편하지 않을 정도다.

세벌식으로 바꿔 보는 건 어떨런지.... ^^;
Posted
Filed under 컴퓨터
어제 쯤 JH님 블로그에 올라왔다.

버전이 0.01씩만 올라가도 정말 계속해서 업그레이드되는 걸 몸으로 느낄 정도였는데, 한번에 0.05나 올려, 그것도 1.0 정식 버전이라니 정말로 기대된다.

UTF-8, XHTML 1.0을 지원하고, 일본어/영어/중국어 언어팩을 지원할 예정이라고 한다. 그 외에도 상당 부분 새로운 기능이 추가된다고 하니 정말 기대하지 않을 수 없다.

발표일은 2005년 5월 15일.
코드명 : chorus
- 이것이 가장 맘에 드는데, 모두 다 함께 노래하자는, 모두가 참여하는 web을 상징하는 것 같다. (특히 다국어 지원이 가능해진다는 점에서 그렇게 지은 것 같다. 실제로 중국에서 태터 툴즈를 가져다 쓰는 사례가 있었으므로 정식으로 지원하면 우리나라의 위상을 높이는 데도 한몫 할 것이다.)

이 정도라면 정말 돈 주고 사서 써도 아깝지 않을 프로그램이라고 생각한다.

태터 툴즈 화이팅!!
Posted
Filed under 컴퓨터
이 스킨은 처음에 firefox와 호환이 안 되었었습니다. (제작자 분이 방법을 모르셨던 듯..) 그래서 제가 임의로 수정하여 사용하고 있었는데 그 수정본 소스를 달라는 요청이 많아 이렇게 공개합니다.

스킨 원작자는 clowleed 님( kokoro studio )이며, 그분의 허락 아래 배포합니다.

* 수정한 것들
방명록의 scrollbar 설정 조절, 오른쪽 floating 메뉴의 padding 조절, 본문에 달린 trackback, replies 버튼 안 깨지게 함.
-> 수정 후 우측 메뉴 내부의 스크롤바는 아예 없앴습니다. (IE가 죽는 오류의 원인이라고 함) category를 다 여는 경우 짤릴 수 있습니다.

* 수정하지 못한 것
Replies나 trackback 버튼을 눌렀을 때 화면이 늘어나는데, 늘어난 부분의 배경이 원래 위쪽의 것과 이어지지 않는 문제
- 4/6 12:30부터 받으신 것은 맨 아래 생기는 약간의 흰 공백을 제외한 배경 연결은 되도록 수정했습니다.

* 받으신 후 하셔야 할 일
- skin/futaba_gen/term 디렉토리에 있는term.html 파일을 수정하셔야 합니다. 현재는 제 홈페이지에 맞게 수정된 상태입니다.
- skin.html의 77행에서 About 링크를 없애거나 각각에 맞게 수정하시기 바랍니다.

다운로드하기
Posted
Filed under 컴퓨터
저번에도 개발자(김용묵 님)를 직접 모셨었는데 다시 버그를 발견하여 또 기숙사 방으로 모셨다. -_-;; (이번엔 해프닝이 아니라 진짜 디버깅이었다..)

IE에서 자동완성 기능 옵션 중 '웹 주소'를 제외한 나머지 두 옵션 중 하나라도 켜져 있으면 날개셋 입력기 -> MS IME로 전환할 때마다 ngsime.ime에서 오류가 나서 IE가 종료되어 버리는 것이었다.

디버그 결과, 윈도우가 닫힐 때 내부적으로 lParam으로 어떤 포인터 값을 전달하는데 중간에 null (0)이 되어버리는 것이었다.

원인을 알 수 없었지만 null일때 다음 코드를 실행하지 않게 함으로써 오류는 막을 수 있었다.

그리고 추가로 발견한, 한글 2004에서 시스템 입력기로 날개셋을 이용하다가 종료시 오류가 발생하는 상황은 코드의 어디서 에러가 난다는 사실은 알아냈으나 구체적인 원인과 해결 방법을 찾지 못했다. (이 오류의 발견 덕분에 물리 레포트 일부를 날렸다..orz)

아무래도 이번 버그들이 고쳐지면 새로운 minor 업그레이드가 될 것 같다. 추가로, 야식도 한 끼 약속해 주셨으니 시간 나면 얻어먹을 수 있을 것이다. ^^;

ps. 이번 사건(?)을 계기로, windows 내에서도 버전과 환경에 따라 똑같이 동작하는 프로그램을 만들기가 얼마나 어려운지 알 수 있었다. (특히나 IME/TSF와 같은 건 multi-thread 환경인데다 window handle이 수시로 생성/소멸되기 때문에 안정성 확보가 가장 어려운 것 같다..)
Posted
Filed under 컴퓨터
하나로 통신 3년 약정도 끝났겠다, 다른 회사 것도 써 보고, 속도도 올리는 차원에서 우리 아파트에 새로 개통된 온세통신의 광 인터넷 서비스를 신청했다. (오늘 집에 UTP 배선을 하여 사용가능한 상태..)

내가 기숙사에 있는 관계로 테스트는 이번 주말은 되어야 가능하겠지만, KAIST와 동급의 속도가 나온다니 기대해 볼 만 하겠다. (평균 50~80 Mbps 정도란다)

아.. 집에 가고 싶어라.. -_-;;
Posted
Filed under 컴퓨터
얼마 전부터 세벌식을 배우려고 김용묵 님이 만드신 날개셋 입력기를 쓰고 있었다. 그런데 3.02에서 3.1로 패치를 한 뒤부터 거의 모든 프로그램(처음엔 firefox만 그런 줄 알았는데 나중엔 msn messanger까지 다...)에서 에러가 나는 것이었다.

그래서 개발자이신 김용묵 님의 홈페이지(누리집) http://moogi.new21.org 에 버그 리포트를 했는데, 재현이 안된다는 답신이었고, 결국 개발자를 직접 기숙사 내 방으로 모셔왔다. -_-;; (서로 같은 카이스트 기숙사에 살고 있으므로...)

Platform SDK를 까는 등 컴파일을 하기 위한 만반의 준비를 마치고 나서 설치부터 제대로 되었는지 확인했다. 그랬더니 어떤 파일은 최신이고 어떤 건 예전 버전이고.. 심지어 파일 속성은 최신인데 실행은 예전 것으로 되고... 한 마디로 버전이 꼬여 있었던 것이다.

그래서 새로 배포 중인 3.1 새 설치 버전으로 깔았더니 해결. orz...

내 기억엔 아마도 수동으로 패치하면서 system 폴더에 들어간 것들이 제대로 업데이트가 안 된 것이 원인으로 보인다.

이제 다시 세벌식 라이프를 시작해 볼까나... (이 글도 세벌식으로 작성. 15분 걸림.. - 아직 연습이 많이 필요하다...)
Posted
Filed under 컴퓨터
관리자 모드나 뭐 그런 건 도저히 못 건드리겠고..
일단 외부 사용자들에게 보여지는 부분들은 HTML 4.01 Transitional 표준에 맞추는 데 성공했다.

가장 큰 문제는 PHPSESSID가 붙을 때 "&"이었는데 그건 토끼군이 알려준 대로 ini_set('arg_separator.output','&_amp;');를 함으로써 해결했다. (&과 amp; 사이의 밑줄은 태터 파서의 해석을 막기 위한..-_-)

이 작업을 하면서 가장 황당했던 것은, 스킨에 들어있던
<img width=1 height=1> 라는 코드였다. alt를 빼먹은 것까진 봐주더라도 src조차 없는 img 태그라니... orz

아무튼 이렇게 해서 성공이다.
(방명록 등도 곧 validation할 예정.)

주요 수정 목록 :
- 스킨 : src와 alt 없는 img 태그 모두 수정. 스타일시트에서 단위 빠진 것들 모두 넣음. table 태그에서 cellspacing이나 cellpadding이 중복되지 않게 하며 모두 스타일시트로 구현. textarea의 cols 속성 빠진 것 넣기. html element 중 attribute에 quot 빠진 것들 넣음(특히 자바스크립트나 링크).
- index.php에서 include 뒤에 ini_set('arg_separator.output','&_amp;'); 붙임으로써 PHPSESSID에 의한 validation 오류 제거
- inc_function.php에서 키워드 링크 거는 부분(set_keyword 함수)에서 자바스크립트에 quot 안 붙어 있던 것 수정
- inc_function.php에서 트리 출력 코드에서 table의 cellspacing 및 cellpadding 중복 수정, tag style 중 color에 # 빠진 것 넣음.

css에서 원래는 sans-serif 같은 alternative general font family를 지정해야 하지만 그건 귀찮은 관계로.. 에디터 매크로 같은 거 만들어서 돌리면 금방 될 듯하다.
Posted
Filed under 컴퓨터
내 홈페이지의 sparcs 분점을 만들면서 XHTML 1.1와 CSS 표준을 모두 만족시켰다. (본점의 대문도 마찬가지)

그런데 태터툴즈는 이미 validation result를 익히(....) 알고 있던 터라 손을 못 대고 있었는데 마음 먹은 김에 확 해 보기로 했다.

이것저것 삽질 끝에...
(img 태그에 alt 붙이고, 심지어 src가 없는 img가 난무하기도 했으며, cellspacing을 모두 없애고 css로 대체.. px 단위가 빠진 좌표며, #을 빠뜨린 색상 지정 등등...)
한가지, 그리고 가장 고치기 어려운 에러가 하나 남았다.

무엇인고 하니...
Line 115, column 51: reference to entity "PHPSESSID" for which no system identifier could be generated

...="index.php?ct1=3& amp;ct2=6&PHPSESSID=18d5d8e585fb3012b9ca22e5ee4c15af">

This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.

#

Line 115, column 41: entity was defined here

... <a href="index.php?ct1=3& amp;ct2=6&PHPSESSID=18d5d8e585fb3012b9ca22e5ee4c1

OTL...

W3C 표준에 따르면, ampersand 문자는 entity를 정의하는 데 사용되기 때문에 URL 및 HTML 내부에서는 & amp;로 대체해서 써야 한다. 그런데 php에서 세션 관리를 통해 자동으로 붙는 PHPSESSID가 저렇게 넘어갔더라는 것이다. 문제는, 소스 코드에는 아무 하자가 없는데(굉장히 꼬여 있긴 하지만 -_-) validator로 넘어가면 저렇게 php seesion id가 붙어버린다는 것.

이 문제는 더이상 내가 아는 범위로는 해결이 불가능하다. 누가 좀 알려주시면....ㅜ_ㅠ;;

ps. 표준에 맞추려다 보니 트리 출력 부분 때문에 어쩔 수 없이 태터 소스코드에 손을 대야 하더라..orz