登山中の呟きをテキスト変換して振り返りたい

この記事は PyLadies Japan Advent Calendar 2019 - Adventar 6日目の記事です。

PyladiesTokyoでは、飲み会の席で突如としていろいろな部が発足されていますが、その中の一つがmountain girl。

GTUG Girls - connpass 遠足部さんと共同で、毎年、1,2回山に登っています。

直近では、三頭山にいってきました!当日の様子は @yuzu_afroさんがこちらで詳しく書いてくれました。

www.yamareco.com

さて、山は楽しく、余裕がある場合は、皆でわいわい話しながら登っています。 が、実際登っている時は辛い時もあります(体力ないため)。 途中、あまりの辛さに完全無言になっているときも。

そんな時、自分が、

寒い、、、 暑い、、、 人はなぜこんな辛い思いをして山に登るのか。。。

を繰り返しつぶやいていることに気づきました。

そこで、あとから自分がどんなことをつぶやいていたか振り替えれたら面白いかも!と考えどうやって実現しようかなーと漠然と考えていたところ、 先日参加した PyLadies Tokyo 秋合宿 2019 - connpass で雑に音声をテキスト変換してくれるサービスないかなーとつぶやいたところ、いろいろあるよ!と教えてもらいました。 その中の一つ、Amazon Transcribeというサービスを試してみたところ、とても手軽に使えそうだったので紹介します。 ちょうど、11月21日に日本語にも対応したようです。

aws.amazon.com

Amazon Transcribe は、開発者が音声をテキストに変換する機能をアプリケーションに簡単に追加できるようにする、自動音声認識 (ASR) サービスです。Amazon Transcribe API を使用して、Amazon S3 に保存されたオーディオファイルを分析して、音声を文字起こししたテキストファイルを返すようにできます。

手順は以下の3ステップで簡単にできました。

  1. 音声ファイルを作成する。
  2. 音声ファイルをAmazon S3に保存する
  3. Amazon Transcribeで音声ファイルをテキストに変換する

1. 音声ファイルを作成する。

  • とりあえず、Androidスマホアプリの「ボイスレコーダー」で試しにつぶやいて音声ファイルを作成します
  • 山でつぶやいたであろう、「寒い、暑い、つかれた」とつぶやいて録音

2. 音声ファイルをAmazon S3に保存する

f:id:electricSheep:20191208111603p:plain

3. Amazon Transcribeで音声ファイルをテキストに変換する

  • (1) Create transcription job クリック f:id:electricSheep:20191208112123p:plain

  • (2) nameは適当な名前をつける。 f:id:electricSheep:20191208112136p:plain

  • (3) 2でS3にアップしたファイル名を指定する。 format-optional は今回自分がupしたフィアルがmp3だったのでmp3を選択。

f:id:electricSheep:20191208113617p:plain

Output data はとりあえずデフォルト設定のままで、 Create ボタンをクリック!

  • (4) Statusが Conplete になればOK f:id:electricSheep:20191208112507p:plain

  • (5) 音声がテキストに変換された f:id:electricSheep:20191208112600p:plain

  • (6) Amazon Transcribe APIを使用すれば、自動でいろいろできそうです f:id:electricSheep:20191208113636p:plain

こちらのAPI+Pythonを使って、実際に登山の際の呟きを収集して、テキスト変換し分析するのも面白いなーと思い今後チャレンジしてみたいと思います! リアルタイムに変換する必要はないので、音声収集から、自動で変換まで、raspizeroを使ってやろうかなーと考え中。 ついでに気温とかも収集できそう。

さて、PyladiesTokyoのmountain girlですが、来年は、山小屋に泊まろうかーと話しています。 興味ある方は、一緒にチャレンジしましょう。 登っている時は辛い時もありますが、やっぱりやみつきになる楽しさがあります! 普段PCしかみていないので、こういった気分転換は本当に必要だなーと感じる今日このごろ。

f:id:electricSheep:20191208114141j:plain
三頭山頂上で富士山を眺めながら食べるおにぎり最高。しかしめちゃ寒かったので、今度コンロもってラーメン作りたい。

OS自作の会 1日目

先日、(公開するのを忘れいてた。。)先月OS自作の会を開催したので、そのレポート&忘備録です(やったことを書いておかないとすぐ忘れることが判明!!)

なぜOSを自作しようと思ったのか

Cpython インタプリンタソースコードを眺めいたところ、システムコールなどがでてきてOSの仕組みに興味をもち、自作OSで有名なこの緑本を購入しました。 Amazon CAPTCHA

PyladiesTokyoのmeetup後の2次会で話したところ、なんとこの緑本を持っている方がすでに2名いて、話が盛り上がり、皆でやろうということになりました。なぜなら分厚くで、難しそうで一人では挫折しそうだったからです;;

ということで、8月10日にRaspberry piもくもく会を一緒に主催している @yuzuafroさん、会社の同僚の @meganehouseを誘って、第一回を開催しました!

第1回は、お盆の時期にもかかわらず5名あつまりました。

OS会の進め方

  • 各個人がそれぞれ本にしたがってもくもく進めていく
  • わからないところは、他の人に聞いてわかる人が答える
  • 皆がわからないところは、皆で調べる
  • 自分がつまったところはSlackで共有する。(他の人も同じところでつまる可能性があるため)

自分がやったところまでの忘備録

環境構築

  • 本はWindowsをベースにしているのでmacで環境構築&作成したOSを動作させるためには、以下参考に環境構築をする必要あります。 基本的には上記ページのREADMEの通りにやればOKです。

github.com

アセンブラでimgファイルを作成する

とりあえず、 hello world の部分のみ変更して、make runしてみる。

  • 本では、著者作の「nask」というアセンブラを使用している。これは「Nasm」という有名なアセンブラを真似て作成されている。
  • 基本的には以下手順でimgファイルを作成する(macの場合)

  • 本にはさらっとかかれているアセンブラですが、ここである程度理解しておかないと厳しそうです、

2週目(8-14日目)の概要に以下のようにかかれている通り、

1章で苦労したかいがあって気がつけばたくさんの財産を手に入れています。C言語の基本文法もほぼマスターし終わって、アセンブラもこの本の要求レベルに到達してしまっています。

1週目で、C言語アセンブラをマスターし終わる想定ですw

私の知識はというと、下記くらい。

Cやアセンブラを全くやったことのない人は、この本だけでは厳しいかもしれません^ ^;。

その場合以下が参考になるようです。(by @meganehouser) https://www.amazon.co.jp/dp/B078J4TNT1/

ただ、一通り本をやってからじっくり学んでも大丈夫そうです。

その他参考&メンバーが共有してくれた内容(一部抜粋)

tech.nikkeibp.co.jp

おわりに

  • 参加者全員、第1章の環境構築をしてエミュレータhello, world をするところまではできました!
  • 早い人は、第8章まで進んでいました!
  • 難しいけど皆でやれば怖くない!

実は本日第2回を開催しています!

IPLをアセンブラで書いた経験がある方や、RTOSを作ることを職業にしている方も加わってくれ、頼もしい! くじけそうだけど、頑張ろう。

Pyladies Tokyo スタッフ合宿参加レポート!

6月22日〜23日にPyLadies Tokyo スタッフ合宿に行ってきたのでその様子をレポートします!

pyladies-tokyo.connpass.com

Pyladies Tokyoのスタッフは、日頃Slackでやりとりをしていて、タスクをTrelloを使って管理しています。  (* Trelloは、「ふせん」のような感覚で使えるタスク管理ツールです。)

ただここ最近は、メンバーが皆仕事や家庭もあり忙しいなかで、なかなかタスクが進まない状況でした。そこで、皆で一気にあつまって、集中してやろう!ということで、合宿を計画。 スッタフ以外にも手伝ってくれる人枠をもうけ、応募したところ、@こんの さんと @kanan が参加してくれました!

場所は、星野リゾート磐梯山温泉ホテル にお世話になりました。 かなり、快適&スタッフ合宿よかった!のでいろいろお伝えしていきます。

まずはスタッフ作業

宿について案内されたのは、広々とした会場。wi-fiも使えます。 会議室を到着から翌日13時までフルで使わせていただきました。

f:id:electricSheep:20190630153108j:plain
今回お世話になる星野リゾートさんの紹介!

星野リゾートさんでは、開発者を募集しているそうで、開発合宿プランなどの企画も現在上がっている?そうです。

f:id:electricSheep:20190630161833j:plain
会場広い!机ありがたい!

普段はTrelloを使っていますが、今回は今後開催するmeet upのテーマ決めなどアイデア出しの部分もあったので、実際に模造紙と付箋をつかって、スタンディングで話あいました。 やはり、スタッフ揃っていると話がはやい。その場であーでもない、こーでもないと議論ができるので皆納得がいくまで話せてかなりスムーズでした!

決まったら、あとは実行のみ!

各自、やるべきタスクをもくもくとこなしました。 自分は、以下担当しました。

  • 今年10月でPyladies Tokyo 5周年を迎えるのでその記念パーティの企画!!
    • 5周年なので派手にやりたいと思っています!
  • PyLadies Githubにエディタ・IDEのインストール手順を用意する
    • 一通り書き終わり、あとは@こんの さんがページのレイアウトを素敵にしてくれたので、それを適用するのみ。
  • slackにポイントシステムを導入する
    • スタッフに使えるサーバーなど確認 & 何でやるかざっくり調べた

星野リゾート

ある程度、ひと段落したあとで、ホテル内を散策。 私は星野リゾート初体験だったのですが、なにもかもが感動レベルでした!!

f:id:electricSheep:20190630152237j:plain
ロビーにある木の葉っぱをよくみるとなんと、緑(赤)べこ!

f:id:electricSheep:20190630152332j:plain
コーヒーはなんと飲み放題!最高すぎる。

f:id:electricSheep:20190630154028j:plain
千と千尋に出てきそうなトンネル(渡り廊下)をぬけると・・・。

f:id:electricSheep:20190630153415j:plain
すぐ目の前がスキー上で、素敵な草原が広がっています。机椅子などあり読書をするにも最高の場所では。

冬は世界でも屈指のパウダースノーのスキー場のようですが、夏は観光するところがあまりないということで、常にホテルのなかでアクティビティが開催されていて、楽しめるようになっています。次の日メンバーも赤べこ色ぬり体験などやっていました。 日本酒なども振舞われて、日本酒好きにはたまりません。

f:id:electricSheep:20190630154425j:plain
夜ごはんはビュフェ形式。

f:id:electricSheep:20190630154506j:plain

普段あまりたべないのに、美味しくてつい食べすぎてしまい、次の日はずっと胃薬のお世話に。。食べすぎ注意です!

夜は

温泉に入り、ゆるくお酒をのみながら、11月の合宿地をひたすら調べたり、Tシャツやステッカーのデザインを話し合ったり。

f:id:electricSheep:20190630155641j:plain
お酒たくさん

合宿地は、よいなーと思ってみるともう予約で埋まっていたり、結構探すの大変(T T).

2日目

朝も食べすぎた。

引き続き残タスクの作業を行い、お昼をたべてから宿を後にしました。 胃痛により、郡山まで @selina に車で送ってもらいながら、途中猪苗代湖に案内してもらい、観光もできて満足。 @selina いつもありがとう!

f:id:electricSheep:20190630160433j:plain
やっぱり山と水はいいねーという感想を述べたら雑すぎると、怒られるなど(笑)

お土産を買ったあと、しっかり再度福島のお酒を堪能することも忘れません。

f:id:electricSheep:20190630162629p:plain
新幹線の出発時刻までの間、地元のお店で乾杯

帰りの新幹線の中では、人狼ゲームでもりあがりながら帰途につきました。

感想など

  • 今回お世話になった星野リゾート磐梯山温泉ホテルは、東京- 郡山(新幹線)- 磐梯町(在来線1h位)- バスまでホテル(20分位)のところで、正直アクセスはちょっと遠いかな?と感じましたが、それでもまた合宿で行きたいと思うくらい快適でした。冬にもスキーで絶対にいきたい。
  • ホテルで悪かった点を考えても全く思い浮かばず、あえてあげるとしたら、机の高さがもう少し高いとよかった。くらい・・(贅沢)
  • スタッフ皆が集まってやると本当に進みが早い。何を決めるにしても、その場で議論しつくして、ぱっと決めれるのでとても有意義でした!
  • 行きたいアクテビティがあったら、それまでにタスクを終わらせること!という決まり(ゆるいですが)、も頑張れてよかった。
  • 残タスクは、一人でリモートでできるものなので、粛々とがんばります。
  • 今回、スタッフ以外で参加してくれた @こんのさん 、 @kanan もいろいろアイデア出しから、実際の作業まで本当にありがとうございました!めちゃ助かったー。
  • スタッフ合宿、遊んでしまって何も進まなかったらどうしよう、と思ってましたが結果的に進捗も良好で、楽しくできました!

星野リゾートさん、素敵な合宿体験をありがとうございました!!

PyLadies Tokyo ではイベントの企画、運営に興味があり、いっしょにPyLadies Tokyo を盛り上げてくれる仲間を募集しています!

Raspberry pi もくもく会 第13回 開催レポート&2018年の振り返り

Raspberry pi もくもく会 も、今回で13回目の開催になりました。

13回目のレポートをしつつ、2018年を振り返りたいと思います!

13回目は1/6(日)という新年早々という日程にもかかわらず、21名の方が参加してくれました。

今日やったこと

今回自分は、GoPiGo2を組み立て+OSのインストールまで行いました。

現在GoPiGo3なるものが出ていて、公式HPにはGoPiGo3の設計書しか載ってなくて、どう組み立てたらいいのだ!と最初途方にくれたのですが、YouTubeに組み立ての動画がありました!YouTubeさまさま! 組み立て作業は好きなので、めちゃ楽しかったー。あとはPython でいろいろ制御できるらしいので、ソフト側を作っていこう。

そして、今日は自分がまだ初詣にいっていないということもあり、途中ぬけだして@noricokt さんと神田明神に初詣に行くという暴挙に・・・^ ^。
完全にゆる・・ふわ・・

f:id:electricSheep:20190106223021j:plain:w500

しかし、大吉&IT情報安全祈願のお守りも手に入れ、今年はいい年になりそうな予感!

成果発表

毎回、発表したい人だけ、やった内容を発表してもらっています。

今回はこんな感じです。

f:id:electricSheep:20190106224534j:plain:w400

  • googleVoiceKit &プロジェクター&カメラを搭載をした本格的なミニオンロボット
  • google-Home-miniをrasPI-zeroでロボット化

f:id:electricSheep:20190106224616j:plain:w500

  • ラズパイ4台をつなげてクラスター作成、円周率をもとめる計算の分散処理をして検証

  • 本日、初めてしったpythonで、Lチカに成功!

  • Rasberry piの温度を取得して表示!
  • Node-Redを使ってモーターを制御
  • 3Dプリンタで自作したロボット足を制御
  • タミヤのプラモをモーターを制御して走らせる
  • 光センターでLチカ
  • Rasberry piのインストール!

などなど、他にもいろいろみなさん、新年からもくもくを楽しんだもようでした。 皆、試行錯誤して得た知見を発表してくれるので、とても参考になります。 また、継続して参加していただいている方の作品がどんどん出来上がっていく様子も楽しいです。

Raspberry piもくもく会とは、どんな雰囲気か

ここで、改めて紹介すると、Raspberry piもくもく会とは、Raspberry piやっている人&やりたい人(初心者/熟練者を問わず)で集まって楽しく勉強しましょう!という会です。

raspberry-pi-moku.connpass.com

雰囲気としては、完全にゆるふわです。

各々、集中してやるときは、集中し、疲れてきたら他の人が何やっているかみたり、聞いたり、おやつ食べたりというような感じでやっています。

毎回、常連さん:3割、2〜5回目の人:4割、初めて参加の人:3割くらいの割合です。 初めて参加される方の中には、今日Raspberry pi買ってきました!というかたも必ずいて、インストール作業からやったりしています。

Raspberry pi は、何気に最初のOSインストール、もしくはSDカードの初期不良、などの壁にぶちあたることが多く、こういった会で人に聞きながらやるのは、いいのかなーと思っています。

また、毎回おぉー!!すごい!!となるものを作っている熟練者もいます。そういった作品を間近で見るだけでも、Raspberry piの可能性を感じられるし、いい刺激を受けたりもします。

2018年を振り替えって

自分は主催者ですが、自分が楽しいからやっているというスタンスです。正直それ以外なにも考えていません^^;
参加者が気負わないように、あえてゆるふわな雰囲気でやっています。

と、いいたいところですが、本当はもともと自分があまり気が回る方ではないので、勝手にゆるふわになっています。 そして、そんな頼りない私を他の運営スタッフや参加者の方に助けられた2018年でした。

  • ケーブルや部品が足りなければ、貸したり探してくれたり、
  • 誰か困っている人がいたら、フォローしてくてたり、教えてくれたり、
  • 工具を持参してくれ、ハード面でいろいろ手助けしてくれたり、
  • FaceBookページを作ってくれたり、
  • twitterのまとめを作ってくれたり、

全て参加者の皆さんが進んでやってくれました。 そして、学んだことなどを資料にして共有してくれたり、次参加したときに他の人に教えてくれたりするので、本当にありがたい。

また一緒に運営している、恐ろしく多忙な中、毎回会場を確保して付き合ってくれている@kuboakiさん ‏、Raspberry piに詳しく頼りになる、@yuzu_afro さん、新しくスタッフに加わってくれた@knou さんに感謝!!一人ではここまで続けられなかったーー(T T)

そして、なんと!!毎回アンケートをとっているのですが、これまで全ての回をあわせて、

「また参加したい」100%

という結果でした。

2019年は、引き続き毎回集まった人たちで、わいわい情報共有をしたりしながらも、なにか一緒にできたらいいなぁと思っています。

次回は2/23(土)です。皆さまの参加お待ちしています!

Django! Django! Django!

この投稿は PyLadies Advent Calendar 2018 の9日目の記事です。

このタイトルにピンと来た方、さては村上春樹ファンですね。(一応元ネタ

ではなく、今年はまさにDjangoの年でしたね(個人的見解)。

PyLadiesもくもく会や合宿でも「今日はDjangoの勉強します!!」という方がとても多かったです。

その中でも、Django Rest Fremewark(以下DRF)を学びたい方が多く、どうやって勉強すればいいか聞かれる機会が増えましたので、超ざっくりDRFの全体像と自分が勉強した方法を紹介したいと思います。

※ ここで紹介する例は、Django REST framework Quickstartで作成したプロジェクトを元にしています。5分程度で、さくっとDRFのプロジェクトが作成できますので、ぜひお試しください。

Django REST framework(DRF)

RestfulなAPIということは、モデルと1対1で結びつくようにAPIを作っていくイメージだと思います。 1モデル内のリソースに対して一覧を問い合わせたり、モデルの各レコードに対して追加・更新・削除を行いますので、それをDRFで実現するためには、最小限下記の設定が必要です。

f:id:electricSheep:20181209132626p:plain

(1) URLConf

プロジェクト作成時に自動生成される urls.pyは 、あるURLに対してリクエストが送られた場合、レスポンスを返すビュー関数を指定するための設定を行うためのものです。

Quickstartの例では、URLConf(urls.py)にRouterを使用して設定しています。

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)

## Router

  • RouterにはSimpleRouterとDefaultRouterの2つが用意されています。
  • ネストしたエンドポイントを対応可能にするpackagesもあります
  • Routerに登録できるのはViewSetのみで、APIView / GenericAPIViewでは利用できませんが、ViewSetをルータクラスに登録するだけで、APIのURLconfを自動的に生成できます。
  • ViewSet以外では、urlpatterns にURLのパターンとそれに紐付けるビュー関数を追加します。

(2)View

  • 役割としては、Webリクエストを引数にとり、 Webレスポンスを返します。
  • Viewは下記種類があります。

    • ViewSets
    • Views
      • Function view:関数ベースのビューを扱うための@api_viewデコレータを使用して定義する
      • Class based view:クラスベースのビューを扱うためのAPIViewクラスを継承して定義する
    • Genericviews
  • リクエストパースをサポートするRequestオブジェクトが提供されていて、下記により、POST, PUT, PATCH メソッド のリクエストの場合にリクエストボディを解析したものが辞書形式で取得することができます。

request.data

※なんと、この1行でファイルおよび非ファイル入力を含む、すべての解析されたコンテンツを取得することができる。parser_classesを指定すれば、勝手に解析してエラーを返してくれたりもする。

  • DRFはResponseオブジェクトも提供します。
  • ResponseはWebページ(HTML)やエラー、jsonドキュメントやPNGJPEGといった画像など、何でも返す事ができます。

(3) Serializer

  • HTTPResponseで返すために、modelのインスタンスjson などの出力可能な形式に変換するための手段を提供します。
  • また、Requestで受け取ったストリームをPythonで扱えるデータ型にパースして、オブジェクトインスタンスに復元します。(デシリアライズ
  • serializersは4つ用意されています。
    • serializers.Serializer
    • serializers.ModelSerializer
    • serializers.ListSerializer
    • serializers.HyperlinkedModelSerializer
  • ネストしたモデルの作成・更新に便利なthird-party packagesもあります  - https://github.com/beda-software/drf-writable-nested
  • バリデーションはSerializerで、決まったルールによって実行されます。コード上は簡潔にかけるのですが、内部で行われいてる実行順序などを把握していないと、???になりますので、最後に記載した参考ページを参考にするとよいと思います。ここでは詳細を省きます。

勉強法

ここまで見てわかったように、Router、View、Serliarizerごとに、いろいろな種類が存在するので最初混乱しがちです。(少なくとも自分は混乱した。。) これに加え、DRFでは例えば以下のような便利機能がたくさん提供されていて、そういった機能を把握するも大切です。

  • (例)特定のビューにアクセスできるユーザを制限するのに便利なパーミッションクラス
from rest_framework import permissions
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)

viewにたったこの2行を記述するだけで、認証されたユーザーに対しては完全にアクセスできるようにし、認証されていないユーザーには読み取り専用アクセスを許可するという設定をすることができます。 最初、あまりにも少ない記述でいろいろ実現できていて、いったいそれらの処理はどこに書かれているんだ!とこれまた混乱しました。

ここではざっくりと概要だけ書きましたが、詳細に関しては、下記参考になるページ、本を列挙しましたので、そちらを参照してもらうとすっきりわかると思います。

それぞれたくさん種類がありますが、用法によって使い分けができると思いますので、まずはそれぞれで何ができるのか・できないのか、どんな機能が提供されているのかを把握するのが近道かと思います!

また、自分がやりたいことを実現できそうなものを見つけたら、先に説明したQuickstartのようなシンプルなプロジェクトを作成して、django-rest-framework の内容をもとに1つずつ動きを確かめる方法が自分はわかりやすかったです。

Let's enjoy DRF !

参考ページ

PyLadies Tokyo 合宿 in 沖縄にいってきました!

今年もPyladies Tokyoの合宿に参加してきたのでそのレポートです。

Pyladies合宿も今年で4回目になります。私は今年で3回目の参加です。 年に1回、2泊3日で行なっているこのイベント、conpassに公開すると同時にすぐうまる人気イベントです。 毎年、PyLadies初です!という方も参加してくれ、今年も何人か初参加してくれました^^

なぜ沖縄だったのか

毎年近場で行っていた合宿ですが、初代PyLadiesTokyo代表の@a_macbee ‏さんが、会社設立と共に沖縄に戻ってしまたこともあり、昨年の合宿で「来年は沖縄でやるのもいいかもねー」などと話していたのですが、本当に実現しました。 これは、@maaya8585さんの力によるところが大きい!

沖縄と遠いこともあって、流石にそんなに人が集まらないかなーと思いましたが、結果13人の人が集まり、ワイワイ楽しむことができました

決めていたこと

  • 集合時間 沖縄空港に12:30
  • 宿(Airbnbで一軒家を手配)
  • レンタカーを2台手配(+沖縄在住の @natsukoa333 ‏ の車1台)
  • 夜ごはんは1日目、2日目とチームを2つに分けて、それぞれが買い出し& 作り&後片付けを担当する
  • 3日目のチェックアウト後は観光したい人で観光

という感じで、飛行機は各自手配という感じでした。

1日目

朝10時半についたメンバーとまずは沖縄のorion ビールで乾杯!

f:id:electricSheep:20181117163108j:plain:w300

その後続々と沖縄に降り立ったメンバーも合流し、その都度ビールで乾杯。最高ですね。

宿は、13人泊まれる一軒家。外国人住宅街ということで、とても雰囲気ある素敵エリアでした。 また、海までは徒歩10歩、ダイビングスポットで有名な綺麗な海が広がっていました。

しかし、まずは皆PCを広げ始め、もくもく開始。pyladiesらしい。

夕食は、 @Yuryu ‏さん のおかげで、google スポンサーということもあり豪華!! 作ったソーキそばと、もずくスープもとても美味しかったー。正直あんなに美味しいソーキそばを食べたのは初めてです。お代わりした。

f:id:electricSheep:20181117174122j:plain:w200

夕ご飯時に、自己紹介タイム。皆、合宿ではDjangoをやる、という人が多かったです。 夜は、温泉に行く人たちもいれば、もくもくする人、お酒を飲みつつ各自自由に楽しみました。

2日目

台風が近づいている?こともあって大荒れの天気。一歩も外に出れない状況で、まさに黙々日和でした。 私は、@akiyoko さんがかいた Django本のデプロイの章をもくもく。 自分はインフラの知識があまりないので、nginx、mysqlのインストールからサーバーの設定など、丁寧に説明が書いてあってとっても勉強になりました。 本当は、本を一通りやってレビューブログを書くところまで合宿でやりたかったのですが、たどり着けず・・・。

その他、Pyladiesスタッフ業などやりました。

夕方になって奇跡的に晴れて、海に行きたい人たちで海へお散歩。 大雨が降ったあととは思えない、綺麗な海で、沖縄を堪能!CDジャケットに使えそうな写真を量産しました(笑)

f:id:electricSheep:20181117163908p:plain:w500

  • PyLadiesのSlackで #onair というチャネルがあり、イベント時にはそのチャネルで実況中継を行なっています。 写真を@kananが流したところ、@kame-chanによるこのツッコミ(笑。

散歩から帰ってくると、もくもくしていたチームは色々捗ったとのことでよかった。

皆自由に好きなことができるのが、Pyladies合宿の良いところです^ ^

夜はまた豪華! スパム入りのゴーヤチャンプル、人参しりしり海ぶどう、お肉、魚、その他恐ろしい量が並んでいました。 ちゃっちゃとつくって、皆すごいなー。

ご飯も、お酒も買いすぎ疑惑で、この量どうしたらいいんだ感あったのですが、さすが、Pyladies。 余ったお肉などを次の日の朝に焼いたりして、美味しく食べきりました。 お肉があれば、とうぜんお酒も飲みたくなるので、美味しく朝からビールをいただきました。

3日目

沖縄の北と南に観光するチームに別れて観光。 私は、以前行った美ら海水族館にもう一度行きたかったので、北チームに合流。 普通、帰る日などは、北方面への観光は断念しそうなものですが、旅慣れている人が多く、全く適当な予定だったにも関わらず、その場その場で判断して、結局観光を大満喫することができました。

f:id:electricSheep:20181117165258j:plain:w500

  • 私は、骨とか標本が好きなので、この展示にかなりテンション上がりました!

道の駅、美ら海水族館、いるかショーの鑑賞、古宇利島まで行って、飛行機のる時間のちょっと前に空港へ到着。 私は早い方の飛行機(19:15発)だったのですが、21時くらい発のメンバーが多かったので、そのあと美味しいステーキを食べに行った模様。

私は楽しかったなーと旅の余韻に浸りながら、帰りの飛行機で沖縄名物?のスパム入りおにぎりを美味しくいただきました。

f:id:electricSheep:20181117172647j:plain:w200

感想

  • 沖縄ということもあってふわふわしてしまい、もくもくはあまり捗らなかった ^^;
  • 沖縄在住の方も参加してくれ、沖縄のPythonやコミュニティ事情を知ったり、Pyladiesキャラバンも色々進んだのでよかった。
  • 参加者の方のいろんな話が聞けて楽しかった。
  • 今回、レンタカー、ご飯等、googleさん( @Yuryu ‏ )がスポンサーとして提供してくれました。本当にありがとうございます!!
  • 現在、沖縄で仕事をしている @natsukoa333 ‏が色々沖縄の文化のこと教えてくれたり、ランチの手配してくれたりでとても助かった。感謝!!
  • 皆、好き勝手やっているようで、ちゃんとやることやって楽しめて素敵。本当に今回参加してくれた皆に感謝、感謝です。

とにかく今年も楽しかったーー!!

PyLadie Tokyo は来月12/1にもくもく会をやる予定です。

pyladies-tokyo.connpass.com

皆さまの参加お待ちしていますー。

PyCon JP 2018 に参加しました!

9/17-18でPyCon JP2018 に参加しました!!

pycon.jp

聞いたトーク 1日目

Why you should care about types: Python Typing in the Facebook Backend


資料

実は、[DjangoではじめるPyCharm実践入門]の部屋に行ったら満員とのことで、こちらのセッションに急遽変更。Python における型に関してあまり詳しくなかったので、きちんと理解するいい機会になった!

Django REST Framework におけるAPI実装プラクティス


www.slideshare.net

  • ページネーションの話。相対位置指定と絶対位置指定の比較
  • APIのRate limitingの実装、トークン認証とJWT、その他の設計プラクティス

ページネーションの話はかなり詳細に話してくれたので、それぞれのメリット・デメリットを理解することができた。 また、他のTipsもDjango REST Framework を使う上でかなり実践的な内容でとにかく参考になった! 部屋に入った時点で立ち見&床席しかなかったが、どうしても聞きたかったので床席を選択。聞けてよかった。

Interactive Network Visualization using Python 〜 NetworkX + BokehでPEPの参照関係を可視化する


speakerdeck.com

  • PEPとは?というところから、PEPの参照関係をNetworkXとBokehを組み合可視化する方法の紹介

可視化されたPEPの参照関係を眺めているだけでもおもしろい。
FurukiさんはPyLadiesのメンバーでもあり昨年のPyLadies合宿にも参加してくれたのですが、とにかくガチ!ひたすらもくもく取り組んでいて好きなんだなーと思っていたけど、軽快なトークで冒頭から自分の話に皆を引き込み、話術にもびっくりだった!
BokehへのPRもちょうどPycon前日(9/16)にマージされたということですごい!&めでたい!

Pythonで解く大学入試数学


  • 数学系ライブラリの紹介・説明
  • ライブラリの使い方とあわせて数学についての説明
  • 数学の問題を実際に解いてみる

sympy便利!となったり、 集合はset で解けるなど、なるほどーと目から鱗の情報がおおかった。
ホールを2つあわせた一番大きな会場で8割以上は埋まっていたと思うが、「数学嫌いな人!」との質問に対して手をあげたのは数人?しかいなかった・・。元気よく手をあげた私っていったい・・・(笑)
数学よく考えたら嫌いではなく、好きではないというだけなので、久しぶりに勉強したくなった。Python 使うとあまりにも簡単に解けるからかな。。データ分析にも最近興味がでてきたので、とりあえず復習してみよう。学生の時はUnixSASでデータ解析をずっとしていたはずなので、今はすっかり忘れているだけ!(思い出せるはず!)と信じたい。

聞いたトーク2日目

Integrate Full-text Search service with Django


  • Elasticsearch を活用した全文検索サービスを既存の Django プロジェクトに導入する際に設計・検討するべきポイント

とても聞きたい内容だったので早めに行って席を確保。立ち見が結構でていたので早めにいって正解だった。 (1日目の床席がちょっと辛かったので) 自分は、Elasticsearch 自体の理解は乏しいけど、設計よりの話で丁寧に順を追って説明してくれたので、十分理解できて面白かった。また実際Djangoのプロジェクトに組みこむ際にどのように実現したか等、かなり詳細な内容をコードを交えて聞くことができ実践的だった。 同期に関して、Signal を使った方法の検討など、なるほどーと思ったが、会場からの質問や、こうすればいいかも?的な提案もあって色々な意見を聞くことができたのもおもしろかった。こういった議論ができるのもよいですね。

Make a Drone using RaspberryPi and Google VoiceKit by Python


www.slideshare.net

  • RaspberryPi と Google VoiceKitを使ってドローンを動かす

昨年に引き続きの発表!昨年はブラシレスモーターを使ってプロペラを1つ回すところに留まったが、今年は見事4つのプロペラを回して、上昇&前進に成功しておぉーとなった。(デモでは会場の都合?で実際には飛ばせなかったですが) RaspberryPi & VoiceKit はとても身近なものだし、ぜひドローンを簡単に飛ばせる仕組みを作って欲しい!

Pythonで「お絵描きパズル」を解いてみた


speakerdeck.com

  • Jupiter Notebook を使ってPythonコードを使ってお絵描きパズルに挑んだ話

お絵描きパズルが確かにDataFrame、Seriesにみえてきた(笑)。パズルを解くロジックを考えるのはちょっと大変そうだけど、それをPythonコードに落とすとかなりシンプルなコードで書けることに驚いた。 ipywidgets を使ってパラメータを変えるスライダーが作成できるの便利そうだった。試したい。

コミュニテイでの関わり

PyLadies コミュニティブース


今年はコミニティブースがポスターセッションの形式でできたので、資料作り&当日説明を担当。 他のブースはA3なのに、自分はA4で印刷していまい、あー(; ̄□ ̄)ガーン. となったが、「唯一後ろのすだれを生かしているよ!」というお言葉をいただき、なるほど、そう考えればいいか。となった(笑)

今年は一人で参加している女子に声をかけて、いろいろお話したり、コミュニティブースに誘ったりと、たくさんのPython女子たちと関われたのでよかったな!と。 結構遠方から来ている方が多くてびっくり。皆、Python好きなんだなー。

みなさん、遊びにきてくれてありがとうございましたー! 4周年記念パーティ、女性枠、男性枠ともにまだ空きがありますので、是非是非ご参加おまちしています!

pyladies-tokyo.connpass.com

Python Boot Camp


Python Boot Campとは日本各地での初心者向けPythonチュートリアルイベントです。

9/16日に各地域の参加者で集まって盛り上がりましょう!!ということで、前夜祭的な感じで「Python Boot Camp ミートアップ」という名の飲み会が開催された。

私は、昨年、埼玉で開催した Boot Camp の現地スタッフとして関わったので、このミートアップに参加。全国から集まった関係者の方々と美味しいお肉とビールでわいわいできてとても楽しかった!  

そして、そこでなんと!!

MicroPython Advent Calendar 2017 - Qiita で間接的にしっていた micro:bitチュートリアルの翻訳をされた@inachi さんとお会いできた!!私が昨年アドベントカレンダーで書いた、その当時MicroPythonで扱っていなかった光センサに関して、今はできるようになったよ!との情報を教えてもらい感激。ひょんなところで繋がってうれしい出来事でした!

Python Boot Camp に、スタッフ、TAなど2回以上参加すると、この水色のTシャツがもらえるらしい。欲しい。

全体としての感想

  • 「ひろがるPython」がテーマだった今年のPycon JP。自分は業務でDjangoを使っていることもあり、Djangoトークを抑えつつ、業務とはあまり関係ないけど興味あるトークが聞けたことで、かなり自分の中のPython世界が広がったと思う。色々試したいこともできた。
  • 今回聞きたいトークが結構重なってしまって聞けないものがたくさんあったので、このあとYouTubeでみる予定。YouTubeありがたい。
  • LT面白かった!!
  • コミュニティ活動で、人と人をつなぐことができたり、自分自身も交遊が広がったのでよかった。
  • 1日目のパーティでMarc-Andréさんを紹介して頂いたが、私の英語力・・(T T) ・・・。stapyのトークめちゃよかった!と伝えるだけが精一杯だった・・・。英語がんばりたい。@akucchan_worldがフォローしてくれた。ありがとうございます。
  • 1年に1回、こういった大きなイベントで盛り上がるのは自分にとってとても大切&楽しいので来年もまた参加したい。来年は何かに応募したい。
  • そういえば、1日目おやつをゲットできずしょんぼりしたが、2日目は無事ゲットできたのでよかった!!(そこ?)
  • おやつ大事。Pyconのおやつ毎回テンションあがるフォルムなんですもの。

今回1000人近くの参加者ということで、規模がかなり大きくなってスタッフの方も大変だったと思います。が、今年もPython最大のお祭りとして楽しむことができました!本当にありがとうございました!