PyQオフィシャルブログ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

石本敦夫氏に聞く、Pythonの歴史とこれから〜Pythonエンジニア列伝 Vol.3

f:id:kamekokamekame:20171205173459p:plain

Pythonエンジニア列伝の3回目は、石本敦夫氏にお越しいただきました。

お客様

石本敦夫氏は、1998年以来、日本におけるプログラミング言語 Pythonコミュニティで活動しており、メーリングリストの開設やユーザ会の設立、ドキュメント翻訳プロジェクトなどを主導しておられます。

著書に「パーフェクトPython(技術評論社)」,「Python文法詳解(オライリー・ジャパン)」,「Pythonライブラリ厳選レシピ(技術評論社)」などがあります。

f:id:kamekokamekame:20171208171227j:plain:w30 : 石本敦夫氏 @atsuoishimoto

聞き手

f:id:kamekokamekame:20171208171433p:plain:w30 : 佐藤治夫 @haru860 f:id:kamekokamekame:20171208171436j:plain:w30 : 清原弘貴 @hirokiky

後半に行くほどに濃い内容になっていきますので、是非とも1〜7までお読みください。

【その1】

目次

PyQオフィシャルブログでは『Pythonエンジニア列伝』を不定期掲載します。Pythonに関わっているさまざまな人にインタビューし、これからプログラミングを学習する方にエンジニアが普段考えていることや取り組んでいる活動などを紹介していきます。

(まとめ:大村亀子 @okusama27

【その7】プログラミングは独学で覚えられる「コスパの良い」技術 〜 Pythonエンジニア列伝 Vol.3 石本敦夫氏

f:id:kamekokamekame:20171205180244p:plain

お客様

f:id:kamekokamekame:20171208171227j:plain:w30 : 石本敦夫氏 @atsuoishimoto

聞き手

f:id:kamekokamekame:20171208171433p:plain:w30 : 佐藤治夫 @haru860 f:id:kamekokamekame:20171208171436j:plain:w30 : 清原弘貴 @hirokiky

これからはじめる人へのアドバイス

佐藤)これからPythonとか始める人や、始めたばかりの人にアドバイスがあったらお願いします。

石本)そうですね。どういう人向けなんですか?

佐藤)仕事にしたいでもいいし、Pythonを使ってなにかやってみたいとか。最近だとスクレイピングでデータを集めたいという人も多くいます。

清原)最近は「プログラマーになりたい!」という人よりも、サイドのツールとして使いたいという人も増えています。

佐藤)「ツールとしてのPython」を始める方は多いです。第2のスキルとして身につけようとしてるんですね。

f:id:kamekokamekame:20171211122750p:plain:w300

石本)プログラミングは、独学で覚えられる技術としてはおそらく一番簡単な類いだと思うんですよ。かつ独学で覚えられると役に立つもの。プログラミングは、かなり費用対効果が高い勉強だと思うので、諦めずにやっていけば良いと思います。どれだけやっても全くできないという人はあまり見たことがないので。

佐藤)そうですよね。

石本)向かない人っていうのはいるかもしれないけど、まったくできないっていう人はいない。 正直、ゼロからプログラムを書くのは難しいです。何も無いテキストファイルにいきなりプログラム書き込めない人は結構います。仮にできなくても、ひな形があって必要な機能を足していくというのは、大体の人ができるんですよ。

清原)プログラマーとして働いてる人でも意外と実はゼロから書けなかったりすることはありますね。だから優しい業界だなって思います。

佐藤)「ここだけこう直して」とかいう仕事もありますからね。

清原)ライブラリをゼロから作るのは結構難しいですしね。

石本)だからそれこそFizzBuzzとかも、簡単そうで書けない。ゼロから書けって言われると書けないんですよ。

清原)確かに。結局はFizzBuzzの仕様(5と3で割り切れること)を頭の中で起こして、どうプログラムにしていくかということが難しい。簡易的な設計を頭の中でやっているということなんで、意外とバカにはできないと思いますね。

石本)それが普通なんですね。なので「プログラムを書くのって難しい」と思っても、そこを乗り越えられるときは乗り越えられると思う。

佐藤)そうですね、諦めずに。

石本)ゼロから書くというのは意外と難しいっていう話ですね。

清原)そこでできないから「自分はダメだ」ではなくて「難しいから大丈夫だよ」と伝えたいですね。それは心の支えになる気がする。

PyQに期待すること

f:id:kamekokamekame:20171206181427p:plain:w200

佐藤)最後に、PyQに期待することはありますか?

石本)色んな初心者の人をどんどん育ててくれると、コミュニティーとしても広がりがある。Pythonのユーザーさんがたくさん増えてくれれば助かりますので、ぜひとも頑張ってください。

複数)頑張ります。

石本)(笑)。

佐藤)実際、コミュニティーつながりでPyQのユーザーが増えたりしてるので、コミュニティーにうまく還元したり、コミュニティに関わっていくこともやりたいなと思いますね。そのような気づきが今日はありました。Guido のようにと思いました。

石本)それこそBPStudy*1も開催してるわけだし、それだけでも熟度は十分だと思いますけどね。

清原)やっていきたいのは「PyQで、Python勉強しました。でもPyCon JPは知らない」という人にPythonコミュニティーを伝えることですね。Python言語だけではなくてPythonのコミュニティーもあるよというのを伝えたいかな。

f:id:kamekokamekame:20171211122826p:plain:w250

石本)そのあたりの話、python.jp のTwitterアカウント もあるから、うまくニュースみたいに流してもいいよね。コミュニティーを横断するニュースソースみたいなものが今、ないじゃないですか。もうすこし何かしてもいいかなと思ってますね。

佐藤)そのような役割をPyQが果たす。

石本)そうそう。

佐藤)なるほど、それはいいアイデアです。今日はありがとうございました。

目次

PyQオフィシャルブログでは『Pythonエンジニア列伝』を不定期掲載します。Pythonに関わっているさまざまな人にインタビューし、これからプログラミングを学習する方にエンジニアが普段考えていることや取り組んでいる活動などを紹介していきます。

(まとめ:大村亀子 @okusama27

pyq.jp

*1:PyQを開発運営している(株)ビープラウドが主催しているIT系勉強会

【その6】強みを掘り下げていこう 〜 Pythonエンジニア列伝 Vol.3 石本敦夫氏

f:id:kamekokamekame:20171218112409p:plain

お客様

f:id:kamekokamekame:20171208171227j:plain:w30 : 石本敦夫氏 @atsuoishimoto

聞き手

f:id:kamekokamekame:20171208171433p:plain:w30 : 佐藤治夫 @haru860 f:id:kamekokamekame:20171208171436j:plain:w30 : 清原弘貴 @hirokiky

PyCon広島

佐藤)PyCon mini 広島では、キーノートスピーチでどのようなお話をされたんですか。

石本)オープンソースの話です。 得意なものを持っておくと良いですよ という話です。1つの分野を深く取り組んでいくと、深く掘れば掘るほど視野が狭くなるのではなくて、逆に視野が広がっていく。深く見ていくと色々出会える。 ソフトウエアは単独では必ず存在しないから、どこかとつながり、連携がある。なので1つの分野を掘っていけば必ずどこかにつながってるよ と。

佐藤)いい話ですね。1つに深く取り組むと視野が狭くなるのではと思いがちですよね。そう考えると、広く浅く取り組みたくなってしまう。

f:id:kamekokamekame:20171211123400p:plain:w400

石本)深くやればやるほど良いこともある。例えばPythonやってて、データベースに興味が湧く人がいるかもしれない。ウェブサーバーに興味を持つ人もいれば、暗号系に興味を持つ人もいる。ある程度、深くやっていくとどこかつながっていくわけですね。

清原)確かに。1つの言語を10年かけて取り組もうというエッセイがありましたね。 参考: Teach Yourself Programming in Ten Years

石本)なので、なにかテーマ決めて、それを深掘りするといいよという話でした。

佐藤)そうするとほかのジャンルにも関連していく。

石本)そうそう。

佐藤)実装の裏にある思想は似てそうですもんね。

石本)ですね。例えばPythonじゃなくても、例えばMySQLだったらMySQLをやってけば、他の言語につながったりとか、あるいは別の、CPUの話とか、ストレージの話とかに行き着いたりするじゃないですか。そういうつながりがドンドンできて。

佐藤)あたりがつきやすくなりそうですよね。

石本)そうそう。

佐藤)これはエンジニア的にすごい良い話ですね。

清原)深みは大事ですね。

佐藤)器用に色々知ってそれを組み合わせるというのも、それはそれでいい。もうすこし足腰の強いエンジニアになるには、深く掘り下げるというのも面白いのかもしれない。

石本)組み合わせるにも、そもそも存在や分野を知っていないと気づけないですしね。各要素の関連も定番の組み合わせを知っていると強かったりする。わかっていれば定番の組み合わせなんだけど、表面しか見てないとその利点や良さを分からなかったり。

佐藤)技術の見る目も養われるということか。

佐藤)若者に聞いてほしいですね。大学とか学校で講演したほうがよいんじゃないですか。

石本)正直、あんまり説教がましい話は得意じゃないんだよね(笑)。すごい悩んだんだよ、この話を書いたのも。

佐藤)いや、でもすごいいい話じゃないですか。僕も若いとき聞いていたらもう少し深く1つに取り組んだかももしれないなと思いました。どうしても器用に生きようとしてしまうんですよね。

石本)今の自分が持ってる知識は、Pythonをやって覚えたところが多い。Pythonも例えばメーリングリストからキーワード引っ張ってきて、そこからたどり着いて学んだことが多いですから。だいたい私、一般常識は落語からで、プログラミングの話はだいたいPythonから学んでます。

佐藤)落語、世の中のネタがテーマだから。

石本)単語とか、なんかそういうのもだいたい。

今後の話

佐藤)今後の話で、石本さんがやっていきたい今後の活動って何かあります?

石本)いや、特には。

清原)特にない。こういうことやっていこうみたいなのは無いんですね。流れるままみたいな。

f:id:kamekokamekame:20171211124242p:plain:w200

石本)当分はフリーランスでやっていこうかなと。

清原)石本さん的に、今までのキャリアで「こうなりたい」とかあったんですか。

石本)いや、そんなにないね。

佐藤)ない。興味持ったことやってきたみたいな。

石本)そうそう。あんまり余計なことはやりたくないなというのは昔からあって、そこは結構うまく逃げてきたなと思うんだけど(笑)。

佐藤)逃げるのは大事です(笑)。余計なことやってたら時間奪わますからね。

清原)石本さんは常に前線で働いてるじゃないですか。ガリガリプログラムを書いてるじゃないですか(以前一緒に仕事をしたことがあるので)。だいたい、年齢もあって流れ的にマネジャーになるとかあるかなぁと思いますが、自分の領域を強くもってやり続けてるのはすごいです。

→ 次回は、 プログラミングは独学で覚えられる「コスパの良い」技術 です。

目次

PyQオフィシャルブログでは『Pythonエンジニア列伝』を不定期掲載します。Pythonに関わっているさまざまな人にインタビューし、これからプログラミングを学習する方にエンジニアが普段考えていることや取り組んでいる活動などを紹介していきます。

(まとめ:大村亀子 @okusama27

pyq.jp

【その5】Python自体にコントリビューションするには? 〜 Pythonエンジニア列伝 Vol.3 石本敦夫氏

f:id:kamekokamekame:20171211123435p:plain

お客様

f:id:kamekokamekame:20171208171227j:plain:w30 : 石本敦夫氏 @atsuoishimoto

聞き手

f:id:kamekokamekame:20171208171433p:plain:w30 : 佐藤治夫 @haru860 f:id:kamekokamekame:20171208171436j:plain:w30 : 清原弘貴 @hirokiky

Python自体にコントリビューションするには?

清原)最近でPython自体にコントリビュートしてる人は、石本さんとか、稲田さん(@methane)ぐらいしか僕は知らないですね。

石本)やはり英語だしね。

清原)あー、メーリングリストがですか。

石本)Python-Dev を見ててもスピードがすごい。すこし読むだけでも結構大変。

佐藤)パワーが要りますよね。

f:id:kamekokamekame:20171211122841p:plain:w300

石本)暇なときは何かやりたいなとは思ったり、例えばコアデベロッパー狙おうかなとか一時期思ったけどね。やはり、あれは難しい面がある。コアデベロッパーはきちんと仕事してプレゼンス出しているので、成果がすごい。

佐藤)コアデベロッパーはどういう定義なんですか?

清原)コアデベロッパーはPython自体にコミット権を持っていることですかね。

佐藤)なるほどね。Pythonにはコアデベロッパーはどれぐらいいるんですか。

石本)おそらく100〜200?昔からだから、今はもう活動してない人もいそうです。

清原)コアデベロッパー、ヨーロッパとかアメリカの人が多くて、ダイバーシティ的にどうなの?と言ってる人もいましたね。日本人が増えると良いですね。

佐藤)そうなんですね。この辺りの事情の話は面白いですね。あまり流れてない情報というか。

石本)そうですね。見てると雰囲気は分かるけど。

清原)オープンな情報だけどオープンではない。

佐藤)オープンには流れてるけど、誰が取り立ててそれをまとめて情報にしたりとかもしてないし。

f:id:kamekokamekame:20171206180755p:plain:w200

清原)例えば aodagさん*1は、Pythonのパッケージング周りのメーリングリスト、 DistUtilsSig を読んでるんですね。お酒を飲んでるときとかにそのサマリーを聞くのが僕の日課になってます。PyConJPでの aodag さんの発表もそんな感じで面白い。サマリーを知れるのはありがたいですね。まぁメーリングリストも読めて当たり前だけど、量も多いし読まないですよね。

清原メモ

python-devについてであれば「DSAS開発者の部屋 - 最近のpython-dev」を読むのがオススメです dsas.blog.klab.org

石本)メーリングリストはある程度目を通しておいとくと色々役立ちますよ。特にトラブルのときとか。例えばバグのレポートを探すとき、このモジュールがおかしいとなればその人の名前が付いたバグを探すんですよ。概ねモジュールの担当者が決まってるんですね。ソースコードを読むときも、該当箇所を一番よくメンテナンスする人の名前でパッチを探すと分かる。

佐藤)そんなにPythonのバグ踏むもんなんですか。

清原)Pythonのバグ、聞いたことないですね。

石本)ここの実装どうなってるのかなと、気になったときとかですね。

佐藤)少し趣味っぽい感じ(笑)。

石本)そうそう(笑)。中開けて調べてみる。ログとか、その人のパッチを探してみると問題の原因とか経緯が分かったりするので、見ておくと面白い。機能の経緯が分かるし。

佐藤)なるほどね。機能の経緯は面白いですよね。

清原)ちなみにC言語のスキルは必要ですか?

石本)まぁあったほうがいいですね。Python自体、C言語で書かれてるわけだし。

清原)ですよね、CPythonですよね。

若い人が取り組んだほうがいいこと

佐藤)若い人も、CPythonの実装を読んだほうがよいと思いますか?

石本)どうでしょうね。人それぞれだけど、たぶん最初からやる必要はないと思いますよ。PyQとか見てる初心者の人が見るものではないとは思う。興味があったらでよいと思いますけどね。

佐藤)仕事ではどう役に立ちますか?

石本)言語の実装を知っておくと、どのように動いてるか分かりますね。とにかくバグが分かりやすくなる。例えばエラーメッセージは意味が分からない内容が出てくるじゃないですか。処理系を知っていると、どうしてこのメッセージが出てくるのかを理解できる。理解できるとエラーメッセージを見て、すぐ直しかたが分かったりするんですよ。あとはパフォーマンス上の特性。Pythonでこう書いたら遅いのはなぜだろうとか。

f:id:kamekokamekame:20171211122826p:plain:w300

佐藤)深い。どうしてそのエラーメッセージになるかまでは、考えてないかも(笑)。

石本)読んで腑に落ちない文章、出てくるじゃないですか。単語が分からなかったりとか。そのようなことがなくなります。

佐藤)もう一歩踏み込んだ見方ができるんですね。

清原)僕個人の悩みなんですが、Pythonのパフォーマンス改善するときに cProfile ですごい頑張って見るんですけども、いまいちプロファイルの結果見てもよく分からないときがあります。そういうところに勘所みたいなのを持てたらよいなと思いますね。

石本)そう。バイトコードの動きが分かると、その辺の見方も少し違ってくるかな。

佐藤)言語マニアの傾向ある(笑)

石本)Pythonは実装がシンプルで、教科書的なところがありますね。一番単純な形式の、スタックマシンという形式の言語で、パーサーもかなりシンプルだから勉強にはちょうどよいんですよ。

清原)MINIXみたいな、イメージ的には。

石本)そうそう。

佐藤)プログラミング言語をメタで捉えてる視点がありますね。

清原)メタな話で「プログラミング言語とは」という文脈で勉強になる本はありますか?

f:id:kamekokamekame:20171211124242p:plain:w200

石本)どうだろう。僕がそういうのを覚えたのはもう40年ぐらい前の話ですね。小学校高学年、プログラミングの本もあまりなかった頃だけど。もうそのぐらいですよ、10歳くらい。

清原)10歳が抽象構文木の話とかしてたらヤバイでしょ(笑)。外で遊ぼう

石本)当時はそんな本もなかったからね、プログラミング言語自体を使わなかった。

清原)たしかに、Pythonの人として多少はPythonの深い部分もたしなんでおきたい気持ちが僕の中にありますね。

石本)あと一応C言語やっておくと、 Linuxを使った開発でも役に立つかも。LinuxがC言語の世界なんで。覚えておくと使い回しは効きそう。

清原)そのようなときのC言語はすごく難しいというか、簡素なC言語と違って関数ポインタがどうのとか、#ifdef がすごいあったり、CPythonだとPyObjectがすごいあったり。

石本)大抵のCプログラムはそんなもんだよ。

清原)そんなもんと思ってやるしかないか。頑張ろう。

佐藤)プログラミング言語を深く知っていると実際のプログラミングするときの視点が変わるのは面白いですね。

石本)例えばPythonで a + b って書くじゃないですか。熟練してくると a + b ではなくて、 PyNumber_Add(a,b) に見えてくる。

清原)死神の目(デスノート)みたいな(笑)。

石本)Pythonの内部のAPIでどのように動いていくというのが、だいたい雰囲気が分かってくる。そうなればトレースバック情報が大量に出力されたときに「ここのところでエラーがあるな。変なデータを受けてるんだな」というのが分かる。

佐藤)そのようなことも知ってると、Pythonのプログラム書いてるときの面白みがまた変わってきそうですね。

石本)知らない言語は知らない言語で面白いですけどね。

f:id:kamekokamekame:20171211124312p:plain:w150

石本)だいたいの言語は同じなんで、応用も利きますしね。

清原)それはいいですね。ところでプログラミング自体は始めたきっかけはなんですか。

石本)いや、なんでかって聞かれても覚えてないけど。

清原)覚えてない(笑)。

石本)電子工作を少しやって、それの延長ですね。当時は当然、コンピューターなんか持っていないから、紙に書いて。

清原)コンパイル。

石本)そうそう。

清原)すごい。てっきり Altair8800 とかを持ってたのかと思ってました。

石本)そんなの買えないよ(笑)

清原)買えないか。10万、30万とか。

石本)そうそう。俺が初めて買ったMac Plusだって、あれ60万ぐらいしたもん、確か。

清原)高いですね。

佐藤)Pythonの黎明期ぐらいからやってて、今のこのPython界隈をどのように思ってますか

石本)活気があって良いなと。プログラミングとかコンピューターの環境自体が過去と全然違うんで、何を言うにも違い過ぎて比較しようがないですね。

清原)石本さんがいいなっと思うのは「いや、わしのころは」って言わないことかなと思います。

石本)昔やってたことなんか、今になれば正直バカらしくなっちゃいますもん(笑)

清原)こんなことやってたのにって(笑)。

石本)一番真面目にプログラミング始めたころって、足し算とかすごい難しいんですよ。アセンブラだけで全部を書かなきゃいけないしね。

清原)難しいですね。割り算が超むずい。

f:id:kamekokamekame:20171211124354p:plain:w200

石本)四則演算ができたら一人前みたいな時代ですね。子供は外へ行って遊んでりゃいいのに、延々、足し算とか引き算とかやってるわけですから(笑)。

清原)高級言語が解決してくれますからね。

石本)今だったら少し検索すれば解決できる問題を、ずっと取り組んでたわけで。

清原)そうですね、確かに。

石本)まぁ今から考えたら、やってられなくなりますね。

清原)かと言って、アセンブラから学ばせるのが良いわけでもないですしね。高級言語を使えばと思います。

石本)だから自分がした苦労というのは、そこまで役に立つ苦労だったのかなとも思います。

清原)僕も学生時代に趣味でポケコンでやってたんですけど、ものすごくは役に立ってない。

石本)ちょっとやれば勉強にはなる。ちょっとやればいい。

f:id:kamekokamekame:20171211122841p:plain:w200

清原)考え方はとても勉強になるし、メタな部分で役に立ちますね。例えばPyQの学習コンテンツを作ってる中で、あのROTATE命令があることで云々みたい知識はとくに役立ってないですね(Z80のこと)。

石本)やる意味はあると思うけど、そう延々とやるものでもない。余計な苦労してもしょうがないんですよ。

佐藤)使えるものは使って、また新しい価値生み出したほうが生産的ですもんね。

f:id:kamekokamekame:20171211124453p:plain:w200

石本)昔と比べても全然、なんの分野でもそうだろうけど、勉強って全然やりすいんじゃないかな。

佐藤)そうですよね。

石本)だからもう、あまり余計なことを考えないでドンドンやっていけばいいと思います。

→ 次回は、 強みを掘り下げていこう です。

目次

PyQオフィシャルブログでは『Pythonエンジニア列伝』を不定期掲載します。Pythonに関わっているさまざまな人にインタビューし、これからプログラミングを学習する方にエンジニアが普段考えていることや取り組んでいる活動などを紹介していきます。

(まとめ:大村亀子 @okusama27

pyq.jp

*1:PyCon JPで最多発表数

【その4】PEPとPython2、Python3の話 〜 Pythonエンジニア列伝 Vol.3 石本敦夫氏

f:id:kamekokamekame:20171211123400p:plain

お客様

f:id:kamekokamekame:20171208171227j:plain:w30 : 石本敦夫氏 @atsuoishimoto

聞き手

f:id:kamekokamekame:20171208171433p:plain:w30 : 佐藤治夫 @haru860 f:id:kamekokamekame:20171208171436j:plain:w30 : 清原弘貴 @hirokiky

PEPとPython2、Python3の話

佐藤)石本さんは、どのような経緯でPEP(Python Enhancement Proposal) に関わっていったのでしょうか。

石本)ああ、いや、それはたまたまです。

清原)日本発のPEPを。

石本)Python 2の挙動で、どうしてもリストなどを print したときの挙動が気に入らなくて、Python 3が出るから直してもらおうと思って。

清原)少し解説すると、Pythonのインタプリターなどでリストや文字列を評価したときに、Python 2ってUnicodeが日本語として読めないように出力されてしまうんですよ。

Python2系

>>> u"日本語"
u'\u65e5\u672c\u8a9e'
>>> print(u"日本語")
日本語
>>> print([u"日本語"])
[u'\u65e5\u672c\u8a9e']

Python3系

>>> "日本語"
'日本語'
>>> print("日本語")
日本語
>>> print(["日本語"])
['日本語']

www.python.org

清原)日本語が読めないのを日本語で読めるように表示したり、Unicodeでやりましょうと提案したのが、石本さん。

f:id:kamekokamekame:20171206180755p:plain:w200

佐藤)えー、そうなんですか。

清原)僕、かなりこれすごいと思ってて。

石本)そう、あれはやはり日本語使ってて、とにかく一番困る。

佐藤)それはいつごろですか。

石本)何年だ。2008年かな。

佐藤)もうその頃はPython 3000とか言ってたんですよね。

石本)Python 3用にさきほどのPEPが入ったんで、そのPython 3000のすこし前。リリースの1~2年前ぐらいですね。

f:id:kamekokamekame:20171211122903p:plain:w200

佐藤)Python 3000ってなぜ3000だったんですか

石本)Python 2のときにPython 2000とかってジョークで言ってたという背景があって、ではそこから次のバージョンはPython 3000だねっていう。

佐藤)そのあと石本さんはPEPを出したりとかはしたんですか?

石本)あまりしてないですね。

清原)では、積極的に狙ってるわけじゃないんですね、PEP Author みたいな。

石本)そうね。あとはたまにちょっとバグリスト見て、引っ掛かったのがあったらバッチ出したりとかはある、ぐらいかな。

→ 次回は、 Python自体にコントリビューションするには? です。

目次

PyQオフィシャルブログでは『Pythonエンジニア列伝』を不定期掲載します。Pythonに関わっているさまざまな人にインタビューし、これからプログラミングを学習する方にエンジニアが普段考えていることや取り組んでいる活動などを紹介していきます。

(まとめ:大村亀子 @okusama27

pyq.jp