僕は発展途上技術者

Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

からの続きとなります。

Maker Faire Singapore は Our Tampines Hub という多目的スタジアムもある公共施設で開催されました。

Maker のタグとバッジ。

機械学習で画像を認識し、認識結果をScratch(厳密にはScratchX)に送ることで、簡単に機械学習をつかったアプリケーションをつくることができる ML2Scratch で出展しました。ペットボトルのキャップをテーブル上で動かすことで、Scratch 上のネコを操作したり、あるいは MiP という倒立ロボットを操作できるデモを展示しました。

Yu Ishihara に UI をデザインしてもらい、一気にわかりやすく親しみやすくなった ML2Scratch。

日本からの出展は僕の他は、First Four Notes という会社をやられている由谷さん、渋谷さん。機械学習で振動のパターンを学習して、アクリル板を叩くと、叩いた場所によって違う音を鳴らして、楽器にできるという展示で注目を集めていました。

金土日と開催された Maker Faire Singapore の一日目は School Day ということで学校関係者だけが出展、参加していたりと、Maker Faire Hong Kong 同様、学生や学校関係者が多く参加していました。

日本語を勉強中ということで、何度もブースに訪れてきては日本のことについていろいろ聞いてきた学生さんと仲良くなりました。

彼らのプロジェクト。ゴミを回収したり、ろ過することで池の水をきれいにするロボットだそうです。環境問題に関連したプロジェクトが多く、水の問題、空気の汚染の問題は狭い国土を持つシンガポールの切実な問題のようです。

Maker Faire Singapore は Maker Faire Hong Kong と同じくらいの規模、東工大あるいは未来館でやってた数年前の Maker Faire Tokyo くらいな感じでした。

ML2Scratch の説明をちゃんと理解しながら聞いてくれて、賢そうな人だなあと思ったら Mayor of the North East District of Singapore(シンガポール北東地区の知事)Desmond Choo さんという方でした。若い…

シンガポールもSTEAM教育に対する関心は高く、機械学習というバズワードの効果もあって ML2Scratch を面白いと思ってくれる方は多かったです。「Scratchで楽しく学ぶ アート&サイエンス」も合わせて展示していたのですが、リップサービスもあるのかもしれませんが、英語版はないのか?あるいは出ないのか?と繰り返し何人の人から聞かれました。

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 17,194

あと、シンガポールでも Scratch2MiP で動かせる倒立二輪ロボットの WowWee MiP はこども達に対して安定の人気でした。

トイザらス WowWee ミートミップ 白
トイザらス
売り上げランキング: 299,712

今回参加できたのは、Maker Faire Hong Kong のときにブースを訪れてくれて、「これ Maker Singapore でやったらウケると思うから出ませんか?」と誘ってくださったスイッチサイエンスの高須さんのおかげです。ブーススペースの確保など色々とアテンドしてくださって感謝いたします。

各国の Maker と仲良くなれるし、訪れた国のことを知ることができるしで、各国 Maker Faire めぐりは楽しいです。今後開催される各国の Maker Faire はこちらで確認することができます。次は、Maker Faire Taipei に参加したい。

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(観光編)

» Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編)

Maker Faire Hong Kong に引き続き、Maker Faire Singapore で ML2Scratch を出展してきました。

香港に行ったときに時差が少なくてとても快適だなあと感じたので、しばらくこの時差1〜2時間以内の範囲で行動しようと思い立ち、アジアやオセアニア地域の Maker Faire を制覇していこうと思ったのです。

金土日は Maker Faire で、それより数日前に家族と現地入りして、シンガポールの観光三昧でした。

地震がなく、お金をふんだんにかけることができるからか、ユニークな形のビルが乱立しています。

定番の観光コースということで、ガーデン・バイ・ザ・ベイ。

巨大なガラスのドームの中、人工の滝が流れるクラウド・フォレスト。「天空の城ラピュタ」などのジブリのアニメの世界を連想しました。

こちらは、人工の木「スーパーツリー」。「アバター」の世界のようです。

定番中の定番、マーライオン。

シンガポールは華僑の人達の国というイメージがあったのですが、街を行き交う人達の人種は様々。中国系だけでなくイスラム系、インド系、そしてまれに欧米の人たちもいて、アメリカのような他民族の国なんだなという印象を受けました。

アラブ・ストリートを歩き、巨大なモスク、サルタン・モスクを訪問。残念ながら行ったその日は閉館していて中身は見られなかったのですが、まわりはアラブの雰囲気で、ゼルダの伝説のゲルドの街を連想しました。

どこも整然としており、ガムの国内持ち込み禁止、地下鉄の飲食、ポイ捨ては厳禁(違反すると罰金を取られるらしい)ということから予想はしていましたが、トイレを始めどこも清潔で、いままで訪れた国の中では断トツで綺麗でした。

国全体がディズニーランドのようなテーマパークというか、映画、小説や漫画、ゲームに登場する未来都市のようでした。アジアの雑然とした感じが少し覗いているところもあるのですが、それを人工的に統制、管理している感じでした。

約1週間の滞在中、そういえば一度も警官らしき人を見ることがなく、治安が悪そうな雰囲気をいっさい感じることがなかったのも印象的でした。防犯カメラはいたるところにありましたが。。

シンガポールの人たちも全体的にとても親切で、国全体は清潔で、治安も良いと全く嫌な思いをすることのない完璧な家族旅行でした。

シンガポールの国の成り立ちに興味を持ち、帰りの飛行機と帰国してから、物語 シンガポールの歴史 (中公新書)という本を読んでみて、その種明かしをされたようでした。

アジア各地域から移民が集まる小さな国を、アジア屈指の経済大国に成長させた裏には、リー・クアン・ユーという強烈な個性を持ったリーダーを持つ国民行動党という独裁政権が隅々までデザイン・管理していたのだというカラクリを知って、何だか複雑な気分になりました。

言論の自由がない、超エリートに管理・統制された社会、独裁政権、とこれらのキーワードだけを見ると、どんなディストピアだと思ってしまうのですが、実際にこの目で、治安が良く清潔で整然とした街並みを見て、体験してしまうと、それも悪くないんじゃないかと思ってしまうのです。実際、今後僕の中での好きな国の一つに挙げることになると思いますし、住むのも悪くない、またもう一度行ってみたいと思っています。

シンガポールにこれから行く人にはぜひおすすめなのですが、これを読んでから行くとネタバレになってしまいそうなので、僕のようにシンガポールに行ってから読むのがもしかしたらいいのかもしれません。

Maker Faire Singapore で ML2Scratch を出展してきました(Maker Faire編) に続きます。

物語 シンガポールの歴史 (中公新書)
岩崎 育夫
中央公論新社
売り上げランキング: 5,766

MakerFaire Tokyo 2018 で出展した「子どもプログラミング喫茶」振り返り

MakerFaire Tokyo 2018で、昨年に引き続きOtOMO の一員として「子どもプログラミング喫茶」の出展に協力してきたので振り返ります。

子ども向けのプログラミング体験メニューを喫茶店のようにご注文いただきご体験いただけます(各体験15-20分程度)。Scratchを中心にフィジカルコンピューティングやロボットプログラミングにもチャレンジできます。

http://makezine.jp/event/makers2018/m0148/ より

昨年の振り返りはこちら↓

MakerFaire Tokyo 2017 で出展した「子どもプログラミング喫茶」振り返り

Keep (今後も続けていきたいこと)

  • 東京学芸大学附属国際中等教育学校 It is IT のメンバー始め、さまざまな方々の協力があって、メニューを提供する(プログラミングを教える側の)メンバーが今年はたくさんそろっており、昨年よりも増えた10あるテーブルで体験メニューを提供できるようになっていました。シフトを組んで余裕ある運営ができていたと思います。(とはいえ、それなりにきついのですが…)若いメンバーたちは、自分から考えて良く動いてくれていて、体力的にきつくなってきた年長者たちはだいぶ助かっていました :)
  • メンバーも増えたが、提供できるメニューも増えていて、micro:bit や IchigoJam、フィジカルに動かせる mBot などバラエティに富んだ体験を提供できていたと思います。
  • 例年、僕はマイクラ + Scratchのメニューを提供していたのですが、今年は、Scratch2MCPI に関する電子書籍 「Minecraft で学ぶ Scratch プログラミング」 を書かれた永岡さんに参加してもらい、マイクラ + Scratch のメニューはおまかせしていたので、機械学習とScratchをつなげた ML2Scratch のメニューや、見よう見まねで覚えた micro:bit や IchigoJam のメニューを自分でも教えてみました。Scratch を使った「クローンを使ったシューティング」のメニューでは、これをやりたいと言って選んでくれた子にはやや難しい内容だったので、内容を少し変えてその子に合わせてあげたりもしてみた。食べる人、飲む人にあわせてメニューを少し変更するというアドリブが要求される部分は、喫茶店のように注文されたものを提供するというメタファーとうまく合っていて面白さを感じることができた。

Problem (反省点)

  • 関わる人が多くなり、今年は MakerFaire 側の後援もいただいているやや公式な企画ということもあり、きちんとオーガナイズされた企画として提供しなくてはいけないという要求があるのは確かです。決められた通りに進行しなくてはいけない、あるいはお客さんの不満となりえるようなリスクは取れないなどあります。とはいえ、MakerFaire なのですから、まずは Maker の自分たちが楽しむ、トラブルを楽しむ、リスクテイク・チャレンジを楽しむというのが本来の姿なので、うまくバランスを取っていければなと感じました。
  • 例年痛感するのですが、他のブースをもっとまわって他の Maker と交流するという余裕がもっと必要でした。
  • Tokyo 以前に開かれた MakerFaire Hong Kong、あるいは続く MakerFaire Singapore で自分の企画で出展してみてわかったのは、やっぱり自分でも出展しないと楽しくない。

Try (今後ためしてみたいこと)

  • 来年は自分でも出展して、プログラミング喫茶にも協力と掛け持ちしたい。
  • どのメニューがどのくらい注文されたのかの集計をきちんと取りたい。

大人のためのScratch - ScratchでTDD(テスト駆動開発)はできるか?

先日のTokyo Rubyist Meetupにて、Introducing Scratch to Rubyistsと題して、Scratchを紹介するプレゼンをおこなったところ、プレゼンのあとで、Scratchでテストコードは書けるのか?という質問を受けました。

そのことについてFacebookで投稿したところ、PhratchのアドオンでAssertchというものがあるなど、多方面から情報をいただいたのだが、中でも Can you TDD in Scratch?(ScratchでTDD(テスト駆動開発)はできるか?)というサブタイトルがついたScratchTDDというドキュメントが面白かったので紹介したい。

結論としては「ScratchでTDDはできる」なのですが、詳細はオリジナルのドキュメントがわかりやすく丁寧に書かれているため、そちらを見てもらうとして、変数と関数を日本語に書き換えたものを紹介する。

テストを先に書いたものがこちら↓

そしてテストが通るように、「『名前』に挨拶する」ブロックを実装したものがこちら↓

プログラミングがわからなくても、Scratchがわからなくても、変数名と関数名が日本語だと、どのようなことをやっているのかおおよそ見当がつくのではないだろうか?英語ネイティブの人がソースコードを見たときに、およそこのように見えているのではないかと思うと、我々、英語ネイティブでないプログラマーに比べて彼らには大きなアドバンテージがあるんだろうなあと痛感する。

以下は、ScratchTDDの最初の例を日本語化してみたScratchプロジェクトだ。


[https://scratch.mit.edu/projects/237424372/]

ScratchTDDの後半に紹介されているFizzBuzzの例はこちら↓


[https://scratch.mit.edu/projects/237554596/]

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 11,183

Scratch 3.0 の Extension(拡張機能) を試してみた

Scratchには、外部のプログラムと通信したり、独自のブロックを自分で実装でき、機能を拡張できる仕組みが備わっています。

このブログでも Scratch 1.4 での方法、および Scratch 2.0 を拡張した ScratchX を使った方法を過去に紹介している。

» Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その1)

» スクラッチャーのためのScratchX入門 - その1 ScratchXとは?

Scratch 3.0 はまだリリースされていないが、GitHub 上でソースコードが公開されているため様々な開発者が独自に拡張したバージョンを公開している。

Scratch のフォーラムを見ていたら、3.0の拡張機能にあたるExtensionのスクリプトを簡単に試せるバージョンが公開されていたので、3.0の Extension を試してみました。

参考: Discussion Forums » Developing Scratch Extensions » Creating extensions for Scratch 3.0

なお、この情報はScratch3.0のアンオフィシャルな情報なので、試す場合は自己責任でお願いします。

まず、Extension のスクリプト(JavaScript で作ります)をローカルでも構わないのでWebサーバー上で動かす必要があります。

以下の簡単なテスト用のスクリプトをローカルに保存し、

例えばNode.jsのhttp-serverを起動します。

$ http-server

これで、先のスクリプトは http://localhost:8080/test.js でアクセスできるようになります。

Scratch ID Sheep_makerという方が用意してくれている Extension を読み込むことができる Scratch 3.0 にアクセスします。

» https://sheeptester.github.io/scratch-gui/

起動して、最初の確認画面で「試す」をクリックしたあと、左下のフォルダに + マークがついたアイコンをクリックして「拡張機能を選ぶ」の画面を開きます。

「拡張機能を選ぶ」の画面では、「Choose an extension」を選び、拡張機能のスクリプトのURL、つまり http://localhost:8080/test.js を入力してOKを選びます。

拡張機能のスクリプトが読み込まれ、新たに Test というカテゴリ(緑色の丸いアイコン)が追加されます。Test を選ぶと hello というブロックがあるのがわかります。

hello は実行されると console ログに hello と出力するブロックです。スペースをクリックしたら hello と出力するようなスクリプトを組んで、テストしてみましょう。

Scratch 3.0 Extensions の仕様は、Scratch 3.0 Extensions Specificationで公開されています。

ScratchX の拡張機能の仕様と似てはいますが、細かな違いがあります。拡張機能を読み込めるようにしたこのバージョンは公式なものではありませんが、上記仕様に従ったスクリプトが動くので、今後リリースされる Scratch 3.0 に対応したスクリプトをあらかじめテストしておくために活用できると思います。

Scratchで楽しく学ぶ アート&サイエンス
石原 淳也
日経BP社
売り上げランキング: 11,183

Maker Faire Hong Kong に参加し、深センにも行ってきました - MakerFaire HongKong編

本記事を含めた全記事は以下の通り。

今回の香港ツアーのそもそもの一番の目的は Maker Faire Hong Kong に参加することでした。

会場は香港理工大学。おなじみのロゴの垂れ幕が…

参加する前は、会場はクーラーが十分に効いた屋内だと思っていました。実際の会場は屋根はあるけれどオープンスペース。始まって1時間くらいは、珍しい環境を楽しんでいましたが、その後は汗が出っぱなし。

機械学習と Scratch とをつなげた ML2Scratch という作品を出展しました。

» [t:http://blog.champierre.com/1122]

日本にいない間に発売された著書の Scratchで楽しく学ぶ アート&サイエンス もブースの傍らに置いておきました。

何の機能も持っていない普通のWebカメラと機械学習を使うことで、画像認識が可能ということで、ペットボトルのキャップで Scratch の画面の中のペンを操作するというデモがこどもたちに結構受けていました。

他の出展者については、地元香港の小学生や中学校など学校単位での出展が多く、STEM教育の色が強い Maker Faire だなという感じでした。

実際には滝汗の暑い会場を少しでも雰囲気で冷やそうという試みなのか、カーリングだったり、

空冷システムのデモがあったりします。

ダンボール製のプラネタリウム?

実験装置を遠隔で操作するシステムです。

3Dプリンターなどファブ系の展示も多かった。

日本からは Pepper も参戦。

一人で出展しているとなかなかブースを空けるのも申し訳なく、他の出展を時間をかけて回ることはできませんでしたが、その代わりとして様々な方と交流する機会に恵まれ、日本からの参加者ということで珍しがられてか、懇親会などでも非常に親切にしてもらったり、向こうから話しかけてもらうことが多く、Maker 側として参加して良かったと感じました。

また機会があれば、他国の MakerFaire に参加したい。

Maker Faire Hong Kong に参加し、深センにも行ってきました - 深セン編

本記事を含めた全記事は以下の通り。

深センは香港から電車で正味1時間くらいで行けるのですが、国境(?)を越えるため出国入国手続きがいるので1時間半から2時間弱かかりました。

香港と深センの間には川が流れており、これを渡ると深センです。「泳いで渡ってもあの壁上がるのは大変だなあ」とか想像すると、ちょっと怖い感じ。

滞在中、香港 - 深セン間を2往復したのですが、この一番最初に渡ったときは緊張しました。

世界最大の電気街、深セン「華強北」に到着。

深センについては、以下のネット上の記事であらかじめ予習しておいたのがとても役立ちました。変化が早すぎて「地球の歩き方」の情報は役に立ちません。

» [t:https://diamond.jp/category/s-shinsen]

噂には聞いていましたが、お店でも屋台でもどこでもスマホ決済でOKです。Alipay のアカウントを用意し、中国の銀行に口座を持っている方からあらかじめ送金しておいてもらったので便利でした。使った現金は地下鉄代のトータル10元(約160円)のみでした。

【2018/7/15 追記】 Alipay のアカウントはこちらの記事を参考にして、日本を出る前に、持っているクレジットカードで決済可能な状態にすることができました。ただし、お金を自分のアカウントに入金するには、中国の銀行に口座を持っている必要です。

あちこちに置いてあったモバイルバッテリーのレンタルボックス。使ってみたかったのですが iPhone 用はすべて出払っていました。

経済特区の深センは不思議なところです。ランチを食べるために入ったカフェの壁にはデカデカと Steve Jobs の言葉が。ここは中国だと思ったんだけど…

電気街の各ビルに入るとこんな感じです。各フロアでは様々なガジェット、電子部品が売られています。

こちらは、フロア全体どこもスマホケースを売っています。

ディスプレイがバリバリに割れてしまっていた長男の iPhone を格安で修理してもらいました。

雨が降っているにも関わらず車輪が付いたトイドローンが路上を飛んでいます。

Apple Watch みたいなやつとか…

こちら見たことあるような製品が。クリスティアーノ・ロナウド?

スマートホームコーナーには、Google Home らしき製品が。でも G のロゴはなかったです。

あまりに暑いので途中で水分補給。ジュース屋さんでももちろん Alipay で QR コード決済。

電気街から、こちらで紹介されていた世界最大の書店「深セン書城中心城」に移動しました。

» [t:https://diamond.jp/articles/-/123818]

途中、レンタル自転車をみかけて、QRコードをスキャンしてみたのですがなぜかエラーがでて試すことができませんでした。

こちらが「深セン書城中心城」の中。広大過ぎて、端から端まで見るのに疲れます。

階段で座り込んで本を読むこどもたち。1000万人を超える人口で、平均年齢が30と少しという深センは、若者やこどもたちばかりが歩いている印象。エネルギッシュな印象を強く持ちました。

「iPhone の修理方法 129」という本を見つけたので、買って帰りました。中身は iPhone を分解した写真や回路図が満載。これ、売っていいんだろうか…

2日後にもふたたび深セン入りして、今度は東門歩行街という、渋谷を3倍くらいエネルギッシュにしたようなところにやってきました。

夕食を食べた後に訪れた屋台街ではこんなものが。食べ放題でお腹がいっぱいだったので今回はパス。お腹が空いていればサソリくらいはいけたかも…いや、無理か。蜘蛛はおいしいらしい。

「メイソウ」というなんだかいろいろなものが混ざった感のあるロゴのお店。

iPhone のイヤホンや、

トランスフ◯◯◯ー?が売っています。

ドローンや各ガジェットがあまりに安く、本当に動くんだろうかといぶかってあまり買い物をしなかったのですが、帰ってきて、ああ、もっといろいろ買ってきても良かったかなあと思っていた矢先。こどもたちのお土産にと買ってきた iPhone に直接差すタイプの扇風機を使っていたら、その後 iPhone を充電できなくなったという知らせが… 調べてみたら、

» [t:http://www.appps.jp/296756/]

という情報をみつけました。

幸い、一度すべて放電させてちゃんとしたケーブルで充電したら、再び充電できるようになりました。

冷静に考えたら、充電に使う部分に電気を流しているということは逆流させているわけで、まあ無理があるな、と。この扇風機は封印です。買ってくるにしても、単体で動くものにしたほうがいいなと思いました。高価な iPhone とかにつなげて、そちらがもろとも壊れてしまったら泣けます。

【2018/7/15 追記】 深センに関しては、肯定的なブログ記事や、あるいはやや否定的なメディア系などの記事もあったりだそうで、おそらく書いた人それぞれの受け止め方によるんだと思います。僕は、シンプルに勢いがある面白いところだなとは思いましたが、雑なところややや不衛生な感じとかは場合によっては受け入れられないなと感じました。

本屋で床に座り込んで本を読み耽るこどもたちのシーンは印象的で、このエピソードだけを聞くと、あるいはその写真を見ると、「日本のこどもたちはここまで学習意欲はない、これじゃあ勝てないなあ…」なんて感想が生まれそうです。しかし、日本に比べれば経済的にまだ恵まれていなかったり、いろいろと社会的な制約も多く、そこから脱するためには勉強してスキルを身につけるというのが近道なんだろうという事情、強いモチベーションがあるからなわけで、比べる事自体が間違っていると感じました。

むしろ、豊かになれば長時間働くことにモチベーションを感じにくくなるので、生産性をどんどん上げて、楽して働かない方向に進まないといけないんだろうなと思いました。また、いまやLCCを使えば2万円ほどで香港、深センを訪れることはできます。他の国にも以前と比べればとても気軽に行けるはず。日本のパスポートで世界のほとんどの国に行けるとのことで(参考 https://kaikore.blogspot.com/2018/03/Japanese-passports-worlds-powerful.html )、このメリットを活かさな手はないです。深センに限らずどこでも、もし気になる国があったら、どんどん自分の目で見に行くのが良いと思います。

Maker Faire Hong Kong に参加し、深センにも行ってきました - オクトパスカードをCITYBUSの運転手に取られた編

本記事を含めた全記事は以下の通り。

香港の人たちは総じて親切でしたし、治安は良い感じで、0時過ぎに地下鉄の駅からホテルの間を歩いていても全く危ない感じは受けませんでした。

ただ、帰りの空港行きのバスで、金額をチャージして使うオクトバスカードの使い方がわからず(専用の機械にタッチするだけだったのですが)、運転手に聞いたところ、そこのトレイに入れろと指で指示され、入れたが最後、デポジットしていた額もろとも奪われて返してもらえないという経験をしました。空港からホテルに向かうときに、同行者がほぼ同じ手口で100香港ドルをトレイにいれたら「おつりは出ない」と言われ、返してもらえないということがあったので、もしかしたら良くある手口なのかもしれません。

バス会社のCiTYBUS のホームページから苦情のメールを送っておきましたが、返事はまだない…

香港に行かれる方はご注意を。

かかる時間がそれほど変わらない電車にすれば良かったです。空港に向かう E21 という路線の「黄竹街」というパス停、2018/07/09 15:23 の出来事です。バスを特定しておくためにナンバーを撮っておきました。

Maker Faire Hong Kong に参加し、深センにも行ってきました - 香港編

先週の土日(7/7 - 8)におこなわれた Maker Faire Hong Kong に参加してきて、そのついでに深センにも行ってきたので、おもに写真中心で振り返ってみたいと思います。

本記事を含めた全記事は以下の通り。

まずは香港編。

空港からホテルまでのバスから見えた、ずらっと並んだいったい何階建てなんだろうという高層マンションの列。香港らしい。

ホテルの前の道路。ジャッキー・チェンとかが出てきそう。

そのホテルが1フロアに2部屋(ベッド2つがやっと置けるくらいの広さ)しかないのに24階建てで、同行者が最上階の部屋に泊まっていたので、その部屋から撮らせてもらったのがこの一枚。

映画「ブレードランナー」に出てきそう。

毎日スコールのような雨が降り、湿度が高く蒸し暑いのでこういう薄い感じのビールが良くあう。ピリ辛の羊肉を北京ダックとかを巻くときとかに出てくる皮で巻く料理、うまかった。

ホテルの近くの公園というか運動場。小学校低学年くらいのこどもでも11時過ぎまで公園で遊んでいて、なんとも不思議。

Maker Faire Honk Kong で知り合った方がファブ系のコワーキングスペースを運営していて、ぜひ遊びに来なよ、と言われていたので滞在最終日に見に行ってきました。

Innospot というところです。

こんなものが作れるようです。Godzi--lla

3Dプリンタとか、レーザーカッターとか。

地価がなかなか高い香港で、結構なスペースです。

香港の人たちは総じて親切でしたし、治安は良い感じで、0時過ぎに地下鉄の駅からホテルの間を歩いていても全く危ない感じは受けませんでした。

ただ、帰りの空港行きのバスで金額をチャージして使うオクトバスカードを運転手に取られた形になってしまったのですが、その話は気分が悪いので、別エントリーにしておきました。

» オクトパスカードをCITYBUSの運転手に取られた編

最後に香港といえばこちら、お約束の一枚。

Don't think, feel... - Bruce Lee

深セン編Maker Faire Hong Kong 編と続きます。

Rack で作るジブン Web フレームワーク(1)

以下の方を対象読者としています。

  • Ruby は少しわかる
  • ファイルやフォルダを作ることができる
  • Web はあまりわからない

Rack の厳密な説明は他にゆずるとして、とりあえず Rack とは、それを使って Web フレームワークを作ることができるものと覚えておいてください。

さっそく使ってみましょう。

Rack は gem のライブラリとしてインストールできます。以下のコマンドでインストールします。

$ gem install rack

Rack を使って Web フレームワークを作るには、以下の2つのファイルが必要です。

config.ru

require './app.rb' # 同じフォルダ内の app.rb を読み込みます。
run App.new # 読み込んだ app.rb で定義されている App のインスタンスを作成します。

app.rb

class App
  def call(env) # Rack ではこの call というメソッドを定義するのがルールです。
    [
      200, # 返す HTTP ステータスコード
      {'Content-Type' => 'text/html;charset=utf-8'}, # コンテンツのタイプ。HTML で文字コードは utf-8 です、と宣言しています。
      ['<html><body>Hello</body></html>'] # コンテンツの中身
    ]
  end
end

上記2つのファイルがあるフォルダから以下のコマンドで rack を起動します。

$ rackup

ブラウザを起動し、http://localhost:9292 にアクセスしてください。

以下のように Hello(App で定義したコンテンツの中身) と表示されたら成功です。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ