月別アーカイブ: 2012年4月

今週の売れ筋ランキング 1位、なんと「骨太ど・みそ次郎」(ファミマ.com)

Media_httpwwwfamimaco_ahfme

LINE絶好調、ドリランドも抑えて3位に。 @nanapi

LINE

24時間、いつでも、どこでも、無料で好きなだけ通話やメールが楽しめる新しいコミュニケーションアプリ。iPhone・Android・フィーチャーフォン対応。全キャリア対応。

LINEの有料スタンプが絶好調!ドリランドも抑えてAppStoreで3位に – nanapi Web

「幸せは伝染する」 @ak_tch

「 “モテキ”はなぜやってくるのか?」で“つながり”について書いたが、私たちはいったいどのようにつながっているのだろうか? ここでは、それを可視化してみよう。

以下の3枚の図版は、いずれもニコラス・A・クリスタキス/ジェイムズ・H・ファウラー『つながり 社会的ネットワークの驚くべき力』に掲載されているものだ。

1枚目は、白人生徒が大半を占めるアメリカ中西部の中規模高校(仮名で「ジェファーソン高校」)のセックス相関図だ。

色の濃い点が男子、色の薄い点が女子で、複数の異性とつき合っている場合は2方向(もしくは3~4方向)に枝が伸びている。

これを見るとわかるように、枝の末端にいる生徒を除けば、すべての生徒が複数の異性と性関係を持っている。でもこれは、「アメリカの高校は風紀が乱れている」ということではない。

そもそもなぜ、社会学者がこのようなセックス相関図を描くことができたのだろうか? それはこの高校で、性感染症(梅毒)が広まったからだ。

さらなる感染を防ぐために、患者たちは聞き取り調査によって、病気を移した(移された)可能性のあるセックスフレンドを申告するよう求められた。こうしてできたのが、このセックス相関図だ。

1対1で異性とつき合っている高校生は病気に感染していないので、この相関図には現われない。だからこれは、自分もしくは相手(あるいはその両方)が二股以上をかけている、性に対して積極的な高校生の相関図ということになる。

この相関図を見ればわかるように、生徒たちのつながり(社会的ネットワーク)は本線(幹)と支線(枝)にわかれている。それぞれの枝の部分が、学校における友だちグループだ。

ここから、きわめて単純な規則性を見出すことができる。

ひとつは、「異なる友だちグループ同士は交わらない」ということ。

もうひとつは、「友だちグループのなかで、他の友だちグループと交渉を持つのは一人だけ」ということ。

この特権的なメンバーは通常はグループのリーダーで、彼(彼女)がグループ外の異性とも性関係を持つことで、グループ間で性病が広がっていく。

こうした構造は、不良グループ(「暴走族」や「チーマー」はもう死語ですか?)を考えるとわかりやすい。

グループの末端メンバーは、敵対するグループと出会えばケンカをするだけだ(交わることはない)。グループの垣根を越えて、他のグループのリーダーたちと話ができるのは、ただ一人のリーダーに限定されている(“組長会議”に出られるのが、リーダーの権力の源泉だ)。

ただしジェファーソン高校の相関図を見ると、大きなグループ同士がダイレクトにつながっているわけではないことがわかる。学校集団のなかには、有力な友だちグループには属さず、人気のある(グループのリーダーの)男子や女子とつき合う生徒がいる。トリックスター的な行動をとる彼(彼女)が媒介となることによって、グループ同士がゆるやかな輪を構成するのだ。

これは、学校における噂(情報)の伝わり方を可視化したものでもある。

本線(幹)の部分に位置するAやXの生徒には、さまざまなグループの情報が、いろいろなルートから真っ先に入ってくる。それに対して枝の末端部分に位置するBの生徒は、ネットワークへのアクセス権を持つリーダーから教えられないかぎり、重要な情報を知ることができない。

このように、学校ネットワークの本線にいるのか支線にいるのかで、彼(彼女)の学校生活は大きく変わってくるだろう(自らはグループのリーダーにならなくても、リーダーとつき合うことによって、集団のなかで有利な位置を占めることができる)。

ところでこの法則は、たんに高校生の集団だけに当てはまるのだろうか。

そこで、2枚目の相関図を見てみよう。ジェファーソン高校によく似ているが、これはボストンの西にあるフレーミングハムという小さな町の家族と友人のネットワーク図だ。

この町の病院(フレーミングハム心臓研究所)は、1948年から疫学調査の一環として2年に1回の健康調査を行なっており、全成人の3分の2が参加している(町を離れたひとにも連絡をとり、検査を受けてもらっていた)。

『つながり』の著者たちは、この手書きの膨大なデータから5124人の主要グループに焦点を合わせ、5万を越えるつながりを描き出した。それが、この関係図だ。

すぐにわかるように、アメリカのごく平凡な町の社会ネットワークも、本線(幹)と支線(枝)からできており、異なるグループ同士は交わらない。だがこの調査で興味深いのは、住人の幸福度を調べていることだ。

質問に対して「自分は幸福だ」とこたえたひとは黄色、「自分は不幸だ」とこたえたひとは青色で、「どちらでもない」とこたえたひとは緑色だ。

幸福度のちがいをネットワーク化してみると、ふたつのことがわかる。

ひとつは、幸福なひとと不幸なひとは似たもの同士でグループ化する傾向がある、ということだ(幸福なひとは幸福なひととつき合い、不幸なひとは不幸なひととつき合う)。もちろんこれだけでは因果関係はわからないが、「幸福なひととつき合っていると自分も幸福になり、不幸なひとのそばいにると自分も不幸になる」ということかもしれない。

もうひとつは、幸福なひとは本線(幹)の部分の多く、不幸なひとは支線(枝)の末端部に集まる傾向がある、ということだ。ひとは社会ネットワークから切断されていると、自分を「不幸」と感じるのだ。

もうひとつ、同じフレーミングハム心臓研究所のデータから、喫煙者と非喫煙者のネットワークを見てみよう。

ちょっと
わかりくいかもしれなが、黄色が喫煙者で球の大きさがタバコの消費量を示す(大きな黄色の球がヘビースモーカーだ)。非喫煙者は緑色で示されている(拡大図参照)。

この関係図からも、やはりネットワークが本線(幹)と支線(枝)でできていることがわかる。本線を形成しているか、あるいは本線と直接つながる大きなグループを構成しているのは、その大半が非喫煙者だ。

それに対して喫煙者は、次のふたつの特徴を持っている。

ひとつは、喫煙者は喫煙者同士で固まる傾向があること。もうひとつは、ヘビースモーカーであるほど、枝の末端に位置すること。

アメリカ(東海岸)では、喫煙はある種のスティグマになっていて、タバコを吸っていると社会ネットワークから排除されてしまうのだ(あるいは、社会的に孤立したひとが喫煙をする)。

このようにネットワークを可視化してみると、これまで漠然と感じていた人間集団の“つながり”の秘密がはっきりと見えてくる。

それ以外にもつながり 社会的ネットワークの驚くべき力』には、「肥満は伝染する」(知り合いが太っていると、自分も安心して食べてしまう)とか、「転職のときは親しくないひとほど役に立つ」(親しいひとは自分と同じグループに属しているので新しい世界を紹介できない)などの面白いデータがいろいろ紹介されています。興味をもたれたら、ゴールデンウイークにどうぞ。

高校生のセックス相関図から幸福と不幸を考える | 橘玲 公式サイト

幸福感は伝染する。 (誰かの幸福感に変化が起きると、「幸福」または「不幸」な人々の社会的また地理的な集団が形成される)

Yahoo!ニュースに、Facebookコメント。 @nanapi

Yahoo!ニュースがFacebookコメントを導入?

Yahoo!ニュースといえば、日本最大のインターネットニュースメディアですが、そのコメント欄の中に、Facebookコメント欄がテストでつけられているようです。

場所は、コメントタブの右横。新たに「Facebook」というタブができています。

一見地味な改善ですが、これは実に大きな動きかもしれません。

Facebookのコメント欄とは?

Facebookのコメント欄は、Facebookに登録している人なら投稿できるものであり、コードを埋め込めばでどのサイトでも、Facebookアカウントで投稿できるというものです。実名制なので荒れにくい上、認証が簡単なため、世界中で導入が進んでいます。

以下からコードを獲得することができます。

Comments – Facebook開発者

どういうインパクトがあるの?

さて、これはどういうインパクトがあるのでしょうか?

まず、日本一のニュースメディアが自社のコメント欄だけではなくて、Facebookを利用するということで、Facebookを使うユーザーの拡大につながる可能性があります。すでに1000万人を突破していますが、その流れをさらに推し進めるでしょう。

また、Yahoo!ニュースは各サイトからニュース記事を集めて集約させている場所ですが、Facebookからの流入数が増えることになり、ますます存在感を増すことになります。

これは本導入か?

さて、Yahoo!JAPANが導入したFacebookコメントは、これは引き続き継続されるかという疑問はあります。

NY株反落、102ドル安=欧州政局を懸念〔米株式〕(23日)☆差替 (時事通信) – Yahoo!ニュース

上記ニュース上に、Yahoo!JAPANの新COOである川邊健太郎氏による「テスト」という投稿があることから、テストで導入をしているのかもしれません。

今後の流れは?

この背景には、Yahoo!JAPANの経営陣が刷新されたことがあるのではないかと予測されます。Yahoo!JAPANをソーシャルに対応したり、モバイルに対応したりする流れの一つではないでしょうか。

すでに日本一のYahoo!JAPANですが、インターネットの素早い動きに対応できるようになりつつあるのは、他の競合ポータルサイトにとっては脅威かもしれません。

Yahoo!ニュースがFacebookコメント欄をテスト中か? – nanapi Web

「Active View+Active GRP」~GoogleのBrand Activate Initiative @markezine_jp

グーグルは今回、Brand Activate InitiativeというブランドマーケティングのROIを向上させる取組みについて発表した
今回発表された2つの指標のひとつ「Active View」は、ディスプレイ広告が画面上にすくなくとも50%表示されるか、1秒間表示されたことをカウントするもの

従来は、アドサーバーから広告が配信されると1インプレッションとカウントしていたが、配信されでもエンドユーザーの見える範囲内に表示されなかったり、画面上にきちんとロードされなかったりすることもある
この「Active View」では、実際に画面の前にいる人間がその広告を見ることができるかを重視して計測し、広告主は、表示されたインプレッションにのみ代金を支払うことになる

グーグルは、Active Viewを今後数週間のうちにGoogle Display Networkで順次展開
最終的には広告管理・配信ソリューション「DoubleClick for Advertisers」に組み込んで提供する

もうひとつの新しい指標「Active GRP」はテレビCMの効果測定指標として使われているGRP(のべ視聴率)を、ウェブ用にバージョンアップしたもの
これは集約したパネルデータと匿名のユーザーデータを組み合わせた統計的なモデルを使って算出されるため、個人情報を扱う必要がないという特徴がある
この指標はDoubleClick for Advertisersクライアント向けのパイロットプログラムとして提供を開始する

グーグルは、米インタラクティブ広告業界団体IABらの取組み「Making Measurement Make Sense (3MS)」や業界全体と連携してこれらの指標の普及に努め、雑誌やテレビで広告を展開している多くのブランドをウェブに呼び込みたい考えだ

【関連記事】
米国マーケターの半数が代理店にコスト削減を要請【ANA調査】
新聞と雑誌に“実力以上の”広告費を投下していないか?
米国ネット広告売上高、過去最高の310億ドル、モバイルが3ケタ成長【IAB調査】
アタラ、流入元の成果貢献度を評価する2つの指標を開発
企業が重視する広告効果指標、PC広告は「クリック数」、モバイル広告は「クリック単価」
 

グーグルが2つの新指標を発表、インプレッションをより厳密に再定義 (1/1):MarkeZine(マーケジン)

「名水と新鮮卵の恩恵を受け、厚焼玉子作りに励んでいます」 マルユー株式会社 http://goo.gl/52U45

弊社の玉子焼工場は千葉県君津市の久留里地方にあります

この地域は千葉県で唯一の平成名水百選に選ばれ数多くの老舗の酒蔵があります

また君津市は養鶏園でも有名な場所で新鮮で美味しい卵が毎日手に入る場所です

弊社はこの特選素材の名水と新鮮卵の恩恵を受けこの地域ならではの厚焼玉子作りに励んでいます

マルユー株式会社

中小企業庁:中小企業の海外販路開拓を支援!

中小企業の海外販路開拓を支援!

平成21年3月4日

少子高齢化に伴う国内市場の縮小に直面する中、アジアをはじめ、成長する海外の市場へ、中小企業の輸出及びパートナーの確保を促進できるよう、中小企業の海外市場開拓支援プログラムを策定しました。

これに基づき、ジェトロや中小機構等の支援機関の活用により、ハンズオン支援体制を強化し、海外市場の販路を開拓しようとする中小企業を施策利用者の目線から応援していきます。

(1)当プログラムでは、各経済産業局が販路開拓すべき有力な市場や有力品目等の方針を定め、海外市場を目指す意欲と能力のある中小企業を、年間250社程度 集中的に支援していきます。

(2)香港や台湾での食品・飲料、ホテルレストランサービス等の専門見本市、ニューヨークの国際家具見本市等、約20ヵ所程度の海外見本市への出展を支援します。

(3)その他、ジェトロ、中小機構の専門家の活用による事業戦略の策定支援、海外企業とのマッチング、海外百貨店等を活用したテストマーケティングの場を提供する等、事業ステージに応じた40以上の支援策で強力にサポートします。

参考資料

資料1 イメージ図

イメージ図[PDF版:841KB]PDFfile –>

  • 資料2 中小企業の海外市場開拓への支援[PDF:10KB]PDFfile
  • 資料3 中小企業の海外市場開拓支援プログラム(アクションプラン)[PDF:523KB]PDFfile
  • 資料4 中小企業の海外市場開拓支援策一覧[PDF:507KB]PDFfile
  •    (本発表資料のお問い合わせ先)

      経済産業省 グローカル経済PT

      担当者:平泉、高砂、刀禰、成田

      電 話:03-3501-1511(内線5331~8)

          03-3501-1763(直通)

    中小企業庁:中小企業の海外販路開拓を支援!

    「たまご焼きを輸出せよ」~中小企業の挑戦 @NHK_PR

    首都圏ネットワーク

    4月10日放送
    “たまご焼き”を海外に売り込め

    NHK千葉 加藤 陽平 写真
    NHK千葉
    加藤 陽平

    たまご焼きは、日本食の代表の一つとも言っていい料理ですが、この日本の味を海外に売り込んでいる企業が、千葉県にあります

    原発事故の影響や円高など、日本からの食品輸出には逆境のなかで、挑戦を続けています

    写真

    ことし2月、タイの首都バンコクにある、大規模なショッピングセンターで、日本食の試食販売会が開かれました

    販売されたのは、たまご焼きでした

    食べたタイの人たちにも「おいしい」とか「甘すぎなくていい」と好評でした

    写真

    たまご焼きを作ったのは、千葉県君津市の従業員およそ50人の企業です

    卵の生産量が、全国2位の千葉県の中でも、特に生産が盛んな君津市という立地を生かし、新鮮な卵を安く仕入れています

    千葉県や東京を中心に、売り上げを確保していますが、今、事業の柱にしようと取り組んでいるのが、海外での販売です

    写真

    3年前に社長に就任した井木永悟さん
    積極的な海外進出を目指すのは、日本の人口減少で、国内市場が小さくなっていくことに、危機感を抱いているからです

    「このまま日本にいても、尻すぼみになるだけで、かなり危機感を感じていまして、それで、海外にたまご焼きを輸出しようと」

    井木社長は着想をこのように話しています

    写真

    しかし、海外への卵焼きの輸出には課題がありました

    たまご焼きを輸出するために冷凍すると、固くなり、味が落ちてしまうのです

    そこで工夫したのが、卵に混ぜるデンプンです

    特別な配合のデンプンを、ある割合で混ぜることで、冷凍しても味が落ちないたまご焼きを作ることができました

    井木社長が指摘するポイントは「デンプンの量が多くても、少なくても、おいしい冷凍の卵焼きはできない
    解凍した時に、水分をなるべく出さないようにする」ということでした

    写真

    井木社長自ら海外に売り込みに歩き、これまでに香港やシンガポールなど4つの国と地域に、販路を拡大してきました

    さらに海外との取り引きを増やそうとしていたさなか、福島の原発事故が起きました

    写真

    千葉県産の食品の多くは、海外で輸入を規制されるようになりました

    この会社のたまご焼きも、一時は輸出がゼロになりました

    井木社長は、それでも海外進出を諦めませんでした

    「一番やっちゃいけないことは、立ち止まってぼーっとすることなんです
    状況がよくなってから『さあ動こう』というのでは遅い」と言います

    写真

    井木社長は、海外の見本市に積極的に参加することで広げた人脈を生かし、タイで試食販売を行うチャンスを得ました

    本格的な日本の味はタイの人たちにも好評で、用意した1000個のたまご焼きは売り切れました

    ショッピングセンターの食品部門の責任者も継続的な取り引きを希望しました

    写真

    この責任者は「予想以上の売り上げです
    この商品を売り出していきます
    消費者も買ってくれると思う」と話しています

    井木社長は「自然な笑顔が出てきたことと、お客様の生の声を聞いたところから、これは皆さんの口に合うなと感じることができました」と手ごたえを感じたようです

    写真

    タイでは、現在も、千葉県産の食品は放射性物質の検査をしなければ、輸入が認められません

    長引く原発事故の影響、さらに円高と、厳しい状況は続くものの、井木社長は、行動することで状況は変えられると信じています

    井木永悟社長は「規制が解けるのを待っていたり、円安になるのを待っていたりしても、何も今のままから進歩がないですから
    今やっていることが、将来のステップになればいい」と覚悟のほどを語っています

    この試食販売会をきっかけに、タイでの契約がまとまり、今後は現地の日本食レストランにも売り込むために、社員が再びタイに渡って、交渉する予定だということです

    取材したNHK千葉放送局の加藤陽平記者によりますと、井木社長は将来、東南アジアの国に生産拠点を構えて、海外での販売を事業の柱の一つにしたいと、話しているということです

    ページ上部へ

    これまでに放送した内容 | 首都圏ネットワーク | NHK@首都圏

    1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた – IT-Walker on hatena

    1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみたComments

    Add Starshoito

    kaipu1224

    tkawa

    dai4649

    kems

    t-katochin

    sharakova

    rytich

    Cherenkov

    papanda0806

    pochi-mk

    masayuki5160

    もうJavaもRubyも要らない?–JavaScriptオンリーの未来派WebアプリフレームワークMeteorがデビューという記事で知った、新しいフレームワークMeteor。

    ちょっと気になったので、軽く触ってみました。すごすぎるフレームワークの登場です!!

    正確に言うと、実行環境&フレームワーククラウドPaaS&パッケージマネージャーといったところでしょうか。Node.jsとHerokuとnpmが一緒になったようなもんだと思えば、イメージがわくと思いますが、実態はそれらを上回っています(パッケージ数はnpmの比じゃありませんが・・・使い勝手という意味で)。

    インストール

    ターミナルをたちあげて、以下のコマンドを実行するだけ。

    (行頭の$はターミナルであることを表してるだけで、コマンドの一部じゃありません)

    $ curl install.meteor.com | sh

    これで /usr/local/bin/meteor コマンドがインストールされます。

    Meteorを実行する

    meteorコマンドを使うと、簡単にプロジェクトを作って実行できます。

    # leaderboardというサンプルを作成$ meteor create --example leaderboard# 生成されたディレクトリに移動$ cd leaderboard# meteorコマンドを実行$ meteor

    meteorコマンドは、3000番ポートでリクエストを待ち受けます。

    なので、http://localhost:3000アクセスすると、早速サンプルを実行できます。

    f:id:Syunpei:20120413083301p:image

    人名をクリックして、ボタンを押すとなんか5ポイント与えることができるという、意味なしアプリではありますが、とりあえず実行できました!ここまでの所要時間はだいたい1分くらいでしょうか・・。

    公開する

    meteorで作ったアプリ、すぐさまクラウド上で公開することもできます。

    公開するためのコマンドは meteor deploy です。

    $ meteor deploy firstapp

    deployのあとに与える引数はサイトのIDみたいなもので、自由につけることができます。ここでつけたIDがドメイン名に含められ、公開されたアプリアクセスするには「http://<id>.meteor.com」にアクセスします。

    上のコマンドではIDを「firstapp」としていますので、以下のURLアクセスすることができます。

    http://firstapp.meteor.com/

    しかし、ユーザ登録すらしてないんですけど!!なんでそんなんでアプリ公開できちゃうの!?

    で、このままだと世界中の誰もが同じIDでアプリアップロードしあえたりしちゃいそう。知らない人同士がアプリを上書きしあったりするとカオスですね。

    その対処のためだと思うのですが、アップロード時にパスワードを設定することもできます。パスワードを設定するには、「meteor deploy –password <id>」とするだけ。初回はパスワードを聞かれます。一度パスワードを設定したら、同じパスワードを入力しないとアップロードができなくなります。

    $ meteor deploy firstapp --passwordNew Password: *****Confirm Password: *****Deploying to firstapp.meteor.com.  Bundling ... uploading ... done.Now serving at firstapp.meteor.com

    meteorコマンド一覧

    meteorで使用できるコマンドは以下のとおり。

    コマンド 説明
    run [デフォルト] プロジェクトをローカルの開発環境で動かします
    create 新しいプロジェクトを作成します
    update Meteorを最新バージョンにアップデートします
    add プロジェクトにパッケージを追加します
    remove プロジェクトからパッケージを取り除きます
    list 利用可能なパッケージをリスト表示します
    bundle プロジェクトをtarballに固めます
    mongo 特定のサイトのMongo DBに接続します
    deploy Meteorにプロジェクトをデプロイします
    logs 指定されたサイトのログを表示します
    reset プロジェクトの状態をリセットし、ローカルのデータベースを削除します

    LESSもCoffeeScriptも使えます

    コマンドの概要がわかったところで、meteor list してみた結果が以下。CoffeeScriptもLESSもunderscoreも使えます。

    • amplify – Cross browser API for Persistant Storage, PubSub and Request.
    • autopublish – Automatically publish all data in the database to every client
    • backbone – A minimalist client-side MVC framework
    • code-prettify – Syntax highlighting of code, from Google
    • coffeescriptJavascript dialect with fewer braces and semicolons
    • handlebars – Simple semantic templating language
    • htmljs – Easy macros for generating DOM elements in Javascript
    • jquery – Manipulate the DOM using CSS selectors
    • jquery-history – pushState module from the jQuery project
    • jquery-layout – Easily create arbitrary multicolumn layouts
    • jquery-waypoints – Execute a function when the user scrolls past an element
    • less – The dynamic stylesheet language.
    • showdown – Markdown-to-HTML processor
    • underscore – Collection of small helper functions (map, each, bind, …)

    コードはどうなっている?

    作成されたプロジェクトのコードを見てみると、なかなか興味深いことがわかります。

    まず、HTML/JS/CSSのコードが1ファイルずつ、計3ファイルできているのみです。非常に見通しが良い。

    その他気づいたこととしては、以下の様なものが挙げられます。

    以下に、生成されたコードにコメントを付与したものを掲載します。まずleaderboard.htmlから。

    <!-- html要素やDOCTYPEは書かなくていい。Meteorが勝手に追加する --><head>  <title>Leaderboard</title></head><body>  <div id="outer">    <!-- leaderboardテンプレートの内容を出力する -->    {{> leaderboard}}  </div></body><!-- テンプレート。結果のHTMLには含まれない --><template name="leaderboard">  <div class="leaderboard">    <!-- プレイヤーをループしながら、playerテンプレートの内容を出力する。      この「players」という変数への参照が、JavaScriptコードの呼び出しを伴う(後述)    -->    {{#each players}}      {{> player}}    {{/each}}  </div>  <!-- プレイヤーが選択されていれば、以下のHTMLを出力    この「selected_name」という変数への参照が、JavaScriptコードの呼び出しを伴う(後述)  -->  {{#if selected_name}}  <div class="details">    <div class="name">{{selected_name}}</div>    <input type="button" class="inc" value="Give 5 points" />  </div>  {{/if}}  <!-- 選択されていない場合 -->  {{#unless selected_name}}  <div class="none">Click a player to select</div>  {{/unless}}</template><!-- テンプレート:player --><template name="player">  <!-- この「selected」という変数への参照が、JavaScriptコードの呼び出しを伴う(後述) -->  <div class="player {{selected}}">    <span class="name">{{name}}</span>    <span class="score">{{score}}</span>  </div></template>

    次はJavaScriptファイル(leaderboard.js)。MeteorのAPI全開ですが、理解に困ることはありません。

    たったこれだけのコードで、MongoDBを使った永続化まで行えています!!

    // プレイヤーの情報を含むコレクション。// サーバサイドでは、"players"という名前でMongoDBに保存されるPlayers = new Meteor.Collection("players");// クライアントで実行されている場合if (Meteor.is_client) {  // テンプレート中で「players」を参照しているコードが、このメソッドを呼び出す  Template.leaderboard.players = function () {    // プレイヤーをすべて出力する。スコアの降順、かつ名前の昇順    return Players.find({}, {sort: {score: -1, name: 1}});  };  // テンプレート中で「selected_name」を参照しているコードが、このメソッドを呼び出す  Template.leaderboard.selected_name = function () {    // セッションに格納されているIDをキーとしてプレイヤーを一件取得    var player = Players.findOne(Session.get("selected_player"));    return player && player.name;  };  // テンプレート中で「selected」を参照しているコードが、このメソッドを呼び出す  Template.player.selected = function () {    return Session.equals("selected_player", this._id) ? "selected" : '';  };  // leaderboardテンプレート内で発生したイベントの処理  Template.leaderboard.events = {    // incクラスが付与されたinput要素がクリックされたら    'click input.inc': function () {      // プレイヤーデータをアップデート      Players.update(Session.get("selected_player"), {$inc: {score: 5}});    }  };  // playerテンプレート内で発生したイベントの処理  Template.player.events = {    // クリックされたら、IDをセッションに格納する。    'click': function () {      Session.set("selected_player", this._id);    }  };}// サーバ上で実行されている場合if (Meteor.is_server) {  // サーバが開始される際、データベースが空の場合はデータを格納する  Meteor.startup(function () {    if (Players.find().count() === 0) {      var names = ["Ada Lovelace",                   "Grace Hopper",                   "Marie Curie",                   "Carl Friedrich Gauss",                   "Nikola Tesla",                   "Claude Shannon"];      for (var i = 0; i < names.length; i++)        Players.insert({name: names[i], score: Math.floor(Math.random()*10)*5});    }  });}

    そして、これらのコードが実行されると、結果のHTMLコードにテンプレートは含まれず、すべてJSによるDOM操作でUIが構築されます。

    さらに、デプロイされた本番環境においては、JSが自動的にミニファイ&結合(すごい!!)されるので、生成されるHTMLがこんなにシンプルになっちゃいます。

    <!-- Meteorによって自動生成されたHTMLコード --><!DOCTYPE html><html><head>  <link rel="stylesheet" href="/908bc3c56d644ff869b6e756fb9374343d414b09.css">  <title>Leaderboard</title>  <script type="text/javascript" src="/9de2e7b06f1251b8acc06fb6517643959c540b29.js"></script></head><body></body></html>

    まとめ

    Meteor、すごいです!あっという間にアプリを作れて、生成されたコードの見通しはいいし、PaaSまでついていて、おまけに本番環境でのJSミニファイ&結合機能付き!!

    これまで、手作業でセットアップしていた多くの事柄が完全に自動化されています。

    Webアプリ作成も、ついにここまで簡単になったか・・・という感じです。

    プログラマ失業を本気で心配しなくちゃならなくなって来ました・・

    Permalink | コメント(0) | トラックバック(5) | 09:25  1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみたを含むブックマーク