Google Chrome IT

다운로드 링크 : http://www.google.com/chrome


http://books.google.com/books?id=8UsqHohwwVYC&printsec=frontcover#PPA25,M1
 을 보면서 간략히 정리.

만화가 그림같은게 센스있게 그려져있어서 사실상 제품 홍보 자료인데도 재밌게 봤네요. 구글에서 완전히 새로

만드는 웹 브라우져라는데 신기한 것들을 이것 저것 내세우고있습니다.


- 기존에 나온 브라우져들은 내부적으로 싱글 스레드로 이루어져 있었습니다. 이를테면 어떤 페이지를 처리할때

자바 스크립트를 처리하는데 오랜 시간이 걸리면 브라우져의 나머지 부분은 전부 멈춰있을 수 밖에 없었다는 겁니다.

크롬의 제작자들은 HTML / Java / Plug-in처리 등을 담당하는 여러개의 스레드를 만들어서 멀티 스레드로 처리하는
 
방식에 대해 생각을 해 보다가, 크롬이 멀티 스레드 대신에 멀티 프로세스로 작동하도록 만들었습니다. 1개의 탭이

1개의 프로세스
를 가지게되며 프로세스는 각자의 자바스크립트 스레드를 가지게 됩니다.


- 이러한 방식의 장점은 첫째, 각 탭들이 별도로 돌아가기 때문에 한 탭에 문제가 생기더라도 다른 탭들에 영향을

미치지 않는다는 것
입니다. 한 탭이 문제가 생기면 그 탭은 종료되고 그 대신 Sad tab ( X( 비슷한 이모티콘이 그려져

있는 오류 표시 탭)이 나타나고 나머지 부분은 그에 대한 영향을 받지 않습니다. 둘째, 메모리 관리에 장점을 가집니다.

한 프로세스가 여러개의 탭을 가지고 있을 경우에 탭을 닫았다가 새로 생성했다가 하는 작업을 반복하다보면 Memory

fragmentation이 생기게 되는 반면에, 크롬은 탭을 닫으면 아예 하나의 프로세스가 종료되는 것이기 때문에 이런 문제를

피할 수 있다는군요. (장점일지는 모르겠지만)셋째, 유저들은 Google Chrome Task Manager를 이용하여 프로세스의

상태를 확인 할 수 있습니다.
어떤 탭이 메모리를 많이 사용하고 있는지, CPU파워를 소모하고 있는지, 가장 많은 자료를

다운로드했는지 등의 정보를 알 수 있으며, 플러그-인들은 별도의 Task로 취급되기 때문에 이에 대한 정보를 확인하고

문제가 있는 것을 종료시켜 버릴 수 있습니다. 단점은 상대적으로 메모리를 더 많이 먹는다는 것입니다. 워낙 개인 PC의

메모리가 충분한 시대라서 구글은 이에 대해서 별로 심각히 생각하지 않는 모양입니다.

- 구글에서는 "크롬 봇"이라는 것을 만들어서 자신들이 Crawling 해 놓은 웹 페이지들을 크롬을 테스트하고 있다고

합니다. 별 다른 자세한 내용은 없고, 랜덤 인풋 테스트라든지 디자인 테스트 등을 한다고 되어있고 "물론 사람의 행동을

그대로 테스트해서 완벽히 모든게 가능하게 만들긴 힘들겠지만 노력하고있다."는 원론적인 얘기만 하는군요.

(모범적인 랜덤 테스트의 예제)


- 웹 렌더링 엔진으로는 WEBKIT이 사용된다고 합니다. (구글 안드로이드에도 이 WEBKIT 엔진이 사용되고있다고

하며, 애플의 사파리도 WEBKIT을 이용하는 것으로 알고있습니다.) 속도와 메모리 효율 등이 뛰어나다고 얘기하는데

제가 직접 테스트 해보거나 하지는 못해서 잘 모르겠네요. 하나 걱정되는 것은 이 WEBKIT을 이용한 사파리가 렌더링

속도는 겁나 빠른데 웹 디자이너 분들이 크로스 브라우징 문제를 해결 할 때 사파리에서 제일 고생한다는 얘기를 들은

적이 있는데... 과연 어떻게 결과물이 나올지 모르겠습니다.

- 자바 스크립트를 처리하기 위해서는 덴마크의 V8 Team에서 만든 V8이라는 Virtual Machine을 쓴다고 합니다.

기존의 자바 스크립트를 처리하는 VM들은 웹 초창기의 자바 스크립트가 간단한 역할만 수행해주면 되던 시기에 설계가

된 것이라, 요즘처럼 자바를 이용하는 복잡한 웹 프로그램들(구글 맵 같은)이 많은 시대에 제대로 적응하고 있지 못하다는

판단을 내렸다고 하네요. V8은 Hidden class transition(같은 class인 Object들이 여러개 생기면 작동과 메모리 관리

등을 최적화하는 기술), Dynamic code generation(자바 스크립트 코드를 컴파일해서 Machine code로 바꾸어 실행함

으로써 속도를 높이는 기술), 향상된 Garbage collection 등의 장점을 가지고 있다고 합니다.

WEBKIT은 원래 오픈 소스 엔진이고 V8는 API가 공개되서 다른 웹 브라우져나 자바를 필요로하는 애플리케이션들에서

차용해서 쓸 수 있다고 하네요.


- 위에서 얘기한대로 각각의 탭은 1개의 프로세스이기 때문에 여러개의 구글 크롬 창이 열려있을 경우는 탭을 다른

창으로 옮기는 것이 가능
합니다. (IE7을 까신 분들은 한 번 해보세요. 2개의 익플창을 띄우고 탭을 드래그해서 다른

창으로 옮기려고 하면 아무 일도 일어나지 않습니다.)

- 웹브라우져의 URL을 입력하는 창에도 많은 변화가 있는데 크롬에선 이를 OMNIBOX라고 이름 붙였습니다. 이 곳에

정보를 입력하면 타 브라우져와 같이 아래로 리스트가 보이는데 기존에 방문했던 페이지, 그 정보에 관련한 검색 추천,

연관 인기 페이지
등의 정보도 함께 출력된다고 합니다. 직접 입력하지 않은 페이지는 자동 완성에서 제외되며, 특정

사이트에서 검색을 한 기록이 있을 경우는 "Search Amazon: xxx"식의 표현으로 사이트에 들어가지 않고도 바로

검색을 할 수 있는 기능
이 있다고 합니다. 제작진들도 원래는 그렇게 쓸데없는 것이 뜨는 것을 싫어했지만, 연구끝에

편하고, 귀찮게 느껴지지도 않도록 훌륭하게 만들어냈다고 자부하는군요.


- 다른 브라우져에서 새 탭을 열면 초기 페이지(보통은 포탈이나 about:blank로 해놓는...)가 뜨도록 되어있는데

크롬에서는 가장 많이 방문한 사이트 목록과, Omnibox에서 이용했던 검색 중 가장 많이 이용한 검색을 바로 할 수 있는

페이지가 뜬다
고 합니다. (얼마나 편할지는 모르겠지만 전 about:blank가 제일 좋은데... -_-;)


- 'INCOGNITO Window'라는 형식의 창을 열 수 있으며 이 창을 연 상태로 한 작업은 기록이 남지 않습니다. 자주

방문한 사이트 목록에 카운트가 체크되지도 않고, 히스토리도 남지 않는다고 합니다. 당연히 창을 닫는 순간 쿠키도

자동으로 모두 청소 합니다. (제가 좀 더 어릴 때 나왔으면 19금 정보보고 흔적 지운다고 고생 안해도 됐으니 편했을

듯 합니다...만 지금은 크게 도움이 안되겠네요. 사용 예로는 Surprise gift로 줄 물건을 찾기 위해서 웹 서핑 할때가

나와 있습니다.)


- 구글 크롬에서는 자바 스크립트로 강제로 새 창을 띄울 수 없다고 합니다(만세!) 새 창을 띄우려는 시도가 있을

경우에는 브라우져 화면 하단에 조그마한 박스가 생기며 이 박스를 드래그해서 창 바깥쪽으로 꺼내면 그때 창이

열린다고 하네요.


- 웹 애플리케이션 (GMail이나 구글 맵 같은) 페이지를 열 때에는 Omnibox나 탭 등이 보이지 않는 깔끔한 창 형태로

이용하는 것이 가능하다고 합니다.


- 보안 면에서는 Sandboxing을 해서 각각의 프로세스에서 일어나는 일이 다른 프로세스에 전혀 영향을 끼치지

못하도록 되어있으며 내부적으로 철저한 권한 관리가 이루어져 있기는 한데, Plug-in은 별도의 프로세스이니만큼

문제가 생길 가능성이 있다고 하네요. (이건 뭐 다른 브라우져들과 다를 바 없는 듯)


- 구글 크롬은 수시로 악의적인 사이트 목록을 업데이트해서 사용자가 그 사이트에 접근 할 경우 경고 메세지

띄워준다고 합니다. 일단 사이트에 문제가 발견되면 구글에서는 해당 사이트를 보고 악의가 없다고 판단 될 경우 수정

요청을 한다고 하네요. 이 악의적 사이트 목록은 다른 서비스에서도 이용 할 수 있도록 Public API 형태로 제공 될

예정입니다.


- 끝으로 Gears라는 개념을 내세우고 있습니다. Gear는 웹으로 할 수 있는 일을 늘리기 위하여 브라우져에 추가되는

API
에 가까운 개념으로 보이는데 자세한 설명은 나와있지를 않습니다. "어떤 브라우져에서는 되고 어떤 브라우져에서는

안되면 접근성에 문제가 생기니 좋지 않다. Gears는 모든 브라우져의 향상을 위해 만들어 졌다"라고 주장하는 것을

봐서는 우리 모든 브라우져에 Gears를 달 수 있게 하자 -_- 라고 주장하는 것 같네요.


구글 크롬은 미국 시간으로 9월 2일에 배포 될 예정이며 100여개의 국가에서 동시 런칭되므로 바로 다운받을 수

있다고 합니다. 개인적으로 구글 검색,지메일이나 구글닥 등의 서비스를 매우 만족하고있기 때문에 구글 크롬이

얼마나 훌륭하게 나올지 기대됩니다. 2년이 넘게 입 다물고 개발했다고 하는군요.

베타가 곧 나올거기도 하고 스크린 샷이 제대로 된 게 아직 거의 뜨지 않아서 가장 괜찮은 스샷 1장만 첨부하도록

하겠습니다.

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://voxel.egloos.com/tb/4589388 [도움말]
  • 구글의 새 브라우져: 크롬 2008/09/02 16:12 #

    구글에서 2년간 극비리에 진행중이던 오픈소스 웹브라우져 "크롬(Chrome)"의 출시가 인박한 모양입니다. 일단 구글크롬을 소개하는 코믹스가 9월1일에 세상에 공개가 되었고, 여러 저널들에서도 관련 글들이 올라오고 있습니다. 저널들을 보는 것 보다 코믹스가 더 도움이 될 것 같아요. 구글 크롬에 대한 구글(만화) 제가 왜 구글 웹브라우져에 관심있는지 궁금하신가요? 글쎄요. 일단 구글을 웹서치의 디폴트로 사용하고 있고, 구...... more

  • 구글의 새로운 웹브라우저 구글크롬(Google Chrome), 오늘 출시 2008/09/02 19:07 #

    바로 어제, 인터넷 검색 서비스를 제공하는 구글이 브라우저 시장 참가를 선언했다. 구글은 오늘(현지시간) 세계100여개 나라에 테스트버젼을 무료 배포할 예정이다. 드디어 칼을 뽑아 든 구글이다. 초기 브라우저 시장을 장악한 넷스케이프를 제치고 독보적 지위를 차지한 익스플로러에게 근 10년만에 도전자가 나타난 샘이다.새로 발표되는 브라우저의 명칭은 '구글크롬(Google C...... more

  • 일상 2008년 9월 2일 아침. 2008/09/02 23:02 #

    오늘은 아침 6시 반에 제대로 일어났다. 알람시계의 덕이고, 그 덕에 아침 8시에 시작하는 국제외교학 수업에 늦지 않게 도착했다. 좀 더 늦은 시간대로 바꾸려고 했는데 저 강의는 딱 저 시간대 하나밖에 없는데다가 pre-major수업이라 뺄수도 없다. 수업 자체는 괜찮은데 아무래도 미국이다보니 좀 러시아를 까는 경향이 있다. 오늘 수업중에 러시아가 북극에서 석유를 채굴하려는 시도때문에 대기내 이산화탄소의 증가로 지구 온난화가 가속화 될지도 모른...... more

  • 새로운 축: 구글 크롬 웹브라우져. 2008/09/02 23:05 #

    Google Chrome 구글이 손을 뻗치지 않는 영역이 어디일까 궁금해지네요. 혹시 비밀리에 바이오 영역에도 손대고 있는 것은 아닐지 모르겠습니다. ㅎㅎ 가장 마음에 드는 것은 탭들이 별도 프로세스라는 점입니다. 가끔 제가 쓰는 리눅스 파폭은 어떤 사이트에 들어갔을 때 뭔 문제인지 파폭자체(모든 탭 포함)가 한참 정지되었다가 동작하는 경우가 있었거든요. 그외에도 여러가지 참신한 기능이 있는 것 같은데 우분투 리퍼지터리에는 언제 올...... more

덧글

  • Kennedy 2008/09/02 18:34 # 답글

    좋은 글 잘봤습니다 :)
  • 도달 2008/09/02 18:49 #

    엇 감사합니다 :)
  • 은혈의륜 2008/09/02 22:33 # 답글

    원탭, 원 프로세스가 매우 마음에 드는군요 :D IE 최신버전을 쓰기는 하는데 가끔 한탭이 멈추면 다른 탭이 먹통이 되는게 짜증나던 사람으로써 좀 기대가 되네요. 크롬, 한번 써봐야 겠네요.
  • 도달 2008/09/03 02:46 #

    전 IE7과 파이어폭스를 교대로 사용하고있는데 그런 일이 별로 없어서 그러려니 했는데 다른 분들은 종종 겪으신 모양이네요 -_-);
덧글 입력 영역