모바일 검색 Do@ (DoAt)

컴퓨터/웹 2011/06/20 08:55 Posted by kkundi
모바일 검색 앱인 Do@ 은 검색어에 부가정보를 더하여 원하는 정보를 좀 더 손쉽게 찾을 수 있는 모바일 검색용 앱이네요.
검색어에 부가적인 시맨틱 정보를 추가하여 검색을 수행하는 아이디어가 독특합니다. 예를 들자면  Eminem이라는 검색어에 @music, @shopping 과 같은 시맨틱 정보를 추가하여 Eminem의 음악에 관한 검색인지, 아니면 Eminem이라는 검색어가 들어간 상품에 대한 검색인지를 구분지어 줍니다.
일종의 키워드 기반 검색 + 시맨틱 검색이라고 볼수 있겠네요. 
이런 시맨틱을 정의하기 위해서 많은 방법이 있겠지만, 이 앱에서는 시맨틱 정보를 몇가지로 한정 짓고, 그 시맨틱을 검색어 자체를 분류하는 방식이 아니라 사이트를 시맨틱 별로 분류하는 방법을 사용했네요.

전통적인 단어 기반 색인 + 사이트별 분류로 한정적 시맨틱 검색을 가능하게 했다는 점에서 눈여겨 볼만한 검색엔진인 것 같습니다.




'컴퓨터 > ' 카테고리의 다른 글

모바일 검색 Do@ (DoAt)  (0) 2011/06/20
마이크로소프트의 스트리트 슬라이드(Street Slide)  (0) 2010/07/30
Data Link & Semantic Web 세미나 후기  (4) 2008/07/22
Semantics의 Qrobo  (0) 2008/06/26

행복한 프랑스 책방

책/소설 2011/01/04 11:20 Posted by kkundi

행복한 프랑스 책방 - 8점
마르크 레비 지음, 이혜정 옮김/노블마인
  Mes amis Mes amours.'내 사랑, 내 친구들'. 한국어 제목인 '행복한 프랑스 책방'보다 원제가 이책의 느낌을 더 잘 나타냅니다.  소설이 다루는 내용이 '앙투안'과 '마티아스'라는 두 친구의 우정 이야기와 그들 사이에 놓여 있는 사랑 이야기이기에 그냥 원제를 번역해서 차용하는게 더 나았을 것 같습니다.
 
두 남자의 런던에서의 동거(?)를 시작으로 그 주변의 인물들과 엮어 나가는 전개가 무척 흥미롭습니다. 소설의 전개의 큰 틀은 두 남자의 우정과 주변 인물들의 사랑 이야기입니다. 이 두 가지 주제를 어느 한 쪽으로 치우치지 않고, 다양한 에피소드를 통해서 버무려나가는 작가의 솜씨가 탁월합니다. 특히, 에피소드 단위로 내용을 구성하다가 인물들의 행동에 대한 짤막한 묘사로 풀어나가기도 하고, 대화의 시점을 한 사람에게만 맞춰서 독백하듯이 진행하기도 하는 부분이 인상적이였습니다.

읽는 내내 마치 한 편의 프랑스산 로맨틱 코메디를 보는 것 같다는 느낌을 지울 수 없었는데, 아니나 다를까 이미 영화화 되었네요. <마이 프렌즈, 마이 러브>란 영화고, 우리나라에는 2009년에 개봉을 했었네요. 작가의 누나인 로렌느 레비가 감독을 맡았다고 하는군요. 몇몇 영화 리뷰를 보니깐 무난한 프랑스 로맨틱 코메디 영화인 것 같네요. 소설을 재밌게 봐서 그런지 기회가 되면 영화로도 한번 접해보고 싶군요.


 

' > 소설' 카테고리의 다른 글

행복한 프랑스 책방  (0) 2011/01/04
펠리칸맨  (0) 2010/06/28
인 더 풀  (0) 2008/01/30
포르토벨로의 마녀  (0) 2008/01/19
나는 전설이다  (1) 2007/08/09

픽사 이야기

책/IT 2010/08/26 00:23 Posted by kkundi
픽사 이야기 - 8점
데이비드 A. 프라이스 지음, 이경식 옮김/흐름출판


전 보통 영화를 보기전에 기대를 많이 안하려고 합니다. 너무 기대를 하고 영화를 보면 영화가 기대치에 못미쳐서 실망을 하는 경우가 많았기 때문입니다. '픽사'에서 만드는 애니메이션들은 그래도 항상 기대를 하고 보러 갑니다. 보고나면 언제나 기대 이상의 이야기를 들려주고, 보여줬으니까요. 

'픽사 이야기'라는 책의 광고를 인터넷에서 보자마자 바로 질렀습니다. 영화를 만들다보면 한번은 삐끗하기도 할텐데, 이제까지 나온 모든 장편 애니메이션을 흥행과 비평(<Cars>는 평이 안좋았다라곤 하지만 '픽사' 라는 타이틀을 빼고 본다면 괜찮은 작품이였습니다.)면에서 항상 성공을 하는 그들의 비법이 궁금하기도 했고, 어떻게 이런 회사가 탄생하게 됐는지 그 비화도 궁금했었거든요.
책에서 이런 제 궁금증을 만족시켜 줬습니다. 처음 회사를 만들게 된 배경부터 애플의 경영자인 스티브 잡스가 어쩌다 픽사를 맡게 됐는지. 그리고 영화의 성공을 통해서 결국 디즈니에게 엄청난 금액으로 팔리게 된 과정도 상세하게 기술되어 있습니다. 뿐만 아니라 픽사의 영화를 좋아하는 사람(저같은 사람!)은 이제까지 봤던 그들의 작품을 연대순으로 만들어지게 된 배경과 여러 에피소드를 읽어나가면서 장면들을 떠올릴 수 있는 기회도 제공합니다. 책 속에 이미지로 제공한다는 말이 아니라, 에피소드와 함께 특정 장면에 대한 묘사를 통해서 보여주지요.
또 하나 이책에서 마음에 들었던 부분은 20년동안 자신들의 꿈을 이루기 위해서 준비해 오는 픽사의 주역들의 얘기입니다. 자서전이나 평전을 읽으면서 '나도 저런 사람이 되야지!' 와 비슷하게 그들처럼 하고 싶은 일을, 이루고자 하는 꿈을 좇아 가는 삶을 살고 싶다란 생각마저 들게 해주는 흥미있는 일화가 많이 있습니다.

예전에 제가 작성했던 <라따뚜이>의 리뷰<월E>의 리뷰에서 알 수 있듯이 전 픽사의 왕팬(?)입니다. 픽사의 팬이시라면 이 책을 꼭 읽어 보라고 권합니다. 픽사라는 회사가 아니라 3D컴퓨터 애니메이션에 관심이 있는 분들도 읽어 보셔도 좋을 것 같습니다.

PS. 책에서 다루고 있는 픽사의 영화는 그들의 첫 작품에서부터 2007년 작품인 <라따뚜이>까지입니다. 2008년에 나온책이라서 그런지 그 이후의 작품에 대해서는 2~3페이지 정도만 할애해서 간단하게 정리를 해놨더군요.

' > IT' 카테고리의 다른 글

픽사 이야기  (0) 2010/08/26
웹 진화론  (0) 2010/07/16
객체지향적으로 생각하라!  (0) 2010/05/14
당신은 웹2.0 개발자입니까?  (1) 2007/08/02

HTTP의 커넥션은 기본적으로 stateless입니다. 즉, 하나의 request/response에 대해서 하나의 TCP 커넥션을 맺고 난 이후에 커넥션을 재사용하지 않고 끊어버립니다. 이는 새로운 request가 있을 때마다 계속해서 새로운 커넥션을 맺어야 하기 때문에 HTTP/1.1에서는 다수개의 request/response에 대해서도 기존에 맺은 TCP 커넥션을 재사용할 수 있도록 protocol이 추가되었습니다. 이러한 커넥션 재사용을 HTTP Persistent Connection 이라고 합니다.

HTTP/1.1부터 Persistent Connection을 위해서 keep-alive를 지원합니다. 일부 HTTP/1.0 이용하는 웹서버 구현에서 keep-alive가 사용가능하지만 공식적인 스펙으로는 1.0에서는 지원하지 않습니다. Keep-alive를 사용하는 방법은 Connection 속성값에 사용을 명시하면 됩니다.


  • Connection: keep-alive   = Persistent Connection 사용
  • Connection: close           = Persistent Connection 사용 안함

물론 웹서버에서 keep-alive를 지원해야지만 이용가능합니다. 웹서버가 Persistent Connection을 지원하지 않는다면 헤더에 keep-alive를 사용하더라도 Persistent Connection을 사용할 수 없습니다. 따라서 Persistent Connection의 전제 조건은 "웹서버에서 지원해줘야 한다" 입니다.

이 Persistent Connection을 Java에서 사용할 때는 단순히 keep-alive 설정만으로는 사용할 수 없습니다.

Java가 지원하는 HttpURLConnection 객체를 사용시에는 다음의 내용을 만족해야만 Persistent Connection을 사용합니다. 다음의 내용을 만족하지 않으면 커넥션을 재사용할 수 없습니다.

  1. 커넥션에서 얻은 inputstream을 끝까지 다 읽어야 함. 끝까지 읽지 않으면 HttpURLConnection이 해당 커넥션에 clean 작업을 시행하지 않기 때문에 커넥션을 재사용 불가.
  2. getInputStream을 하다가 IOException이 발생한 경우, catch에서 커넥션에 getErrorStream 메소드를 호출하지 않으면 clean 작업을 시행하지 않기 때문에 커넥션을 재사용 불가.

따라서 컨텐츠의 내용을 직접 사용하는 경우가 아니라면 HEAD 메소드만을 사용하는게 좋습니다. GET이나 POST를 사용한다면 불필요한 컨텐츠임에도 불구하고 inputStream을 끝까지 읽어야 하기 때문이죠.


Keep-alive 사용 예시

    URL realUrl = new URL("http://www.diquest.com/);
    uCon = (HttpURLConnection)realUrl.openConnection();
    uCon.setRequestMethod("GET");
    uCon.setUseCaches(false);
    uCon.addRequestProperty("Connection", "keep-alive");    
    is = uCon.getInputStream();
    br = new BufferedReader(new InputStreamReader(is, "utf-8"));
    String line = null;
    while((line = br.readLine()) != null) {
//    끝까지 읽어야 함

    }
   } catch (IOException e) {
    uCon.getErrorStream();
   } finally {
//      close 작업 수행
   }

좀 더 효율적으로 사용하기 위해서는 재사용할 커넥션의 수를 시스템 프로퍼티인 http.maxConnections를 설정하면 됩니다. 이 프로퍼티는 default로 5로 설정되어있습니다.


참고 URL
http://download.oracle.com/javase/1.5.0/docs/guide/net/http-keepalive.html
http://imhoratiu.wordpress.com/2010/03/22/httpurlconnection-over-https/


'컴퓨터 > 개발' 카테고리의 다른 글

Java에서 keep-alive를 이용한 HTTP Persistent Connection  (0) 2010/08/18