投稿者: nishimotz

  • Python Boot Camp テキストで始める Python

    12月4日に山口県柳井市で開催された Python Boot Camp in 山口 に TA として参加してきました。

    私は新幹線に乗って広島県外に行くのが2年ぶりだったようです。日帰りでしたが、山口の皆様とご一緒できて楽しかったです。

    Python Boot Camp は一般社団法人 PyCon JP Association が講師を派遣して、全国で開催している入門者向けの講習会です。私が TA をするのは2017年の広島、2018年の岡山に続いて、3回目でした。

    Python Boot Camp テキスト は、このイベントの教材として公開され、毎回使用されています。

    Python Boot Camp テキストの魅力

    私は「Python Boot Camp テキストは初心者にお勧めできる教材」だと思っています。理由は以下の通りです。

    公式Pythonの素直な使い方がわかる

    PyCon JP Association は Python を開発している国際的な非営利組織 PSF (Python Software Foundation) の活動を支援し、緊密に連携する立場の組織です。

    Python の実行環境や教材が乱立してきた現在、意外にも「公式 Python をちゃんと紹介する入門記事」は見つかりにくくなっています。ライセンスやコミュニティも含めたエコシステムとしての Python のことがちゃんと伝わるんだろうか。。

    クラウド環境でブラウザだけで使える Python とか、データ分析ツールをインストールすると使えるようになる(条件によっては無償ではない)Python とか、そういう環境を前提にした教材がとても増えています。

    ゲームセンターあらしと学ぶ プログラミング入門 まんが版こんにちはPython」は数少ない(嬉しい)例外ですが。。

    PyCon JP が「公式 Python をこう使うのが初心者にとって素直な使い方です」と示してくれるのが「Python Boot Camp テキスト」のいいところだと思います。

    メンテナンスされている

    ソフトウェア開発に使ったことがないPCには、最初に行うべき設定や環境整備がありがちです。教材によってはそういう作業の説明が抜けていることもあります。

    Python Boot Camp テキストは対面での講習会で繰り返し使われて、いろいろな参加者の環境に対応したノウハウが詰まっています。

    また、Python の新しいバージョンのリリースなどに合わせた改訂も行われています。

    今回、山口で進められた講習会を見守りつつ、細かく配慮されたテキストであることをあらためて認識しました。軽微な不備もありましたが、すぐに課題は把握され、次回に向けた改訂が行われる見込みです。

    公式ドキュメントと整合する説明

    import を「おまじない」と説明したり、len も join も「関数」と紹介したり、説明がふわっとしている Python 教材がだんだん増えてきたな、と感じる今日この頃です。

    Python Boot Camp テキストは、 Python そのもののドキュメントのメンテナーや、信頼できる技術書の著者やレビューアーの人たちによってチェックされ、正確で適切な言葉が使われています。

    ステップアップするときに混乱しなくて安心です。

    インストール方法が物足りなければ

    Python Boot Camp テキストでは Python のインストール方法は初心者向きの方法に絞った説明になっています。

    これが物足りない場合は、python.jp の Python環境構築ガイド が私のおすすめです。

    ちなみに私は Linux 環境にソースコードからビルドしてインストールするときは make install ではなく make altinstall を使います。説明は公式ドキュメントに書かれています。

    この数年 Python の人気が高まっています。学校の授業・講義でもオンライン教材でも Python がたくさん取り上げられています。この記事が、Python を学び始める人にとってお役に立てば幸いです。

    お知らせ

    最後にイベントの告知です。

  • すごい広島 with OSH 2021.10

    この記事は、2021年10月20日にオンラインで開催したイベント「すごい広島 with OSH 2021.10」の記録と考察です。

    イベントの背景と目的

    前回開催した「オープンセミナー2020@広島」から1年半が経過した今年夏、次回の開催形態やタイミングを決められない反面、なにか実験をしたい、と考えました。そして「アジャイルなイベント開催の実験」として9月に告知をして今回行ったのが「すごい広島 with OSH 2020.10」というオンラインイベントでした。

    アンカンファレンス

    イベントは Zoom ミーティングで行いました。スタッフは Zoom 表示名に「(スタッフ)」と記載してもらいました。

    まずオープニングで趣旨説明、そして過去に広島で開催されたオープンセミナーの概要を私から紹介しました。残りの大半の時間で「アンカンファレンス」を行いました。

    前半と後半、それぞれ30分の時間枠について、テーマと枠のオーナーをその場で募集して、それぞれ3人、合計6個の「部屋割り」を決めました。私も枠オーナーを担当しましたが、立候補者が複数いらっしゃって、下記のようになりました。

    前半

    • ハイブリッドでイベント開催どうする
    • テレワークツール
    • 東京で働く?広島で働く?

    後半

    • オンラインミーティングツール
    • テレワークしてる?なにか変わった?
    • これからのエンジニアのキャリア

    事前にブレインストーミングツール miro のホワイトボードをひとつ(白紙の状態で)作り、招待URLを bit.ly で短縮して、その場で告知しました。

    そして、Zoom のブレイクアウトルームを作り、オーナーには割り当てた部屋に行ってもらい、その他の参加者には自由に入退室してもらいました。

    アンカンファレンスの間は、私は Zoom のサブアカウントで、いわゆるメインルームに画面共有を行い、ブレイクアウトルームごとのテーマ一覧を掲示しました。

    ブレイクアウトルームの全体にメッセージを送ったり、60秒後に終了したり、といった機能を使って、枠の終了時間の告知を行いました(が、モタモタしてちょっと遅れました)。

    クロージングでは、作られたホワイトボードを見ながら、オーナーの人が成果を簡単に説明しました。最後にZoom画面で集合写真を撮って、イベントを終了しました。

    方法を振り返って

    以前わたしは NVDA のオフラインイベントでアンカンファレンスをやったことがあり、ファシリテーションはできると思っていましたが、フルリモートでは初めての経験でした。

    参加者の方がうまく議論に参加できなかった、といったトラブルは聞くことがなく、Twitter の記録を見た範囲でも、みなさん楽しんで盛り上がってくださったようでした。

    Zoom のブレイクアウトルーム機能も改良されてこういうことがやりやすくなり、また参加者の皆さんの「テレワークスキル」も高くなり、今だからこそ、こういうことがスムーズにできたと思います。

    嬉しい誤算だったのは miro の活躍でした。本当は「miro の使い方を研究する」みたいなテーマもあるかと思ったくらいでしたが、それぞれのルームでどんどん入力が始まりました。

    ボードをズームアウトすると隣のルームの miro の活動も全部見える、といった状況も、使い方の学び合いにもなり、良い雰囲気にも繋がったと思います。

    会議であれば Google ドキュメントでテキストを共同編集して議事録を作る、といった進め方が私には当たり前になりましたが、過去に「ブレインストーミング」を Google ドキュメントやスプレッドシートでやろうとして、うまくいかなかった経験があります。

    miro のようなビジュアルなツールには、アクセシビリティの懸念もあり、また、PCでの操作にしか最適化されていない、といった印象もあります。ですが、短時間でアドホックな話し合いを行うツールとしては、今後も選択肢にしていきたいと思いました。

    議論を振り返って

    ここからは各枠のオーナーさんの報告や、残してもらった miro を読み返して、私が議論にコメントします。

    ハイブリッドでイベント開催どうする

    私がオーナーでした。フルリモートよりも難しいと思われるハイブリッドイベントのセットアップ。最近参加した PyCon JP 2021 の体験を踏まえて、エコー対策などの重要性、それからリアクションや盛り上がりを可視化・共有する必要性などを話しました。

    テレワークツール

    Slack や Microsoft Teams などのメリット/デメリット、通知をうまく把握する方法。

    東京で働く?広島で働く?

    東京で働く方がチャレンジする機会が多い。広島で働くのは家族の事情が多い。リモートワークの限界。残念でもありますが、まだこれから、なのかも。

    オンラインミーティングツール

    テーマ提案者の都合で私がオーナーとしてお手伝い。miro の考察はこの記事で前述した内容。スマホでボイスチャットできるけど、やっぱり PC でちゃんと参加できるツールが必要。Teams と Slack の比較の話はここでも。

    テレワークしてる?なにか変わった?

    「してる派」の意見、通勤したくない、お客さんの理解があった、冷蔵庫が充実、子供との付き合い。一方で、さびしい、話せる場や気晴らしの必要性。

    「してない派」の意見、気持ちをスイッチしたり集中したりするために自宅外で仕事をしたい、など。

    投資したもの:ディスプレイ、キーボード、スタンディングデスク。

    これからのエンジニアのキャリア

    転職活動を機に、技術トレンドとの向きあい方を考えた体験など。トレンドを追わないのも追いすぎるのもリスク、バランスではないか、という報告が興味深かった。

    これから

    12月中旬の平日の夜に「オンラインミニイベント」第2回を開催する目標です。今回の参加者からテーマとして提案された話題は、これからの企画に反映するつもりです。

    フル開催としてのOSH再開については、スポンサーさんとのお話をどう始めていくか、課題のひとつだと思っています。

  • Python Charity Talks in Japan 2021.09

    9月11日に「すごい広島 with Python」メンバー4人でオンラインイベントに登壇しました。

    Python Charity Talks in Japan 2021.09

    これから始める電子工作とMicroPython

    YouTube 録画

    イベントの目的

    Python Charity Talks は日本の Python コミュニティが PSF (Python Software Foundation) に寄付をするために、去年から何回か開催されています。今回は日本各地の Python コミュニティが各セッションを担当し、活動を紹介し合って、それぞれの活動の活性化につなげる、という趣旨のイベントとなりました。

    広島セッションの企画

    広島の Python コミュニティとして現在 PyCon mini Hiroshima と「すごい広島 with Python」をセットで運営しています。

    PyCon mini Hiroshima は昨年10月にオンラインで開催して、次回開催の予定をまだ立てていません。毎月月末の水曜日に開催する「すごい広島 with Python オンライン」に活動を絞ってきました。

    ですが、新しいアウトプットの場や方法を模索する中で、今回のイベントへの参加の打診をいただき、広島セッションの持ち時間を PyCon mini Hiroshima スペシャル版のように考えました。過去に評判がよかったけれど PyCon JP などでまだアウトプットをしていない MicroPython や電子工作をテーマに選びました。

    私が 2016 年に広島で MicroPython の紹介をして以来、毎月の「すごい広島 with Python」にも電子工作の話をしてくれる人が増えていました。また、イベント全体の方針として、技術とコミュニティの様子の両方が伝わることが望まれました。私が過去のトークの再演をする計画から、複数の話者がリレー登壇する方針に変わりました。

    シングルトラックのイベントで電子工作というテーマを選んだことで、聞き手が狭まることを懸念したので、「これから始める」というキーワードをタイトルに入れて、とにかく「やったことがない人」に「やってみる」きっかけを提供しよう、という方針にしました。

    広島チームの準備段階

    6月24日に PyConHiroshima Slack に準備用のチャンネルを作って、7月中はときどき、8月から毎週、作業日を設けて、準備をしました。

    日頃からやっていることを整理して紹介してもらえるのだと思ったら、みんな新しいネタの実装を始めてしまい、セッション準備はハッカソンのような状況になりました。

    私が「自分のトークはこういう内容をこうしゃべろうと思う」と先に伝えていました。すると、トークの聞き手として参加してくれる予定だった Nyoho さんが Raspberry Pi Pico を購入して、電子工作の初心者の立場で実践してくれました。「ここまでやってくれるとは」という成果が出たので、予定にはなかった「3人目のLT」の時間を作りました。

    30分で充分だと思ったセッションは時間が足りなくなりました。私の出番はトークとトークのつなぎの約2分が数回。余計なことをしゃべると時間が足りないので、原稿を書きました。トークの内容をどうつないで全体を「未経験者に聞いてもらえる」セッションにするか、最後まで考えていました。直前1週間に何度も夜遅くまでリハーサルを行い、各トークを改善してもらいながら、つなぎの内容を試行錯誤しました。

    当日

    広島セッションは、私が途中で画面共有ボタンを押し間違えて中断しかけましたが、他のメンバーに冷静に対応してもらい、無事に終わりました。

    まとめとして私がしゃべろうとしたことは、時間がなくなったので、全部スキップしました(公開したスライドからも削除しています)。言いたかったことはNyohoさんのトークに入っています。私は私で、次の機会に自分の言葉にしたいと思います。

    他の地域のみなさんのセッションにも、Raspberry Pi や IoT や農業など、被る話はたくさんあり、私にはそれらの専門的な研究や実践のお話も興味深かったです。終了後の関係者の交流会でも、電子工作やマイコンの話で盛り上がりました。

    全体として、地域コミュニティの広がりと、Python ユーザーのスキルや応用分野の幅広さの、両方が伝わり、よかったのではないかと思います。

    準備は大変でしたが、楽しい時間になりました。

    以下は広島セッションのスライドです。

    コミュニティの活動とアウトプットの今後

    登壇準備でもない、イベント準備でもない、ハッカソンのようで、それだけでもない、もしかしたら放送番組制作、あるいは大学研究室の発表会だったかもしれない、そんな不思議な約2か月が終わり、なにか技術コミュニティの活動とアウトプットの新しい可能性を感じています。例えば、今回の広島セッションの内容で同人誌を書くとか。。

    すごい広島 with Python は今後も「毎月月末の水曜日の19時」に Zoom で開催します。

    ブログを更新するのが久しぶりなので、その他の私の予定も紹介しておきます: