水の都 しゃんどらんど

水の都での日常を記していきます。

Perl入学式に参加した

先週の土曜日、Perl入学式に参加してきた。

 

Perl入学式 in東京 第1回 〜環境構築編〜

経緯としては、このブログに書いているような私の状況を知っている人から「初心者向けの勉強会がある」と紹介されて申し込んでみた、というところである。

 

 申し込んだ試験や面接を当日ブッチすることもある自分への戒めも込めて、ツイートもしておいた。ふぁぼられもしたので本当に逃げ場がない感じになってよかった。

 

当日午前中は緊張のため何も出来ず、時間に余裕を持って出かけたのに結局到着したのは5分前とかだった。就活のときから感じていたけれど、オフィスビルは出入り口が本当にわかりにくい。下には到着しているのに入り口がわからなくて人事の方に電話をかけて迎えにきていただいたこともある。

今回は3件隣のイオン(だか何だかあまり覚えていないけれど、コーヒーっぽいものが売っているのだけは見えた)が入っているビルの店頭でセールスをしていたお兄さんが、私がキョロキョロしているのに素早く気がついてくれて、「何かお探し?」と声をかけてくれたため、KSSビルの入り口を探している、と伝えたところ、指差しで丁寧に3件隣にあることを伝えてくれて、言われた通りに進んでみたら本当にあった。お兄さんの方を振り返るとこっちを見守っていてくれて、大きく頷いてくれたので両手で大きく丸を作って会釈をして急ぎビルに駆け込んだ。本当は何かを買ってお礼にしたかったけれど、そんな余裕もなかった。名も知らぬお兄さん本当にありがとう。まあ、挙句の果てには持ち物の確認をあれだけしたのに、マウスを忘れてたりもしたけれど、遅刻はしなかったのでヨシとする。遅刻人間サイコショッカーなので上出来です。

 

エレベーターで6階に上がると、ガイアックスさんのロゴが。

f:id:Syarlathotep:20181031130926j:plain

 オシャレ~~~~🎉🎉🎉

さてセミナールームはと、と左を向くと、なんともわかりやすいホワイトボードが設置されていた。

f:id:Syarlathotep:20181031131143j:plain

 あれはホームページでも見たキャラクターじゃないか……!

セミナールーム2とのことで通路を通ると、すぐ手前にセミナールーム2はありました。

緊張しながら入室したものの、会場の方々からは特に反応が無く、これは……間違えたか……?とドギマギしていたところ、サポーターの方がお声がけをしてくださり、名札を書くことに。

「ハンドルでも本名でも、あとはアカウントのIDとかもあればどうぞ~」と言われ、見本として置かれていた名札を見ながらネームペンを走らせた。こんな感じになった。

f:id:Syarlathotep:20181031133910j:plain

緊張していたのもあるけど普通に下手くそすぎて左詰めになった。なんだこれ……。まあ事実、ハンドルで呼ばれることも終始なかったので、とりあえずといったところなのだろう。本名にするか悩んだけど、色々考えた結果これからもハンドルを貫こうと思いました。

 

ということで、時間もそこそこに始まっていきました。まずは第一部、環境構築から!

 どうやら以前までは受講スライドが共有されていなかったらしい。TwitterにスライドのURLを流しているのでそこから入ってくださいとのことだった。ハッシュタグから検索をかけて見つけて、東京の第一回を選択した。チャットも使えるので、わからないところがあってもサポーターの方に声掛けしづらいというシャイな人にも優しいシステムだと思った。私はうるさいオタクなのでわからないところがあるたびに「すいませ~~~ん!!!!!」と挙手して叫んでいましたが。

ともかく初の試みということで、スライドに入れない(会場のWi-Fiにみんなで接続しているため混み合っていたっぽい)だとかスライドが同期されないだとか問題が生じつつも解決して本題へ。

 

と、このあたりで報告のために写真を撮らないといけないのだが、写真NGな方はいますかとの確認が入った。みなさん大丈夫なようだったが、諸事情により私はNGということでお願いした。顔が写って無ければ大丈夫程度のレベルです、と伝えた。面倒くさくて申し訳ない……。

 

第一部はWindowsユーザー向けの環境構築編ということで、ざっくりとOSについてのお話と、これから使っていくmsys2の導入についてなどを聞いた。本格的にWebアプリケーションの開発をするのであればLinuxを仮想で構築するのが良いけれど、受講者のパソコンのスペックが足りないことも考慮してmsys2を使う、とのことだった。

 

MSYS2 installer

このページからインストーラを入手して……とその前に、自分のWindowsが32bitOSなのか64bitOSなのかを確認。確か64bitだったよな~……と思いつつ、あれどこから見るんだっけとサポーターさんに支えられながら無事64bitOSであることも確認できたのでインストールを始めた。が、ここでも回線が混み合ってしまい、なかなか全員がペースを合わせるのは難しかった。インストールについてもスライドで丁寧に解説していただいた。

msys2にPerlを導入する。このあたりから完全初心者の私はちょっと置いてけぼり気味になり、焦りながらサポーターさんに見てもらっていた。Perlの動作確認を終えて、今度はmsys2の基本について学ぶ。そもそも馴染みのない言葉ばかりな状態の私にはちょっとしんどかったが、その都度サポーターの方がついて教えてくださった。

 

 

そんな感じで押しに押して、第一部は終了。小休止を入れて、第二部へ。

 

 

第二部からは本格的(?)にコマンドを打ち始めることに。このあたりからは解説されても瞬時の理解が難しく、あとで見直そうとともかくそのときスライドに書いてあることを実行するのだけで手一杯だった。周りを見ていると、私が一番サポーターさんを呼んでギャンギャン言っていたので、みなさんある程度の知識だったりPerlじゃないにしても他の言語で馴染みがあったりするのだろうなと不勉強さが恥ずかしくなった。が、恥ずかしがっていても知識がつくわけではないので「ここがわからなくて躓いています、教えてください」とサポーターさんを捕まえまくった。高校生の頃までは(というか大学に入ってもだけど)これが出来ずに成績が右肩下がりになる一方だったので、ある意味一新された状態で安心して聞けたという部分もあると思う。ボランティアにもかかわらず、サポーターのみなさんは私のトンチンカンな質問にも真面目に答えてくださった。

 

数自体は多いはずではないが、色々なコマンドがスライドに挙げられ、覚える間もなくともかく実行、何故かエラーを吐かれてサポーターさんに泣きつくみたいなことを何度か繰り返した。練習問題が用意されていたので、それまでのスライドを振り返りながら解いて、答え合わせをした。なんとかついていけた感じだが、上手く掴めているという実感はなかったので、復習しないと忘れちゃうだろうなあと強く感じた。よって、こうしてブログに書き起こしながらスライドを確認し直している。

 

と、練習問題が終わったところでエディタの話に入った。Perl入学式ではAtomを使うらしいので、ダウンロード開始。エディタについての私の知識は「あーうんなんか聞いたことある」くらいで、スライドにEmacsvimの文字が見えた瞬間に「あーあの定期的にタイムラインで戦争が起きてるやつじゃん」とか思っていた。マジでその程度の認識だったので、自分が使う日がくるとは思っていなかった。いや、今回はAtomですが……。

インストールが終わったら早速練習問題に入ったが、この時点で私は「ターミナル」と「エディタ」の認識がごちゃついていて訳が分からなくなっていた。具体的に言うと、「エディタで××という名前のファイルを準備しましょう」と言われた時点で開くべきがmsys2なのかAtomなのかがわからなくなっていた。このあたりでそれまでとは別のサポーターさんが隣についてくださって、練習問題をひとつひとつ丁寧に手順を説明してくださった。純粋に教え方が上手な方で、決して解答は言わないが、それを思い出す/思い起こすヒントを出してきて、あくまで私に勉強させるという形をとってくださった。本当にありがたい。これにて第二部が終了した。

 

 

そしてついに第三部。このあたりだったか第二部だったかで出席を取られたとき、"Syarlathotep"がわかりにくかったようで読みにくそうにされていたので重ね重ね申し訳なかったです。しゃるらとほてぷって何やねん。

アイスブレイクとしてサポーターの方々の紹介や、テーブルごとでの自己紹介などがあったりした。テーブルでの自己紹介で「どうしてPerlを学びに来たのか」と聞かれたけれど、特にPerlを学びたい!と思っていたというよりかは何でも良いから初心者・初学者に優しくしてくれる勉強会に行きたかった感じなので、「自分で勉強するだけだとわからないところの解決に時間もかかるしダラダラやってしまいがちなので、きちんとした機会を設けたくて来ました」というような返しをしておいた。間違ってはいない。初心者(初心者とは言っていない)みたいなのが怖かったので、知り合いの紹介だったから信用できたというのもある。

 

アイスブレイクも終わり、スライドでPerl入学式やPerlについての説明が始まった。ここでslackもあるということを知ったので、近々slackのアカウントを作って招待してもらおうかなどと考えている。勉強会にいた同い年の子が行けなかった回のスライドについての質問をしたら丁寧に教えてもらえた、と言っていたので、よさそう。支援が手厚い……。

 

ざっと紹介が終わったところで、いよいよHello,world!をすることになった。ドキドキ。

練習問題として、print命令を複数個使って勉強会についての情報を表示させてみよう、というのがあった。これは難なくクリア出来たが、ふと、わざわざ「複数個と書いてあるということは、複数個使わないことも出来るのか?」と疑問に思い、サポーターの方に聞いてみることにした。しかし上手く言語化出来ず、なんとか伝えて理解してもらえたところ、「やってみればいいよ!」と言われてきょとんとした。すると、隣から別のサポーターの方が「失敗することも大事だよ」と声をかけてくださった。そうか、失敗しても良いんだよな、誰に怒られるわけでもないし……とそれまで散々失敗してサポーターの方を困らせていたくせにこんなときになってやっと気がついたのであった。いや、まあでも大事な気づきだと思う。気になったことをやってみて、だめでもフィードバックが返ってくる状況で試してみないのは勿体無い。そう思い、実行してみたら案外すんなりとまとまってくれた。

解答としてはprint命令を複数個使ったものが提示されて、まとめても良いが場合によってはまとめると文末なのか文の途中なのかがわからないということもあるので、必ずしもまとめることが正義ではない、と言われてなるほどと思った。なんとなくまとまっている方が良いのだろうと思っていたけれど、重要なのは「読みやすさ」なんだなと。

 

ちなみに、その次の練習問題では引き算をしたが、それも一つ前のprint命令にまとめられないのか色々試してみたけれど、厳しかった。サポーターの方に聞いたところ、無理ではないけど逆に面倒くさいことになるという話が聞けたのでよかった。

 

そのあと、「おまじない」とやらを習い、練習問題をやってプログラムは無事終了。お疲れ様でした!

 

f:id:Syarlathotep:20181031165843p:plain

↑せっかくなので初めてのHello,world!のスクショ貼っときます。

 

 

終わったあとはお疲れ様ピザ会をやりました🍕🍕🍕

f:id:Syarlathotep:20181031170129j:plain

ワイワイと会話をしつつ、おめでたい話を聞きながらペコペコになっていたお腹を満たしました。ピザは神。

 

と、おもむろにスクリーンにメモ帳が表示され、何が始まるのかと思いきや、即席でプログラムを書くという恒例行事(?)らしい。

f:id:Syarlathotep:20181031170639j:plain

Aさんは1,5,10という手札、Bさんは2,2,2という手札を持っている状況で1~40のルーレットを3回回すと有利な方はどちらか、という問題。会場のみなさんは私も含めて直感で「どちらも変わらない」と答えました。果たしてどうでしょうか?

 

f:id:Syarlathotep:20181031170832j:plain

答えは「Aさんのほうが有利」です。直感に反した結果になりましたが、ポイントは「Bさんは1回ルーレットで2が出たところで手札3枚のすべてを出せるわけではない」というところでした。少し考えればわかることではありますが、直感だと難しいですね。

 

ちなみに指名された方がコードを書いて解説してくださいました。ピザ会も終わり、懇親会もあったのですが、そちらは時間の都合で断念。次は行きたい。

あと、ピザ会中にスライドで技術書として紹介されていた「雅なPerl入門」を購入させていただきました。1,500円也。

f:id:Syarlathotep:20181031171214j:plain

一般的な技術書を読んでみようとしては文体が難しくて挫折していたので、会話形式で書かれているのがとても良くて買ってみました。じっくり読んでいこうと思います。

 

sironekotoro.hateblo.jp

 Perl入学式講師の方のエントリもあるので、よければ合わせて読まれてください。私のものよりも詳しくわかりやすく解説が書かれています。

 

 

とても楽しかったので、第二回が楽しみ。予定が合うと良いけれど……。