全体を通して
身内が半分を占める東方Projectの大会と京都で開催される同人誌即売会「科学世紀のカフェテラス」がバッティングしたことが、忙しさの原因のすべてです。
八月三〇日に東方大会が終わり、九月三日に京都秘封が終わっても、九月四日から二泊三日のゼミ合宿があったり、週二でバイトがあったり、十月六日に研究中間発表があったり、十月八日に応用情報があったり。 気が休まったのは、十月八日の応用情報が終わったときでした。
地獄のような夏休みは、八月上旬から十月の上旬まで続いたのであります。
フォームの作成
大会のエントリーを募集するとき、運営側・参加者側にとって共通認識として簡単な手法は、Googleフォームのようなものを使うことです。 しかし、Googleフォームには、例えば以下のような難点があります。 従って、一時的ではありますが、Googleフォームのようなものを作ることにしました。
- 画面が狭いわりに要素が無駄に大きいせいで、入力項目が多いと見づらい
- ページ遷移が不可逆的であるせいで、ページが多いと修正がしづらい
- 入力内容による動的な入力要素の変更ができないため、余計な要素が増える
- ラジオボタンによる動的な質問の切替え等ができないため、ページが増える
Next.js + Cloudflare Workers + Cloud Firestore + GitHub Pagesで作りました。 フロントエンドに関しては、今思えば矢張りこの程度なら素のHTML + CSS + JavaScriptで十分だったなと思いますが……。
どのようにセキュリティを担保するのかに悩みました。 というのも、ウェブサービスを作るなんて初めてであったし、セキュリティに全く興味がなかったからです。 HTTPS通信が「セキュアな通信である」ことは知ってはいても、通信内容をハイブリッド方式で暗号化しているとは知らなかったくらいです。
どうせ身内が半分を占める大会であるし、Next.jsのビルド時にTypeScriptが難読なJavaScriptに変換されるし、 FirebaseのAPIキーを隠蔽する必要もあるまいと思っていましたが、 楽をしていると勉強にならないため、ミドルエンドをかませればいいということを調べ、 ちゃんとCloudflare Workersで作りました。
かくして、以下のようなフォームが作れましたとさ(募集開始一日前)。
科学世紀のカフェテラス
疲れました。本当に。
八月上旬には「所詮20数ページじゃろ、一か月もありゃ余裕っしょや」とか思っていました。 ここに次の数々の勘違いがあることも知らずに。
- 大会の運営がある
- 旅行がある
- プロットはあるがネームはない
- 開催日から数えて一月前
大会の運営がハードでした。週三、四で数時間もっていかれるので、全然原稿に取り掛かれません。 バイトだったり、帰省だったり、コミケだったり、一日潰れることも多々あり、気づけば時間が消えていました。
結局、書き終わったのは開催日の 前日の夕方 でした。 急いで秋葉原製作所さんで刷ってもらい、深夜バスに直行。 京都駅のスタバでペーパーを描き、イベントを迎えました。
せっかく京都に来たというのに、イベントが終わって間もなく、翌日からのゼミ合宿のために京都駅にとんぼ返りして、新幹線で帰宅。 来年、もし京都合同に参加するなら、京都旅行を兼ねたいものです。
ちなみに、執筆時現在(2023年10月16日)は一月後に秋例大祭を待っていますが、新刊は落とす予定なのでだいぶ気が楽です(早よ報告しろ)。
応用情報技術者試験
まだ結果が出ていないため、なんとも言えませんが。
春、後輩二人がAPを受けており、その問題をちらっと見たことがありました。 まず、問2の標準偏差が与えられた正規分布を選べという問題を見て、「え、こんな問題出るの?」と衝撃を受け、 専門分野であるはずのCGに関する問題も解けず、これはやばいと悟りました。
時が来て、九月。 ちゃんと勉強しようと合格教本を買い、一日一項目ちまちま勉強しました。 結局、通読したのは試験日の数日前で、模擬試験ができたのは午前が二回、午後が一回だけでした。
自己採点の結果、午前は61/80問で突破、午後は厳しめに見積もって75点程度なので、 記述ミスや謎の得点調整がなければ合格していると思っています。
幸い今回は午後のテクノロジ系があまりにも簡単で、元々次の分野を決め打ちするつもりだったので、助かりました。
- 情報セキュリティ (必須)
- プログラミング
- データベース
- 組込みシステム開発
- システム監査
何故監査を決め打ちしたかと言えば、選択問題は不正解が明確に不正解となるため、ある程度は部分点が入りそうな記述問題を解きたかったからです。 ……というのは対策不足の言い訳で、もし春に出たという「Git問題」が情報システム開発だということを知っていれば、間違いなくこれを解いていたと思います。 実際、今回の情報システム開発も死ぬほど簡単でしたし。
問題は、その監査がとにかく難しかったことです。 厳しめに見積もると、 設問1以外すべて不正解 という程です。 TACの解答速報を見れば、納得はできるものの、当日現場で解けるかと言われれば、無理でしょう。 し、設問2に関しては、エスパー解答すぎて全く納得できません。
正直、 受かりたいだけなら過去問道場で過去問を解きまくれば受かる と思います。 確かに、業界経験の浅い趣味プログラマがノー勉で受かるような簡単なテストではありません。 しかし、午前は過去問がすべて解けるならば確実に受かる問題設計ですし、午後はどの分野も知識が要りません (たまにWAFを書かせたりEDRやCSIRTを選ばせたり知らないと詰む問題もあるが)。 わざわざ対策本を読まずとも、過去問道場で過去問を解くだけで合格できると思います。
ただ、教本をしっかり通読したことは、付け焼き刃で合格した人よりは、この試験を有意義に「使えた」という自信に繋がるので、それほど後悔していません。
追記(2024/1/21): 無事に合格しており、今日、合格証書が届きました。
■