"기술"에 해당하는 글들
페이지:«1...1213141516171819

나의 첫번째 Ajax 프로그램

2006-06-21   //   alexken작성   //   기술, 천문  //  3 Comments

요즘 Web2.0이니, Ajax니 무척이나 시끄럽다.
MS에 있었을 때 부터 MsXml은 워낙이나 친숙했던 터라, 그리 새삼스럽지 않았지만,
최근 구글에서 선보이고 있는 새로운 User Experience들(ActiveX 없이도 충분히 interactive하게 만들어 낸 구글맵이나 Gmail)을 보자면, MS는 같은 걸 가지고도 참 본 가치를 못 이용한다는 걸 느낀다.
(게다가 XmlHttpRequest는 MS가 얼마나 일찍부터 표준화 하고, 선도하고, 마케팅에도 얼마나 읅어 먹었던가? – 앞으로 다 이렇게 개발해야 한다고…)

정작 주인은 따로 있나 보다.

잡소리 그만하고,

오늘 문득 NASA가 제공하는 Astronomy Picture of the Day(오늘의 천체 사진) 페이지를 붙이고 싶었다.

운 좋게도 누군가가 RSS로 제공하는 것도 알았다. 이를 이용하면

XmlHttpRequest로 apod.rss를 가져와서,
DOM 객체 돌아댕기며,
필요한 Element만 끄집어 내서 페이지를 완성...
var isIE = false;
var req;
function loadXMLDoc(url) {
  // branch for native XMLHttpRequest object
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = processReqChange;
    req.open("GET", url, true);
    req.send(null);
  // branch for IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
    isIE = true;
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processReqChange;
      req.open("GET", url, true);
      req.send();
    }
  }
}
function processReqChange() {
  // only if req shows "loaded"
  if (req.readyState == 4) {
    // only if "OK"
    if (req.status == 200) {
      //req.responseXML 을 가지고 원하는 페이지를 구성
    } else {
      alert("There was a problem retrieving the XML data:\n" +
      req.statusText);
    }
  }
}

이 소스는 developer.apple.com에서 참조했고,
예전엔 당연히 new ActiveXObject(“Microsoft.XMLHTTP”);
만 사용했는데, 어느덧, Safari나, Firefox가 XmlHttpRequest 객체를 내장하게 되었고, 요즘 탈 Active X 분위기 이므로(IE 7.0에서는 MS도 XMLHttpRequest를 내장 할 계획이라니), MSXML만 고려한 코딩은 피해야 겠다.

req.onreadystatechange = processReqChange;

에서 XMLHttpRequest의 onreadystatechange 상태 시 Callback 함수로 processReqChange 함수가 비 동기적으로 처리하게 하는 부분이 보이니, <- 이게 맨 첨부터 요란히 말했던 아약스의 실체 아님감. 아약스가 뭔지 아직까지 정확한 정의는 모르지만 그까이꺼 대충 client단에서 xmlhttprequest로 비동기 적으로 서버랑 통신 하면서 사용자에게 좀더 interactive한 환경을 제공하믄 아약스 아닌가???


결국은 포기했다…
일단 IE에서는 SP2이후에 살벌해진 보안 분위기에 ActiveX 경고창이 뜨고, OS에 따라 브라우저에 따라 각기 다른 결과를 보여서
서버에서 처리하기로 했다.
클라이언트 CPU좀 슬쩍 사용해 보려고 했는데….이어서….

CapsLock을 Ctrl로…

2006-06-21   //   alexken작성   //   기술  //  2 Comments

키보드 키중에 유난히 사용하지 않는 키가 CapsLock이 아닐까 싶다.
그래서 난 이 키를 Ctrl로 사용한다.
내가 유별나서라기 보다는 unix사용자라면 ctrl이 capslock위치에 있어야 한다.

내가 이 capslock을 ctrl로 사용하게 된 동기는 일본 유학시절
완전 유닉스 환경이었던 탓에 모든걸 Emacs로 해야 했다.
Emacs를 PC용 키보드로 사용하면 새끼 손가락이 뿌러진다.
새끼 손가락을 ctrl키 위에 올려놓고 사용해야만 한다.

역사적으로는 SUN type의 키보드가 Ctrl이 그 위치에 있으며, 내가 지금 사용하는 HHK 키보드가 그렇다.
그리고 지금 내가 사용하는 맥 역시 Unix인지라, ctrl이 capslock 위치에 있어야 편하다.
윈도우 사용할때는 그럭저럭 사용하지만, OS를 왔다갔다 하면 햇갈리는 관계로 PC에서도 바꿔서 사용하고, 이때 사용하는 reg 파일을 올린다.

Perl에 Hash는 없다???

2006-06-20   //   alexken작성   //   기술  //  3 Comments

Perl에서 array는

my @array = (1,2,3,4,5,6);

과 같이 정의하고 @를 앞에 붙여준다.
반면 hash는

my %capitals= ('china' => 'beijing', 'england' => 'london');

과 같이 정의하고 %를 붙여준다.

그리고 사용법은

my $a = $capitals{'china'};

$key로 $value 값을 읽어오는 문법이니, 영락없이 Java의 Hash Class같은 놈으로 생각하고 만 있었다…..
(array of ($key -> $val )) : 즉 각각의 $val을 refer하는 $key의 array

하지만 오늘 회사에서 perl로 hash를 함수의 인자로 넘기는데, 안넘어 가는 것이었다.

sub getHash(%){
  my %hash = %_;
  while ( my ($key, $val) = each (%hash)){}
}

가 안되는 것이다.
책을 뒤져봤는데도 없었다.

왜일까???

정답은 모든 Array와 Hash를 출력하는 두개의 함수를 보면 알수 있다.

use strict;

sub printHash(@){
  my %h = @_;

  while ( my ($key, $val) = each (%h))
  {
    print $key, " => ", $val, "\n";
  }
}

sub printArray(@){
  my @a = @_;
 
  print join("\n" , @a);
  print "\n";
}

그랬다. Perl에서 Hash는 Arrary 그 자체였다.

my %capitals= ('china' => 'beijing', 'england' => 'london');

my @capitals= ('china' , 'beijing' , 'england' , 'london' );

즉 둘중 아무렇게나 선언한뒤
%capitals라 선언하고 @captitals처럼 사용해도 되고,
반대로 @captitals로 선언하고, 이후에 %capitals처럼 써도 된다.

하지만 후자처럼 사용할 경우, 홀수개의 인자를 가진 array를 hash처럼 사용했을때 어떤 sideeffect 가 있는지 알수 없음.

Perl하는 사람중에서 나만 몰랐던 내용인가???
넘 당연한 거였나???
암튼 재미난거 하나 알았다.

Macoshints의 힌트 모음 하나

2006-06-19   //   alexken작성   //   기술  //  No Comments

내가 작성한 글이 아니고 내게 도움이 될거 같아서 어디서 퍼왔다. (이러믄 안되는데….)


이곳에 적혀 있는 모든 내용들은 Macoshints사이트에 있는 내용들입니다. 이해를 돕기 위해 단순한 번역보다는 글을 풀어서 쓰는 방향으로 번역했습니다. 아무쪼록 도움이 되었으면 합니다. 여유로운 시간이 있을때마다 10개 정도의 팁을 올려 보도록 하겠습니다.1. iTune에서 가운데 마우스 Scroll버튼으로 볼륨 조절하기. 더 보기 >>

시스템 재 설치

2006-06-19   //   alexken작성   //   기술  //  No Comments

전직 MS 직원인 나랑, Ahn 랩 출신인 와이프의 컴터가 보안에 뚤려 컴터를 새로 밀고 다시 깔았다.

나름대로 보안에 열심이었다고 했지만, 방심이 문제였다.
회사에서 집컴터로 쉽게 접속하려고, VNC 깔아놓고, 귀찮다고
패스워드도 걸어 놓지 않고,
설마 누가 내 컴터에 VNC로 들어오겠냐 생각했지만,
갑자기 컴터 마우스가 움직이는게 아닌가?

부랴부랴 VNC 서비스를 죽였지만, 이후에 Windows/System32밑에 내가 모르는 이상한 파일이 몇개 생겨있고, Anti-Virus 프로그램이 disable 되어 있어서,

영 찝찝한 맘에 OS를 엎고야 말았다.
새로 설치한 머신에는 VNC 서비스를 방화벽에서 특정 아이피(집+회사)에서만 접속 가능하게 설정.

맥에서의 한영 전환을 Shift+Space로…

2006-06-14   //   alexken작성   //   기술  //  4 Comments

맥에서 한영전환은 원래는 Cmd+Space인데, 이번에 Shift+Space로 바꾸었다.
이글은 Shift+Space 전환 후 첨으로 작성하는 것인데,
아직은 Cmd+Space로 손이가서 좀 헷갈리기는 하는구만….

그래도 아범과의 호환성을 위해서….

~/Library/Preferences/com.apple.universalaccess.plist
Root/UserAssignalbeHotkeys/27/modifier = 131072

http://www.appleforum.com/showthread.php?p=332433#post332433

shftspace.png

Analytics 서비스 신청하다.

2006-06-13   //   alexken작성   //   기술  //  1 Comment

logo_ga.gif
오늘 구글의 Analytics 서비스를 신청해서 Hanury.NET에 붙였다.
붙였다고 해서 사용자 눈에 보일 것은 없고, 아래의 특정 스크립트가, 구글로 정보를 보내게 되고

<!-- Google Analytics를 위해서 추가 -->
<script xsrc="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-410614-1";
urchinTracker();
</script>

구글에서는 여러가지 통계 리포트를 작성해 주는 서비스이다.

  • 블로그에 오는 사람들의 국가별 통계,
  • 사용하는 브라우저들,
  • 해상도는 어떻게 하고 보는지???
  • etc…

안그래도 WP-SlimStat 플러그인이 문제가 좀 있었는데 잘됐다.

AdSense를 달아보다

2006-06-12   //   alexken작성   //   기술  //  3 Comments

googleadsense.gif

이 사이트로 한 몫 단단히 챙겨볼 생각으로 AdSense를 달아보았다???
라기 보다는 post-MS로 주목 받고 있는 google의 비지니스 모델을 체험(테스트)해 보기 위해서 한번 붙여보았다.
(AdSense에 대해서:likejazz님 참조)

AdSense가 말하듯 (Content에 Sensitive)한 광고를 보여줌으로 이것또한 컨텐츠를 풍부하게 해준다는 변명은 굳이 하고 싶지 않다.

이 사이트에 몇만명이 들를 것도 아니고,
기껏해야 하늘이 사진을 몇달에 한번 보러올 친구녀석들하고,
검색을 통해 낚여서 올 사람들(이것 얼마나 되는지 모름)만 가지고서는 10년이 지나도 100불짜리 수표 한장 받아 볼지 의문이다.(<-- 실은 이게 나의 목표이다.) 도메인 등록비로 10년에 10만원 사용했기 때문이다. 요즘 web2.0에 관심이 많은 나로서는 구글의 행보에 가는것은 사실이다. google의 있다면, 구글랩에 한번 가 보시라.

FON이란 기발 한 아이디어

2006-06-09   //   alexken작성   //   기술  //  No Comments

FON 

“내 무선 공유기를 공유하는 대신에 나도 밖에서 무선랜을 얻어쓴다.”

참 기발한 아이디어인거 같다.

오늘까지 모르고 있었는데, 어제 국내 런칭 되어 버팔로 공유기를 특별 행사로, 무려 5000원이란 파격적인 가격으로 판매하고 있나 본데 2차까지 이미 끝났다.

5000원짜리 공유기도 탐이 나지만, Linus가 되어 평생 무료 넷스팟 사용권이 생긴다는게 더 끌린다. 일단은 3차를 기달려 보고, 에이엘 테크 공유기 펌웨어 나올때 까지 기달려야지 뭐…

회원의 명칭은

1) Linus: 자신의 유무선 공유기를 무료로 제공하는 회원. 대신에 세계 어디를 가든지 Linus 회원은 FON 웹사이트를 통해 다른 사람들이 내놓은 공유기를 사용할 수 있다. (리루스 토발즈에서 땀)

2) Bill: 자신의 유무선 공유기를 유료로 제공하는 회원. 사람들이 내는 사용료의 50%를 가져가므로, 일정한 수익이 들어올 수 있다. 대신 Bill 회원은 다른 공유기를 사용할 때 마찬가지로 사용료를 내야 한다. (Bill Gate에서 땀)

3) Alien: 공유기를 내어놓지 않고, FON 회원으로 가입한 후 일정한 사용료를 내고 다른 사람의 유무선 공유기를 사용하는 회원이다.

이름 한번 누가 지었는지… 참

페이지:«1...1213141516171819