2020年11月30日

PyCon JP Association運営会議 #42 を開催しました

鈴木たかのり@一般社団法人PyCon JP Association副代表理事です。

 PyCon JP Associationは2、3カ月に1回理事が集まって運営会議を行っています。第42回の運営会議は11月25日(水)に開催されました。

運営会議参加者のみなさん

 

理事とオブザーバーのみなさんでオンライン上で、一般社団法人PyCon JP Associationが主催、支援するイベント、今後の活動などについて議論しました。

運営会議の議事録はすべて公開されており、第42回の議事録は以下のURLで参照できます。

主な内容は以下のとおりです。

  • PyCon JP 2020の残タスク
  • PyCon JP 2021について
  • PyCon APAC開催地の投票について
  • PyCon JP Twitter、Zoomについて

今後の予定としては12月に作業日、来年1月と2月運営会議(2月の運営会議は社員総会も実施)となります。

PyCon JP Associationの活動に興味がある方、Python関連のイベントなどについて相談、意見がある方など、オブザーバー参加をお待ちしています。以下のURLから参加登録して、お気軽にご参加ください。

2020年11月9日

「Python Boot Camp in 鎌倉」開催決定のお知らせ

 こんにちは。Python Boot Camp in 鎌倉の現地スタッフを務める平原(@kiotoh)、同じく樋口(@tyshgc)です。

神奈川県では2回目となるPython Boot Camp開催が決定しました。


都心での勉強会は多くても、なかなか職場から遠くて参加できない方や、一人で学んでも思うように進まない方など、対面でPythonを学べる貴重な機会をぜひご利用ください。

▼イベント詳細

日時:2021年1月16日(土) 13:00 - 17:30(12:30から開場、受付開始)

会場:HATSU鎌倉

住所:神奈川県鎌倉市大町1丁目1-14 1F コミュニティラウンジ

   (JR鎌倉駅東⼝ 徒歩5分)

参加費:一般 2,000円 学生 500円




▼申し込み

Python Boot Camp in 鎌倉 (connpassページ)

懇親会の参加 (connpassページ)


▼Python Boot Campとは?

Python Boot CampはPythonの初心者向けの講座です。多くの皆さんにPythonを知ってもらいたいという意図で、全国各地で初心者向けのチュートリアルを行っています。

過去の開催実績は以下にまとめています。レポートブログから、他のPython Boot Campの様子が見られます。

Python Boot Camp (初心者向けPythonチュートリアル)


▼講師紹介

新井 正貴さん



株式会社SQUEEZE所属、Djangoを使ってホテル・民泊運営向けのSaaSを開発。コミュニティ活動として、PyCon JP 2015〜 スタッフ、DjangoCongress JP 2018〜 スタッフ、Python Boot Campの講師、Pythonもくもく会の主催など。

Twitter: @massa142


▼懇親会

イベント終了後には懇親会を開催します。

開催場所は現在未定ですが、会場近くで予定しています。参加者や講師の方との歓談をお楽しみください。Python Boot Campでは聞けなかったPythonに関わる話が聞けるかも。


▼Python Boot Camp全国ツアー 現地スタッフ募集

Python Boot Campは日本全国の開催を目指しています。みなさんのお住まいの都道府県で開催したい方、興味のある方は、ぜひ下記のフォームからご連絡ください。


それでは、1月16日(土) HATU鎌倉でお待ちしております。


2020年11月2日

Python Boot Campその後 ― Shonan.py

こんにちは、Python Boot Campコアスタッフの筒井です。

Python Boot Campから生まれた、またはPython Boot Campを開催したコミュニティを紹介する「Python Boot Campその後」第4弾をお届けします。

今回は、「Shonan.py」の大貫さんに開催後の様子について伺ってみました。

インタビュー内容

(以下敬称略)

――コミュニティについて簡単に紹介をお願いします。

大貫: Shonan.pyはPyCampをやった会場(茅ヶ崎)を中心に開催している勉強会です。
2018年4月に立ち上げました。Python Boot Camp開催後も継続してPythonのコミュニティを地域に根付かせたかったので、有志で立ち上げました。
月に1回もくもく会を開催していますが、最近は新型コロナウイルスの影響でオフライン開催が難しくなってきたため、オンラインで読書会を開催しています。

――コミュニティの活動を続けていて、一番楽しかったことは何ですか?

大貫: いろいろな人とのつながりができてきたことですね。

――コミュニティを続ける上で工夫していることがあれば教えてください。

大貫: まず、スタッフ複数で運営すること。そして、毎月継続することです。もくもく会形式にしているのは、スタッフが無理して色々企画を考えるようになると続かないだろうから、という理由です。

――イベントの様子を撮った写真があればもらえますか?(複数枚でも可)

イベントの様子


――運営体制について教えてください

大貫: 現在、私も含めてメインで動いているスタッフは3名です。

――他の地域コミュニティに向けてのメッセージをお願いします。

大貫: 継続するには主催者が無理しないのが一番重要かと思います。参加者同士が会話するタイミングを作れると良いかなと思います。

――PyCampをこれから開催しようと思っている方へのメッセージをお願いします

大貫: PyCampをきっかけに地域の交流が生まれると楽しくなると思います!


インタビューは以上です。大貫さん、ありがとうございました!

開催に興味がある人は

以下フォームから「現地スタッフとしてイベントを主催したい」旨を連絡してください。

Python Boot Camp 全国ツアーお問い合わせフォーム

2020年10月25日

PyCon JP 2020 チュートリアル振り返り【データ分析編】

はじめに

みなさん、こんにちは。PyCon JP 2020コンテンツチーム、チュートリアル担当のあっきーです。2020年8月30日に開催された「オープンデータを使って、Pythonでデータ分析」の振り返りブログになります。当日のチュートリアルの概要を記載していますので、当日参加頂けなかった方も雰囲気を感じて頂けると思います(´∀`*)

チュートリアルの詳細な情報は下記を参照ください
オープンデータを使って、Pythonでデータ分析

アーカイブ動画はこちらです
PyCon JP 2020 Tutorial データ分析編

イントロダクション

今回のチュートリアルでは下記コンテンツを扱います。
  • 貿易収支データの分析
  • 家計調査データの分析
  • 地理データの可視化

データ分析の手法として、機械学習やデータの可視化について丁寧に解説頂きました。
今回のコンテンツは全てGitHub上のコンテンツとして作成されているので、ハンズオン後の復習にも利用できるように配慮頂いております。また、ハンズオンで扱いきれなかったライブラリの基礎的な使い方についての解説資料も同梱されています。自己学習に最適な内容となってますので、ぜひぜひチェックしてみてください。



貿易収支データの分析

資料はこちらです。

扱う内容は以下になります。
  • 日本の貿易収支データの取得(command)
  • データの読み込み(sqlite3 / pandas)
  • データの整形(pandas) 
  • データの可視化(plotly/dash)
  • 国別のクラスタリング(sklearn)

個人的にはあまり.dbファイルを扱ったことがなかったので、pandasからクエリの実行ができることは初めて知りました。また、欠損値に対してmap関数で処理する部分も非常に勉強になりました。
可視化部分についてはPlotly ExpressもDashも使ったことがなかったので基本的な可視化の流れを知ることができたのは良かったです。ツリーマップはなかなか興味深いなーと思いました。

図:ツリーマップのグラフ


また、Dashを使うと簡単に可視化Webアプリケーションが作成できる部分も魅力的だなと感じました。

図:作成したDashアプリケーション

データを取得し、データを読み込み、データを整形し、データを可視化する、というデータ分析の基本的な流れを一通り学べる充実した内容だと思います。

教師なし学習:クラスタリング

データ分析に機械学習の手法を取り入れることで、より踏み込んだ分析ができるようになります。今回は教師なし学習のクラスタリングについて解説頂きました。クラスタリング結果を見ると、リーマンショック後に輸出量が回復している国とあまり回復していない国で分かれていることに気づけて、なるほどなーと思いました。


図:輸出量データを5クラスターに分類した場合

家計調査データの分析

資料はこちらです。
家計調査データの分析

午後の部の最初は家計調査データの分析です。
目的は以下になります。
  • 支出額の費目毎の分布の違いを見る
  • 支出額からどういう世帯か予測する機械学習のモデルを作る

扱う内容は下記になります。
  • データの読み込み(pandas)
  • データの理解(pandasの基本的な使い方、記述統計量の理解)
  • データの可視化(箱ひげ図、ヒストグラム、Ridgeline plot)
  • Dashによるアプリケーション作成

記述統計量、ヒストグラムなどデータ分析の基礎的な内容について実際に手を動かしながら学ぶことができます。また、こちらのチュートリアルでも最終的にはDashを用いたアプリケーションを実装しています。



機械学習:2クラス分類

家計の情報から3大都市圏に住んでいるかどうかを判定するモデルを作成してみます。機械学習を用いてモデルを作成する基礎を学ぶことができます。取り扱っている内容の一部は下記になります。
  • 目的変数、説明変数とは
  • データをテストデータと訓練データに分割する方法
  • 線形SVM、非線形SVM
  • ハイパーパラメータ
  • スケーリング

機械学習:多クラス分類

各世代の年代を予測するモデルの作成を行います。勾配ブースティングの手法を用いてモデルを作成し、混同行列の作成まで実施します。

図:与えられたデータから世帯の年代を推定した結果の混同行列

地理データ分析

資料はこちらです。

地理データ分析の目次は以下になります。
  • 第1部 大阪市内の平均路線価の可視化
  • 第2部 平均路線価と自転車盗難数の可視化
  • 第3部 平均路線価の可視化と自転車盗難数データのより正確な可視化

第1部 大阪市内の平均路線価の可視化

大阪市内の平均路線価をグラフィカルに可視化します。実際の可視化は下記のような結果になります。

図:大阪の平均路線価の可視化

第2部 平均路線価と自転車盗難数の可視化

第1部ではマップに対して1つの情報のみを可視化しました。第2部では路線価と自転車盗難数の両方を可視化してみます。
このパートでは、pandasにおけるグループバイ、テーブルのマージ、インデックスの再振り分け等についても併せて解説頂いています。

図:路線価と自転車盗難数の可視化

第3部 平均路線価の可視化と自転車盗難数データのより正確な可視化

第2部では市町村界の可視化がタイル状になっていましたが、もう少し正確に市町村界の可視化を実施してみます。

図:平均路線価と自転車盗難数の正確な可視化

最後に

データ分析の基本的な内容から応用的な内容まで幅広く扱って頂き、とても学ぶことが多いコンテンツだと思います。チュートリアルを当日参加された方も、まだアーカイブ動画を視聴されていない方も、この記事をきっかけにぜひご覧ください(≧∇≦*)。

2020年10月16日

PyCon JP 2020 チュートリアルアンケート結果

はじめに

みなさん、こんにちは。コンテンツチームチュートリアル担当のあっきーです。今年の2020年8月30日に開催したチュートリアルのアンケート結果について共有します。

チュートリアルコンテンツの情報は下記をご参照ください。

PyCon JP 2020 チュートリアル

内容が長文になりますので、ご了承ください。

参加者情報

  • Pythonの開発エコシステムを学ぼう Slack Bot編
    • connpassチケット(Zoom参加権): 20人[完売]
    • 当日Zoom参加者:10人
    • 当日ユニーク視聴数: 118人
  • オープンデータを使って、Pythonでデータ分析
    • connpassチケット(Zoom参加権): 20人[完売]
    • 当日Zoom参加者:6人
    • 当日ユニーク視聴数: 156人

アンケート結果

総回答数:20件

難易度は適切でしたか?
(1:簡単、5:難しい)


今回の講座をどこで知りましたか?


今回の講座の満足度を教えてください。
(1:不満、5:満足)


今回のチュートリアルの良かったところを教えてください。

  • オンラインだったので移動コストがかからなかったのと講演者の話が聴きやすく資料も見易かった。
  • 講師の方がとても丁寧でわかりやすかったです。
  • 手順を追って動作を確認できたので、大変に分かりやすかったです。
  • 進行が丁寧
  • googleコラボラトリは受講者の環境と関係ないため、初心者には受けやすいのではないでしょうか。ストーリーというかシナリオが良かったと思います。特に、AI系が徐々にステップアップしているところが上手いと思いました。
  • slackボットの作り方がざっくりわかったところ
  • 関連する事柄を一通り体験できること。内容・手順を説明するだけでなく、実際に手を動かして手本を見せてくれること。ドキュメントやチュートリアル自体のアーカイブとして残っていること。
  • GitHub 上の Binder に環境が整っており、途中でつまづくことがなかった
  • 新しいことを知ることができとても良かった
  • slackbotだけかと思ったらドキュメンテーションまであっておなかいっぱいでした
  • 新しい知識を得た
  • 途中、詰まって聞き逃したところがありましたが、後から復習できる環境を用意して頂いていたので、ありがたかったです。
  • やってるときの生の声、考え方がわかるところが良かった。
  • mapboxという面白いサービスを知った
  • Mapboxの使い方がわかったことです。
  • 凄い内容だった

講師のみなさんに一言お願いいたします。

  • ありがとうございます。
  • とても有意義な講義をありがとうございます。当日のみならず準備などたいへんだったと思います。今後ともよろしくお願いいたします。
  • とても、よかったです。
  • 楽しく学習できました。ありがとうございました。
  • お忙しい中、準備含めてどうも有り難うございました。
  • 準備および運営等,大変おつかれさまでございました。ありがとうございました!
  • 構想、準備、そして当日まで、全力を尽くしてやっていただき、ありがとうございました。
  • お疲れさまでした
  • オンラインチュートリアルは初めての経験とのことで大変な苦労があったことと思いますが、とても良い体験ができました。不満な点などあるはすがありません。ありがとうございました。また機会がありましたら、是非参加させていただきたいです。
  • とても分かりやすく勉強になりました。ありがとうございました。
  • 大変な準備有難うございました
  • 準備は大変ご苦労様でした
  • 比較的、身近な題材でしたので使いどころがイメージしやすかった点でよかったです。
  • 楽しく聞かせてもらいました。時間を割いていただきありがとうございます。
  • ハンズオンの難易度はちょうど良かったですし、内容も良かったと思います。
  • 今後とも宜しくお願いします。

今後チュートリアルを行うとして、参加したい分野があれば教えてください。


次回、チュートリアルを受けるとしたらどのくらいの難易度を希望しますか?
(1:簡単、5:難しい)



その他、PyCon JPへのご意見/ご感想などありましたらご記入お願いします。

  • いつも楽しみにしています。
  • 引き続きPythonコミュニティの盛り上がりを応援してゆきたいと思います。
  • お疲れさまでした
  • お疲れ様でした。とても楽しく学べる時間でした。ありがとうございます。
  • 今後も期待しています
  • 適性や難易度を表示してほしい
  • 今年はチュートリアルしか参加できませんでしたが、セッションの資料と動画をアップして頂いているので、ありがたいです。
  • 今後もチュートリアルを継続して実施していただけるとうれしいです。

最後に

今年のチュートリアルは初めてのオンライン開催ということで良かった点も悪かった点も様々あったかと思います。皆さんのご意見を参考にしながら、今後の活動に生かすことができるように頑張っていきます。(ง •̀ω•́)ง✧

PyCon JP 2020 システムチーム振り返り【技術編】

 はじめに

みなさん、こんにちは。システムチームのあっきーです。PyCon JP 2020のシステムチームの活動について紹介するブログの第3弾です。以前の投稿は下記から参照ください。

PyCon JP 2020 システムチーム振り返り【スケジュール編#1】

PyCon JP 2020 システムチーム振り返り【スケジュール編#2】

本投稿ではPyCon JP 2020のWebサイトをどのように作ってるのか、その裏側について紹介します。少しでも皆さんのお役に立てるような情報を公開できるように頑張って書きましたので是非参考にして頂ければ幸いです。(*^▽^*)


フロントエンド側

最終的なフロントエンドの使用技術は下記になります。

  • Nuxt.js(axios,i18n,content)
  • Tailwind CSS

実際のリポジトリは下記になりますので、興味ある方はご確認ください。

pycon.jp.2020.ui

技術選定についていろいろと議論した結果、Reactよりも使用経験者が多いNuxt.jsを採用することになりました。また、Vuetify等のフレームワークを使用する案も出ましたが、フレームワーク自体の習得が必要なため少しハードルが高いという結論に至りました。Tailwind CSSは通常のCSSの知識があれば利用可能であるため、比較的ハードルが低いと感じ採用しました。

PyCon JP 2020のサイトは原則WebサイトからのAPI呼び出しは実施せずにビルド時にデータを埋め込み、静的サイトとしてジェネレートしてホスティングする仕組みを採用しています。ページの性質として動的なコンテンツがほとんどないので、デプロイ時に静的サイトとしてジェネレートする方がメリットが多いと考えたためです。

具体的にはPyCon JP Blogの最新のブログ記事のタイトルとセッションデータを埋め込んでいます。ブログ記事はBloggerのAPI経由で、セッションデータはsessionizeのAPI経由でデータを取得しています。

上記構成の場合、ブログ情報とセッション情報はビルド、デプロイ作業を実施しないと内容が更新されません。内容の更新については深夜に1回自動でビルド、デプロイするような仕組みを導入しています。

バックエンド側

次にバックエンドの技術について説明します。

【AWSを採用した理由】

原則リソースはAmazon Web Services(以下AWS)で作成することにしています。複数人で開発を進める場合、アカウント周りがしっかりしていないと共通のアカウントを使いまわす、という運用になってしまうこともあります。アカウント管理をしっかりできるように、少ない人数で回せるようにという事でクラウドメインでの方針としています。Google Cloud PlatformではなくAWSを選んだ理由としては詳しい人が多かったからです。

【ホスティング環境について】

開発環境のホスティングはsurgeを使っています。GitHub Actionsでsurgeへの自動デプロイの設定をしているので、developブランチへマージされたら自動的に開発環境のデプロイが実行されます。ステージング環境と本番環境はAWS Amplify Consoleを使っています。こちらもstagingブランチとmasterブランチにマージされたら自動的にデプロイされるように設定しています。

【セッションデータの管理について】

セッションデータはsessionizeというサービスで管理しています。API経由でセッションデータを取得することができるので、ビルド時にセッションデータを取得し、フロントエンド側で利用しやすいように整形しています。このセッションデータ整形プログラムはPythonで作られています。

【トラブルシューティング】

セッションごとの固有URLについて

自分の気になるセッション、良かったセッションをTwitter等で公開する場合、セッションごとの固有URLがあると便利です。この機能は開催直前に発覚し、急遽実装しました( ° ω ° ; )基本的にはVue Routerのクエリパラメータ($route.query)の機能を使って実装しています。

サイトURLがサブディレクトリ構成だった

PyCon JPのサイトは年度ごとのサブドメインではなくnginxのサブディレクトリ構成となっています(https://pycon.jp/2020/)。通常のNuxtの設定だとサブディレクトリには対応できないのでBase URLを本番環境のみ変更するような仕組みを入れています。

参考:API: router プロパティ
https://ja.nuxtjs.org/api/configuration-router/

多言語対応、セッションデータ整形、読み込みなどなどいろいろと紹介したい実装もあるのですが、長くなりそうなのでこの辺で(o´・ω・`o)ノシ

トラブルも多かったですが、いろいろな方のサポートのおかげで無事サイトが完成し、皆さんにお届けすることができました。この内容が少しでも皆さんのお役に立てれば幸いです。ヾ(*´∀`*)ノ

2020年10月8日

PyCon JP 2021 座長決定


 一般社団法人PyCon JP Association 代表理事 寺田です。
 

来年のPyCon JP 2021の座長が決まりましたのでお知らせします。

座長: 二木拓也 (nikkie(にっきー))

nikkieさんは、PyCon JP 2019からスタッフとなり、PyCon JP 2020ではコンテンツチームのリーダとして活動し、自身のチーム外のことも積極的に取り組んでいました。

ほかには、みんなのPython勉強会スタッフ、Django Girls Tutorial 翻訳に参加されています。



PyCon JP 2021 座長 nikkieさん

 

9月下旬に本人からの立候補を受け、一般社団法人PyCon JP Associationの理事全員の賛成により、nikkieさんに座長をお願いすることとしました。

PyCon JP 2021の開催形態は決まっておりません。今後はnikkieさんを中心に検討が行われることになります。

 

PyCon JP 2020は開催計画を途中で変更し、オンラインでの開催となりました。来年をどのような形にするか 決めにくい状況です。いずれの形でもPyCon JPが継続できることが嬉しく思っており、新座長のもとで、スタッフや参加者が楽しいイベントが作れることを期待しています。