はんなりProgrammingの会月報

はんなりPythonの会の活動についてお知らせします

はんなりPythonの会#14を開催しました

f:id:mazarimono:20190215222936p:plain
NOTA Incさんにお邪魔させていただきました

さて今回のはんなりPythonの会はいつもの会場を抜け出し、NOTA Incさんにお邪魔させていただきました。NOTA Incさんのオフィスは同志社大学のキャンパスの前のカレー屋さんの上にあります。Scrapboxを作っている会社が京都の会社だなんて知りませんでした(すみませんでした)。

いつもの開場は電気が部分的に消せないため、スライドが見えにくいってか見えない問題がありましたが、今回のNOTA Incさんでは、ドーン。

f:id:mazarimono:20190215223524p:plain

大きいモニターがありました。テキストエディターのコードが14回目にして見えるよ!!!

今回からNOTA IncさんのScrapboxも勉強会に取り入れてみました。そして、編集したい人には全員権限を与えるという感じに!!!

scrapbox.io

そうして出来たのが、上のものなのですが、うーむカオスながら凄い。そして、これはなしねって言ったことがたくさん書かれていますwww

という感じで、今回は時間が30分遅れたせいか、会場がおしゃれになったせいか、開始時間前に参加者が全員揃ってしまうという、前代未聞な出来事に驚きながら、はんなりPythonの会#14はスタートしました。勉強会にこれまで起こっていた遅刻、無断欠席がまったくなかったのはなぜか・・・。多分偶々でしょう。

積み木式自己紹介

積み木式自己紹介は前回から取り入れられましたが、それまで自己紹介で名前を言った人の名前をすべて言ってから、自分を紹介する方法です。勉強会で多くの人にお会いするのですが、全然名前が覚えられないよねって話から、それを解消するために、取り入れられたこの方法。しかし、なかなか難しく、結局PC、スマホに頼ってしまいます。そういえば小学生の時に、教科書10行くらい暗記してノートに写すのなんて簡単だなんて先生は言っていましたが、10文字も無理な気がします。

発表1 吉岡さん minipyroを読む

Uberが作っている確率プログラミングライブラリのPyroというものがあります。そのコードを読んでおられたのですが、デコレータが乱用されていたり、データ型が分からなかったりで、データ構造やフローが読みにくかった。コメントも親切に書いているけど・・・

minipyroという291行のコードが有ることに気づかれ、その冒頭のコメントも親切そう。そうして、読んでいくとそこには超苦行が待ち受けていたそうです。

withが使われているのは解りにくいし、メソッド内でselfが使われているとか。なんかとりあえず、これまであまり見たことないなぁという事例にあふれています。その他、291行のコードだと思っていたらPytorchのドキュメントにその説明を読みに行かなければいけない(吉岡さんはご存知だったので、そこは避けられた)など、とにかく苦行が始まると、291行のコードでも全然読むのが超絶大変だということがわかりました。

他人の書いたコードは勉強になり、しかも自分の興味のある分野だと、調べるの全然苦にならないって思っていたけど、そうではなかったというのも興味深いところでした。あとRustは良いぞ!ってことでした。吉岡さんがRustの勉強会を京都で行われていますので、関心を持っておられる方はぜひ!

rust-kansai.connpass.com

発表2 masayuki14 個人の学びを続けるために

はんなりPythonOSS Gateのオーガナイザーである森崎さん。いつもはんなりPythonの会でプロジェクターをお借りしているスプーキーズのアンバサダーもされています。スプーキーズでは2月28日にもくもく会を行われます。また、てくてくテックも3月に1周年を迎えられるそうです。

spookies.connpass.com

今回は個人で学び続けるためのコツをお話されました。

学ぶためにはフロー状態というのを役に立てるとよいそうです。

フロー状態というのは活動に没入している状態を指すようです。そういう状態に入れるのは問題がちょっと難しい位のものを解くのが良いそうです。

f:id:mazarimono:20190215231915p:plain

フローに入れるように、自分で調整しましょう。目的の設定をなんか面白そうとかにしてそれをやるのが良いそうです。

課題設定には動き出しやすさ(やれること)とモチベーションの高さ(やりたいこと)を意識しましょう。この2つが満たせないと駄目です。

森崎さんの実行例。昨年Pythonの勉強会もはじめたしってことで、Pythonをはじめたけど、続かなかった。今回は機械学習、可視化、最近買ったUSJのチケットの3つを組み合わせ目的を設定(待ち時間可視化アプリを作ろう)、これまでやれることを使った上でやりたいことをやるための技術を積み重ね、課題をこなしたという例が示されました。

つまずいた時にどうすべきかという質問には、やれることからやったほうが良いとの回答でした。

21時になるとライトの色が変わりました。おしゃれや・・・

f:id:mazarimono:20190216090622p:plain

発表3 小川 Urban data challenge with Dash

speakerdeck.com

最近Dashという可視化フレームワークにハマり、何度もはんなりPythonで取りあげています。Dashは可視化ツールのPlotlyと、React、Flaskを組み合わせ、簡単に可視化ウェブアプリケーションを作れるライブラリです。これを使ってデータをみんなで見て、そのデータを味わい尽くすみたいな使い方をするとよりいっそ、データが活用できることでしょう。

今回はこのフレームワークを使い、アーバンデータチャレンジという、コンテストに参加してみたという報告です。

作品は下の2つ。ちょっとローカルでは動くものの、herokuにあげたら動かない部分もあってどうなんですかみたいなところはチョットありますが、ほぼきれいに動いて、しかも5行コマンドを書いたらウェブアプリケーションになるし、dash最高(herokuのおかげ)みたいな感じです。

公共のデータに関しては金融でいわれているオルタナティヴデータのように使えたり、実際になにかビジネスに使えたりすることが考えられます。最近の日本の統計の不正の根本には予算不足の問題があるようなので、データを使って稼いで、それを税金で収めて、それでデータを強化するみたいな流れを作っていければなぁみたいなことを考えています。

大阪 https://osaka-takoyaki.herokuapp.com/osaka-takoyaki.herokuapp.com

京都

https://my-dash-kyoto.herokuapp.com/my-dash-kyoto.herokuapp.com

f:id:mazarimono:20190216000734p:plain

まとめ

という感じの発表内容でした。詳しくははんなりPythonscrapboxを御覧ください。

Scrapboxは全員で同時に編集できるので、小学生とかでも使うともしかしたら勉強が物凄く楽しくなりそうです。勉強会もその御蔭で盛り上がっていた感じもあったので、今後もscrapboxをみんなで書きつつみたいな進め方を行っていきたいと思います。

会場提供いただいたNOTA Inc様、ありがとうございました。

次回は3月15日、pandasとnumpyの会となる予定です。会場は未定。

こんなはんなりPythonの会に会場を提供しても良いぞって会社がおられましたら、ご連絡いただけますと幸いです!