レポート

人生を変えたPythonとの出会い ―「PyCon Indonesia 2019」レポート

この記事を読むのに必要な時間:およそ 5 分

「rest in peace REST, The rise of GrpahQL」 ―bhishek Mishra

午後はGraphQLの発表を聞きました。スピーカーのAbhishek Mishra氏@StalwartCoderはインドの方でPyCon Indiaでも発表をしているようです。また,初めてのPyCon Indonesia参加だそうです。

Abhishek Mishra氏

Abhishek Mishra氏

内容はREST APIとGraphQLを比較したもので,前半はRESTの課題と後半はGraphQLの概要を説明するというものでした。RESTのよくない点としてOver/Under-fetching,エンドポイントが増えること,Queryの複雑化(N+1⁠⁠,データの型がないことがあげられていました。その解決策としてjson:apiODataFALCORGraphQLがあげられ,ここではGraphQLをおすすめとして説明がされて行きました。

このあとに出てきたレストランにAPIでサンドイッチを注文する例が,わかりやすくて面白いなと思いました。REST APIでサンドイッチを注文すると全部入りのサンドイッチが返されるので,不要なレタスは自分で抜く必要があります。GraphQLの場合は注文時に「パンとサラミとトマトのサンドイッチ」と注文するので,必要な具材だけが入ったサンドイッチが返されるといった具合です。

GraphQLの特徴として1つのリクエスト,1つのエンドポイント,仕様があること,強い型チェックがあることなどが上げられていました。

また,PythonでGraphQLを使用する場合はGrapheneというライブラリがおすすめされており,コード例が提示され,実際にデモで動作を見せていました。

GraphQLは興味があり,概要がコンパクトにまとまっているトークだなと感じました。個人的には,実際にやってみてここがつらかったみたいな話がもうちょっと聞きたかったなと思いました。

自分の発表「Automate the Boring Stuff with Slackbot」

2019年のPyConツアーの締めくくりとなる発表です。内容としては,いつものSlackbotを拡張して自分の作業を楽する方法です。

話した感じではそこそこ笑いもとれており,いつも「ビールを飲みにいきましょう」みたいな話を入れているのですが,そこでは「インドネシアの人はお酒を飲まないの知ってるので,あなたはお茶を飲んで私はビールを飲めればハッピーです。」みたいなことを言ってウケました。

筆者の発表の様子

筆者の発表の様子

発表をしていて結構びっくりしたのが,Slack,JIRAを知らない人が多いことです。Slackは80%,JIRAは90%の人が知らないそうで,他のツール(Telegram,LINE,Github Issue,Asana)などを例に挙げて説明しましたが,伝わったかはちょっと不安です。

質疑応答は以下のようなものがありました。1つ目の質問はうまく聞き取れず,Iskandarが日本語で質問の意味を教えてくれました。ありがとうIskandar,助かりました。

Q:誰がBotでコマンドを実行できるかの権限設定はあるのか?
A:Slackbotとしては権限設定はできません。たとえばここで説明したgadminコマンドは,私のGoogleアカウントの権限でなんでもできてしまいます。そのままでは危険なので,gadminコマンドでは「SlackのAdminユーザーか」をプログラム側でチェックしています。
サーバはどこで動かすのか?ローカルでもよいのか?
A:Incoming WebhookもSlackbotも,開発時に自分のPC上で開発して動作させることが可能です。PyCon JPではWebサーバを持っているのでそこでbotを動かしています。サーバがない場合はEC2とかHerokuとかで動かすことが一般的だと思います。
ピザを注文するときに,ピザ注文→サイズは何?→トッピングは何?みたいな対話をするようなBotを作ることは可能か?
A:Slackbotのやりとりは状態を持っていないので,基本的には $pizza サイズ 種類 住所 のようなコマンドを作るしかありません。SlackのAPI自体はボタンを表示して複数のやり取りを行う機能はあるので,その機能を使うと良いと思います。Slack社が提供するPythonのライブラリだと対応しているかも知れません。

ティーブレイク

夕方にはティーブレイクがあり,コーヒー紅茶とおやつが提供されました。ただ,場所が廊下しかなくあまり座ることころもないため,みんな床に座って食べている感じがゆるい感じでいいなと思いました。おやつ自体は謎のプルプルした甘いもので,不思議な食べ物でした。

おやつに群がる人々

おやつに群がる人々

著者プロフィール

鈴木たかのり(すずきたかのり)

一般社団法人PyCon JP,副代表理事,株式会社ビープラウド所属。

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。PyCon JPでは2011年1月のPyCon mini JPからスタッフとして活動し,2014年-2016年のPyCon JP座長。他の主な活動は,Pythonボルダリング部(#kabepy)部長,Python mini Hack-a-thon(#pyhack)主催など。

共著書に『Pythonによるあたらしいデータ分析の教科書(2018 翔泳社刊)』『Pythonプロフェッショナルプログラミング 第3版(2018 秀和システム刊)』『Pythonエンジニア ファーストブック(2017 技術評論社刊)』『いちばんやさしいPythonの教本(2017 インプレス刊)』などがある。

最近の楽しみはPython Boot Campの講師で訪れた土地で,現地のクラフトビールを飲むこと。2019年は世界各国のPyConでの発表に挑戦している。趣味は吹奏楽とボルダリングとレゴとペンシルパズル。

Facebook:takanory.net

Twitter:@takanory

Github:takanory