시간을 파는 남자
December 7, 2006
창조적 습관
December 7, 2006
구글 검색 활용하기(구글 커맨드)
November 4, 2006
구글 페이지는 썰렁하다 입력할 수 있는 공간만 덜그러니 놓여있다보니, 그냥 아무생각 없이 타이핑하고 나타나는 수많은 검색결과들을 눈으로 스캐닝 하곤 하는 사람을 많이 본다.
사이트, 블로그내용 등등 수도없이 돌아다니면서 필요한 내용을 찾을 순 없지 않겠는가?
어 쨌든 “구글링” 이라는 말이 의미있는 용어로 통용될 정도이니 구글에 대해서는 더 말해 뭐하겠는가. (구글링이라는 말이 단적으로 검색엔진에 대한 신용과도 같은 의미를 갖는다고 생각한다 – 왠지 브리태니커에 의하면 ~~ 과 같은 뉘앙스가 느껴지지 않는가?)
단 지, 주변에 있는 사람들에게 “구글은 모든 검색엔진의 슈퍼셋이다.” “구글링 해봐라” 이런 말을 해도 Nxx 지식검색을 더 자주 하는 모습을 보면서 약간은 구글을 십분 활용하지 못하는 것 때문에 누군가가 걸러준 내용중에서 검색함으로써 사용자들에게 좀더 빠르게 원하는 것에 접근하는 듯한 착각을 주고 있는 것 같아서, 구글 검색 부분에 대해서 활용할 수 있는 내용을 약간 정리해본다.
구글 검색엔진창에 입력할 수 있는 커맨드(검색을 좀더 스마트하게 해주기 위한 옵션기능)의 종류가 많다보니 대부분의 사람들은 그냥 검색어만을 나열해서 입력하는 경우가 대부분이다.
커맨드를 알려줘도 자주 사용하지 못하게 되면 잊어버리게 마련이니, 아래와 같은 사이트의 도움을 받는 것도 방법이겠다.
- 구글 커맨드라인 헬퍼 : http://projects.felipc.com/gcl/
- 구글 좀더 쉽게 전문 검색하기 : http://www.soople.com/
유용한 커맨드 몇몇개 정리
- filetype : 파일타입별 검색 파일의 타입별로 검색한다.
(예) pdf 파일중에 ruby 라는 단어가 포함된 것 ==> filetype:pdf ruby - site : 특정 사이트내 내용 검색
(예) apple.com 사이트에서 macosx 검색하기 ==> site:apple.com macosx - define : 단어에 대한 정의 검색하기
(예) early adopter 에 대한 정의 검색 ==> define: early adopter - link : 누가 사이트를 링크하고 있는지 보기
(예) link:jimanryu.wordpress.com - related : 입력한 url 과 관련된 페이지 찾기
(예) related:jimanryu.wordpress.com - cache : 페이지가 없어지거나 한 경우 구글에 캐시된 내용 보기
(예) cache:jimanryu.wordpress.com - bsd, linux, mac, microsoft: 특정 OS 관련 검색
(예) mac:macosx
우선 위정도만 가볍게 ~~
그럼. 즐거운 구글링 ~~~
[독서노트] 학문의 즐거움
October 31, 2006
학문의 즐거움히로나카 헤이스케 지음, 방승양 옮김/김영사 |
| 학문의 즐거움 – 히로나카 헤이스케 수학자의 인생 이야기
어려운 환경을 극복해내고 성공한 케이스의 사람들 중에서도 나름대로 특별한 비결이 있는 것 같아서 읽기 시작한 책이다. 저자가 가지고 있는 연구/생활의 기본 자세 저자가 유학생활을 통해서 미국의 학생들을 통해서 본 배움의 자세에 대한 얘기는 나름 많이 와 닿는 부분이 많았다. 내가 가장 부족하게 생각하던 부분이기도 한 것 같다. “이학” – 질문을 통해서 배운다. 즉, 좋은 질문 시시한 질문을 구별하지 않고 모르는 것은 무엇이든지 질문하고 할 수만 있다면 질문만으로 다 배워 보겠다는 자세를 갖고 덤벼드는 것을 말한다. 방대한 내용의 새로운 지식에 접근할 때 그 분야에 상당한 지식을 가지고 있는 사람에게 이학의 방법으로 접근한다면 단시간 내에 상당한 수준에 오를 수 있고 실제로 미국의 학생들은 이런 방법으로 대학 기간 동안에 상당한 수준에 오르는 사람이 많다는 것이다. 또한 동양 사람에게 부족한 질문의 방법에 대한 내용인데, 동양 사람들은 대체로 ‘why’, ‘how’ 형태의 질문이 많다고 한다. 반면에 미국 학생들은 ‘what’ 형태의 질문이 많다고 한다. 이는 동양사람들이 좋아하는 진리를 물어보는 형태가 아니라, 사실 자체를 물어보는 것으로써 접근 방법에 이러한 차이가 있다는 것을 알고 있는 것이 중요하다는 것이다. 다양한 접근 방법과 열린 생각을 갖고 있는 것이 연구 하는 사람에게 중요한 자세라는 것이다. 이런 저러한 경험에서 우러나오는 얘기도 좋았지만, 이 저자가 갖고 있는 기본적인 마음이 맘에 들기도 하였다. 대부분 우여곡절이나 경쟁자들에 대한 질투 등등 이런 것들을 맞닥드렸을 때, 인생은 직선적이 아니므로 이러한 시행착오 또한 절대로 낭비가 아니다 라고 접근하는 것이나 경쟁자들에 대한 질투는 오히려 목표의 초점을 흐리게 하기 때문에 체념의 기술도 필요하다 라고 얘기하는 것들 등등 역시나 어떤 분야에 정통하면 (깊이있게) 다른 부분에도 그만큼의 깊이를 갖게되는 것일까? 아니면 모든 것이 일맥 상통하는 구석이 있어서 그렇게 느껴지는 것일까? 하여간 쉽게 읽혀지는 자서전류의 책이면서도 싫증나는 부분이 그리 많지 않았으므로 나름 재미나게 본 것 같다. 사실 비슷한 학자의 자서전 내지는 전기인 “시간을 정복한 남자 류비세프”를 읽을 때 가졌던 상당한 부담감 같은 것이 없어서 추천할만한 책이라 하겠다. |
“한국인이라는 굴욕감” 이라는 글을 보고
October 20, 2006
원문 : http://www.scieng.net/zero/view.php?id=now&no=11373
근래에 본 글중에 꽤 상위에 속하는 롱테일을 담고 있는 글이다.
결론은 ”한국에 들어온 해외 R&D 센타에 들어오지 마라” , “기술 이전도 없고 원천 기술 개발도 절대 없다”, “과학자의 자존심과 소신, 학문에 대한 열정을 영원히 잃어버릴 수 있다” 라는 충격적인 내용이다.
실제로 글쓴이도 국내에 진출한 해외 R&D 연구소에 몸담고 있는 사람이 쓴 글이라 그런지 겉모습만 보고 쓴 글은 아닌 것 같다.
최근에 구글이 한국에 진출한 것을 두고 여러 블로그상에 올라온 글들을 읽다보면 걱정반/우려반/기대쬐끔 정도로 느껴진다. 과연 어떤 내용들이 정부 관계자들과 오고 갔을까? 순진한 엔지니어들 열정을 가진 엔지니어들을 “두번” 죽이는 일이 자행될 것인가 여부는 좀더 지켜봐야 알겠지만, 역시나 한국에서 토종 IT 기업에서 몸담고 있는 개발자로서는 평소에 생각하고 있던 구글에 대한 인식때문인지 몰라도 왠지 긍정적으로 해석하고 싶은 생각이 드는건 왜일까?
실제로 구글에 몸담고 있는 개발자들이 자기 회사 자랑을 하는 글들을 보면 조금 짜증나는 경우도 있지만, 사실 회사 자랑 하는 경우가 흔히 생각할 수 없는 것이라고 여겨왔기 때문에 의아하게 느껴지기도 한다. 정말 구글이기 때문에 가능한 일인가?
어쨌든 국내에 진출한 해외 R&D 센타에 몸담고 열심히 일하는 엔지니어들이 문제겠는가? 그들의 생각이 문제 겠는가? 문제를 스스로 해결할 수 있다고 믿고 열심히 달려드는 사람들은 뭐라 할 수 없겠지만, 항상 문제는 우매하게 앉아서 권력을 휘두르는 가진자들이 아닌가 생각해본다.
어쨌든 즐거운 내용만은 아닌 글이다.
Free Hugs in KOREA
October 20, 2006
아.. 한국에서도 이런 것이 가능하구나.
동영상 마지막에 나온 문구가 인상적이다. 사랑, 미소, 행복… 조금의 용기가 필요할 뿐이다….
가까운 곳에서 사랑을 받고 있으면서도 나누지 못하고 사는 각박한 내 맘에 단비같은 기쁨을 주는 동영상이다.
당장 가까운 곳에서 용기를 발휘해야 겠다
아래는 오리지널 동영상입니다.
Think Different
October 15, 2006
Tear Drop 일냈다 !!!
September 12, 2006
JavaScript 에서 Prototype 객체를 사용해서 함수를 추가하는 이유?
September 12, 2006
자바스크립트로된 라이브러리 혹은 프레임웍 들을 살펴보다보면 눈엣 가시처럼 거슬리는 코드들이 보인다. 평소에 보지못한 방식이라서 그럴 수도 있고, 워낙 고수들이 만들어놓은 자바스크립트 고유의 장점들을 살려서 작성해놓았기 때문일 수도 있다.
어쨌든 그중에 자바스크립트를 생성할때 네임스페이스를 구현하는 방법 등을 둘째 치더라도 (보면 그냥 이해가 되는 부분이기도 하니까) 왜 이런 라이브러리들은 프로토타입 객체를 통해서 함수들을 선언해 놓을까?
가장 큰 이유는 개인적인 생각에서는 메모리의 문제가 아닐까 한다. 물론 다른 이유도 많겠지만…
메모리의 측면에서 보기위한 예를 들면:
function mySample() {
var field1 = “test”;
var today = new Date();
this.todayis=function(){
alert(“Today is ” + this.today);
}
}
위와 같은 함수가 있다고 생각해보자. 이때 todayis 라는 함수는 오늘 날짜를 alert 창으로 찍어서 보여줄 것이다. 이런식으로 mySample 함수 생성 메소드 내부에 함수를 추가하는 방식을 사용하는 경우에는 mySample 객체의 인스턴스가 생성될때 마다 매번 함수를 새로 만드는 형태가 된다. – 객체를 대량으로 만드는 경우에는 메모리 사용면에 있어서 취약할 수 있다.
이런 고려사항때문에 대부분 Prototype 객체를 사용해서 함수를 연결하는 형태를 취하고 있는 것으로 생각된다.
하지만 Prototype 을 사용하는 경우에 주의해야 하는 사항은 가비지 문제이다.
함수내부에 함수를 추가한 형태의 경우에는 내부적으로 클로저가 만들어진 경우인데 (클로저는 함수 내부에 또 다른 함수를 구현하는 경우에만 동작한다), 이때 생성 메소드에서 DOM 엘리먼트를 다루는 경우에는 함수의 지역 변수로 선언된 내용이 가비지 컬렉터에게 수집되지 않는 문제점이 발생할 수 있다.
쩝… 여러가지고 JavaScript 코드를 사용해서 뷰단에서 멋진 효과및 이벤트 처리를 위해서는 많은 고려해야할 사항이 있는 것 같다.
JavaScript 로 본 MVC 모델
September 12, 2006
보통 웹어플리케이션을 구현하는 과정에서 항상 나오는 얘기는 MVC 패턴으로 뷰와 모델, 컨트롤러를잘 분리해서 개발을 해야한다 라는 것이다.
이런 과정에서 지금껏 아무생각 없이 자바스크립트 언어를 사용해오던 방식 – 자바스크립트를 화면 랜더링, property변경, form유효성검증 등의 HTML 의 보조용도로 사용해 오던 것 – 이 아니라, 화면 계층의 메인 프로그램 언어로서 사용하게 됨으로써 점점 복잡한 스크립트 언어를 사용하게 되고 요즘에서는 Ajax 라는 용어로 요약되는것 처럼, 잘못된 스크립트 코드의 남용은 곧바로 유지보수가 거의 불가능한 스파게티 코드를 양산해내게되고 있다.
일단 자바스크립트라는 것을 이해하는 차원에서 위의 MVC 모델을 적용해서 이해해볼 필요도 있겠다. 약간은 억지스런 느낌도 있지만, 이렇게 이해하면 나름대로 머릿속에 쏙쏙.. 들어오는 느낌을 가질수 있겠다.
코드 예
function sample(id, element){
this.id = id;
this.div = element;
this.div.onclick = this.clickHandler;
}
위와 같은 함수를 만들었다고 생각하자. 이경우 각각 모델, 뷰, 컨트롤러에 해당하는 부분은 어떻게 적용할 수 있을까?
1. 모델 : sample 이라는 객체 자체가 일종의 모델이라고 할 수 있다. id 와 div 속성을 가지고 있는 모델.
2. 컨트롤러 : 모델의 div 객체의 onclick 이벤트를 처리하는 함수가 clickHandler 라고 연결 되어 있는데, 이때 이벤트를 처리하는 이 clickHandler 라는 함수가 컨트롤러라고 생각할 수 있다.
3. 뷰 : sample 함수를 호출할때 넘어오는 객체 element 는 뷰단에서 이벤트를 발생시킨 객체를 의미한다. element라는 파라미터로 넘어온 객체가 뷰라고 할 수 있다.
이렇게 자바스크립트 코드내에서도 MVC 를 적용해서 생각한다면 스크립트 내에서 이벤트를 처리하는 함수를 구현하거나 이해할 때 혼란스러운 부분을 줄일 수 있을 것 같다.
즉 브라우저가 동작하는 방식에서 이해해본다면 브라우저는 DOM 엘리먼트를 클릭하는 경우 해당 이벤트의 처리 함수의 컨텍스트로 DOM 엘리먼트를 지정하게 되고 이 이벤트의 정보를 담은 Event 객체를 생성해서 인자로 넘겨주게 된다는 의미.




.jpg)


