タグ

ブックマーク / satoshi.blogs.com (11)

  • node.js と thread hog の話(3)

    [前回までの話へのリンク] ・node.js と thread hog の話(1) ・node.js と thread hog の話(2) では、なぜ今頃になって HTTP Server の c10k 問題(もしくは、thread hog 問題)が顕在化したのだろう。 当時(90年代の終わり頃)と比べて、もっとも大きく変わったのはCPUの性能である。クロック数は、数百MHzから数GHzへと一桁増えたし、マルチコア化もしている。CPU 性能だけ見れば、当時の数十倍の能力が出てしかるべきである。 しかし、実際の人生はそう簡単ではない。サーバーのパフォーマンスはCPU性能だけが決めるわけではないからだ。そこで、ボトルネックの一つとして注目されはじめたのが、thread の数なのである。 前回述べた様に、thread 一つあたり 2MB~8MB のスタック領域を仮想メモリ空間に確保しなければならな

  • iPadアプリ開発日誌:「アノテーション」が可能になったCloudReaders

    少し前から予告していた(参照)neu.Notesと連携してPDFやマンガにアノテーション(=赤入れ)をすることを可能にしたCloudReaders(バージョン1.14)がAppleに承認されたので、ぜひともお試しいただきたい。 正直、今回のバージョンは一発承認は難しいと考えていた。というのも、この機能はneu.NotesがインストールされているiPadでしか動かないので、「他のアプリがインストールされていないと使えない機能を持ったアプリなんて承認できない」といちゃもんを付けられてる可能性があると考えていたのだ。 しかし、結果は一発承認。neu.Notesがインストールされていない場合のレスポンス(後述)などを慎重に作り込んでおいたのが良かったのだろうと自分なりに納得している。 その仕組み(プロトコル)はとてもシンプル。ユーザーがペンアイコンとタップすると(上の図参照)CloudReader

    iPadアプリ開発日誌:「アノテーション」が可能になったCloudReaders
  • 日本人の価値観にまで踏み込んで原発問題を考えるべき時が来たのだと思う

    「候補者のエネルギー政策を知りたい有権者の会」を見ると、さまざまな候補者のある意味で優等生的な答えが見られるが、今、問われているのは、「脱原発とクリーン・エナジーのどちらを選ぶか」なんて小手先の話ではなくて、「日をどんな国にしたいか」というもっともっと大きな話だと思う。 戦後、日は欧米に追いつけ追い越せと国民全員が一眼となって勤勉に学び・働き、世界2位のGNPを持つ国にまで成長したのだが、80年代終わりのバブルの崩壊後は「失われた20年」に突入し、2011年に入った時点ですでに、財政赤字、少子化、地方の過疎化、高い失業率、正社員・派遣社員の二極化、などのさまざまな問題を抱えていた。 3月11日の大地震と巨大津波は、まさに天変地異ではあったのだが、それに続く福島第一原発でのスリーマイルを超える原発事故は、「過疎化で苦しむ地方に金と雇用というエサで危険な原発をおしつけた結果得られる、豊富で

  • エンジニアから見た原発

    典型的な「理科系少年」として育った私にとっては、原子力発電は宇宙旅行人工知能とならぶ「人類の英知を集めた科学技術の結晶」であり、あこがれでもあった。ブルーバックスの相対性理論に関するはすべて読んだし、アインシュタインの書いた e=mc2 という式は私にとってはまさに「人類の英知」を象徴するシンボルであった。高校時代の前半までは、自分は物理学者になると確信していたぐらいだ。ひょんなきっかけからコンピューターの世界に足を踏み入れ、ソフトウェア・エンジニアとしての道を歩むことになったが、科学技術全般に対する情熱は今でも持っている。 そんな私なので、今までは当然のように「原子力発電」の支持者であった。資源の乏しい日にとって「石油が不要で、二酸化炭素を放出しないクリーンな原子力発電」こそ日にふさわしい発電方法であると信じていたし、自動車・エレクトロニクスに続く輸出産業としての原子力に期待もし

  • なぜ横並びで展示されるAndroidタブレットを作ってもだめなのか

    先日のエントリー「Androidタブレットはヨドバシカメラの『Androidタブレットコーナー』に横並びにされた時点で負けだ」には、例によって賛否両論のさまざまなフィードバックがよせられたが、否定的な意見の大部分は以下のようなもの。 何故負けなのかがあまりイメージ出来ないなあ。描かれている様子はAndroidが盛況を博しているものにしか見えない。 PCメーカーが「何のためにWintel」と考えてるとは思えないし、スマホやタブレットで「何のためのAndroid」って問いに意味があるとも思わない。 すでにそんな現状の Windows PC でも一定の利益は出ているのだから、Android タブレットも負けではあるまい。 歴史に学ぶとするなら、iPhone/iPadMachintosh だとすれば、Android機はPC/AT互換機なんだと思う。ただ、「Windowsなのでどれも使い勝手は

    なぜ横並びで展示されるAndroidタブレットを作ってもだめなのか
  • google appengine に関してひと言

    ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt

  • Cloud Computing考:Amazon ec2とGoogle App Engineの違いを私なりにまとめてみた

    Cloud Computing の話が注目されるようになってしばらく経つが、商用での格応用という意味ではまだまだ未熟な市場である。PhotoShareは去年の7月サービス開始時から Amazon の ec2+S3 という組み合わせで運営しており、私から見れば当然の選択だったわけだが、あのタイミングで商用サービスへの採用に踏み切った会社も少なかったのか、何件かインタビューの申し込みが来たりして少し驚いている(参照)。 すぐに陳腐化するハードウェアの資産はできるだけ持ちたくないし、自分でデータセンターにラックを借りるなんてことはコスト的に見合わない。かといって、通常のレンタルサーバーは初期費用がばかにならない(今は少しは改善されているのかも知れないが、去年の段階では「それじゃあハードが自分で買えるじゃん」と言わせるぐらいの初期費用を請求する企業がほとんどであった)。それに加えて、どのくらいの

  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

    昨日の「Ruby on Railsの『えせMVC』の弊害」というエントリー。若干「釣り」の要素が含まれたタイトルが功を奏したのか、たくさんのフィードバックがいただけた。そんな中で見えて来たのは、この問題はRailsに限った話ではなく、業務用アプリケーションで使われているJavaや.Netの世界でもよく見られる問題だということ。 その「問題」とは、ActiveRecordに代表されるO/Rマッピングの技術の進化が、来のMVC(そしてオブジェクト指向そのもの)のメリットを無視した「えせMVC」な設計を助長している、という問題である。 ・MVCやオブジェクト指向を表面的にしか理解していないエンジニアが増えている(ここが根的な問題) ↓ ・SQLを自分で記述しなくて良いO/Rマッピングはとても魅力的(これはこれで別の問題を含んでいるが、このエントリーではあえて突っ込まない) ↓ ・O/Rマッピ

  • PhotoShare の Atom/JSON/JSONP Feed の正式発表

    PhotoShareの写真のFeedに関しては、少し前に実装が完了していたのだが、「サンプルをきちんと整えてから」などと考えているといつまでたっても発表できないので、とりあえずFeedのURLのみ発表してしまうことにした。 PhotoShareの場合、ユーザーごとにユニークなIDが当てはめられている。iPhone上のPhotoShareからメアドを登録後に通常のブラウザーからログインして、"My Photo"を開いた時にURLバーに表示されるURLの最後の部分がそれだ。例えば私の場合、それが"http://www.bcphotoshare.com/photos/67"なので、"67"がユーザーIDとなる。

  • Life is beautiful: プレゼン初心者が覚えておくべき3つのポイント

    プレゼンの初心者にありがちな失敗は、 ・自分の未熟なプレゼンのテクニックを気にしすぎてあがってしまう ・情報は多い方が良いと勘違いして、スライドをたくさんの文字で埋め尽くしてしまう ・その結果、観客に話しかけるのではなく、観客に背中を見せてスライドを読んでしまう ・結局何が言いたいのか全く伝わって来ない など。今日はそんな人に覚えてほしい三つのポイント。 1. 観客は「未熟なプレゼン」には寛大だが、「何を伝えたいのか分からないプレゼン」には厳しい 「自分はプレゼンが不得意」と思い込んでいる(もしくは悩んでいる)人はたくさんいると思うが、そんな人がまず覚えておくべきことは、観客が「未熟なプレゼン」にはけっこう寛大であること。小中学生ならいざしらず、社会に出てから「プレゼンターの未熟さ」笑う人はまずいないので、心配しなくても良い。逆に、観客が許してくれないのは「何を伝えたいのかが分からないプレ

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • 1