2010-01-01から1年間の記事一覧

node.jsとは何か(4)

さて、前回まで基礎部分をいろいろと説明したので今回からは実装について。現在のソースやその成り立ちを説明するのもいいんだろうけど、今日からはちょっぴりハンズオン形式に趣向を変えてみよう。ってことで node.js を作っていくよ! 実装編その一はJSエ…

node.jsとは何か(3)

今日はnode.jsで採用しているCommonJSの話である。 CommonJSの説明だけだとあっという間に終わってしまうのでJavaScriptの歴史を混ぜ込んだら期せずして長くなってしまった。さて、1995年に発表されたJavaScriptは開発当初「Mocha」と呼ばれ、次に「LiveScri…

node.js とは何か (2)

昨日に引き続き、いざ!part2なのだ。前回では node.js と v8 の結びつきまでを書いたので、今日は Non-Blocking I/O の話を。 Non-Blocking I/O という言葉からブロックしない I/O をイメージするのはたやすい。でもこれを実現しようとなるといろいろとまあ…

node.js とは何か

期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオ…

OSS開発の国際化について

本当はいろいろ書きたいことがあるのだけれど、書けるレベルにまで自分をなかなか引き上げられない。といってこのまま書かないのも何なので、今日はOSSを巡る国際情勢についてちょっぴりだけ書く。今のOSS界隈の動きは実は自分が経験した中でも凄まじいこと…

日本のIT系ニュースサイトの憂鬱

日本のIT系ニュースサイトをほぼ見なくなってもう半年になる。 検索エンジンで検索したときに引っかかったのを参照するくらいしかしなくなった。で、見ないって決めたのは日本のIT系ニュースサイトって要するに アメリカ発の記事の翻訳 日本企業のプレスリリ…

微積がようやくわかってきた。

何を隠そう、数学はこのブログ随一の非モテコンテンツ。 もうこの数学って単語見た瞬間にブラウザの戻るボタン押されたりタブ閉じたりされているんじゃないかって思ってる。まー、でもここはそういうブログなのだ。半年くらい前に始めた微積、実はもう3周目…

IT系企業のWebサイトに多く見られるサイト作りにおける失敗例

IT系企業のWebサイトに魅力を全然感じないのはなぜか?本来であればこの分野に長けていて不思議はないハズなのに、もうあたり一面死屍累々といった感じなのである。そういったサイトにありがちなパターンは本文に抽象的なキーワードが散りばめられ、何を言っ…

予習 Rails3 (2) Thor

さて、2回目の今回は Thor。北欧神話で言うと最強らしい。 http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%BC%E3%83%ABでも Rails3 で使うのはこっち。 http://github.com/wycats/thorRuby の Thor は平たく言えばコマンドライン操作に対して、より簡便なオ…

CIツール(Continuous Integration Tool)に夢中

一昨日から始めた Ruby の trunk の継続的インテグレーションビルド、すっかり気に入ってしまった。どれもLinuxではあるものの3プラットフォームでビルドしている。 自分はもちろん Ruby のコミッタではないのだけれど、コミットするごとにビルドが走りその…

ruby の trunk を buildbot で自動ビルドする

一度 ruby の trunk をインストールするとどんどん最新ソースを追っかけたくなるもの。で、多分誰かは絶対作っているだろうと思ったtrunkの自動ビルドの仕掛けがwebを探しても見つからなかった。なので作ってみよう!!と軽いノリで調査に乗り出した。 最初…

予習 Rails3 (1) Arel

Rails3 では ActiveRecord の部分で Arel という関係代数モデルのモジュールが使われるということなので少しだけ予習しておく。 CREATE TABLE articles ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, title TEXT, body TEXT, author TEXT, create_date…

GitHubはいかにして始まったのか

またもや 37signals ネタなのだけれども、彼らの blog で連載されている「Bootstrapped, Profitable, & Proud」というシリーズが凄まじく面白いし参考になる。 内容はそのタイトル通り初期投資にお金をかけずに(ベンチャーキャピタルを使わずに)設立し、利…

美人写真を撮るのに最適なカメラは?

今日、釣りとしか思えないタイトルで日本のTLを席巻していたのが 「iPhone持ってるとセックスしやすい?どう?」 techcrunch.jpにしては何ともお粗末な翻訳。Sexual Partner が「性的お友達」て・・・。 ま、ネタなのでそれもありかもしれないが、元記事は面…

37signals の Jason Freid が語る『採用』とは

最近彼は inc.com に定期的に寄稿(だいたい月初めだけど8月のはまだ)しているんだけど、その記事の中から彼の考える「採用」についてまとめてみた。 元記事はこちら(もう二か月以上前だけど・・・) Never Read Another Resumeタイトルは「履歴書なんて…

OCamlでニュートン法(2)

さて、前回微分の計算をするところまでで終わっていたんだけど今回は実際に Newton-Raphson で実装してみよう。 (* small number *) let dx = 1.0e-10;; (* threshold *) let threshold = 1.0e-15;; (* derivative *) let deriv f x dx = (f (x +. dx) -. f …

OCamlでニュートン法(1) 微分の計算

さて、ニュートン法とは二分法のとこでもやったと軸との交点を求める場合に関数の接線を用いるという方法。 で、について解いて、 これを使う。 このうち、今回はの計算の仕方。を求めるのに一番簡単なのは においてを十分小さな値にして計算する方法。差分…

Ocamlで二分法(2) 平方根を求める&二分法の汎用部品化

昨日に続いて二分法を使い、今度は平方根を求めてみる。二分法を使う場合に 対象となる関数が連続関数であり、 かつ の場合、 となる根 が区間 に存在するということなので を求めるにあたり、 という式において を満たす が解となる。(ちなみにこの式がピ…

Ocaml で二分法

最近、Ocaml と数値計算をセットで勉強することにしている。さてこの二分法とは、解を含む区間の中点を求める操作を繰り返すことによって方程式を解く求根アルゴリズムだそうな・・・。詳しくはWikipediaの二分法を参照のこと。で、円周率を二分法で求める例…

「プログラミングの基礎」

前回書いた通り、「最新コンパイラ構成技法」を読む途中で ML 習得の必要性を感じて OCaml を始めたわけだけど、今やすっかりハマっている。 「最新コンパイラ構成技法」については第二部をある程度読み終えて(いやこの二部は実際すごくイカしてる)、Ocaml…

訳あってOCaml

まさか自分が OCaml を勉強するとは全くもって思っていなかったんだけど、訳あって只今 OCaml 勉強中。というのも「最新コンパイラ構成技法」を読んでいて、その原著が「Modern Compiler Implementation in ML」。「Modern Compiler Implementation in C」で…

autoconf 2.66 にハマる。というか使っちゃいけない。

事の発端は ruby の 1.9.2 を rc1 ではなくブランチリポジトリから直接持ってきて configure && make してインストールしようとしたら configure スクリプトがなかったので autoconf を走らせた時。 開発機が CentOS5 でデフォルトパッケージの Autoconf は …

ruby1.9.1はまだ鬼門?

仕事中 EventMachine を使った ruby のコードを書いていて、ある部分がかなり遅いことに気付いた。 リクエストを非同期で投げるのに em-http-request を使っている部分。 その場はとりあえずやり過ごして、家に帰ってきてから改めて調べてみた。その結果、 r…

WEB開発者としての有料情報ソース二選

プログラミングというかIT系の本を買わなくなってかなり経つんだけど、こないだ久々に一冊買ってみた。「.fla2」という Flash 制作のためのアイデア集。ただし ActionScript や Flash の実装をこと細かく解説する技術書とは違って、この本を読むことでバリバ…

シリコンバレーは心の中に

Economist のサイトに興味深い記事が載っていた。 テキサスへ流入する人口とシリコンバレーから流出する人口をグラフィカルに地図上に表したものだ。記事中で「これって別に真新しいことじゃないけど」と書かれているんだけど自分は知らなかったことなので書…

IT業界で働く女性は無視できない勢いで減っているらしい

今までIT業界にいて気にもならなかったのだけど、言われてみてそういえばそうだよなーと思うのが女性の少なさ。実感でいえばエンジニアの8割、もしくは9割以上が男性だ。例えばエンジニア向けのイベントに行って女性(もちろんお客さん側でね)をみるのは…

クラウドが中小の受託開発企業へ与える痛烈な一撃

どうやら、今の世の中で「クラウド」というと例えば社内メールをGmailにしたり、社内で使っていた CRMを Salesforce にしたりという、今まで自社内に構築していたものを外部サービスに置き換えることを指しているらしいということに気づいて愕然とした。でも…

スタートアップ企業が勝ち抜いていくためのノウハウはどこにあるのか

おそらく、日本のIT業界、特にスタートアップ企業の人たちはビジネス展覧会系のイベントに辟易しているはずだ。 全然面白くない。あんなの、ただの粗品交換会じゃないか。使えそうな製品があったらもうとっくに試しているし、使えないと思っていた製品が触っ…

MTBF

2週間前、かれこれ5年ほど連続運転していた自宅のサーバがとうとう壊れてしまいました。ハードディスクが飛ぶという典型的な最期。想定内ではあったもののブログの原稿類がなくなったのは痛かった・・・。ハードディスクさえ換装すればまた動作は可能と思…

I/O待ちを緩和させるのに効果的な Reactor パターン

クラウド上で動作するプログラムを組んでいく際、スケールすることを狙って多くのロジックがデカップリングされ、複数のサーバに分散されることと思いますが、そこで顕著になってくるボトルネックの一つがネットワークなどのI/O待ちです。このI/O待ちを減少…