SlideShare a Scribd company logo
Raspberry Piで日本の子供たちに

プログラミングのパッションを
伝えよう!
Let’s use Raspberry Pi

to share our passion of programming

with kids of Japan!
September 21-22, 2016
Antoine Choppin
@japonophile
ショパン アントワン
the World
世界
https://goo.gl/OnFGWj
プログラミングと出会った

少年の話...
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
a little about me
@japonophile
japonophile
出身: ベルギー
仕事: 医療機器のソフトウェア開発
興味: ニューラルネット、ロボット …
言語: (Java / C#), Clojure, Python, JS …
子供: 娘2人(小5、小2)
Antoine Choppin
ショパン アントワン
今日のお話
子供たちにプログラミングのパッションを伝えるレシピ
Small
Fun
Story
Language
Friends
Steve
Jobs
Eben Upton
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
Small
Alex Klein
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
Small
Fun
コンピューターキット
OS
アプリ & ゲーム
コミュニティー
Kano
Kano OS
メーク・マインクラフト
ターミナル・クェスト
メーク・アート https://art.kano.me
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
コミュニティー
仲間と一緒にプログラミングを楽しむ
Small
Story
Fun
Hello, how are you?
Let’s learn programming
Do you know Kano?
My name is John
What do you want to make?
Let’s play a game!
Let me tell you a story
Kanoアプリの翻訳
i18nとは
= internationalization(国際化)
プログラムに変更を加えて、
他言語に適合できるようにする
l11n = localization (地域化)
プログラムを他の地域(言語)に適合させる
翻訳+...
gettext入門
...
print _(“Hello, my name is Kano”)
...
プログラム: myapp-main.py
...
src/myapp-main.py
...
PYPOTFILES: xgettextで
処理するファイルのリスト
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr ""
翻訳のテンプレート: messages.pot
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr "こんにちは、Kanoと言います。"
日本語翻訳: ja.po
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr "Bonjour, je m’appelle Kano"
フランス語翻訳: fr.po
00111010011011110101000100001010111
01000101001010101000101011101010111
01001010100100010101001000101010111
locales/ja/LC_MESSAGES/myapp.mo
00001010111010001010010101010001010
11101010111010010101110011101001101
11101010001010101001000101010010001
locales/fr/LC_MESSAGES/myapp.mo
i18n tips
• %s, %dより.formatを使おう
• 位置変数より変数に名前をつけよう
_(“Today is {} {}”)
_(“Today is {month} {day}”)
• 翻訳者へコメントを入れよう
• 文を分離しない:
_(“this is a “) + car.color + _(“car”)
_(“this is a {color} car”).format(color=car.color)
• 文字列にHTMLを含めない
_(“<em>Welcome!</em>”)
u”<em>” + _(“Welcome!”) + u”</em>”
https://www.youtube.com/watch?v=UOOMFGURr5I
ターミナルクェスト(概要)
ストーリー
ブック
ターミナル
Terminal.py
challenge1.py
challenge2.py
ASCII
アート
ソ
ケ
ット通
信
ターミナルクェストの日本語化
• 文字列の特定、マーキング
• 文字列のフォーマット調整(引数など)
• ASCIIアートを言語毎に複製
• タイプライター
• 文字列の長さ計算(ダブル幅対応)
• スペース無しの折りかえりアルゴリズム
• 通信バッファーの拡張(マルチバイト)
他言語対応は、翻訳だけじゃない!
ターミナルクェストの日本語化
メークライトの日本語化
• gtkを使ったpython UI
• コンテンツ(チャレンジ)はJSON
Kano (RPi)の日本語設定
$ sudo dpkg-reconfigure locales
en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
* ja_JP.UTF-8 UTF-8
$ apt-get install ttf-kochi-gothic xfonts-intl-
japanese xfonts-intl-japanese-big xfonts-kaname
デモ
Kano日本語化の現状
��� i18n対応 ��� PRマージ
terminal-quest ◯ ◯
make-art ◯ ◯
make-snake ◯ ◯
make-light ◯ ×
make-adventure × ×
make-minecraft × ×
kano-profile ◯ ×
kano-settings △ ×
kano-updater ◯ ◯
kano-vnc ◯ ◯
kano-apps ◯ ◯
kano-greeter ◯ ◯
Kano日本語化の課題
• IME (日本語入力対応)
• 未公開アプリのi18n対応
• 翻訳配布とリリースのタイミング
• コミュニティーサイトの他言語対応
Small
Language
Story
Fun
いよいよ、
ベータテスト!
「ペンギン」

プログラミングクラブ
• 小学生向け、親子の参加歓迎
• 毎月、土曜の朝に集まる
• 仲間と一緒にプログラム(ゲーム等)を作っちゃう
• Kano又は自分のパソコン
• ブロック(Scratch)でのプログラムが多い
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!
課題
ブロック vs コード
Kano vs 自分のパソコン
課題 vs 自由
先生 vs 友達から学ぶ
論理 vs 想像力
Small
Friends
Language
Story
Fun
子供たちにプログラミングの
パッションを伝えよう!
まとめ
• Raspberry Piはプログラミングを学ぶのに最高
• プログラミングは仲間と一緒にできると楽しい
• 国境を超えて、アプリを他言語対応しておこう
• オープンソースに貢献しよう
おまけ
ご静聴
ありがとうございました
https://www.raspberrypi.org/
https://kano.me/
https://github.com/KanoComputing

https://www.gnu.org/software/gettext/

https://art.kano.me

https://chopp.in/penguin/
Questions?

More Related Content

PPTX
KOMANKO and PAOPAL
PDF
Why python
PDF
Why python
PPTX
Pythonでターミナルに画像表示
PPTX
Seq2Seqでボットづくり
PDF
プログラミングとは
PDF
Pythonで作る自作デバッガLT資料
PPTX
他人が書いたコードのリファレンスをSphinxで作る方法
KOMANKO and PAOPAL
Why python
Why python
Pythonでターミナルに画像表示
Seq2Seqでボットづくり
プログラミングとは
Pythonで作る自作デバッガLT資料
他人が書いたコードのリファレンスをSphinxで作る方法

Viewers also liked (20)

PPTX
Kano osいいよ
PPTX
「Raspberry pi」勉強会 2015.03.20
PDF
Pyconjp2016 pyftplib
PDF
Pythonで実現する4コマ漫画の分析・評論
PPTX
Pythonで入門するApache Spark at PyCon2016
PDF
ビックデータとPythonではじめる野球の統計分析 #pyconjp
PDF
型ヒントについて考えよう!
PDF
Python と型ヒント (Type Hints)
PDF
PyConJP2016: 週末サイエンティストのススメ
PDF
マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)
PDF
Goji とレイヤ化アーキテクチャ
PDF
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
PDF
Minecraft Pi Editionをハックしてみよう
PDF
Webフレームワークを作ってる話 #osakapy
PPTX
Robot Framework (のSelenium2Libraryのお話)
PPTX
上げよう!IoT女子力
PDF
Python入門 コードリーディング - PyConJP2016
PPTX
Taming robotframework
PDF
User Happyをささえるアジャイルのココロとスクラムのキホン
PDF
4コマ漫画 Machine Learning 分析データを集めたかった話
Kano osいいよ
「Raspberry pi」勉強会 2015.03.20
Pyconjp2016 pyftplib
Pythonで実現する4コマ漫画の分析・評論
Pythonで入門するApache Spark at PyCon2016
ビックデータとPythonではじめる野球の統計分析 #pyconjp
型ヒントについて考えよう!
Python と型ヒント (Type Hints)
PyConJP2016: 週末サイエンティストのススメ
マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)
Goji とレイヤ化アーキテクチャ
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Minecraft Pi Editionをハックしてみよう
Webフレームワークを作ってる話 #osakapy
Robot Framework (のSelenium2Libraryのお話)
上げよう!IoT女子力
Python入門 コードリーディング - PyConJP2016
Taming robotframework
User Happyをささえるアジャイルのココロとスクラムのキホン
4コマ漫画 Machine Learning 分析データを集めたかった話
Ad

Similar to RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう! (20)

PDF
S16 t1 python学習奮闘記#6
PDF
Introduction
PDF
S09 t0 orientation
PDF
[PyConJP2019]Pythonで切り開く新しい農業
PDF
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
PPTX
The esperanto generator
PDF
S20 t1 stapyのこれまでとこれから
PDF
S09 t4 wrapup
PDF
アレクサと俺のVoice ops 201611
PDF
S08 t0 orientation
PDF
Python+Raspberry Piでロボット製作はじめました
PDF
ブロックチェーンでIo tっぽいことやってみたぃ 201701
PDF
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
PPTX
S13 t0 introduction
PDF
Efsta student session
PDF
アプリ企画 フォト絵本作成アプリ 追加課題_20140208
PDF
テックリンクGoハンズオン#3 APIアプリをGoogle Container Engine (GKE)で動かしてみよう
PPTX
Stapy#22 LT
PPTX
見える!「IoT」 NefryでJenkinsのXFD作ってみた
PDF
第1回プログラミング大学in福岡
S16 t1 python学習奮闘記#6
Introduction
S09 t0 orientation
[PyConJP2019]Pythonで切り開く新しい農業
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
The esperanto generator
S20 t1 stapyのこれまでとこれから
S09 t4 wrapup
アレクサと俺のVoice ops 201611
S08 t0 orientation
Python+Raspberry Piでロボット製作はじめました
ブロックチェーンでIo tっぽいことやってみたぃ 201701
Ohotech特盛#13 スマホで操作する カメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
S13 t0 introduction
Efsta student session
アプリ企画 フォト絵本作成アプリ 追加課題_20140208
テックリンクGoハンズオン#3 APIアプリをGoogle Container Engine (GKE)で動かしてみよう
Stapy#22 LT
見える!「IoT」 NefryでJenkinsのXFD作ってみた
第1回プログラミング大学in福岡
Ad

RaspberryPiで日本の子供たちにプログラミングのパッションを伝えよう!