タグ

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

  • エンジニアの役割

    技術評論社の WEB+DB PRESS に連載中のコラムが新しくウェブで公開されたので、ぜひとも読んでいただきたい。 エンジニアの魔法の手〜面白いプロジェクトの関るには このコラムで一番注目していただきたい部分は、以下の一節。 自分が関わっているプロジェクトの方向性がおかしいと思ったら,自分がどんな立場にいようと強く主張すべきだ。会社はそんなエンジニアを必要としているし,当に会社のためになるのであれば必ず耳を傾けてもらえるはずだ。「そうは言っても,難しいんだよ」などと逃げを決める上司は怒鳴りつけてやればよい。 会社にとって最悪なのは,「こんなものを作っても誰も使わないんじゃないか,会社の価値を上げることにつながらないんじゃないか」と思いながらも黙々と仕事をするエンジニアだ。そんなエンジニアばかり集まっている会社は絶対に市場で成功しない。プロジェクトに関わるエンジニア全員が,「自分たちがど

  • 私が事故後、脱原発派に転向した一番の理由

    先日のエントリーに、「論理的に考える力のない人が、 『放射能は危険』→『原発は不要』→『脱原発』 となっているのは理解できます。 普通に論理的に考える力のある人は、 『脱原発したときのリスク』を考え、 脱原発をしないほうがよいのでは?という意見の方が多いと感じています。 中島さんのような方が、なぜ、脱原発一直線なのかが理解できません。 脱原発について書かれるのはよいのですが、 一度、なぜ脱原発を訴えているのか?についても、この場に書いていただけないでしょうか?」というコメントをいただいたので、今回はその質問に答えてみる。 実は、福島第一原発での事故の第一報を聞いた時に最初に私の頭に浮かんだことは、「この事故は、日だけでなく、世界全体の原子力技術の発展に大きなブレーキをかける事になる。1000年に一度の津波のためにたまたま起こった事故のために、日のエネルギー政策を変更したり、原子力発電を

  • Life is beautiful: Microsoft, 何もかもAppleのまねをすれば良いって分けじゃないぞ

    今朝のRethink Wirelessの記事によると、MicrosoftAppleをまねて「Walled Garden」なストアを作るらしい。 While current WinMo phones can download programs from the Microsoft marketplace or from third party stores like  , in Windows Phone 7 the vendor's own revamped store will be the only option. Also like Apple, Microsoft will not support storage expansion via microSD cards, or background processing for third party apps. ... Only

  • Google App Engine入門:実践編

    今週に入って、Tiny Message に続く二つ目の Google App Engine ベースのサービスをリリースした。3日ぐらいで試験的に作った Tiny Message とは異なり、今回のものは、丸二ヶ月間寝る間も惜しんで作った力作である。 米国向けのサービスな上に招待制のSNSなので、ここではサービスそのものは公開しないが、いくつかこだわって作った部分があるので、それについて語ってみようかと思う。 1. 対象となるユーザーの絞り込み FacebookやTwitterのような巨人が存在している中で、それにまっこうから対抗するようなソシアル・ネットワーク・サービスを作ったところで無謀なだけである。そこで、逆に対象にするユーザー層を究極にまで絞り込んで、彼らのライススタイルに徹底的にマッチしたサービスを作ることにより差別化をはかる、という戦略を選択。対象は「LAに住む20〜30代の社交

    Google App Engine入門:実践編
  • Life is beautiful: とある家電メーカーでの会話:クラウドテレビ編

    ある日の家電メーカーでの会話。まずは副社長室での会話から。 技術部長:副社長、来年度の予算の件はどうなりましたか 副社長:大丈夫だと言っただろう。台湾中国からの追い上げは相変わらず激しいが、テレビは家電ビジネスの要だ、経営陣としてもここだけは手を抜けない。来年も君たちにがんばってもらわなければならない。 技術部長:もちろんです。そのあたりは現場のエンジニアたちも強く感じてると思います。ちなみに、メールに書いてあった「戦略の変更」って何ですか? 副社長:そのことなんだが、経営会議でも持ち上がったんだが、台湾勢と戦うには、我が社にしかできない「差別化要因」が必要だ。価格競争では彼らにかなわない、消費者にとって目に見える価値を提供して、台湾製品よりも3割・4割増の値段でも喜んで買ってもらえるテレビを作らなければならない。私は、キーワードは「クラウド」だと思っている。 技術部長:え?「ク、クラ

    Life is beautiful: とある家電メーカーでの会話:クラウドテレビ編
  • 「なぜAppleはiPadにFlashを載せるべきではない」のか

    気がついた人も多いと思うが、iPadのアナウンスメントであっさりと無視されたのがAdobeのFlash。私は意図的(=「Flashなんか重要じゃない」というメッセージ)と読んだが、皆さんはどうだろうか。 iPhoneがFlashをサポートしていないことに対するAdobeを含めたさまざまな方面からの批判を考えれば、「the best way to experience the web (最高のウェブ環境)」を売り文句のiPadが、これだけ広く使われているFlashをサポートしないというのはおかしな話だ。 不思議に思う人も多いかもしれないが、自分をAppleの経営陣の立場に置いて良く考えてみれば答えは明確になる。 Appleという会社は、昔からさまざまなクリエーターたち(アーティスト、ミュージシャン、ウェブ・デザイナー、etc.)を魅力的で便利なパソコンやツールで味方につけ、彼らの作品を消費者

  • 無名関数を使った非同期通信のススメ(JavaScript)

    ここ最近はブラウザーの上で動く思いっきりRIAなアプリケーションを書いている私。こと通信の部分になると JavaScript での開発効率が、C++/Java/Objective Cなどと比べて格段に高いことをつくづく感じている毎日なので、今日は、そのあたりを少し解説してみようかと思う。 サーバーのAPIにアクセスするプログラムを書く方法は色々とあるが、「サーバー上の特定のURLにHTTPでアクセスして結果をXMLやHTMLやJSONで受け取る」というケースに限定すれば、基的に3つのパターンに分けられる。 1. 同期通信 result = urlfetch.fetch("http://www.google.com/") if result.status_code == 200: doSomethingWithResult(result.content) その書きやすさのために、実務経験の

  • Twitterに140文字以上つぶやきたい時のためのサービス、Tiny Message

    Google App Engineでプログラムを書き始めて1週間ほど経つが、ようやくDatastoreの基が分かってきたので、サービス運営の経験値を積むためにもアプリを一つリリースしてみることにした。 サービス名は、Tiny Message。Tiny URLはTwitterに書くURLを短くしてくれるサービスだが、こちらはTwitterに書くメッセージそのものを短くするサービス。 使い方はいたって簡単。Tiny Messageのホームページ(http://tinymsg.appspot.com/)でメッセージを書き、"make my tweet"というボタンを押すとTwitter投稿用の要約(最初の100文字)+URLが表示されるので、それをコピペしてTwitterでつぶやけば良いという仕組みである(メッセージの全文を読みたい人にはURLをクリックしてもらう)。 こんなサービスがチャチャ

  • Google App Engine入門:フレームワークの選択

    Google App Engine向けのアプリを作る際に最初に悩んだのはフレームワークの選択。Google App Engineにはwebappという最低限の機能を持ったフレームワークが付いて来るが、Python使いの人たちの間では、DJangoというフレームワークが広く使われているらしいし。かといって、あまり大きなフレームワークを使うと、パフォーマンスのチューニングとかもしにくくなるし、フレームワークそのもののバグや制限に悩ませられる可能性もある。 そんな中で増井君が見つけてくれてまず試したのが、Junoというフレームワーク。DJangoと比べると遥かに小さく、WebappよりもURLのルーティングのメカニズムとかが充実している。 そこで一旦はアプリをJunoの上で作り始めたのだが、Junoのソースコードを見ているうちにいろいろと気に入らないところが出て来た。不必要にオプションが多いし、

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

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

  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • 「Flash vs. HTML5」という構図がはっきりと見え始めたぞ、と

    業界関係者(特にスマートフォン関係の仕事をしている人たち)少し前からすでに気がついていた話だが、今回のAdobeからの一連のアナウンスメントで明らかになってきた「HTML5対Flash」という構図。とてもワクワクする戦いだ。 ウェブ上のリッチコンテンツという分野でリーダーシップ・ポジションを取りながらも、「無料Flashゲーム」と「ウェブサイトの見栄えをちょっと良くするアイ・キャンディ」というニッチなポジションに一度は追いやられるように見えたFlash(数年前の話)。しかし、動画フォーマットがReal Networks、MicrosoftAppleの三強いの間で中に浮く隙間を付いた戦略で、見事に「ウェブ上のマルチメディアのデファクト・スタンダード」のポジションをがっちりつかんだかに見えるFlash(現在)。しかし、その地位も安泰ではない。 Adobeにとって一番頭の痛い問題はiPhone

  • モバイルブラウザーのデファクトスタンダードになりつつあるWebkit

    最近、なぜかいろいろなところでHTML5やら モバイル端末向けのブラウザーの話をすることが多いのだが、今年になってトレンドとしてはっきりと見えてきたのは、WebKitがモバイル端末のブラウザーのデファクト・スタンダードになりつつあるということ。 私自身、最初にAppleがブラウザーを作ると聞いた時には「なんでそんな大変なことを今更?片手間でできる仕事じゃないぞ」と思ったりしたわけだが、その予想に反してAppleが見せた気度とリーダーシップには当に関心してしまった。 世の中にすでに何百万とあるサイトとコンパチビリティを保つというだけでも大変な作業なのに(経験者語る)、CANVASやCSS Transform/Transitionなどの新しいコンセプトを次々に導入してHTML5の標準化でリーダーシップを取っている点は注目に値する。 「スタンダードを決める」立場に自分を置く事がどのくらい重要

    モバイルブラウザーのデファクトスタンダードになりつつあるWebkit
  • Windows Mobileに「全力投球」を決めたMicrosoftの厳しい戦い

    ここの所モバイルの世界ではすっかりGoogleAppleにおいしいところをもっていかれてしまっているMicrosoft。そろそろ「撤退」か「全力投球」のどちらを選ぶ時期だと思っていたのだが、ついに「全力投球」を決めたそうだ。 今までは「Windows CEビジネスの延長上」程度にしか力を入れて来なかったWindows Mobileビジネスだが、Steve Ballmerが「開発者の心をAppleに奪われるなんて由々しき事態」と宣言し、主戦力をWindows部隊のトップクラスのエンジニアにごっそりと入れ替えての「体力勝負」に出る事にしたとのこと。

  • 外国為替相場取引(FX)で確実にもうける方法(必勝法)

    ワシントン大学で受講しているMBAもあと1ヶ月を残すところまで来たが、最後の期に受けている授業の一つが "International Finance" という外国為替に関する集中講座。今までいろいろと疑問に思ってきたことが一気に解消されたので大好きな授業の一つだ。 その授業の中で、金利の低い外貨で借金をして家を買った結果巨額の借金を抱えることになってしまった人たちがアイスランドにたくさんいる話だとか、リスクを十分に理解せずに為替リスクを100%負って金利の高い外貨預金に走る日の主婦たちなのど話が出たので、日の事情に関して少し調べてみた。

  • Appleが打つべき次の一手

    先日、宿題の形にしてあえて私の意見を書かなかった「Appleが打つべき次の一手」。さまざまな意見が集まって私自身にとってもとても良い勉強になったが、やはり戦略として重視すべきなのは

  • 「戦略的OS」の開発がことごとく失敗している点に関する一考察

    90年代にIBM、MicrosoftApple各社が巨額の開発費を投じて作っていた「戦略的OS」がすべて失敗してしまったことを皆さんはご存知だろうか? IBMが作っていたのはOS/2。元々はMicrosoftとの共同開発だったが、途中で仲違いをしてしまい、最後はIBMだけが細々とサポートしていたことすら覚えていない人が多いとは思うが、Windows95の成功であっというまに市場から消えてしまったのがOS/2。具体的な数値は公開されていないので分からないが、両社が数百人体制で数年間開発していたので、少なく見積もっても日円で数百億円は投じられたことは間違いない。 Cairoの方は私自身が初期のころにいたこともあるし、最終的には「Chicago(Windows95のプロジェクト名) vs. Cairo」の戦いの最前線にいた私としては知りすぎている点も多いのだが、一つだけ確かなのは、プロジェク

    starsky5
    starsky5 2009/04/26
    ソフトウェア作りはアートに近く
  • AppleをAppleにしているもの

    ワシントン大学で受講しているMBAの授業もあと3ヶ月を残すばかり。来週から始まるクラスの一つが「General Management & Strategy」というクラス。Microsoftの戦略コンサルタントを勤めるCharles Hillというやり手の教授の授業は、スピード感とテンションの高さで大好きなクラスの一つだ。 最初の授業が「Apple 2008」と題したケーススタディ。Apple歴史を勉強した上で、Appleの長所・弱点、そしてそれを取り巻く環境を解析する(SWOT analysis)というクラスだ。が「あなたが教えるべき」というぐらい楽しいテーマなので、水を得たさかなの様にレポートを一気にまとめて準備完了。せっかくなので、キーポイントをここに書いてみる。

  • 単なる「低コストの外注先」ではなくなりつつあるインドのIT産業

    今週はMBAの授業の一環でインドのいくつかの企業を訪ねてまわっているのだが、今日行ったのはInfoSys。 InfoSysは、Fortuneマガジンが"Top Companies for Leaders 2007' list"の10位に選んだ、インドの「IT産業」の花形。

  • 常に地に足をつけて仕事をするということ

    こちら(北米)で仕事をする場合、一番の褒め言葉は「あいつはAccountableだ」という言葉。辞書には、Accountableには「責任のある」などの訳語が乗っているが、仕事の場面で使う場合は「安心して仕事をまかせておける」という意味。 プログラミングにしろ他の仕事にしろ、何をしていてもさまざまな「予想外の問題」が生じるもの。そういう問題への対処も含めた上で、「あの人に仕事をまかせておけば安心」と思ってもらうには、さまざまなところに予防線を張り、常に「地に足をつけた」状態で、着実に仕事を進めて行くことが何よりも大切。

    starsky5
    starsky5 2009/02/26
    実装はすぐできても問題が解決したとは限らない。地に足をつけるというのはなかなか深い...