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
プログラミングと出会った

少年の話...
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
Small
Alex Klein
Small
Fun
コンピューターキット
OS
アプリ & ゲーム
コミュニティー
Kano
Kano OS
メーク・マインクラフト
ターミナル・クェスト
メーク・アート https://art.kano.me
コミュニティー
仲間と一緒にプログラミングを楽しむ
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)でのプログラムが多い
課題
ブロック 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

Viewers also liked

Kano osいいよ
Kano osいいよKano osいいよ
Kano osいいよ
Kazuko Shikiya
 
「Raspberry pi」勉強会 2015.03.20
「Raspberry pi」勉強会 2015.03.20「Raspberry pi」勉強会 2015.03.20
「Raspberry pi」勉強会 2015.03.20
Minoru Chikamune
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
 
Pythonで実現する4コマ漫画の分析・評論
Pythonで実現する4コマ漫画の分析・評論Pythonで実現する4コマ漫画の分析・評論
Pythonで実現する4コマ漫画の分析・評論
esu ji
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
Shinichi Nakagawa
 
型ヒントについて考えよう!
型ヒントについて考えよう!型ヒントについて考えよう!
型ヒントについて考えよう!
Yusuke Miyazaki
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
 
PyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメPyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメ
Yuta Kashino
 
マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)
マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)
マイクロサービスを利用する側のパフォーマンス向上策 (PyCon JP 2016)
株式会社MonotaRO Tech Team
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Shiroyagi Corporation
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Hironori Washizaki
 
Minecraft Pi Editionをハックしてみよう
Minecraft Pi EditionをハックしてみようMinecraft Pi Editionをハックしてみよう
Minecraft Pi Editionをハックしてみよう
Akira Ouchi
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
泰 増田
 
上げよう!IoT女子力
上げよう!IoT女子力上げよう!IoT女子力
上げよう!IoT女子力
NHN テコラス株式会社
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Shinya Okano
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework
泰 増田
 
User Happyをささえるアジャイルのココロとスクラムのキホン
User HappyをささえるアジャイルのココロとスクラムのキホンUser Happyをささえるアジャイルのココロとスクラムのキホン
User Happyをささえるアジャイルのココロとスクラムのキホン
Shinichi Nakagawa
 
4コマ漫画 Machine Learning 分析データを集めたかった話
4コマ漫画 Machine Learning 分析データを集めたかった話4コマ漫画 Machine Learning 分析データを集めたかった話
4コマ漫画 Machine Learning 分析データを集めたかった話
esu ji
 

Viewers also liked (20)

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

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

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

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

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

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