아직 구글 덕을 보시는 듯 합니다. 제가 원하는 건 구글이 얘기해주고 있네요.

사용자 삽입 이미지

1. 시류가 거시기 해서 http://www.daum.net에서 ie7 download로 검색해도 신통치 않고 ie7 다운로드로 검색해보니
2. 원하는 답변이 나왔는데, 어허~ 스크롤바가 ㄷㄷㄷ일쎄
3. 본인이 원하는 게 무엇인고 허니, xp의 ie6가 쩔어서 hungapp(헝~)하면서 "응답없음"으로 죽길래 경험상 "아, ie7으로 갈아타면 좀 덜 하더라 싶어서" ie7 다운로드로 검색혔겄다. 떡 하니 마이크로소프트 주소가 나오는디, 이거 다 싶지 아니한가~.
4. 근디... 우측 상단을 보니 아따, 이놈 내가 알지요. 구걸(google) 아닌가~ ^^; 제가 발음이 쪼까 거시기 허요.

아직까지 다음 구걸 좀 하는군요. 화이팅 하시지라~


덧. 썰렁하신 분들을 위하야 스타 판소리 링크 하나 올립니다요.
http://www.okjsp.pe.kr/upload/pansori_zerg.mp3

SKT 휴대폰을 쓰면 전화번호부가 있어서 기기를 바꿔도 몇 백 개의 전화번호목록을 쉽게 동기화시킬 수 있었습니다.
nate계정에 연결이 된 듯 한데, 이제야 확인하는 페이지를 찾았습니다. ^^;

http://www.nate.com 에서 로그인하고 쪽지를 클릭하면 됩니다. (바로가는 링크는 찾지 못했습니다.)

사용자 삽입 이미지

상단 탭 중에 주소록을 클릭하면 됩니다.
사용자 삽입 이미지

506명이 등록된 것이 보입니다.
사용자 삽입 이미지

파일로 다운 받을 수 있도록 왼쪽의 메뉴에 "엑셀파일로 저장하기"가 보입니다.
사용자 삽입 이미지



숨어있는 것을 찾아낸 것이 자못 기쁩니다. ^^;
okjsp가 있기 전 asp 계의 대표 taeyo.pe.kr 이 있었습니다. 지금은 taeyo.net으로 통하죠.
10주년 기념행사를 7월3일 한다고 메일이 왔네요.

http://taeyo.net/10thanniv
위 링크에서 신청하실 수 있는데, 200명이 얼마 안 남았습니다. ^^

사용자 삽입 이미지
뜻깊은 행사가 되길 바랍니다. 10년 동안 태오님도 수고 많으셨구요. ^^


온실에서 키운 화초는 약하다고 합니다. 프로그램 개발환경 중에서 가장 온실같다고 할까요, 그런 게 있습니다. 바로 브라우저의 HTML 렌더러입니다. 가장 마음이 넓은 실행기라서 마크업이 깨져도 알아서 대체로 잘 보여주는 편입니다.

때문에 웹 개발자들은 프로그래머 취급도 못받고 허드렛일꾼으로 대하던 시절이 있었습니다.
하지만 그런 유약한 개발습관에서 벗어나 조금 깐깐해질 필요가 있는 것 같습니다.
자바원의 북스토어에서 본 책 중 인상적인 것 하나가 Refactoring HTML이었습니다.

IBM DW에도 비슷한 류의 글이 올라왔군요.

유효성 검사는 여러분의 페이지에 "예측 가능한"이라는 도장을 찍는 방법이다. 태그를 적절히 사용하면, 페이지는 구조적으로 건전하며, 사용과 탐색도 쉽다.

from: http://www.ibm.com/developerworks/kr/library/wa-inherit1/

프로그래머들의 애매한 결과에 대한 삽질은 누구나 겪는 일이지만 HTML 개발자들이 가장 심하다고 말하면 지나친 생각일까요?

유지보수하는 입장에서 HTML을 다루는 자세와 기법에 대해서 도움이 되는 내용이었습니다.

좋아하는 기획자 중 한 부류는 기획서가 깐깐해서 처음에 답답해 보이지만 프로젝트 후반에 말바꾸지 않고 신뢰감있게 독려하는 분들입니다. 웹개발도 깐깐하게 바꿔보는 것이 어떨까요.
"규모가 크고, 불규칙하게 구성된 웹 사이트는
사이트에 있는 모든 이미지를 관리하는 것처럼 사소하게 보이는 것도
완전히 복잡하게 될 수 있다."
from: eBay의 이클립스, Part 1

작은 사이트를 운영하는 일도 시간이 흐르면 복잡해집니다. 하물며 웹에서 비즈니스를 벌이는 사이트의 복잡도는 얼마나 크겠습니까. eBay와 유사업종인 인터넷쇼핑몰에서 근무하는 저도 비슷한 문제로 골머리를 앓고 있습니다. 저희 팀원들도 마찬가지입니다.

이클립스의 IDE 기능과 플러그인을 직접 만들어서 업무에 적용하는 방법은 꼭 배워보고 싶습니다. 국내에도 그렇게 하시는 개발자들이 있으리라 생각되는데, 이렇게 공유하는 글이 나왔다는 것은 아주 감사한 일입니다.

related:
http://www.ibm.com/developerworks/kr/library/os-eclipse-ebay1/index.html?ca=drs-kr
 
오늘 퇴근 후에 삼성역 근처의 NCSoft 신건물 2층에서 WoC 2007(http://woc.openmaru.com) 회고의 시간을 가졌습니다. 1시간 정도 요약발표와 의견 교환이 있었고, 2008년 WoC를 더 잘 하기 위한 의견도 받고 있습니다.

지난 가을부터 반 년 가량 WoC 멘토링을 하면서 느꼈던 것들을 몇 가지 적어보면 저는 이랬습니다.

  • 대학생들에게 실제적인 프로그래밍 방법을 알려줄 수 있었습니다.
  • 대학의 기술 교육이 고등학교 국영수 가르치는 것과 크게 다르지 않은 듯 합니다.
  • 웹과 자바를 하지 못하는 멘티를 기획서만 보고 뽑아서 프로젝트의 스펙을 많이 낮췄습니다. 대신 웹의 기초부터 JSP 공부하는 법을 알려주었죠.
  • 삽겹살에 소주를 기울이면서 9년 사회생활도 얘기해주었습니다. 어떻게 연봉을 높일 것인가 등등이요.

저는 그랬습니다. 멘티가 개발자로 성공하느냐 오픈소스를 잘 다루냐는 자신이 결정하겠죠. 그냥 만남 자체로도, 실무에서 뛰던 제 경험을 나눌 상대가 대학생이었다는 사실 하나로도 가치가 있다고 생각합니다. 대학교육의 이상과 직업생활의 현실의 만남이었다고 표현할 수도 있겠죠.

오픈마루와 인상적으로 후원해 주신 Microsoft 김국현 부장님, 그리고 멘토와 멘티가 되어서 열심히 오픈소스 프로젝트를 진행해주신 모든 분들 수고하셨습니다. 내일부터 Winter of Code 2008 준비하나 봅니다. ^^; 그 때 또 껴야죠. ^^;

간단한 객체 지향 자바스크립트 simple object oriented javascript 에 이어집니다.

지난 번 함수에 파라미터는 어떻게 전달할까요. onclick="issue.view('kenu')" 이렇게 말이죠.
<script type="text/javascript">
  var issue = {
    view : function(name) {
      alert(name + "! Let's see.");
    }
  };
</script>
<input type="button" value="check it out" onclick="issue.view('kenu')">

name 이라는 파라미터 전달 방식입니다. 설명하기 애매하지만 그냥 () 괄호 안에 쓰면 됩니다.

issue.open() 이라는 것을 만들어 볼까요.
<input type="button" value="open it" onclick="issue.open('kenu')">
이라고 추가할 수 있겠죠. 코드는 다음과 같아 집니다.

<script type="text/javascript">
  var issue = {
    view : function(name) {
      alert(name + "! Let's see.");
    },
    open : function(name) {
      alert(name + "! Open it, please.");
    }

  };
</script>
<input type="button" value="check it out" onclick="issue.view('kenu')">
<input type="button" value="open it" onclick="issue.open('kenu')">

view : function {} 다음에 오는 콤마(,) 이후에 view와 같은 형식의 open function을 만들면 됩니다. 두 개 만드는 법을 알았으니 3, 4, 5 계속 추가할 수 있겠죠.

 
자바스크립트 이야기입니다. 웹2.0이 뜨고나서, 특히 Ajax라고 불리면서 현란하게 브라우저를 수놓는 시대에 와서 가장 진보적인 위치를 차지하고 있는 것이 자바스크립트입니다. 자바에다가 스크립트를 붙이면 정말 다른 언어가 됩니다. 물론 베이직 언어와 달리 대소문자를 칼같이 지켜야 되는 점은 자바와 같지만, 컴파일이나 실행방식, 문법 구조 같은 언어적 특성이 자바와 많이, 아주 많이 다릅니다.

웹2.0을 전후로 자바스크립트 내에서도 큰 변화가 생겼습니다. 그 전에는 베껴쓰는 자바라 하여 컴퓨터 랭귀지 취급도 받지 못했습니다. "그거 아무나 하는거야 그냥 검색해서 찾아서 베껴쓰면 되잖아"라는 인식이 팽배했습니다. 물론 접근하기 쉽다는 인식도 있지만, 자바스크립트 언어의 진면목을 세상이 몰라 주었던 것이죠.

구글맵으로 세상이 들썩거리고 자바스크립트의 객체지향성을 일깨워 준 프레임워크가 나왔습니다. 미운 오리 새끼가 백조가 될 수 있는 가능성을 보여준 것이죠. 바로 prototype.js 입니다. 이것을 바탕으로 해서 많은 자바스크립트 프레임워크와 라이브러리들이 쏟아지기 시작했습니다.
기존에는 거의 팁으로만 취급받던 것들이 소프트웨어 제품으로 인정을 받기 시작했죠. 초창기에 script.aculo.us, rico, dojo 등이 선보였고, YUI(Yahoo UI) 같이 큰 포털에서 내어놓은 것도 있었습니다. 자바스크립트의 르네상스라고 해도 될지요. DHTML로 살짝 떴다가 내려갔는데, 이 때는 정말 부흥이 맞습니다. 아직도 지속되고 있구요.


허무할지 모르지만 그 유치했던 자바스크립트에서 이런 표현이 가능합니다.

<script type="text/javascript">
  var issue = {
    view : function() {
      alert("Let's see.");
    }
  };
</script>
<input type="button" value="check it out" onclick="issue.view()">

어떤 의미인지 설명하지 않아도 되겠죠. 하나 유념할 것은 issue에 종속된 view()라는 것입니다 그냥 view() 호출하면 안됩니다. 이렇게 scope를 주는 것이 의미가 있게 됩니다.

구글 해냈군요. 고맙습니다.
구글 캘린더에 아웃룩(Outlook)의 일정을 동기화시킬 수 있습니다. 양방향, 단방향 모두 가능합니다.

처음엔 아래와 같은 에러가 떠서 당황했는데, 옆자리의 동료는 잘 되고 있었습니다. 메시지(You seeam to have outdated time zone information. Please run Microsoft Windows™ Update) 시키는대로 윈도우와 오피스를 업데이트하니까 동작합니다. ^^;
사용자 삽입 이미지


Google Calendar Sync라고 설치되어 있습니다. 저는 Uninstall 메뉴가 같이 붙어있는 프로그램들은 매너가 좋다고 생각합니다.
사용자 삽입 이미지


트레이 아이콘 옆에 있는 아이콘의 컨텍스트 메뉴에서 Sync를 선택하면 동기화됩니다.
사용자 삽입 이미지

막 움직이죠. 화살표가.
사용자 삽입 이미지

마우스를 올려 놓으면 현재 진행상황도 보여 줍니다.
사용자 삽입 이미지


완료된 모습은 직접 확인하세요. ^^


구글 한국어 페이지에서는 관련 프로그램 링크가 아직 안보입니다. 구걸링해서 영문 페이지에서 구했습니다.
http://www.google.com/support/calendar/bin/answer.py?answer=89955
오픈소스에 대한 얘기는 갈 수록 높아져 가고 있습니다. Freeware, Shareware 등으로 사용되는 애플리케이션과는 달리 소스까지 공개된 프로그램을 오픈소스라고 하지만, 오픈소스 제품은 공짜로서의 의미보다 기술의 공개라는 차원에서 더 가치가 있습니다.

developerWorks에 나온 "오픈 소스 입문"에 대한 글이 입문용으로 가볍게 읽을 만 합니다.

한 마디로 말해서, 오픈 소스는 협업(collaboration)이라고 할 수 있다. 보다 구체적으로 말하면, 소프트웨어 프로젝트에 대한 공개적 협업(public collaboration)이다.

Open Source Initiative 라는 단체가 만들어지고 오픈소스에 대한 라이센스와 가이드를 제시하고 있습니다.

오픈소스 제품이 시장에서 큰 역할을 하는 것을 예를 들면 리눅스, 아파치 웹 서버 등을 예로 들 수 있습니다.

오픈소스로 제품의 수준이 상용과 비길 수 있을 때 듀얼라이센스로 판매도 됩니다. 대표적인 것이 MySQL 같은 것이 되겠죠.


오픈 소스 작업을 위한 몇 가지 도구들이 있습니다.
Source Repository : CVS, SVN 같은 소스 버전관리 저장소입니다.
Mailing LIst : 사용자와 개발자 모두 메일을 통해서 의견 교환을 하는 경우가 많습니다. 종종 게시판이나 포럼도 사용되지만 대세는 메일링 리스트입니다.
Issue Tracker : Bugzilla, Trac, JIRA 와 같이 이슈, 버그 등을 등록해서 처리과정을 확인할 수 있는 시스템입니다.
Documentation Site : 오픈소스의 특성상 상용 제품보다 많이 부족하다고 느껴지는 부분입니다. 잘 나가는 오픈소스의 경우 매뉴얼 페이지가 잘 갱신되고 관리된다고 생각됩니다.


오픈소스 프로젝트를 호스팅하는 사이트들도 많이 있습니다. http://sourceforge.net, http://code.google.com/, http://kldp.net 등을 추천합니다.

제가 오픈해 놓은 소스 프로젝트도 있습니다.
http://code.google.com/p/daysago, http://code.google.com/p/shopgallery, http://code.google.com/p/unicodereader

작은 코드 조각(snippet)이지만 시작이 너무 크면 부담되거든요. ^^

+ Recent posts