Om と persistent data structure

over 1 year ago • written in Japanese

The Future of JavaScript MVC Frameworks

Instead of using JavaScript objects, Om uses ClojureScript data structures which we know will not be changed. Because of this, we can provide a component that implements shouldComponentUpdate by doing the fastest check possible - a reference equality check. This means we can always determine if the paths changed, starting from the root, in logarithmic time.

「未来」についてはまだ飲み込めてないんだけど、persistent data structure ってこういうところに使えるんだというのが面白かった。

Re: Dockerが利用しているAUFSとLXC

over 1 year ago • written in Japanese



LXC の仮想化は、プロセスからファイルシステムまでホストの名前空間を切り分けることで実現しているので、ホストとゲストの kernel は同じことが前提のはずです。Oracle Linux Administrator’s Solutions Guide の 9.1 About Linux Containers にも

When you use the lxc-start command to start a system container, by default the copy of /sbin/init in the container is started to spawn other processes in the container’s process space. Any system calls or device access are handled by the kernel running on the host. If you need to run different kernel versions or different operating systems from the host, use a true virtualization solution such as Oracle VM or Oracle VM VirtualBox instead of Linux Containers.

とあります。Oracle VM というのは Xen らしい。

Docker の下にある namespaces, cgroups, AUFS については dotClound, Inc. (現 Docker, Inc.) の人々が書いていた PaaS Under the Hood シリーズ がわかりやすかったです。

(追記: Linux 3.12 をホストに Linux 3.10 をゲストにする、という話ではなくて、3.12 をつかっているディストリビューション X をホストにしたときに、カーネルは同じことが前提で、本来は 3.10 をつかうはずのディストリビューション Y がゲストとして動くかどうか、という疑問だったような気がしてきた…。ともあれ PaaS Under the Hood はおすすめです。)

Hello from Rails and Heroku

over 1 year ago • written in English

As usual, I’ve started as my new blog. This blog is hosted on Heroku, and written in Rails.