Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python Quest 3

121 views

Published on

PythonistaでiPhoneを制御
文字入力をすると、LEDを点滅させてモールス信号を発信する。カナ扱いのためにStashを利用してzenhanとJanomeをpipインストールして実現した

Published in: Technology
  • Be the first to comment

Python Quest 3

  1. 1. PYTHON QUEST III
  2. 2. START CONTINUE パイソンクエストⅢ そして点滅へ…
  3. 3. プロローグ
  4. 4. 人々は自らの行為に恐怖した。 セキュリティ意識の向上が求め られる今日、秘匿性の高いアプ リを作ったはずがとんだ結果に なってしまった。 だがしかし、ここで歩みを止め るわけにはいかないのだよ。 めげずに人の役に立つアプリを作ろう!
  5. 5. ところでお前、誰よ?
  6. 6. 自己紹介 名前:しらい つかさ 技術:Python初心者 最近:妻が出張から帰ってきました。 荒れた部屋を片付けるために有給を 使って何とかごまかした。 志向:最近静的型付けがしんどくなってきた。
  7. 7. 開発環境
  8. 8. 例によってPythonista iPhoneで動くPython環境。 AppStoreの認可がよくおりたな、というくらい なんでもありのアプリケーション 1200円で買える!結構おすすめです。
  9. 9. 人の役に立つアプリを!
  10. 10. モールス信号アプリを作ろう! iPhoneのフラッシュライトを点滅させて、 モールス信号を発信するアプリを作ることにした。 これでもう山岳遭難しても安心さ!
  11. 11. AVCaptureDevice 点灯にはobjectiveCを呼び出して制御する よくわからないがとりあえずこれで動きそう from objc_util import ObjCClass def toggle_flashlight(): AVCaptureDevice = ObjCClass('AVCaptureDevice’) device = AVCaptureDevice.defaultDeviceWithMediaType_('vide’) mode = device.torchMode() device.lockForConfiguration_(None) device.setTorchMode_((mode + 1) % 2) device.unlockForConfiguration() if __name__ == '__main__’: toggle_flashlight()
  12. 12. 画面を作るよ 今回はPythonistaのGUI 機能を使うことにした。 フォームにペタペタと部 品を貼り付けるだけでUI ができる VisualStudioでWindowsFormアプリを作る感覚
  13. 13. 文字入力の問題 大文字・小文字の変換はupper()、lower()でできるけど、 全角・半角変換は実装しないとダメみたい。 正規表現で変換する、とかもあるらしいが、 ライブラリ参照で手早く済ませてたい… Pythonistaでpipを実現するには?
  14. 14. Stash これじゃなんでもありじゃないのか? いいのか?AppSore? Pythonista上でシェルを使 えるようにするツール。 これでpipもできる。 しかも無料です。 すごすぎます。
  15. 15. これで全角半角をそろえられるぞ、でも… 全角半角変換ツール「zenhan」をインストール これで全角半角変換は可能に。 でも、文字を候補選択で快適に入力するとなると、 勝手に漢字変換されるから、カナ変換しなおす必要がある …うーんどうしたら 形態素分析の力を借りよう!
  16. 16. Janome フルPythonの形態素分析ライブラリ「Janome」を pipでインストール…できてしまった。 恐るべしStash… これでアプリケーションのできあがり!
  17. 17. 完成
  18. 18. 意外な使い方 「まことに申し訳ありませんでした」 のタイミングでフラッシュをたこう! できた! 謝罪会見シミュレータにも 使えるよ!
  19. 19. 次回予告
  20. 20. PythonQuest4(仮称) いよいよ機械学習(とかDLとか)に着手しようかと。 AI機能実装で 「みんながんばれ」 「じゅもんつかうな」 「ガンガンいこうぜ」 など素敵な機能を実装したい と、いうわけで…
  21. 21. ご清聴 あ り が と う ございます

×