IE에게 웹 표준을 잘 인식하도록 최면을 거는 IE7 JavaScript 라이브러리가 2.0(beta) 버전으로 갱신되었다. IE7.js v2.0(beta)의 자세한 갱신 내용은 개발자의 웹 블로그의 글에 올려져 있는데, 주요 내용은 다음과 같다.

  • 이제 IE7 프로젝트는 googlecode로 자리를 옮겨서 진행됨.
  • 이제 IE7은 모듈러(modular) 형태로 배포되지 않고, 크게 IE7.js와 IE8.js 파일로 분리되서 배포됨.
  • IE7.js는 실제 MSIE7 브라우저에 포함되어 있는 기능들만을 인식하게 고쳐줌.
  • 기타 모든 기능 개선은 IE8.js로 옮김.
  • IE7의 파일 크기 축소(11KB gzipped).
  • IE7의 실행 속도 향상.
  • blank.gif 파일을 제외하고 다른 모든 의존적 추가 파일들이 필요없게 됨.
  • Google 서버를 통해 IE7/IE8.js 파일들을 바로 링크할 수 있게 됨.
  • base64로 인코딩된 그림을 위한 기능 수정은 더 이상 포함되지 않음.

간단하게 각각의 IE 6와 IE 7 브라우저를 위한 기능의 분화가 있으면서 파일도 둘로 나뉘게 되었다.
실제 웹 페이지의 적용은 이제, 라이브러리 관련 파일들을 서버에 올려둘 필요없이, 간단하게 <head>에 다음과 같이 써주면 끝.

MSIE5-6 웹 브라우저를 MSIE7처럼 행동하도록 기능을 갱신하려면,

<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE7.js" type="text/javascript"></script>
<![endif]-->

또는, MSIE5-7 웹 브라우저를 포함해서 MSIE7가 지원하지 않는 몇몇 CSS selectors와 속성들을 인식하도록 하려면 다음과 같이 써준다.

<!--[if lt IE 8]>
<script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE8.js" type="text/javascript"></script>
<![endif]-->

아무쪼록, 나중에 IE 8이 발표되면서 또 하나의 IE9.js 파일이 등장하지 않았으면 한다.

Rails가 2.0.2로 갱신되면서, 몇몇 추가된 기능들과 함께 기본 데이타베이스가 MySQL 대신에 SQLite3로 바뀌었다는 소식.
그래서, 기존 MySQL을 쓰려면 이제 rails -d mysql app_name 명령을 사용해야 한다.

물론, 이렇게 바뀐 이유는 단지 대부분의 시스템에 SQLite3가 기본적으로 설치되어 있으므로 별다른 데이타베이스의 설치와 조작 없이 쉽게 사용할 수 있다는 이점도 있지만, 그다지 복잡하지 않은 웹 어플리케이션의 경우라면 데이타베이스 전용 서버를 돌릴 필요없이 어플리케이션 자체 내에 심어놓고 돌릴 수 있는 SQLite 만의 장점 때문이리라.

이 기회에 오랜 만에 Leopard에 설치되어 있는 sqlite3를 살펴보니, 설치된 버전(3.4.0)이 최신 버전(3.5.4)과 차이가 난다. 일단 최신 버전을 깔고 보는 성질이라, SQLite Download Page에서 소스를 받아 설치해 둠.

미리 컴파일 된 Mac OS X 용 바이너리 파일도 제공되고 있지만, 시스템에 미리 설치해 놓은 GNU Readline Library와 함께 사용하려면 소스를 다음과 같은 설정으로 직접 컴파일해야 한다.

./configure --prefix=/usr/local --with-readline-dir=/usr/local

요새 계속 추가되는 Rails의 웹 어플리케이션 최적화 기능들은 참 반가운 것들이 많군.

아직 공식적인 발표는 없지만, 이미 정식 Rails 2.0이 배포되기 시작한 모양이다.

아직 너무 이른 탓인지 그냥 $ gem update 명령으로 갱신하려고 하면, activeresource가 설치 안 되는 문제를 보이지만, 다음과 같은 명령으로 무사히 설치할 수 있었다.

$ sudo gem install rails --source http://gems.rubyonrails.org

개인적으로 새로운 버전의 Rails를 설치하면, 갱신된 API도 함께 local에 저장해 놓고 살펴보려고 아래와 같이 새로운 project를 만들어서 rails 버전을 freezing 시킨 후 doc을 추출해 내는 과정을 거치는데, 여기서 문제가 발생.

$ rails new_project
...
$ cd new_project
...
$ rake rails:freeze:gems
Freezing to the gems for Rails 2.0.0
rake aborted!
uninitialized constant Gem::GemRunner

google을 통해 문제의 원인을 찾아보니, RubyGems이 갱신되면서 require rubygems 할 때 자동적으로 gem_runner를 require 해주지 않아서 생기는 문제란다.
앞으로 이 문제가 patch될 예정이라고 하는데, 당장은 아래와 같은 해결 방법을 소개하고 있다.

먼저 gems 디렉토리에 있는 gems/rails-2.0.0/lib/tasks/framework.rake 파일을 열고, 아래와 같이 require ‘rubygems/gem_runner’ 한 줄을 추가해 준다.

deps = %w(actionpack activerecord actionmailer activesupport activeresource)
require 'rubygems'
require 'rubygems/gem_runner'
Gem.manage_gems

patch 후에, $ rake doc:rails로 무사히 rails api를 추출해서 프로젝트 디렉토리 속 doc/app에 들어 있는 api 문서를 웹 브라우저의 책갈피에 등록 완료.

아직 Rails 1.2.x에서도 버벅이는데 새로운 버전이 나와버렸으니 슬쩍 마음만 조급해지는군.
Rails 2.0 Final Released! – Summary of Features

WebKit 3에 내장되어 있는 Web Inspector가 반가운 기능들로 갱신되었다는 소식이다.
특히나, 실시간으로 CSS 스타일을 수정할 수 있게 된 것과, 옆에 있는 Sidebar의 크기를 조절할 수 있게 된 것은 당장 Safari에도 적용되었으면 하는 기능. (Firebug에서는 예전부터 지원했던 기능이지만)

그나저나, WebKit에서도 이제 CSS2에 정의되어 있는 @font-face 규칙을 지원하기 시작하면서, 필요에 따라 내려받을 수 있는 다양한 종류의 공개된 TrueType 글꼴들로 디자이너들에게 표현의 자유도를 넓혀줄 수 있는 기틀은 마련되기 시작했지만, 저작권 문제와 기타 웹 브라우저들의 지원 사항등 여러가지 이유로 가까운 시기에 널리 사용될지는 아직 불투명.

Ruby on Rails Web Framework에 관심을 가진 사람은 Merb도 눈여겨 볼 만하다. 보통 Ruby on Rails보다 가벼운 아류 정도로 불리우는데, 가벼운 것은 맞지만, 여러 유용한 기능들까지 생략된 것으로 오해될 수도 있는데 절대 그렇지 않다.
장점이라면 평소 Ruby on Rails를 쓰면서 생길 수도 있는 몇몇 불만과 아쉬움들을 채워주면서, 동시에 가볍기 때문에 오히려 개발자의 선택 자유도를 더 넓혀줄 수 있다는 점이 마음에 든다. RoR의 ActiveRecord를 대체할 수 있는 ORMDataMapper와의 조합도 매력적이다.

아직 참고할 만한 Merb의 문서가 웹 상에 많이 소개되지는 않았지만, 시간이 지나면 이것도 금방 해결되리라 믿고, 또 하나의 좋은 선택이 될 수 있는 Ruby 기반 웹 어플리케이션 개발 프레임워크가 앞으로 많은 이들의 주목을 받을 듯.