タグ

ブックマーク / badatmath.hatenablog.com (4)

  • node.js とは何か (2) - I am bad at math

    昨日に引き続き、いざ!part2なのだ。 前回では node.js と v8 の結びつきまでを書いたので、今日は Non-Blocking I/O の話を。 Non-Blocking I/O という言葉からブロックしない I/O をイメージするのはたやすい。でもこれを実現しようとなるといろいろとまあ面倒くさいんだよね。 それを解決する常套手段で言うとファイルディスクリプタ(ネットワークならソケットだね)を開いてそれをselectシステムコールの監視対象に加えておき、selectを呼び出すことで監視するっていう方法がある。こうすると何が嬉しいのかファイルディスクリプタが2つある場合で考えてみよう。 まずAとBというファイルディスクリプタを監視対象とする。 selectシステムコールを呼び出し、そのどちらかが読み出し準備完了となっていないかを確認する。 もしどっちも準備できていなかったらプロセ

    node.js とは何か (2) - I am bad at math
  • 微積がようやくわかってきた。 - I am bad at math

    何を隠そう、数学はこのブログ随一の非モテコンテンツ。 もうこの数学って単語見た瞬間にブラウザの戻るボタン押されたりタブ閉じたりされているんじゃないかって思ってる。 まー、でもここはそういうブログなのだ。 半年くらい前に始めた微積、実はもう3周目くらいに突入している。 1周目はホント辛くってさ、何もかもがほぼ忘却の彼方だったので予備知識はほとんどない状態だったんだ。もうね、高校生の頃に習ったような公式類を忘れているもんだからその歩みは匍匐前進レベル。ブックオフで高校生向けの参考書を買ってきて、あーそうだっけなぁと思いつつ復習してようやく元の微積のに戻るということを繰り返していた。だから1周目は全体を俯瞰するだけと思っていたのに想定外に時間がかかりまくった。で、2周目にようやく突入して今度は練習問題を解くということを中心に。今の3周目は証明と応用に重心を置いて読んでいる感じ。 で、今その3周

    微積がようやくわかってきた。 - I am bad at math
  • IT系企業のWebサイトに多く見られるサイト作りにおける失敗例 - I am bad at math

    IT系企業のWebサイトに魅力を全然感じないのはなぜか?来であればこの分野に長けていて不思議はないハズなのに、もうあたり一面死屍累々といった感じなのである。そういったサイトにありがちなパターンは文に抽象的なキーワードが散りばめられ、何を言っているのかわからないこと。中でも程度を表すものについては注意する必要があったりする。 最 ベスト 高 長 低 安 全 強 圧倒的 先進的 卓越した 短 大 小 迅速 上 豊 明ここにリストアップされている文字、あるいは単語が入っていると途端に文章がボヤけてしまい、読み手はたちまちにして白昼夢へトリップだ。トイレに席を立つだけでもそんなサイトを見たことを忘れてしまうだろう。例えば、ということでよくありがちな文章をひとつ部分的にピックアップしてみよう。 「〜技術力で高品質、かつ最適なソリューションを提案します。」 もうね、これだけでもかなり傲慢な文章だ。

    IT系企業のWebサイトに多く見られるサイト作りにおける失敗例 - I am bad at math
  • node.js とは何か - I am bad at math

    期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオプションなどを諸々付けていたからお気に入りだったのに)と決して良いことばかりで忙しかったわけではないけどね! で、今回は node.js のお話。異様な盛り上がりを見せているものの、じゃぁそれっていったい何かというと「JavaScriptを用いたNon-blocking I/O環境」という非常にシンプルなものだ。 その根底には「うまくスケールできること」と「動作が速いこと」という理念が見受けられる。 まず「うまくスケールできること(多量のアクセスを捌けること)」を解決するにあたり、まずはスレッドモデルか、イベントループかという問題があった。そこで auth

    node.js とは何か - I am bad at math
  • 1