hirarafu’s diary

twitter:@guutaraiueokaki(https://twitter.com/guutaraiueokaki)

高専2年レベルの微積の問題を本番で落としたが、筑波大学に受かった

はじめに

この度、令和6年度編入学試験で筑波大学情報学群情報メディア創成学類に合格しました。試験も受かったことだし編入体験記を書こうという気持ちになったのですが、少し考えた結果記事を役割を分けて二つ書くことにしました。用いた参考書などについての真面目な編入体験記はまた別の記事で書きます。(と最初は思ってたんですが、この記事を書くのに大分体力を使い果たしてしまったので書かずに終わる可能性が高いです)

この記事は自分語りをダラダラするだけの自己満足記事です。どれぐらいの気持ちの割合で書いてるかというと空気の組成の円グラフを思い浮かべていただけるとわかりやすいと思います。空気の組成は窒素78%、酸素21%、その他1%ですよね。他の体験記はおそらくこの割合に落とし込むとするならば「後輩の受験生の助けになればいいなぁ」が78%、「自分語り」が21%、「自己満足」が1%という割合がほとんどだと思います。この記事は「自分語り・自己満足」が99%、「後輩の受験生の助けになればいいなぁ」が1%です。はい。

「おいおいおいちょっと待てよ。じゃあこれは誰に向けて書いてるんだ」というヤジ、ツッコミが入るかもしれませんが、まあ主に将来の自分が過去の受験期に自分がどんな心境だったかを見返すことで受験勉強の時思ってたこととか、感覚をずっと忘れないようにするために書いてます。あとは受験勉強に集中するために数ヶ月全く連絡を取らなかった方々への近況報告です。限定公開にしなかったのはこの記事の自分語りの中から後輩の方々がなにかしら参考になるような部分を見つけて、それによって合格に近づくみたいな事があればいいなぁという気持ちも少ないですが一応あったからです。体験記というより日記に近いです。なので"編入体験記"を求めてこの記事に辿り着かれた方はここで深呼吸をして窒息する前にブラウザバックして他の方が書かれた編入体験記を読まれた方がいいと思います。ここまでの前置きを読まれた上でまだ記事の続きが読みたいという物好きな方がいらっしゃいましたら続きをお読みになってください。

2022年4月~7月

休学明けで一年ぶりに学校に登校し、久々に人と顔を合わせてまともに話した。ブランクがあり上手く言葉が出なかったが、休学中の精神状態最悪の時からは大分回復した。休学中は相手には言わなかったけど友人と週1ぐらいでしてたApexの通話が本当に救いで、あれがなかったら潰れてたんじゃないかとすら思う。田舎すぎて散歩しても田んぼしかないからと理由をつけて休学中家にずっといたので、最初の数ヶ月は家に篭りっぱなしでも大丈夫だったが流石に一年家に篭りっぱなしだと精神的におかしくなってた。無理矢理にでも外に出て遠くまで電車で出かけて人混みの中を歩く習慣を作っておけばよかった。

hirarafu.hatenablog.com

当時、TOEICの点があまり伸びず630点ぐらいだったが、その年受験だった元同級生の友人達に「メディア創成のTOEIC730のボーダーは前期中には超えておいた方がいいよ」と言われたので、今まで音楽聞いていた時間を全部リスニング対策のシャドーイングに当てて登校時や授業の休憩時間、隙間時間にずっと口パクで音声をなぞってた。単語帳、文法対策もシャドーイングと同様にこなしながら模試を周回して間違えた単語やイディオムなどはスマホのアプリに登録して自分独自の単語帳を作って苦手を潰していった。その後6月の試験で運よく840点ほどの点を取れた。

TOEICでいい点を取れたのも束の間、元同級生達の編入試験の結果が出始めた。この年の編入試験は全体的に難易度がこれまでにないぐらい上がってて、元同級生達はかなりの人数が結果が振るわずに終わってしまった。元同級生達の結果が振るわなかった事自体もかなりショックだったが、それ以上にその結果に対して何もしてない奴らが只乗りして本気で受験を戦った奴らを小馬鹿にしてる様子にはらわたが煮えくり返った。他人事ではあるが元同級生達は早い人は3年の時からずっと勉強していて頑張っていたことを知っていたし、それを近くで見ていたので。今思い出してもかなり腹が立つなこれ。思い出さなきゃよかった。

怒りが湧く一方で年々難しくなっていく筑波の問題に対しての危機感が生まれ、TOEICが終わった後はしばらくの間プログラミングだけをやりたかったが数学も少しずつ進め始めた。

全然話変わるが、もし今回私が落ちていて他人に馬鹿にされるようなことになっていてもおそらく「なるほど。そうなんですね」ぐらいの反応しかない気がして、なんでこんなに私と元同級生への対応に対する感情に差があるのか不思議で少し考えてみたが多分試験に向けて必死に頑張る元同級生達の事を当時普通に尊敬していたんだと思う。

2022年8月~9月

夏に2社ほどインターンに行かせていただいたので夏休みはあまり編入の勉強をしなかった気がする。2社の内1社は現地で行われるタイプのインターンだったので会社に支給して頂いた交通費と宿泊費で東京に二週間ほど滞在した。

会社に実際に赴いて自分に用意された席についた時、周りの人が皆技術の話をしていて感動したのが凄く記憶に残ってる。元々校内に意欲的にプログラミングに打ち込んでいる人がほぼおらず、さらにその数少ない自主的にプログラミングやってる人と交流を図ろうとしても私のコミュニケーション能力が低すぎて何回か喋りかけて話したりはするものの対人関係を築くのに失敗して一人で作業するみたいなことが多かったので、日常的に周りの人が技術について会話してて、困ったことがあれば相談したり出来ることが当たり前の環境が衝撃だった。コードレビュー貰うのも初めてだったし本当にインターン楽しくて2週間あっという間だった気がする。インターンはとても楽しかったけれどその分自分の技術力不足も身に染みて分かって、ライブラリをちょっと触れるぐらいの実力しかない状態で就職してエンジニアとして戦っていける気がしなかったので、学生が活発的に活動をしている場所でもっと刺激を受けつつ、個人的に興味があったメディアやインタラクションについての授業と、情報技術の根幹のCSについての授業の両方があるメディア創成に編入して知識の土台を固めたいという気持ちが強くなり編入に本格的に舵を切った。

2022年10月~11月

マセマの微積と線形は読み終わってたので、ここらへんで編入数学徹底研究の線形代数に手をつけた。が、当時は公式が勝手に降ってきて背景知識がないまま解答が羅列されているいかにも暗記しろみたいな形式のこの本が気に食わず、背景知識を理解するために大学教養線形代数使い始めて証明をずっと追いながらいかにして定理、系の背景知識を理解するかをずっと考えてた。証明の行間を埋めることに全力を尽くしてたので、一つの証明に時間をかけながら色んな定理を漁って証明が納得できる様になる要素を集め、証明の理解の助けになるような内容を補足説明として教科書に書き込みまくってた。証明によって背景知識を漁るのは行き詰まることはあっても凄く楽しかった。

数学の先生と受験についての雑談をした時に証明をずっと追ってることについて話したら「もちろん証明を追って背景知識をつけるのはとてもいいことなんだけど証明だけ追ってても意味がなくて、演習をこなして問題を確実に解けるようにする事も大事だと思うよ。両方の対応付けがないと」と言われたが、一応大学教養線形代数のチャートの問題も解いてはいたので言われたことの意味があまり腹落ちしないまま証明をメインに進めてた。

2022年12月~2023年2月

線形代数が一通り終わったので高校範囲の数列や漸化式についてやってた。その後大学教養微分積分と難波誠先生の微分積分学を用いて証明を追いながら大学教養微分積分のチャートを解き進めてた。ついでに定本Cを一周した。

2023年3月

時間的に微積の証明を追いきれないと思い微積の証明を追うのを止めた。ここで、今までチャートで演習積んでるようなフリをしてたが実際はただ一度問題を解いただけでしかなく、私は証明が多少頭に入ってるだけで問題を解く力が全く身についてないことに初めて気がついた。11月先生に言われたことがフラッシュバックして、自身がやってきた証明が途端に意味の無かったものの様に感じて絶望し、受験当日まであと数ヶ月しかないという焦りを抱えながら3月の下旬から演習全振りで数学をやり始めた。演習も定理の証明もこなした受験後の今数学について振り返ってみると、問題を解くことによって定理の具体的な用い方、問題文から解法への変換、他の定理との解法の中での対応付けが分かって定理の理解が深まることも、定理の証明をして背景知識を身につけることによって問題文を読んだ後に連想される解法が増えることもあり、証明も演習もそれ単体だけの理解でなくお互いがもう片方の理解を伸ばす役割を担ってると感じるので、11月の先生の言葉は演習と証明を何度も往復しながら両輪をグルグル回さないと意味がないという意図だったんじゃないかなぁと思う。

この頃MCバトルを勉強の合間に見始めた。確か最初に見たのは二ドラアサシンの動画だった気がする。ラッパーのどんだけディスられようが、アウェーだろうが馬鹿にされようが自分に自信を持って詰まることはあっても臆することなく全力で自分の言葉を吐き続ける姿がメチャクチャかっこよくて魅入られてしまい、この頃からずっとMCバトルを見る様になった。

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

ラッパーの意志の強さや熱に当てられて勉強にもより一層身が入るようになったが、ラッパーの格好良さを認識する度に夏のインターンで昼食に連いれていって頂いて雑談をしながら飯を食べていたら社員の方にふと「〇〇さんって推しとかいるんですか?」と聞かれた時のことを思い出した。私にはにじさんじの鈴木勝という推しがいて、休学中不眠になってほんとに辛かった時勝くんのASMRを聞いて寝ることが出来て、それからは寝つきが悪い時は必ずASMRを聞いていたし雑談やその他の配信を見て心の支えにしていたのだが、推しについて聞かれた時に勝くんという推しがいてASMRを聞いてるということを喋ることを恥ずかしがってしまい「いや....いない...ですね」と話を濁してしまった。その返答をした時は理解が得られるかどうかも分からないし、馬鹿にされる様なことは万が一にもないとしてもとりあえず無難な選択を出来たはずと思っていたが、自分を貫き続けるラッパー達を見て公序良俗に反する様な話題でもないのに自分で自分の好きを否定した事が、自分で自分の事を伝えることをビビってしまった事が顔から火が出るくらい恥ずかしくなった。俺は本当にダサいなと思うと同時に、ラッパーが自分を貫き続ける様に、私も間違えたことはすぐ認めるような素直さは保ちつつ自身の考えに意固地にならずその上で常に芯の部分で自分に自信を持ち続けるような奴になりたいと思ったし、そのために自分に自信を持つための努力は惜しまない様にしようと心から思った。

2023年4月

春休みも明け、学校に登校すると4月の中盤ごろに研究室の鍵をもらったので、ここから試験当日まで授業がある時以外は土日含めて朝から夜の10時ぐらいまで毎日欠かすことなく研究室で勉強してた。

この頃はずっと大学編入のための問題集をしてた。証明をかなりちゃんと追っていたため解答を読めば問題の意図が全く分からないみたいな事になることはなかったが、問題と定理の内容を結びつけることが重要だと思いつつも証明を追っていた頃の癖が抜けておらず、又、問題集の解答が不十分に見えたため今まで使った教科書を参照しながら解答の行間を埋めることに熱中してたら一周するのに百時間ぐらいかかった。ついでにアルゴリズム入門も一周した。

この頃から作業が手につかない時の種類が私の場合は

  • そもそもやる気がない
  • あまりにも体が疲れすぎてて勉強出来るコンディションじゃない
  • 精神的に疲労が溜まってる

の内のどれかだな〜と思い始めたので

  • そもそもやる気がない
    • 作業の合間にMCバトル、アニメのPV、曲のMVを見ながらテンション上げて勉強する状態まで持っていく
  • あまりにも体が疲れすぎてて勉強出来るコンディションじゃない
    • 普通に数十分~数時間の仮眠を取る
  • 精神的に疲労が溜まってる
    • 勝くんの配信を見たり、ノンスタの公式が上げてる漫才を見て恣意的に笑顔を作る

という対処しながら勉強をやってた。

youtube.com

2023年5月

大学編入のための問題集をもう一周した後に、本の形式が嫌いだったので線形代数の範囲だけやった後放置していた徹底研究の微積の範囲をやった。基本的な1変数の積分があまりにも解けなくてビックリしながら一週間で微積の範囲を2~3周ぐらいした気がする。積分があまりにも解けなかったので初見の積分に対応するために昼食の時にずっとますたださんのyoutubeチャンネルを見て解法を数分考えた後に動画見ながら飯を食べてその後ルーズリーフに解き直してた。

www.youtube.com 他にも数学力向上チャンネルの今日の一問を解いたり、高橋ユウコ先生の過去問解説を時間測って解いて解説を見ながらnotionに間違えた原因と対策を書き綴ったりしてた。螺旋本も手をつけはしたが、筑波の過去問を解いてみた感じだと情報に関しては基礎的なアルゴリズムは身についていたのでアルゴリズムの理解不足で解けなかった様な問題はあまりなく、どちらかというと情報の長文に書いてあることをそのまま理解する能力が低いせいで読み間違えたり条件を読み飛ばしたりして点を落とすことが多かったので螺旋本は途中で進めるのをやめた。

研究室のホワイトボードに「カフェイン駆動人生!!」と書き毎日コーヒーを数杯飲んで眠気を誤魔化していたら同じ研究室の先輩に目がヤバいと指摘され、久々にちゃんと鏡を見たらナルトのイタチみたいな目のクマが出来ていてそれがツボに入って爆笑した。ちゃんと寝ていたつもりだったんだが実際は寝れていなかったぽくて、睡眠時間を一時間増やして7時間以上は必ず寝るようにしたら顔がいくらかマシになってカフェインも取らなくて済むようになった。

2023年6月~受験直前

過去問特訓の不安な範囲のAとBの問題を解いた。令和4年と令和5年の情報がモロ情報理論だったので情報理論の対策として「わかりやすいディジタル情報理論」と「情報理論:情報量~誤り訂正がよくわかる」をやった。他にも情報対策として典型90の問題と解説を10分以内に理解するタイムアタック(参加者私一人)も少しだけやったが役に立ったのかどうかはよく分からない。

筑波の情報学群は数学科に片足突っ込んだような問題を出す事が多かったので線形代数明解演習と微分積分明解演習もやった。線形代数明解は解答を見ればそれなりに理解できたが、微積はたまにかなり難しい問題が混じってて一章しか時間的に手をつけれなかった。微積は二章以降は実際に解いたわけではないので正確には分からないが、明解演習の中でとりわけ難しい問題は証明をある程度追ってきてた状態でなんとか問題と解答から行間を埋めれるような難易度だったので工学部がやるような本ではないなと思った。

この頃数学に関してはずっと計算ミスが私が編入試験に落ちる一つのデカい要因になるだろうなと思ってたので計算ミス対策として計算ミスの種類をひとつずつ認識して計算ミスの種類ごとに、ここは一気に計算したらミスしやすいから計算過程を分けようとか、この計算はミスることが多いので必ず式変形の前後で検算する癖をつけようみたいなことを思いながら少しずつ計算を正確にしていった。

受験の一週間前に、私が初めて見た深夜アニメのエンディングテーマである酸欠少女さユりミカヅキが唐突に聴きたくなって調べたら路上ライブの動画が上がっていたので見た。

www.youtube.com

メジャーデビューしたばっかりで一番ギラついてる時の自分の感情を全てぶつけて歌う姿の勇猛さにやられて、この動画に鼓舞されながら最後の一週間を走り切った。

受験前日

受験の2日前に実家に帰り、翌日に実家の近くの駅から新幹線に乗る駅まで移動したら早く着きすぎたので待合室で問題集の復習をしてた。状況に即して今までに見た漫画、アニメなどの言葉が頭の中に出てくることがかなりの頻度であって、今回は待合室に座って問題集をパラパラめくってたら不意に委員長の「なぜなら頑張っているから」という言葉が出てきた。私は誰かに褒めてもらうために勉強してた訳じゃないし自分がこうありたいなと思った姿に近づくためにずっとやってきただけなんだが、にじさんじが発足してからV黎明期ですごく不安定な時代に自分の人生を懸けて箱を引っ張ってきた経緯を踏まえた上で出たであろう委員長のこの言葉に自分を重ねてしまって、おこがましいけど僅かながら気持ちが分かるような気がして、受験期を経て少しは積み上げてきた事柄に裏打ちされた自信に支えられて胸を張っていられる人に近づけて、少しは自分が自分を好きでいられるような、マシな状態になれたんじゃないかという気がして、気がついたら泣いてた。最初はそれでも問題集の復習を続けようとしたんだが、感情が湧き出てくるのが止められなかったので本を閉じて10分間ぐらいずっと前を見ながら真顔で泣いてた。泣き疲れてボーッとしてたら新幹線が来る10分前に鳴るように設定しておいたスマホのアラームが鳴ったので涙でグショグショになったマスクを待合室のゴミ箱に捨てて新幹線に乗った。

www.nicovideo.jp

筑波に着きホテルに荷物を預けた後、まず飯を食おうと思って駅前の建物内のサイゼリアに行こうとしたら建物が入り組みすぎてて20分ぐらいうろうろした末にサイゼリアに到着し、飯を食べた。飯を食べたので会場に行き受験者数を数えたら180人程度だったので去年よりは減ったな〜と思いながらホテルへの帰路についた。途中で通りすがりの人がいたのでその人に近場の美味しいおすすめの店を聞いて、「(夜はここに食べに行くかぁ。いやでも試験前日にラーメンはちょっと重いか?)」みたいなことを考えながら歩いてた。

筑波への移動で大分疲れが溜まってた上にホテルに帰ってからぶっ通しで何時間も勉強したせいで体調が最悪になって、地震かと思ったら私が揺れてるだけだったみたいな状態まで悪化した。「(ここで寝たら確実に明日の試験のための睡眠事情が終わる.....どうしよう.....。ていうかごめん!さっきの通りすがりの人。教えてもらったラーメン店いけそうにない....最悪....)」と思ってたんだが、昼に駅前の建物の中で迷った時に見つけたマッサージチェアが頭をよぎり、これだ‼️と思ってマッサージチェアまで移動してマッサージを受けた。

無重力ボタンがあったのでどうなるんだろうと思って押したら45度ぐらい回転しただけだった。一瞬無重力じゃなくね?と思ったが体力を回復するのを優先して考えるのを止め、マッサージが行われる15分の間仮眠を取った。

マッサージのおかげで大分回復したので意気揚々と教えてもらったおすすめのラーメン店に行ったら店内にラーメンを食べてる人がいるのに今日は閉店しますみたいな張り紙が入り口に貼ってあった。意味が理解できなくて呆然と立ち尽くしてたら店主っぽい人が店の外からやってきて「すいません...。ついさっき僕が熱中症でダウンしちゃって.....」と言われた。どうやら私が倒れかけてマッサージチェアで仮眠を取って回復して店を訪れるまでの間に今度は店主がダウンしたらしい。あまりにもタイミングがドンピシャ過ぎる。泣く泣く醤油ラーメンに別れを告げて他のラーメン店でラーメン食った。

11時に寝るように行動して11時に寝れそうだったので完璧すぎる!最高!と思いながら電気消したら他の電気は全て消えたがベッドに取り付けられて固定されていた備え付けの明かりが消えなかった。この明かりを消すために数分壁の色々な明かりの電源を見つけては付けたり消したりしたり、明かり自体に回すタイプの電源がついてるんじゃないかと思って明かりのノズルっぽい部分を触ったりしてた。嫌がらせか?と思いながら必死に探したんだが結局電源は見つからず、最終的にホテルの部屋が入り口にカードを入れれば部屋に電気がつく仕様だったのでカードキーを抜いて部屋の電気を全て消して就寝した。

受験当日

深夜の2時に暑すぎて飛び起きた。どうやら就寝時はクーラーが効いてたものの、カードキーを抜いて強制的にベッドの明かりを消したせいでついでにクーラーも切れてしまい部屋の中がめちゃくちゃ暑くなって寝苦しさで起きたらしかった。罠すぎる。急いでカードキーを差し直し、クーラーを28度ほどに設定して、備え付きの明かりを布団でぐるぐる巻きにして明かりを弱め寝ようとしたんだが、寝れなかった。これはまずいと思い勝くんのASMRに頼ったり他にも色々したんだがなまじ数時間寝てしまったばかりに、完全に頭が冴えてしまい詰んでた。再び寝るために試行錯誤していた中で部屋にあった二つの枕を使って枕の上に乗せた頭の上に枕を乗せてサンドイッチみたいにした時が一番寝れそうな雰囲気はあったんだが、あれは寝るというより呼吸が浅すぎて意識が落ちかけただけな気がする。意地でも目は閉じていたが結局寝れずに朝を迎えてしまい、死んだ顔で朝飯を食べに降りた。

頭痛が酷く体も重かったが当日の朝にはMCバトルの中で一番好きなラッパーのAuthorityがUMB2019で優勝して一気に成り上がった試合を見ると事前に決めていたので朝飯を食べて試験会場に行く準備をして椅子の上で少し仮眠をとった後にMCバトルを見てた。準備運動みたいな感じで3対3のバトルを見た後UMBのベスト8から決勝までを一気に見て、Authorityがこれまで何度もUMBの初戦で負けてきてそれでも折れずにUMBで戦って4年越しに優勝して全力で喜んでる姿を目に焼き付けて疲れも忘れるぐらい最高潮にテンションが上がり、ここまで数ヶ月風邪引かないように体調も毎日気を遣って感染症対策も全力でやって睡眠も整えて最後の最後で体調最悪になったけど、頭が回らなくても問題が分からなくても最後の最後まで戦って勝ってやると思いながらホテルを出た。 youtube.com

これ以上体力を消耗したくなかったので試験会場までバスで移動しようとしてバス停でバスを待っていたら何故か猛烈に他の受験生とグータッチがしたい衝動に駆られてヤバかった。多分学校に学力試験の受験仲間がいなくてずっと一年半の間休学中から一人で勉強してたので、同じ学類の志望者だったら競い合う相手ではあるけど、それ以上に他の受験者を見た瞬間その人が受験者である以上は会ったことはなくても同じ目標に向けてずっと頑張ってきた内の一人だということに感極まってしまったんだと思う。同じくバスを待っていた後ろに並んでいる受験生に話しかけようかと迷ったが、いきなり「あの、筑波大学の受験生ですか!?グータッチしませんか!!」とか言ったら明らかに不審者だし、何より受験の一時間前に唐突にグータッチを迫ってくる人のせいで動揺して私に話しかけられた人が本番で実力を発揮できなかったらあまりにも申し訳ないと思い、なんとか抑えた。

試験会場に着いた。前から試験会場に行った時は他の受験者で溢れかえってる様子を見て

「大輔!あれを見てみろ!」

宮川「えええええええええええ〜〜〜〜〜〜〜〜〜〜〜❗️❗️❗️❗️❗️❗️❗️」

_

____そこで宮川が目にしたものとは....!!!!!!

_

_

宮川「去年より人増えてるやん❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️」

「そうさ大輔!これが年に一度の!筑波大学編入学試験だ!!」

というナレーションを頭で流そうと思っていたんだが、そもそも去年より受験者人数が減っているし、私が試験会場に着いたのは会場受け入れが始まる時間の大分後で私の他に二人ほどしか同じ時間帯に試験会場入りする人がいなかったので出来なかった。というか寝不足だったので頭の中で茶番をやるような心境でもなかった。

試験会場に入って教室に入ったら全員ピリピリしてて、それがすごい心地よかった。ああ、皆本気で受けにきてんだなぁと思った。森永ラムネをカバンから出してその場で食おうかと思ってたんだが、試験室で食うのは他の受験生の気を散らすかなと思い教室を出てトイレの個室に入って森永ラムネを一気食いした。

あの、ラムネをひと袋一気食いするとラムネが全て結合した状態のものが口の中で出来て飲み込めなくなり、一生噛んで口をモキュモキュさせることになるので、ちょっとずつ食べたほうがいいです、あれは。

間も無くして試験が始まった。試験開始前は数学がどんな問題が出るか戦々恐々としていたんだが、簡単な問題しか出なかった。以下、所感

数学1

(1)はただ微分するだけだった

(2)はε-δを使うかどうか迷ったが微分した結果を見ながら問題文読んでたらなんとなくテイラー展開で近似するだけな気がしてきたので、どうやって近似の形まで持っていこうかなと思った結果1/2で有限テイラー展開してf(0)を取れば不等式の評価に持っていけそうだなと思い計算した。何故か答えが合わなかったが方針は合ってる確信があったので計算ミスを探したがどこにも計算ミスは見つからず、そのまま試験時間が終了した。

数学2

計算するだけ。実ベクトルの内積が実ベクトル空間の標準内積かどうか指定されてなかったので一瞬別に内積が指定されてる罠かと思い問題文を読み直したがどこにも記載がなかったのでそのまま標準内積で解いた。

情報1

(1)~(3)はやるだけだった

(4)~(5)は解けなかった。(4)を見た段階で残り時間が10分ほどしかなく、数学1の計算ミスが頭の中にあったので(4)の問題文とプログラムを見ながらおそらくこれが入るんじゃないかなと推測して答えを書いた。(5)は普通に空欄。

情報2

計算量の感覚さえ身についていれば後はやるだけ。enqueueとdequeueの関数にprintf文があったので出力を記述する問題で丁寧に文のプログラムを追ってみたがキューのそれらの関数のprintfの処理は別に問題で指定されてる条件では実行されそうになかったのでプログラムを頭で回して出力を書き起こして解答した気がする。

正直な感想としてはかなり拍子抜けだった。令和5年があまりにも難しく、ここ数年試験難易度が単調増加的に上がっている傾向から令和6年は令和5年の数倍難しい問題が来ると思っていたので。多分受かったなと思いながら筑波の友人に連絡したら相手が寝ていて連絡が付かず会えそうになかったのでカラオケに行った後新幹線で爆速で家に帰った。

試験終わった後の見直しは何も結果が変わらない上にただ精神を傷つけるだけだと思ったので試験の内容を振り返る気になれず試験の問題文と計算用紙を家に置いて寮に帰ったが、寮で風呂に入ってたら頭の中で勝手に数学1の問題が解かれ始めて自分が数学1の(1)の本当に簡単な高専2年生レベルの微分の計算で間違えたことが分かってしまったので急いで風呂から上がり計算用紙にうろ覚えの数学1の(2)の問題を解いてみたらそれっぽい答えが出てきて、完全に終わった....と思った。試験終了後は体感260程の出来だったのにこれだと部分点込みで230~250しかないのではという落胆もあったが、何よりも自分の計算ミスをする癖を無くすために計算ミスをしやすい計算ごとに解き方を変えたことで対策出来ていた物とは別の種類のミスを本番でしてしまい、あれだけ気をつけていた計算ミスで問題を落としたことが本当に悔しくて動けなかった。試験内容がかなり簡単でボーダーが上がっている気がしたのでその日から普通に落ちたかもなと思いながら合否発表の日を待ってた。

試験後

試験終わった直後はこれまでの勉強中に積み重なった辛さとか苦しさが一番溜まっている状態だから、苦悩がよく表現されているコンテンツを浴びれば今後そのコンテンツが記憶に残り続けるものになるだろうなという気がして、受験勉強の頃から受験終わったら何を見るかを考えてた。結局、合否発表までに「ピンポン」の映画、「ブルーピリオド」の漫画、「だが、情熱はある」のドラマ、「たりないふたり」の漫才を見た。ブルーピリオドも読んでてかなり辛かったんだが、「だが、情熱はある」、「たりないふたり」がぶっちぎりで刺さった。受験勉強の合間に見てたノンスタイルの漫才関連で「だが、情熱はある」のドラマ中のオードリーの再現漫才がオススメに出てきたのがきっかけで興味本位で見ようとしただけだったのでこんなにハマると思わなかった。1,2話で完全に引き込まれてその後ずっと下積み時代の描写が描かれた上で9話でオードリーの2009年M1敗者復活の漫才が出てきた時、再現漫才は受験期に10回ぐらい既にyoutube上で見ててネタも覚えてるような状態だったのに、漫才が全く別物のこれまでの苦悩が詰まって詰まって何とか絞り出した一縷の望みをかけた魂の結晶に見えて漫才を見ながら泣いた。泣きながら笑った。漫才見て泣きながら笑うなんてマジで初めての経験だった。

youtu.be

ドラマを見終わった後、ドラマで演じられた若林と山里がコンビを組んだ漫才である「たりないふたり」も「だが、情熱はある」と同じくHuluで配信されてたのでエスカレーター式に見てた。

合否発表前日~合否発表

たりないふたり」は「たりないふたり」、「もっとたりないふたり」、「たりふたSUMMER JAM'14~山里関節祭り」、「さようならたりないふたり」、「たりないふたり2020 ~春夏秋冬~」を経て「明日のたりないふたり」で締めくくられる合計数十時間の漫才なんだが、合否発表の前日までに「たりないふたり」しか見終わる事が出来なかった。合否が決まってからじゃなくて、合否発表までの合格か不合格か決まっていないすごく不安定な状態で見ることでしか感じることが出来ないものがあると思ったから、なんとか合否発表までに「明日のたりないふたり」を見たいと思い前日から合否発表までぶっ通しで仮眠を挟みながら漫才を見てた。流石に全部は見れなかったので「もっとたりないふたり」は気になるものだけを選定して、「さようならたりないふたり」、「たりないふたり2020 ~春夏秋冬~」はダイジェストだけを選んだ。それらを全て経由し終わった頃には外が完全に朝になってたので仮眠を少し取ってから「明日のたりないふたり」に臨んだ。

期待を膨らませすぎた上に徹夜で疲れていたこともあり、最初の30分ほどはかなりつまらなそうな顔で見ていた。が、途中で漫才のテンポが変わり始め、内容も上っ面の物からコンビの生々しい人に言えないようなアイデンティティや苦悩のぶつけ合いになってから目が一気に冴えてずっと見入ってた。気がついてたら泣いてた。二回目、漫才で笑いながら泣いたの二回目で、一回目と二回目の笑いながら泣く経験をこの二人の生き様に奪われた。特に若林の「たりなさの剣、諸刃の剣。悩みであり、武器であり、お守り」に食らってしまった。若林が投げたこの竹槍が試験の合否発表から一週間が経とうとしてるこの記事を書いてる今もずっと胸に刺さり続けてる。

「明日のたりないふたり」を見てボーッとしてたら気がついたら合否発表の時間から40分ほど経っていた。Creepy Nutsの「たりないふたり」の音楽でも流そうかなと思ったが、この結果は自分自身で受け止めようと思って何も流さずに合格発表の番号を見た。番号があった。

「.....。.....ッッtしゃあああああああ❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️」という声と共に生まれてきてから今日今までで一番心のこもったガッツポーズが出た。

合否発表後

とりあえずお世話になった先生方に報告しに行くかと思い、報告に行った。担任の方が私よりも喜んでいた。

受験の移動のために家に帰る直前、「頑張ってな」という声と共にお菓子と飲み物が入った袋を貰ったので研究室の先輩にも報告しに行こうとして、ふとチェンソーマン11巻でデンジが質問に対してピースサインで返答を返すというシーンを思い出した。流石に先生方にこの方法で報告するのは失礼だったのでしなかったが、先輩とは高専1年の頃からの関係だったのでピースサインで報告しようと思い研究室のドアを開け開口する前にピースサインを先輩に向けたところ相手に伝わらなかった。結局口を開いて言葉で報告をした。

何がピースサインだけで合格が伝わらない要因になったのかを考えながら研究室からトボトボと寮に帰った。考えた結果、以下のようなステップを踏まないとピースサインだけでは合格が伝わらないのではないかという結論になった。

事前に20日が合否についての発表ということが共有されている

相手が合否に対して強い興味があり、合否発表が終わった後に会った瞬間に合否の結果を聞きたがるようなそぶりを見せる

ピースサインを相手に向ける

相手が意図を理解

普通に無理ゲーすぎる。どんな状況だとこれになるんだよと思い気落ちした状態で合否発表の日の午後を過ごした。

しかし実際は、こんなバカみたいな条件に該当する人がいた。合否発表から時間も過ぎてすっかり夜になり半ばピースサインについて忘れかけながら寮の夜点呼に行こうとしたら、玄関に、その人がいた。玄関に立っていたのは合否発表の前日に風呂で試験の出来や合否発表の日時について話した友人であり、「合否の結果は落ち込んでるかどうかで判断出来ると思う」みたいなことも話してた事が一気に頭を駆け巡り、中学の体育の剣道の時のような緊張感で前に足を進めた。相手がこちらに気がついた瞬間、試験の合否を聞きたそうな顔に変わったので「(....今だ❗️❗️❗️❗️❗️)」と思いながらピースサインを相手に向かってした。相手に意図が伝わったのが表情から見てとれた。めちゃくちゃ嬉しくなってお互い肩を叩いて通り過ぎ、浮かれながら夜点呼をして近くの自販機でカロリーメイトを買うために小銭を入れてボタンを押した瞬間、一気に編入試験が終わったんだなという感覚が湧いてきて、私の受験が終わった。

alu.jp

終わりに

ただひたすらに背景知識と結びつけながら演習を積む事自体は自分が好きなコンテンツに背中を支えてもらいながらずっと一人でしてきましたが、勉強もそれ以外も色々な人に支えられてきたなと思います。日記でこれを書くのも変な話ですが、支えてくださった、応援してくださった先輩方、友人達、先生方、そして何より受験の参考書や交通費宿泊費など諸々の支援だけでなく、併願を一つもしないという選択を渋々ながらも受け入れてくれた両親に、心より感謝申し上げます。本当にありがとうございました。

機械系から情報系に転系したいと思い足掻いたが、結局一度高専を休学してから情報系に編入することになった話

はじめに

タイトルではこの記事は情報系に編入する話という体になっていますが、なぜ機械系に入ったのか、なぜ転系しようと思ったのかなども内容に含めるために高専入学後から話が始まっています。

記事を書いた動機

TwitterのTLに高専で転系したよ〜って記事が流れてきたので、自分自身なんで今みたいな状況になってしまったのか一度振り返りたくなったから。つまりこの記事はほぼメモ書きみたいなものです。

高専一年時

ロボコンを見て高専入学を決めたことから、入学後はロボット研究部(略称はロボ研)に入る。シス研(プログラミングをやってる部活)も体験入部に行くかどうか迷ったが、当時のロボ研部長の「シス研でも出来ることはロボ研でも大体できるよ」という言葉を馬鹿正直に鵜呑みにしてしまい(自業自得)、ロボコンに専念し始める。ロボコンはブラックなところもあったが、部品を組み立て、体育館に行って動作させ、ロボットの調整をして精度を高めていくのはとても楽しく当時は他に何もいらなかった。

地区大会で自分が所属していたチームとは違うチームが審査員推薦で全国大会へ駒を進めることになり、幸運にも全国大会の様子を生で見に行くことが出来た。

全国大会が開催される国技館で熊本高専がとてつもないパフォーマンスで一瞬で高得点を出したあの瞬間、比喩でも何でもなく全身に鳥肌が立ち、少し遅れて会場全体が喝采に包まれたあの瞬間。当時の興奮を今でも鮮明に覚えている。

将来は自分達の力でもう一度全国へ行きたいと本気で思っていた。

高専二年時

ロボ研では加工、設計班だったので迷う余地なしというレベルで適当に機械系へと進路を決めた。本当に当時はロボコンだけが全てだった。

が、始業式後クラスのメンバーや雰囲気を見て絶句することになる。オラオラ系の人しかいなかったのである。ぶっちゃけてしまうとその人たちがほぼ全員ヤンキーに見えた。全員僕のヒーローアカデミアの爆轟みたいだった。

先生が授業中でも休み時間のようにうるさく、教員の注意は意に介さず、後ろに食いかけのカップ麺が放置され、休み時間中には教室の後ろ側でバスケやスケボーなどが行われており、教室に面している廊下の壁に穴が開いたこともあった。

僕みたいな気の弱い人間は当然そのような人達の中に友人はおらず、機械系には一年の頃に同じクラスだった友達が一人だけいた。(この友達がいなかったら僕は三年で退学してたと思う。本当に感謝してます。ありがとう)

機械系の授業は楽しかったが、クラスの居心地が悪く、毎日逃げるように寮に帰り、ベッドに横たわる生活が続いた。あれだけ楽しかったロボ研にも行かなくなってしまった。デスクトップPCを買ってからは引きこもりに拍車がかかり、徹夜でゲームをしたりblenderをしたり、絵を書いたりする日々になった。

シス研に入部

何を思ったのか、二年の冬にふと一年の頃切り捨てたシス研に体験入部に行った。宗教の教祖が似合いそうな某先輩に自分が今何がしたいのかを話し、ロボ研を辞め、春休みに自主的にプログラミングを始めた。

三年の前期(学校の授業がオンラインになった)

プログラミングは楽しかった。よくある文法書をやっただけだったが。

文法書だけではプログラミングで何ができるのか全く想像がつかなかったので、とあるハッカソンのような大会に一人で飛び込み、なんとか優しいチームに拾ってもらった。技術的な貢献は何もできず、強い人達の話を聞いてプレゼンのスライドを作るぐらいしか出来なかったが、プログラミングでできることの想像の幅が一気に広がった気がした。

三年の後期(対面授業再開)

プログラミングの楽しさが増す一方で、機械系の授業の方が苦痛になり始めた。設計などは楽しかったが、力学などは全く興味がなかった。四週間ぐらいずっとネジの話をしていた授業などもあり、機械系の授業への辟易が大きくなっていった。これをきっかけになぜ自分が機械系の進路を選んだのかを振り返り始め、ついに私は機械系の授業に興味があって機械系に進路を決めたのではなく、ただロボットが視覚的に好きで、組み立てるのも楽しかったから機械系が一番私に合っているだろうという理由で進路を決めてしまったことが分かってしまった。

そこからは地獄だった。今まではクラスのメンバーが地獄でも機械系の授業が楽しかったからなんとか学校へ通えていたのに、機械系の授業すら楽しく無くなってしまったからである。特に系選択と同じように脳死で選んだ全系横断演習(個人で選択した授業を一年半続けることになる)のライントレースの授業はひどかった。予算がなく部品の発注もままならないので、専用の教室の片隅にあった鉄屑からパーツに使いそうなものを拾い上げ、なんとか機体を加工して作成し、マニュアルで指示された通りに作った回路をオンボロ機体に乗せ、機体が上手く動かなかった場合は鉄屑とスクラップの中から機体をうまく走らせるようなものを見つけ出して機体に継ぎ足しし、改善することしか出来なかった。教員にaruduinoなどを購入してセンサの設定をいじれたり出来ないんですか?と聞いたが「予算がないから。自費で買うならいいよ」という返答が返ってきただけだった。

教室への毎日の登校の足取りが重く、半ば思考停止で日々を過ごしていた。

その頃から情報系への転系を考え始めた。

情報系へ転系するために

情報系へ転系するために機械系の教員と情報系の教員へ相談して回った。

ここに教員達からの返答集を置いておく。

「調べたところ「基本的に系の変更は出来ない」とのことでした」

「去年も「転系したいんです!」って言いに来た子がいたけど、無理だったんじゃないかなぁ?」

「大学から情報系に転系すればいいんじゃないかな?ほら、機械系と情報系両方強かったら貴重な人材になるじゃん?」

「そうだね〜三年から転系っていうのは厳しいね〜。一年留年するって形ならなんとか規則の穴をつくようにしていけるかもしれないけどね〜」

せめて研究室は情報系の研究室に入りたいと思ったが、「機械系が情報系の研究室に入ろうと思った場合機械系でのその人の順位は関係なくて、情報系の人で枠が埋まった後に機械系の人が行きたい研究室が空いていればそこに潜り込めるって感じだね」と言われた。

ちなみに高専の情報系に編入できるかもとも思い、調べたが、とっくの昔に試験は行われていた。

機械系の授業は苦痛、周囲にプログラミング仲間もいない、どれだけ機械系での成績が良かろうが自分が行きたい情報系の卒研の研究室に入れる可能性も低い......。僕は何のためにこの学校にいるんだ?何のために生きてるんだろう.....?

答えを出すわけでもないのにうわ言のように毎日毎日心の中で自問自答を繰り返し、自己嫌悪に陥り、精神的に追い詰められていった。

プログラミング関連

教員に転系の相談に行っている頃フロントエンド側の勉強をしていたが全く上手くならず技術の表面だけをなぞるような感覚があった。プログラミング仲間を求めてシス研の部室に行ってみたが、去年の冬数回だけ話したことのある先輩方は卒研ですでに部室からいなくなっており、四年の先輩は引退、三年の同級生は大半が編入に舵を取っている感じだった。

二年のつよつよ君が一、二年生相手に講義をしていたので下級生と関わるためにそれに参加させてもらったこともあった。講義後一年生の子と仲良く話していた(個人的には)のだが、私が一年生でなく三年生であることをその子が会話の途中で気がつくと、言葉につまり始め、急に帰る用意を始めて「あ....お先です....」という感じで部室から出て行った。普通にショックだった。

その時、三年の途中から本格的に部活に現れるようになった私は既に頼れる先輩も時間のある同級生もおらず、技術的な知識もなく、一、二年生からも浮いている存在なんだと理解した。悲しかった。

その後、唯一の三年生のプログラミング仲間と2dayインターンハッカソンに出たりしたが、自分の技術力不足を突きつけられただけだった。

四年生時

春休み中はTwitter Botを作り、その後舞い戻ってきた学校の授業中ではずっと「マスタリングTCP/IP―入門編―」を読んでいた。

一方で、懲りずにもう一度学生課に転系の話を聞きに行くと昨年私が教員方に転系の相談をしまくったことにより新しく転系制度が出来たと伝えられた。私は嬉しくなってこう聞いた

私「ということは僕も転系できるってことですか??!」

学生課「いえ、原則二、三年生の方のみです」

.......一瞬理解できなかった。私が相談しまくったことをきっかけに新しく出来た転系制度が私は対象外だったのだ。煽ってるのか?と思った。一年留年してでもいいから転系させてくれないかと頼んでみたが受け入れられなかった。

その後もうこのまま機械系にいても望みはないと思い大学や高専のカリキュラムを調べ、行きたい場所を選んだ。その内、試験内容が突破できそうなのが高専の試験だけだったので、休学して高専編入試験に備えることにした。

休学後は機械系からの開放感がすごく、しばらく自分の好きなことをした。セキュキャンの応募課題を解いて低レイヤへの興味を深めたり(セキュキャン落ちたが)、基本情報技術者試験の資格を取ったりした。

その後受けた東京高専は落ちてしまったが、津山高専に受かることが出来た。

わーい。めでたしめでたし。

(ハッピーエンドで終わらせたい方はこのままブラウザバックしてください)

最後に

おまけとして津山高専合格後から現在に至るまでの心情の変化を日記形式でお届けします

合格後

わーとりあえず試験受かったし!Goでも入門するか!

数週間後

色々Goの本とか記事とかやったりしてきたけどReact+Go+DB+WebGLで作ろうと思ってるやつのReact+Goの実装イメージすら湧かんな。 これ良さそうじゃないか?

www.udemy.com

これ進めてみてからどうやって作りたいもの作るか考えよう。

一週間後

結構進んだか?

最近何もかも意欲が湧かなくなってきたな。

何してるんだろ僕。

学校行ってる人の方が楽しそう....

さらに一週間後

わー、次は認証の実装かー。楽しそう(棒)。ハハ...

....最近何のためにプログラミングをしてるのか分からなくなってきた。確かに新しい機能を実装していくのは楽しい。楽しいけど...TwitterのTLを見てるとほんとにこのままでいいのか不安になってくるんだよな。

数日後

孤独感に潰され、モチベーションが消えてしまう。

ここ一週間ぐらい

......何もかも分からない。とりあえず筑波の編入にTOEIC730点必要だから毎日寝て起きて英単語して寝て起きて英単語して寝て起きて英単語して寝てを繰り返してる。

以上です。終わり。

皆さんはこうならないように気をつけてくださいね。

寮食を呟くbotを作った

今日(2021年4月5日)津山高専寮食botがひとまず完成した。文字通り津山高専の寮食を自動で呟くbotである。 プログラムの大まかな流れは

  • 寮食が書かれているPDFが上がっている学校のサイトから日付に合ったPDFを取得
  • PDFから今日の寮食が書かれている部分を抜き出してPDFとして保存
  • トリミングしたPDFをGoogle Cloud Storageに保存
  • Google Cloud Vision APIを使ってGCSに保存したPDFからOCR1で文字を取得
  • 取得した文字をspilt["\n"]で分けて朝食、昼食、夕食のテンプレ当てはめる
  • テンプレに当てはめた後の文字をTwitter APIを使ってtweet

という感じ

今が一番作ったものに対しての記憶が鮮明だろうということで、忘れない内にコミットメッセージをみて作業内容を思い出しながら備忘録を書くことにした。

2月22日

Twitterbotを作り始める f:id:hirarafu:20210405205821p:plain

何も分からなかったが調べていくうちにどうやらTwitterにアカウント登録をして認証のキーを貰うといいらしいということが分かり下のリンクを参考にして認証情報を取得した。

venvで仮想環境を作って作業したはず。
なんかtweetpyを使えば楽にツイートできると聞いたので一度tweetpyを使いツイートしてみたが、どういう処理でツイートできているのか全く分からなかった。requests_oauthlibで認証を行いツイートをpostする方法に次の日書き換えた。

2月23〜3月29日まで

インターンハッカソンに出て手をつけていなかった。

3月30日

そろそろ学校も始まるぞという時期になったので寮食bot作成を再開した。 f:id:hirarafu:20210405211045p:plain

ブランチを切らずに作業した悪い子がいるらしいですね。誰だろな〜。

ここらへんでGitFlowというmainブランチだけで作業するのではなく、機能ごとにdevelopブランチを切って作業を行うブランチモデルがあったことを思い出し、ブランチを切り始める。ただ、この時に切ったブランチはherokuにデプロイし始めるまでmasterに統合されることなく、機能ごとに分けずにずっっっっっとこのブランチで作業することになる。次からはもう少しブランチを切る頻度を増やしてmainを定期的に更新していけるようにしたい。

この日から日付に応じて寮食が記述されているPDFを取れるようになったらしい。beautifulsoupを使ってaタグのherfがPDFファイルになっているものだけを抜き出し、抜き出したリンクに振ってある日付とdatetimeから取得した今日の日時とを比べることでどのリンクから取得するかを決める処理にしていたはず。寮食は1週間間隔でPDFにまとめて上げられているので[今日の日時 - リンクに記述されている日時]の値が6以下の時にリンクを取得できるようにした。 f:id:hirarafu:20210405213611p:plain

3月31日

虚無を過ごしていた気がする。 f:id:hirarafu:20210405213759p:plain
とりあえずwith asでファイルにバイナリデータで書き込む処理を追加しただけっぽい。

4月1日

誤字ってる。
ここではpdf2imageを使って、トリミングしたpdfファイルをpngに変換する処理を書いてる。 f:id:hirarafu:20210405214203p:plain
プロジェクトのルートディレクトリにpopplerライブラリを持ってきてそのままコミットしたせいでコミットがえげついことになってる。

4月2日

ここか4月1日らへんでOCRを始める。最初はTesseractを使って画像から文字を取得したりしたが、あまりにも精度が悪かったのでTesseractの代わりにGoogle Cloud Vision APIを使った。 f:id:hirarafu:20210405214901p:plain
Vision APIOCRをした結果、文字の認識精度がほぼ100%だったので、「すげえ!流石天下のGoogle様や!」ってなってた。

OCRを使ってローカルで文をツイートするとこまでできたし、あとはheroku使ってデプロイするだけやな!heroku簡単らしいしすぐできるやろ!!!

4月3日

.....と思っていた時期が私にもありました(遠い目)

pipでインストールしたものはrequirements.txtに書き出して設定すればいいだけだったのだが、pngに変換するために使っていたpdf2imageを使うために必要なpopplerをHerokuに設定するために色々した。 heroku-buildpack-aptとかを使ってpopplerをなんとか設定しようとしたが数時間を溶かしただけで終わった。 f:id:hirarafu:20210405215244p:plain

pdf2imageを使わずにPDFをpngに変換する手段か、はたまた何か別の方法でOCRを行う方法がないかなと思ってググっているとvision APIでPDFを使って直でOCRができることを知った。 ただ、PDFを使ってそのままOCRを行う方法は、GCSに保存したPDFに対して処理を行うことにしか対応してないらしかったので、GCSを使うために公式のGCS記事を漁った。

4月4日

GCSに保存したPDFからOCRを行えるようにした。サンプルコードの意味が分からなかったので公式ドキュメントと照らし合わせて一行一行調べながら読んでた f:id:hirarafu:20210405220334p:plain

4月5日

Herokuにデプロイする時に環境変数としてGoogle Cloudの認証情報を渡すとこで詰まった。GOOGLE_APPLICATION_CREDENTIALSにjsonの中身をそのまま渡したら怒られた。
f:id:hirarafu:20210405220856p:plain

どうやって認証情報を環境変数として渡すか数時間悩んでたが、検索して結構最初の方に目を通した記事に方法が書いてあった。最初に記事に目を通した時はしっかり読めてなかったらしい。ちゃんと読んでないのに読んだ気になるの本当にやめた方がいい。
適当な環境変数jsonファイルの中身を渡して、Heroku起動時に読み込まれる.profileファイルでjsonの中身を渡した環境変数を展開してjsonファイルに書き込む処理を書き、GOOGLE_APPLICATION_CREDENTIALSには.profileに書いたjsonファイルを指定することでうまくいった。

ローカルで日付を変えて色々な条件でコードを動かしてみたところ上手くいったので、デプロイをしてTwitterbotが完成したことをツイートした。

この数時間後にバグを踏んだ。 まじで心臓に悪い。

調べてみるとPDFファイルの原点が右上に来ていたのがバグを踏んだ原因だと分かった。PDFの原点は基本は左下らしいので、PDFの左下から相対位置を指定してトリミングする処理を書いたのだが、今回ネット上に上げられたPDFはおそらく右上が原点になっていたのでトリミングの位置がずれ、OCRで読み込む文字もずれてツイートがちんぷんかんぷんな内容になっていた。

PDFの原点が右上の場合の処理を書いて再度デプロイした。

終わりに

途中で知り合いがたった2日で機能的には同じ(中身の処理はどうなってるのか知らないが)物を作った時は心が折れかけた。が根性で頑張った。
botが完成したのでやっとフロントの勉強に入れる。わーい