anniversary東京メトロは19日、東京メトロ開業10周年を記念した特設サイトをオープンしました。あわせて、日本の交通事業者としては始めて、運行情報などのオープンデータ化し、リアルタイムな遅延情報や駅を楽しく利用できるためのアプリコンテストを始めるとのこと。交通事業者は、こうしたオープンなコンテストは珍しいと同時に、日本でもオープンデータを活用したさまざまな取り組みが広がり始めています。今回の東京メトロが公開しているオープンデータを使った、新しいサービスや既存のサービスに組み込んだ機能の充実など、スタートアップにとっても追いかけておきたいテーマであることは間違いありません。コンテストの応募は東京メトロの特設サイトで9月12日から11月17日の期間で受け付けるとのこと。コンテストに応募してみたい個人やスタートアップがあれば、これを機会に応募してみるといいかもしれません。詳しくは、東京メトロのプレスリリースを参照してください。TechAcademy(テックアカデミー)による連載企画。「非エンジニアの起業家が知っておくべきプログラミングの知識」というテーマで数回に分けて極めて基礎的なプログラミングの基礎知識をお伝えする。「非エンジニアが知っておくべきプログラミングの知識」というテーマで、10回に分けてお届けする連載企画。TechAcademy(テックアカデミー)による連載企画。「非エンジニアの起業家が知っておくべきプログラミングの知識」というテーマで数回に分けて極めて基礎的なプログラミングの基礎知識をお伝えする。cc「非エンジニアが知っておくべきプログラミングの知識」というテーマで、10回に分けてお届けする連載企画。第9回目のテーマは「データベースの基礎」です。前回は「これから始めるRubyのエッセンス」というテーマでお送りしました。今回は、PHPやRubyなどサーバーサイドで動作するプログラミング言語と合わせて、ユーザーの登録情報といったWebサービスを構築する上で必要不可欠な「データベース」の考え方についてご紹介します。本連載は、インターネット業界で、これまで技術的なバックグラウンドを持たないまま起業した方や、これから独立・起業しようと思い立った方をサポートするための、連載記事です。データベースを学ぶ上で、書店に並んでいる技術書やWebの学習サイトなど多くの教材と同じく、まず「データベースの概念・本質」の理解、そして「リレーショナルデータベース」の概念を理解することからスタートしています。本稿でも、それらを初学者を対象にして広く浅く取り扱いつつ、後半は近年話題のトピックも交えたコラム形式でお届けします。そもそもデータベースとはなにか?IT・Web業界以外の一般の職種の人にとって、「データベース」は全く馴染みのない言葉かもしれません。データベースは、高等数学のように目に見えない「概念」を扱うものに近い存在のため、頭の中でその姿を連想することは非常に困難です。日常業務の中で、Excelなどで多くの「データ」に触れていても、データベースの意味合いとは異なります。「価値のあるデータ」とはなにか?データベースの学習を始める上で、まずは「データ」と「情報」の違いについて整理してみましょう。データを「客観的な事実性がある、数字や文字、バイナリデータ(画像/音声)で表すもの」と定義したとき、「8月1日の日経平均株価の終値」や「今日の東京都の最高気温」であったり、「B事業部の◯月◯日の売上金額」だったりと、世の中にあふれている普遍的なものです。これらを単なる「データ」として無機質に存在するものと考えたとき、改めて「情報」は何を指すか考えてみてください。何らかの意思決定を下すとき、「参考に値する(価値ある)データ」=「情報」である、ということですね。人や組織ごとに「価値あるデータ」の基準は異なりますし、時勢やとりまく市場環境によっても変化するでしょう。データを扱うときに価値を生むとき、それは「情報」となります。ここで、価値あるデータの要件とは何か、Web上で動くアプリケーションがデータをやり取りをすることを前提にして、いくつか例を挙げて考えてみましょう。データの正確性:当然ですが、データそのもの間違っていると本末転倒です。データの独立性:データの構造が変更されても、アプリケーションに対して影響を及ぼさないことが重要です。データの整合性:データ同士に矛盾がなく正確で、それらの関係構造が保たれている度合いを意味します。冗長性の排除:データを論理的な関係に基づいて設計されていた場合、データの重複による矛盾を防ぐことができます。同時処理の制御:同じデータを複数のアプリケーションからアクセスした際に、データを保護します。(排他制御)データの可用性:データをすぐに取り出せる状態で保持しておくことを意味します。上記にあげた項目は、データベースの特徴として一般的に箇条書きにされるものと、ほぼイコールです。現代は、非常に複雑な情報社会です。様々なデータがデジタル形式で偏在している中で、大量のデータを保持し、正確に管理する手法がデータベースです。Webサーバー上のデータベースも、アプリケーションと連携して「情報」を作り出し、意思決定の判断を下すことを目的として、データベースが活用されています。データベースを一言で要約すると「たくさんの情報を一元的に管理でき、いろいろな目的のために使用できる」。説明のための言葉はとても平易ですが、実際どのようになっているのか、背景知識から少しずつイメージを掴んでいきましょう。「人が利用可能な形式(モデル)を持ったデータの集積」という意味でのデータベースの概念が誕生し、コンピュータの世界で成立したのは20世紀の中盤頃のことです。E.F.Codd氏によって「リレーショナル(関係)データベース」という革命的な概念が提唱されるまで、コンピューターサイエンスのデータベースは抽象度の低い、階層モデル(物理層をダイレクトに反映)やネットワークモデルが主流でした。階層型モデルとは、データをツリー状の構造で管理する仕組みです。パソコンのファイル管理がイメージしやすい例でしょう。ファイルをフォルダの中に分類して整理し、またフォルダの中にフォルダを入れることもできる、階層型構造になっています。これはツリー構造(木構造)とも表現できます。木のような構造を持ち、各レコードは、ただ1つの親レコードを持っています。パソコンのファイル構造が一例です。各レコードが複数の親レコードをもつことが出来ます。全体として「網目」になっています。1970年に理論化されたモデルで、Excelのような表形式でデータを管理しています。本稿でこのあと解説します。オブジェクト指向型プログラミングの設計思想を、データベース設計に適用したモデルで、対象世界をデータとそのデータに対する操作を持つ「オブジェクト」の集まりとして定義します。1つのデータ郡(例えばユーザー情報、商品情報など)を「テーブル」として定義し、その中は利用者から見ると2次元の表としてデータが取り扱われます。「カラム」(列)として存在し、実際に存在する社員1人に対してデータの行(レコード)が存在します。他のテーブル同士とリレーション(関係性)を持てるさて、データベースの中にある「社員情報」テーブルには、名前や社員コードなどの情報が保持されていますが、ここに「部署」の情報を記入することを想定してみます。社員情報テーブルの中に「部署名」を入れることも出来ますが、リレーショナルデータベースの考え方では、「部署」という新たなテーブルを作成して独立させることが一般的です(既存のデータベースに対して行う場合、「正規化」と呼ばれます)。データ(レコード)が1件ずつ保持されています。社員が1つの部署に所属するとしたとき、「社員情報」テーブルと「部署」テーブルにリレーションを張ることができます。「社員情報」テーブルに外部キー(他のテーブルと関連付けをするためのカラム)として「部署コード」を持ちます。「社員情報」テーブルには部署名のデータは存在しませんが、外部キーとして部署コードを持つことで、社員がどの部署に属しているか、「部署」テーブルから部署名を参照することができます。Language)」とは、このデータベースを操作するための言語(記述)のことです。RubyやC言語などのアプリケーションのプログラミング言語とは異なり、リレーショナルデータベースを定義・操作することを目的としており、問い合わせ(クエリ)を記述します。上記の2つのテーブル情報をもとに「広報部に所属する社員」の情報を取得したり、「商品開発部に所属している男性社員の数」などをカウントすることができます。参考書籍を参考にすると良いでしょう。SQL」、よりミニマムなデータベース設計を想定して作られた「SQlite」などが挙げられます。先ほど紹介した社員情報と部署のテーブルを使って、男性社員を取得するSQL文を書いてみましょう。BY句を用いることで、データ取得時の昇順・降順などを指定することができます。Media)アプリケーションや、商品情報データと顧客情報データ、そして決済するECサイトのような様々な「Webサービス」が誕生しました。オブジェクト指向型言語の登場により変化した「リレーショナル」の概念プログラミングを学ぶ上で「オブジェクト指向」といった言葉を耳にする読者も多いことでしょう。本連載の対象である初学者の場合は特に、プログラミングの勉強の独学の過程で、つまづくポイントの一つでもあります。(一方で、腹落ちできてしまうと、その後の学習効率が上がるでしょう。)1990年代後半より、オブジェクト志向型プログラミングが勃興したことにより、従来のリレーショナルデータベースとの相性の悪さが問題として生じました。リレーショナルデータベースは、データを「テーブル」単位で管理して、オブジェクト指向型言語では、データは「オブジェクト」そのものとして扱います。設計思想や構造が異なるため、データベースから取得したテーブル形式のデータを手動でオブジェクトのプロパティに割り当てる作業などが必要で、その逆も然りでした。このようにアプリケーションとデータベースの構造のギャップのことを「インピーダンスミスマッチ」と呼びます。データベースから抽象化した「モデル」という考え方へオブジェクト指向とリレーショナルデータベースの相性の悪さ(インピーダンスミスマッチ)について触れましたが、現在はこれらを解消し、アプリケーションとデータベース間の橋渡しを受け持つ「O/Rマッパー(Object/Relational)」といったライブラリが登場しています。Record」が有名です。Recordの強力な機能が標準搭載されていることが、Railsを普及させた一つの要因ともいえます。データベースにあるテーブル1つを1つのモデルクラスとして表現することができ(上記例では、社員情報というテーブルが1つのモデル)、リレーショナルデータベースとのギャップを防げます。MySQLやSQliteなど、データベース製品固有の方言については、O/Rマッパーが内部的に吸収するため、SQL命令文の微妙な違いに依存せず、アプリケーションへの影響を最小限に抑えることのメリットを享受できます。KVS(Key-Value-Store)というモデルが普及しています。KVSは、配列データでKeyに対してValueを1つ定めてデータを保持します。ハッシュ計算を行うことができるため、データマイニングなどより高速な処理が可能になります。DynamoDBなどで採用が行われています。Cassandra」などが挙げられます。データ構造(モデル)=ビジネスロジック?あくまで初学者向けにコラム形式で、広く浅くトピックを扱っている本連載ですが、この記事のボリュームからもわかるように、広義の「データベース」は非常に奥が深く、コンピュータサイエンスの学問体系の中で、技術的/研究分野としての日々開拓が続けられているほか、ビッグデータ・データマイニングなど、統計学・数学的アプローチ、現場のビジネスニーズからも最重要視されるようになりました。個人開発者や、アジャイルソフトウェア開発を中心思想に据えたスタートアップが、Web上でのサービス・スマホアプリなどを企画するとき、そのサービスを構成する要素を洗い出して、データ構造(モデル)を設計するプロセスがあります。極論すると、このデータ構造の設計プロセスのタイミングで、ソフトウェアが完成せずとも既にそのサービス(ビジネス)の将来価値は半分決まっているといっても過言ではないほど、モデル設計がビジネスロジックに直結していることもあります。アプリケーションでモデル設計をする際には、その設計から生み出される「価値」にフォーカスして、度重なる試行錯誤からソフトウェア開発・設計の「センス」を、読者の皆さんが身につけられることを願っています。次回はいよいよ最終回です。2014.08.21SHARE:現実拡張型のメガネが登場したことにより、映画「アイアンマン」や攻殻機動隊のように、眼前の風景に情報を表示する窓やインタフェースを投影して、見たり操作したりする...という未来が実現されつつある。Pro」として帰ってきた。...この記事を読む現実拡張型のメガネが登場したことにより、映画「アイアンマン」や攻殻機動隊のように、眼前の風景に情報を表示する窓やインタフェースを投影して、見たり操作したりする...という未来が実現されつつある。Pro」として帰ってきた。Pro最大の特徴は、広い視野角だろう。GlassがFOV(視野角)14°だったのに対し、本機はなんと40°という広いFOVを誇る。Glassに比べて15倍の情報量となるそうだ。ほか、9軸のモーションセンサーや、3Dサラウンドのサウンド、埋め込み型のHDカメラ、そしてZEISS製のレンズを採用するなど、拡張現実のためのメガネとして現時点では最強と言えそうなスペックを備えている。当然ながらメガネはインタフェースにすぎないため、ケーブルにて本体となるウェアラブルコンピュータと繋ぐ必要がある。CPUのほか、4GBのRAM、128GBのSSDが備えられているそうで、まさにパソコンと変わらない作業ができそう。現状で500以上のアプリにも対応するとのことで、いまディスプレイを用いて行っている作業がそのままメガネ越しの没入空間で行えるなど、かなり実用的なデバイスになりそうな雰囲気だ。こちら日本円にして37万円弱と、ある意味「おもちゃ」ではない価格となっている。2015年1月から発送スタートとのことだが、注文がかなりあるようで、今からのオーダーでは夏頃の到着となるようだ。Timesに寄稿した記事。彼は、1998年に「Kozmo」というデリバリーサービスに出資した一人。Timesに寄稿した記事。彼は、1998年に「Kozmo」というデリバリーサービスに出資した一人。映画のレンタル(当時はビデオ)からアイスクリーム、雑誌や本まで何でも1時間にお届けしますというサービスだった。ところが3年でサービスは終了。xx”的なデリバリースタートアップのバブルは、1999年の再来ではないか、と。在庫を抱え、倉庫を構え、配達人を抱える。このコストが重くのしかかり、さらにはスケールもしづらく難しかった。いまはソフトウェアやシステムなどのバックエンドで仕組みの効率化ができるものの、果たしてうまくいくのか。1999年と今で違うのは、InstacartやHealthyOutといったサービスが既存の市場を活用していること。あるスーパーを回って、必要な食材を買ってくる。利用者とスーパーをつなぐミドルマンの役割を果たしてる。いえ、例えばInstacartの利用料金はたったの3.99ドル。それでいて、配達人には1時間20ドルもの時給を払って、さらにそこにティップが加わるというからなかなか厳しそう。人は、lazyでいるため、怠けて楽するためにいくら払うのか。日本でもデリバリー系は増えているから、今後の動きに要注目。恵比寿駅西口から徒歩一分にあるおしゃれなオフィス。2008年の設立からもうすぐ6年を迎えるエウレカです。順さんのお2人にお話を伺ってきました。国内外を問わず、ベンチャ...この記事を読むエウレカの赤坂さん(右)と西川さん(左)恵比寿駅西口から徒歩一分にあるおしゃれなオフィス。2008年の設立からもうすぐ6年を迎えるエウレカです。順さんのお2人にお話を伺ってきました。国内外を問わず、ベンチャー企業への投資・育成事業を行うために2人が設立したのが、エウレカベンチャーズ。EAST」にDeNAらと50万ドルを出資しました。今後は北米とアジアのシナジーを模索しながら、相互の事業拡大を目指すと言います。サービス開始から2年が経つpairsの日本と台湾市場を合わせた総ダウンロード数は130万。台湾ユーザーはそのうち50万人を占めます。Facebookの普及率が高く、親日であることによるマーケティングの優位性を考えて台湾に的を絞ってみたところ、見事にハマりました。Datingのサービスが溢れていますが、アジアはまだホワイトスペースで、日本でもビジネスとして確立していないと感じました。出会い系というとネガティブな印象が強く、その文化を根本から変えることに本気でチャレンジする意義を感じてpairsの開発に至りました(赤坂)他の条件がいくら揃っても、時代が欲していないものは受け入れられない実はエウレカはこれまでにトータルで4つのアプリを世にリリースしています。リリースから2年で日本最大級の恋愛・婚活サービスに成長した「pairs」、カップルを対象とした「Couples」。それ以前は、人がダウンロードしたアプリが覗き見できる「peepapp」とその後身である「pickie」を開発。ところが、後者の2つのプロダクトに関しては既にサービスを終了しています。他のユーザーをフォローすると、その人がインストールしたアプリなどが覗き見できるアプリでした。当時はまだアプリをソーシャルで探すという流れがなく、半歩早かった。大手企業の後押しがあろうが、どれだけプロモーション予算があろうが、結局時代が欲していないものは受け入れられない。身をもって学びました(赤坂)その後、受託開発の事業を進めながら、次のプロダクトを模索していたエウレカ。Datingのサービスでした。新規事業をやるなら、マネタイズのモデルが明確なものをつくりたいと考えていました。Datingは期待の成長市場で課金モデルも明確です。Dating市場がまだまだブルーオーシャンだとはいえ、競合となるサービスはいくつも存在します。そんな中で、pairsが絶好調な理由はどこにあるのでしょうか。そのひとつは、作り手であるファウンダーのお2人がECサイトのマーケティング畑の出身であること。顧客の新規獲得、LTVや課金転換率といったあらゆる数字を追うEC業界で培ったデータ主導のやり方を徹底しています。各種数値は社内用の管理画面で共有され、売上げやユーザーの意見までが50名ほどいる社員全員に共有されるそう。前日の数字を見て改善していく、ということの積み重ねです。各種数値やユーザーからの意見はもちろん、サービスがクラッシュした回数なども全社員に通知されます。前述した赤坂さんの発言にあるように、サービスの成功にはプロダクトだけでもプロモーションだけでも難しく、必ずその両輪が求められます。それは、とことんユーザーの立場に立ってサービスをつくることに直結しています。pairsのiPhone/Android版が8月21日にリニューアルしたのですが、細かい要素をいろいろと改修しました。datingのサービスで一般的なプロフィール写真の形を四角から円形に変えて、ファーストビューの露出人数を少なくしています。一見すると小さな変更ですが、既存の出会い系サイトとは異なった世界観をつくり、入りやすい雰囲気が生まれています。(赤坂)pairsのPC版はFacebookに似たユーザーインタフェースを採用していて、一方のiPhone版はLINEに似たそれを採用しています。PCとスマホ、それぞれのデバイスでユーザーさんが最も使うアプリのデザインを意識して日々改修しています(西川)pairsのデザインやユーザーインタフェースからは、“気遣い”が感じられます。pairsを使っている最中に電車でスマホ画面を覗き込まれてもいいような工夫を施しています。女性に顕著な、「出会い系を使っていることを知られたくない」という心理的ニーズにも応えているのです。“10を100にする”ために文化づくり現在、pairsのFacebook上のファン数は800万人弱、またMAUは100万人を突破しています。サービス開始から現在までのマッチング延べ成立数は400万件以上。Datingが一般的に抱える課題が、良い相手を見つけてしまった利用者が卒業してしまうこと。そこに対してpairsはどのように対応しているのでしょうか。それが、そんなこともないんです。カップルがめでたく誕生すれば、pairsからカップル専用アプリ「Couples」に移ってくれますし、出会った相手と残念ながら上手くいかなければまたpairsに戻ってきてくれるからです(赤坂)日本最大級の恋愛・婚活サービスに成長し、10を100にするフェーズにあると赤坂さんが話すpairsの目下の課題は、オンラインの出会いをポジティブに捉える文化の啓蒙です。EAST」のチームと話をしていたのですが、やはり、欧米でも、ネットで出会ったということを積極的に言わない人もまだまだ多いようです。2014.08.21SHARE:マサチューセッツ工科大学(MIT)とハーバード大学の研究チームは、自動で組み上がり歩き回る「折り紙ロボット」を発表した。平面状のシートは1分ほどで組み上がって秒速5センチ程度のスピードで動き回る。折り紙ロボットはレーザーカッターでカットし折り線のパターンをエッジングした形状記憶ポリマーにバッテリーと電動モーター、電子回路で構成されている。バッテリーを取り付けると10秒後には、電子回路が発した熱に...この記事を読むマサチューセッツ工科大学(MIT)とハーバード大学の研究チームは、自動で組み上がり歩き回る「折り紙ロボット」を発表した。平面状のシートは1分ほどで組み上がって秒速5センチ程度のスピードで動き回る。折り紙ロボットはレーザーカッターでカットし折り線のパターンをエッジングした形状記憶ポリマーにバッテリーと電動モーター、電子回路で構成されている。バッテリーを取り付けると10秒後には、電子回路が発した熱に反応して形状記憶ポリマーが縮みロボットに組み上がる。「収縮しようとするときに紙を引っ張り、折りたたむことになる」とのこと。折り畳みの機構には、折紙の幾何学とアルゴリズムの研究をしている東京大学の舘知宏助教授が開発した「Origamizer」というソフトウェアが利用された。プロトタイプロボットの構成はシンプルで、簡単に入手できる材料で作られていて、製造コストも100ドル(約1万円)。幅広く活用できる可能性がある。「何体ものロボット衛星を平面状に重ねた状態で宇宙に送り、到着した時点で遠隔操作によって組み立てることができる。画像やデータ収集を始めとする機能が期待できる」と話している。