컴맹주제에 간만에 IT쪽 관련 포스팅을....

나도 여름하늘님처럼 IE기반(엔진) 브라우져를 여러개 써봤다. Avant Browser부터 시작해서, 웹마Maxthon까지. 아, jwBrowser도 잠깐 썼긴 하네. 처음 쓸때는 "와~!"하는 장점들만 보여서 좋아라 했는데 쓰다보면서 점점 느껴지는 단점들 때문에 불편이 이만저만이 아니다. FireFox를 거쳐 지금의 Opera까지 안주하게 되었는데, 그나마 아직까지도 마음에 안드는 부분들이 있는데 가장 큰 문제라면 우리나라 웹사이트들은 반드시 IE아니면 안되는 곳이 있다는 점. 그래서 IE 6.0(7.x 이상은 너무 무겁...)를 그때그때마다 띄워 썼지만 여간 불편한게 아니다. 다행히 IEtoy덕분에 그나마 유용히 쓰긴 했지만. 아무래도 탭브라우징이 필요했기도 했지만 다시 예전의 그 브라우져들을 쓰기엔 내가 느꼈던 단점들이 커보였던지라, 한번도 써보지 않은, 그리고 여러 찬사를 많이 들어왔던 TheWorld라는 브라우져를 써보기로 했다.

서론이 좀 길었는데, 아무튼 이 브라우져가 예전 버젼에서는 한국어를 지원해주었었는데 최근 릴리즈되는 버젼부터는 한글버젼을 지원하지 않는지라, 여기저기 검색해보다가 예전에 Tooz님이 번역하신 구버젼 dll을 찾았다. 여기에 Tooz님이 올려주신 버젼 바꾸기 팁을 적용해 dll을 수정하였다. Tooz님이 번역하느라 고생하셨는데, 동의도없이 내가 숫자 몇개만 바꿔서 이렇게 뿌리는건 예의가 아니라는건 알지만.. Tooz님도 좋은 의미로 받아주시리라 믿고 배포.

다운로드 : kor.dll

우선 TheWorld가 실행되고 있지 않은 상태에서, 위 파일을 적당한 곳에 넣어두고, TheWorld브라우져 실행시켜서 View - Languages의 한국어를 선택해주고 TheWorld 브라우져 재시작하면 끝.

,

  • [07:39] <####> 음
  • [07:39] <####> 라오빠
  • [07:40] <####> ㅠㅠ
  • [08:36] <Ra> 에?
  • [08:36] <####> 에~
  • [08:36] <Ra> 왜 아침부터 징징되셈
  • [08:36] <####> IRC 에서
  • [08:36] <Ra> 나 컴맹
  • [08:36] <####> 흑
  • [08:37] <Ra> irc에서 뭐?
  • [08:38] <####> 아이피주소보는법
  • [08:38] <Ra> 아이피주소를 보는법?
  • [08:38] <Ra> /whois nickname
  • [08:38] <####> 그거
  • [08:38] <####> +x 로 숨기면
  • [08:38] <####> 못보나여
  • [08:38] <Ra> 못봐염
  • [08:39] <####> 전혀 방법이없음?
라는 이야기가 나와서 해봤는데, 결론은 방법 있음.

결론부터 말하자면, DCC중 netstat으로 ip확인. 끝.

  1. IP를 알고자 하는 사람에게 (무난하게 용량 큰걸로)파일을 전송한다(혹은 받는다).
  2. 대기중에는 작동되지 않을듯. 전송이 시작되기를 기다린다.
  3. 시작 - 실행 창에다가 cmd라고 입력하면 까만 창이 하나 뜬다.
  4. 거기다가 netstat -a라고 입력한다.
  5. 사용자 삽입 이미지
    위 그림에서 빨간 박스가 그사람의 IP이다. 포트(:1024)는 내 설정 때문이니, 보통은 다른 숫자로 나올듯.
,

Chrome의 인기

Free 2008. 9. 4. 13:44

어차피 한국에서 사용하는 브라우져라면 ActiveX가 사용 가능한 브라우져냐 아니냐가 가장 중요한 문제일 수도 있겠지요. 하지만 IE(ver 8.0 미만)엔진에서만 ActiveX가 돌아가니 비IE브라우져간을 비교할때는 이 부분에대해 왈가왈부할 필요는 없겠지요.(FF는 IETab이 되잖슴? 이라고 한다면 안타까운 마음이 들어요. IE하나 더 띄우는거랑 뭐가 다르냐고 묻고싶네요. IETab도 IE엔진이니까요.)

그래서 비IE 브라우져들끼리 성능을 비교할 때 안전성과 호환성을 이야기하기도 하지만, 제가 중요하게 생각하는 부분은 얼마나 가벼우면서도 빠르냐 하는 부분입니다. 써오던 PC들이 모두 고급사양의 PC가 아니라서일지도 모르겠네요. 알파버젼이라면 모를까, chrome이 베타가 끝난다 하더라도 기능의 확대와 안정성의 증가는 기대해볼만 하지만, 속도의 대폭 개선이나 하는건 쉽지 않을듯 싶네요.

여기저기 돌아다녀서 chrome에 대한 소식을 접하다가 여리님이 작성하신 포스트를 보고 저도 삘받아서 chrome의 성능을 Opera와 비교해서 올려봅니다.

우선, 메모리 점유율

naver만으로 탭을 띄운 경우.

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

google만으로 탭을 띄운 경우.

사용자 삽입 이미지
사용자 삽입 이미지
단위는 KB. Opera의 경우 컨텐츠 차단 기능(FF의 AD-Block과 비슷한 기능)을 제거하고 확인하였습니다.(아무래도 무거운 flash들을 제거하고 불러오면 격차는 훨씬 더 커질테지만)
무거운 페이지일수록 격차가 심하게 나는 것이라고 예측이 되네요. 어지간히 탭브라우징 기능을 선호하는 사람들이라면 탭 서너개는 기본으로 띄우고 있을테니.. 이런 경우라면 배 이상의 차이라고 생각합니다. "메모리 1GB정도야 더 점유해도 상관없어!"라고 하신다면 모를까, 이런 부분들이 쌓이다 보면 그게 체감으로 느껴지게 되는게 아닐까요?

javascript 속도

Internet Explorer 6.0

사용자 삽입 이미지

Opera 9.52

사용자 삽입 이미지

Chrome 0.2

사용자 삽입 이미지

자, IE는 기대도 안했으니 제껴두고, Opera가 Chrome보다 조금 더 빠르네요.

여러가지 장점들을 가지고 있는 Opera이지만 "비주류"라는 이유로 홀대받는듯 하여 서운합니다. 몇 년 전 IE가 90%이상의 점유율을 보이던 시기에 FF유저들의 마음이랄까요.

요컨데, 결론은 나는 컴맹.

,

Me2DAY 서비스는 다 아실테니 이 부분에 대한 설명은 생략.

가볍고, 빠르고, 편리하고, 유용하니까 나는 Opera를 주력 브라우져로 사용중이다. 주변에 여럿 권장해보았지만 일부는 평이 좋지 않았고(이해는 되지 않지만, 취향이겠거니) 일부는 익숙해지기까지의 시간을 인내하지 못하고 다시 IE로 돌아가는 경우가 많았다. 그래서 최근들어는 그닥 예전처럼 "님하, 오페라가 짱좋아염. 쓰던거 버리고 꼭 이거 쓰셈"하며 떠들고 다니진 않는다. 어찌보면 자기한테 맞는 브라우져를 쓰는게 가장 합리적이니까.

각설하고, 아무튼. 집에서는 me2irc로 미투에 글 올리는게 무척 간편했는데, 사무실에서는 mIRC를 못깔아서(혹은 안깔아서) 그냥 Opera로 irc접속하며 살고 있다. 그러다보니 me2day 창을 띄우는게 여간 불편한게 아닌지라(상대적으로), Opera에서 me2day의 북마클릿을 툴바에 넣어 사용할 수 있는 버튼을 만들어봤다. 남들이 잘 안건드리는 부분일 뿐 그닥 어려운건 아니니, 요 아래 컴맹 태그를 보고 또 뭐라 하지는 마시기를. 아래 링크를 클릭하면(당연하겠지만, Opera 브라우져만 가능하다!) 버튼을 등록할꺼냐는 좀 기다란 창이 나오는데, 언제나 그렇듯, 나를 믿는다면 "예"를 누르면 된다. 그 뒤에 바로는 아무런 변화가 없고, 메뉴중에서 도구 - 화면설정(Shift+F12) - 단추 탭 - 내 단추에 보면 Me2Day라는 버튼이 생겨있는데, 이걸 끌어다가 툴바에 넣으면 된다. 스샷 몇 개 떠서 친절히 설명하고 싶지만, 사무실이라... 아래 여러 링크들은 보여지는 버튼의 이름만 다를 뿐, 기능은 모두 같다. 다른 이름이 필요한 사람은 말하셈. 혹시라도.

버튼이름 : Me2DAY 버튼 추가

주의사항 하나. me2day에 로그인 된 상태(쿠키로라도)여야만 DIV창이 뜹니다...만 대부분 "항상 로그인"을 쓰실테니 뭐..

ps. Opera에서 "IE로 열기"버튼은 여름하늘님 포스트대로.

,

me2day의 블로그로 자동 포스팅기능을 한때는 썼지만, 어째 하루에 한번씩 몇 줄씩 옮겨넣는게 맘에 들지 않아서 삽질 좀 했습니다. me2day의 API 중 하나인 get_posts를 불러들여 적절히 수정해 보여주는 javascript입니다. 아래 첨부 파일을 받으시고, me2monthly.htm을 실행하시면 됩니다. 웹계정을 만든 관계로, 온라인상에서 사용 가능합니다.
링크 : http://www.ra.ne.kr/me2day/me2monthly.htm
소스가 필요하신 분들은 아래 파일을 다운받으셔서 사용하셔도 됩니다.

입력창 세곳 중 첫번째 입력칸에는 자신의 me2 주소(http://me2day.net/ra_ 의 ra_ 부분)을 넣으시고, 두번째 입력칸에는 yyyy-mm 형식의 입력월을 넣으시면 됩니다. 가령 2007-11이라고 넣으면 2007년 11월의 me2day 포스트들을 볼 수 있습니다. 이 두 입력란을 넣으셨다면 "Go!"버튼으로 내용을 확인할 수 있습니다. 포스트로 옮기실때는 view source버튼을 누르면 포스트에 입력할 수 있는 형태로 표시됩니다. 내용을 복사해서 포스트에 입력하시면 되죠.

동봉된 stylesheet.css를 적절히 수정하시면 자신만의 디자인을 만드실 수 있습니다. 마음에 들게 수정하셨다면, 안의 내용 중 블로그에 옮길 부분이라는 내용만 복사하셔다가 자신의 블로그 스킨에 추가하시면 됩니다.


활용 예는 제 블로그의 작은 낙서장 카테고리에서 확인하실 수 있습니다.


p.s:
웹서버가 있었다면 온라인으로 확인도 될텐데.... 누구 웹계정 하나만.. 쥘쥘
,

나는 컴맹이다.

컴퓨터학원에 다니면서 MSX와 XT, GW-BASIC을 배우긴 했지만, 그건 초등학교 4~5학년때 일이다. 1년 정도 다녔었던가... 그것 말고는 따로 컴퓨터에 대해서(컴퓨터라는 어휘를 쓰는게 좀 모호하긴 하지만) 따로 배워본 경험은 없다. 학교에서 교양수업으로 EDPS와 HWP 등을 배우긴 했지만, 어디까지나 서너시간 안에 모든 과정이 끝나버리는 어처구니없는 커리큘럼이었으니까.

그래도 모자란 실력으로나마 이것저것 프로그래밍(보다 정확히 표현하자면 그냥 끄적거림) 해 보는것을 재밌어 했드래서 종종 키보드를 두드리고는 한다.

너무 간단하거나, 활용도가 떨어지는 결과물 때문에 기억에 남지 않는 것들을 제외하고, 내 기억에 남는 가장 첫 프로그래밍은 바코드배틀러. 오오, 이름은 멋지다. 어떤 제품이든 붙어있는 바코드를 토대로 특정한 능력치를 가지고 있는 캐릭터를 만들어내어서, 서로 전투하는 방식의 게임이었다. Quick BASIC으로 만들었었고, 바코드 인식하는 부분은 당연히 스캐닝할 수 없던 시절이었으니, 바코드 밑의 숫자를 손으로 입력하는 방식으로 만들었었다. 같은 바코드라면 같은 숫자를 가지고 있고, 같은 숫자라면 같은 결과물(캐릭터)을 뱉어내는 형식이다. 꽤나 애착을 가지고 업데이트했던 기억이 난다. 전투의 룰은 ENIX사의 Dragon Quest와 비슷한 형태였고. 마지막 버젼에서는 마법도 쓸 수 있던것 같다. 자세히는 기억나지 않는다. 그게 90년대 중후반 일이니.

프로그래밍에 재미를 붙인건 Visual Basic을 접하고 나서부터이다. 정말 마우스로 드래그 몇번 하고 소스 좀 쳐주면, 원하던 프로그램이 뚝딱 생겨났으니, 정말 매력적이라고 할 수 있다. 게다가 고급 언어 답게 문법도 간단하고. VB를 처음 접해본건 allm에서 알바를 하던 시절이었다. 당시 인터넷 개인방송국인 KiRi라는 서비스를 운영하고 있었는데, 개발이사형이 어느날 "Ra야. 방송 듣기툴 만들어봐라."라고 언지한게 시작이었다. 당시에는 ocx나 dll을 만들 능력이 안되었드래서, RealPlayer의 ocx를 붙여다 썼던게 생각난다. 그러다 Fred라는 독일 친구가 입사하고, ActiveX로 뚝딱 듣기툴을 만들어냈다. 역시 개발자는 다르구나.. 하고 생각했었다.

HTML도 당시까지는 전혀 모르고 지냈었다. 2000년 초에 컴퓨터학원 강사를 하던 시절에 한 학생이 "선생님, 저 HTML 가르쳐주세요"라고 말한게 발단이었다. 태그가 뭔지도 모르는 상태에서 "응? 응..응.."하고 대답해버렸기 때문에 나름대로 진도를 조절해가며 나도 공부하고 학생도 가르치는 어처구니없는 선생님이 되어버렸다. 그나마 회사에서 일하면서 javascript도 만져보고, css도 만져보고 하면서 많이 배웠드랬지.

학교다니던 시절에는 정말 이상한것들을 많이 만들어댔었다. RSS 개념이 없던 시절에, 일정 시간마다 소켓을 열어 웹페이지를 불러들이고, 내용의 일부를 파싱해서 로컬에 저장하는 프로그램도 있었다. 이걸 html형식으로 만들어놓고 이 로컬에 있는 html을 시작페이지로 설정해놓으면, 매일매일 그날의 날씨나 업무내용(KiRi의 질문게시판에 올라온 최근 질문글이라든지..)을 확인할 수 있어서 매우 편리했었다.

한참 Diablo2를 하던 시절에는, 서버상태를 알아보는 프로그램도 만들었었다. 사실 이건 BattleNet에 접속해서 긁어오는건 아니고, 소켓으로 irc에 접속해 #디아블로 채널의 topic을 긁어내 파싱하는 방식이었다. 게임방에 갈때마다 유용하게 썼던 기억이 난다.

참여했던 프로젝트 중에서 가장 큰 건은 핸드폰게임을 만드는 일이었다. 비록 타이밍을 놓쳐버려서 제대로 출시도 못하게 되었지만. Mobile C라는 언어로 3만여 라인을 쳐냈다. 핸드폰이라는 플랫폼 특성 상 메모리 제한이 있어서 변수도 마음대로 못쓰고, 배열도 마음대로 안되고, 더군다나 컴파일 뒤 파일 크기 제한 때문에 소스를 줄이고 줄이고 하는 과정이 정말 골치아팠던 녀석이었다. 조금이라도 처리속도를 개선하기 위해서 연산도 가능하면 bit-wise로 했었고.

그리고 또 커다란 프로젝트라고 한다면, allm의 사내 인트라넷을 만들었던 건이다. 매일 밤을 미친듯이 삽질하던 웃지못할 작업이었다. asp와 javascript로 만들어서 그나마 다행이었지만. 지금도 잘 쓰고있을런지 모르겠다. 아직도 SQL은 나에게 익숙치 않다.

그다지 큰 작업은 아니었지만, Lunia 戰記stage design을 script로 만들어낸 작업도 있었다. 듣보잡 스크립트였는데, 꽤나 유명한 플랫폼이라고.. 문법은 C와 비슷해서 배우는데 큰 어려움은 없었다. 다만 상용 서비스를 대비해서 작업하던것이었기 때문에 "생각지도 못한 상황이 벌어지는 경우"를 만들어내서, 그 상황을 테스트하기가 여간 까다로운게 아니었다. "흐흐흐. 분명 유저들 이 부분에서 골치 좀 썩힐꺼야"라고 생각했던 부분은 30초만에 휙휙 지나가는 부분이 되어버렸고, "이부분에서 이런 처리가 발생한다면, 유저들은 살아남기 위해 되돌아 가겠지?"라고 생각했던 부분은 "그냥 무시해서 한 몫 죽고 뚫고 간다"의 유저패턴으로 무시되었다. 정말 심열을 기울여 만든 스테이지는 아무도 다시 찾지 않는, 그냥 지나가는 스테이지 중 하나로만 여겨지는 스테이지가 되어버렸고.... 님들하, 전기 1-2, 2-1, 2-2, 2-3, 2-8, 2-10좀 재밌게 해주셈.

mIRC script는 간간히 무언가를 만들어내고 있다. me2irc라든가, 최근 버닝하고 있는 마피아게임이라든가. 내가 써본 언어 중에서 가장 쉽고도 간편한것 같다. 도움말도 잘 되어있고. 다만, 플랫폼이 종속적이라서 범용적이지 못하다는 단점은 있긴 하지만 말이다.

 

내가 컴맹이라는 이야기를 할 때 마다 사람들은 믿질 않는다. 하지만 같은 개발 작업을 하더라도 정식 개발자가 손댄다면 1시간이면 끝낼 일을, 나는 하루가 넘게 걸린다. 맨땅에 헤딩하고, 끊임없이 삽질하고, 그렇게 하루를 소비해서 만들어낸다. 퀄리티는 당연히 정식 개발자의 그것 만 못할 것이고. 컴맹인 다른 사람 같은 경우에는 그냥 포기하고 말지만, 나는 이런 삽질들이 재밌고 즐거워서 멈추질 않는다. 사람들은 이런 결과물만 보고 컴맹이 아니라고 하지만, 나는 그저 노력을 많이 할 뿐, 컴도사는 아닌것이다.

 

 

그래서, 한줄요약 : 난 컴맹. 믿어주셈 쫌.

,

야근에 대한 생각

Free 2007. 9. 21. 01:36
한때는 나도 야근을 참 줄기차게 했었다. 근 한달여를 쉬는 날 없이, 매일 20시간씩 일을 하던 시절도 있었다. 아무리 야근이라는 근무 형태가 IT산업의 일반적인 형태라 하더라도, 나의 야근은 도가 좀 지나친 형태의 것이었다.

야근을 줄이는 기발한 방법들 (방백(aside))이라는 포스트를 보니, 이대로만 된다면 야근이라는거 뿌리뽑힐 수 있을런지도 모른다. 하지만 글쎄. 과연 야근이 꼭 해서는 안되는 것인가?

일이 없는데 야근을 한다는건 참 바보같은 짓이다. 그건 당연하다. 그리고 한사람이 일과시간 내에 할 수 없는 분량을 지시해서 발생되는 야근도 물론 문제이다. 하지만 모든 야근이 다 안좋다는건 잘못된 생각이다.

내 경우, 야근을 하는데에는 두가지 원인이 있었다. 첫째, 일에 대한 열정. 누가 시켜서 한것도 아니지만 나는 줄기차게 일을 해댔다. "완료"라는 구분선이 따로 없던 형태의 일이었기 때문에 나는 그 누구보다도 열정적으로 나의 일을 사랑했고, 몸이 제대로 움직여주는 한계까지만큼은 모든 생활이 일이었다. 이런 나의 야근을 누가, 어째서, 왜 막으려 하는가?
두번째 원인은 나의 무능 때문이다. 남들 같으면 1시간이면 충분한 일을, 나는 서너시간씩 붙잡고 있었더랬다. 그래, 우수한 인재가 사회에서 살아남고, 나같은 컴맹은 도태되는거다. 그래서 우수한 인재는 한시간 분량의 일을 한시간 이내로 끝내고, 휘파람 불며 칼퇴근해서 가정에서 멋진 아버지/남편/자식으로 살 수 있는거다. 그리고 나같은 능력없는 인재들은 불법야근 벌금으로 사비 지출하고(능력이 부족해 야근해야한다는걸 그 누가 공개적으로 알리고 다니겠는가?), 짤리지 않기 위해 야근만 해대다가 가정에서 멋지지 못한 아버지/남편/자식으로 살아가야한다는거다. 참 인도주의적이구나.

어떤 업종에서든(특히 IT쪽에서) 야근하는 문화는 바뀌어야한다. 하지만 야근이라는 근무형태는 어디까지나 자율에 맡기어야 할 것이지 강압적으로 부과하거나 금지해서는 안될것이다. 적어도 내게는 그렇다.
,
이 내용은 mIRC의 help(mirc.hlp)에도 설명된 내용입니다.
ctcp 100:*:?:$1-

이걸 응용하여 만든 원격조정(remoting) 스크립트는 아래와 같지요.
ctcp *:비밀번호:*:$1-

하면 끝. 물론 비밀번호는 임의로 작성해서 넣으면 됩니다. 리모팅 방법은 채널이든 쿼리든 스테이터스든, editbox에 아래처럼 입력하면 됩니다. 편의상 리모팅할 상대방의 대화명을 Ra라고 하겠습니다.
/ctcp Ra 비밀번호 명령어

여기서 좀 신경써야하는 부분이 명령어입니다. alias로 넣어도 작동되긴 하지만, Ra의 alias에 저장된 명령어야만 합니다. 아래는 몇가지 사용예입니다.
//ctcp Ra 비밀번호 mode # +o $me

이렇게 하면 Ra에는 현재(//를 사용하였으니) 채널(#)의 나($me)에게 옵을 주는 명령으로 인식되고, 그 내용을 실행($1-)하게 됩니다. 간혹 다른사람이 제작한 스크립트(on input이 있는)에는 //가 정상작동되지 않으니, 아래처럼 따로 입력하면 됩니다.
//ctcp Ra 비밀번호 mode #채널명 +o 내닉네임

아래의 예는 특정 드라이브의 파일 목록을 확인하고, 다운받는(fserve) 기능을 리모팅하는 경우입니다.
/ctcp Ra 비밀번호 fserve 내닉네임 10 c:\

이 경우 주의할점은, /fserve를 처음 사용하는 경우 경고창이 뜨게 되는데(Ra쪽에) 이 경고창을 클릭할 방법이 없다는겁니다..;; 그러니 alt+o - DCC - fserve - show file server warning을 꺼주셔야 합니다.

이상과 같은 방법으로 리모팅을 할 수 있습니다. 응용이야 마음대로.
,