Project Fx 2.0

怪文書と備忘録を書きます

大学院修了にあたって6年間(+α)の学生生活を振り返る

卒業式が終わり、学位記をもらった。修士号が降ってくることになった。この3月をもって学生生活をとりあえず終えることになる。良い機会なので学生としての人生を振り返ってみることにする。

といっても、「自分が学生として何を世間に出力してきたか」という話はだいたい以下の記事で書ききってしまっている。

stepney141.hatenablog.com

よって、「自分が学生としていかにして生きてきたか」という、もう少し内省的な振り返りをしてみる。別に自分はこれまで何か大したことを成し遂げてきたわけでもないのだが、だからこそこういう節目でもなければ、こんな世間様にとってはどうでもいいような人間のことなど、公共の目に触れる場で書くことは社会的に許されない。勝手な話だが、世間様の目に触れることを意識して自分のことを書く練習をしてみることによって、自分のこれまでの生き方を反省してみたいと思うのだ。

高校まで

小学生の頃からずっと関数電卓で遊ぶことしか考えていなかった(なんで急に関数電卓が出てくるんだと思った方は上の記事を読んでほしい)。中学受験をして中高一貫校に入り、鉄道研究部とコンピュータ部に入った。どこに出しても恥ずかしくない立派な男子校のオタクだった。

中2あたりの頃からちょっとした持病を患い、ホルモンバランスを大きく崩した。主な症状として、授業中に起床していることができなくなった。さらに私の通っていた中高は、以下の記事で紹介されているようなバリバリの管理型の教育方針だった。この教育は私にはまったく合っていなかったらしく、完全にキャパオーバーを起こした。そもそも以前から自学自習の習慣が身についていなかったこともある。当然の帰結として、成績は大いに低迷を始めた。最近のネットスラングで言うところの「深海魚」というやつだった。

anond.hatelabo.jp

それでもやっぱり関数電卓で遊ぶのは好きだった。「コンピュータ部に入っているから」という理由で文化祭の公式サイト制作の仕事を押し付けられ、やったこともないWeb開発をする羽目になったりもしていた。

ひょんなことから、様々な中高のコンピュータ部の人が集まるイベントに参加したのが人生の転機になった。そこで知り合った人たちとの交流のためにTwitterを始めた。イベントで聞いたLTやTwitterのTLでは、同年代の人々が競技プログラミングや様々な開発に興じていた。私もABCに参加してみたこともあったが、全く歯が立たなかった。何が面白いのかもわからなかった。時期的には、ABCがまだ2桁で、A~Dの4問構成だった頃の話である(今からすると考えられない話だ)。

当時のTwitter中高生パソコンオタクの界隈は大半がAtCoder緑色以上だった。2016~2018年くらいだろうか。彼らはだいたい中学受験の難関中高一貫校のコンピュータ部の人たちで、御三家や、それに次ぐような中受トップ校の生徒だった(当時の中高生パソコンオタク界隈は科オリ・数オリ界隈とかなり被っていたため、その影響もあったのかもしれない)。当たり前のように東大理Iとか京大理・工学部とかに入っていく人も珍しくはなかった。彼らのコミュニティが眩しかった。私の通っていた中高は、少なくとも当時は中の下、いいとこ中の中といったランクだった。中学受験を経て既に学歴コンプレックスを獲得していた当時の私にとっては、競プロは尊敬と妬ましさの象徴となった。とはいえ、競技を目的としないプログラムを書くこと自体は楽しかったし、情報技術の知識を頭に入れていくのは面白かった。

競プロerでもないのに競プロの話が長くなってしまったが、競プロは私にとってTwitterプログラマ界隈への入り口だった一方、強い人に対するルサンチマンの根源でもあったし、強い人と同じものを面白いと思えない自分への自虐的感情の根源でもあったので、書かないわけにはいかなかった。余談だが、今でも私は競プロに対する昏い感情を引きずっていて、未だに競プロは苦しみの対象である。大学入学後、アルゴリズム・データ構造の知識を効率よく身につけるためには競プロをやるべきだと痛感したときも、そのほか競プロ的なスキルが必要な状況に置かれたときも、心理的抵抗感が邪魔をして、結局競プロを始めることはできなかった。それでも、競プロerが書いたアルゴリズム・データ構造の解説記事を見かけると、中身は読まずにブラウザのブックマークに入れる癖は高校生の頃から今に至るまで抜けない。自分にないものを希求して補完したいという渇望、トラウマの裏返しかもしれない。私の親族には大学入試の英語で失敗して学歴コンプレックスを抱え込んだ者がいるのだが、彼が英語の参考書を買ってきては読まずに物置で100冊近く積み上げている様を見ると、自分も彼と同じ事をしているような気がして、自分と彼の両方に対していたたまれない気持ちになる。

閑話休題。この頃、私の持病はさらに悪化し、前にもましてホルモンバランスを大きく崩すようになった。本格的に、授業中に起床していられることができなくなった。朝も昼も話にならないほど眠くて、夜になると多少は動けた。だから昼間に失った部分を取り返すように、夜行性の生活をしていた。夜にしっかり9時間寝た所で、日中にまた9時間寝るような有り様だったから、結局同じことである。それなら動ける時には動いていたほうが得だ。当時の私にとって24時間のうち20時間を夜が占めていた。別にいじめられていたわけではなかったし、友達もまあまあいた。だが、1限から6限までずっと寝ていることすらあった私の姿は、だいたいの教員には呆れられていたし、だいたいの同級生にはうっすらバカにされていた。少なくとも、周囲の視線はそう感じられた。うっすらを超えて明確にバカにしてくる者もいたし、笑ってくるやつも結構多かったから、あながち私の被害妄想でもなかったと思う。こっちは寝たくて寝ているわけではないのだが、生理的欲求に身を委ねているという意味では「寝たくて寝ている」のかもしれなかったし、そういう自分が嫌いだった。周囲の視線を意識するのが嫌で、寝ているふりをして机に突っ伏している時間もあった。学業成績も相変わらず低迷するばかりだった。苦しかった。正直学校になど行きたくなかったが、息子を不登校にはさせるまいという両親の涙ぐましい努力により、私は毎朝あらゆる手段によって叩き起こされて、遅刻をしながらも無理やり登校していた。部活などには(寝てばかりなことを多少いじられても許せるくらいには)仲の良い友達もいたので、実質、部活に顔を出すために学校に行っているようなものだった。そんな中で、コンピュータのことを考えていると現実から一瞬でも目を逸らしていることができた。概日リズムはますます狂うばかりだ。他の人はちゃんと朝起きて夜寝れているのに、と思うと余計に嫌になった。感情をまぎらわせるために、さらにコンピュータに夢中になった。関数電卓で色々なことを計算するコードを書きまくった。「関数電卓で数値予報をする」という、我ながら正気の沙汰ではないコードを書いたのもこの頃のことだ。他の人がやらないような何か奇抜なことをして自分の存在価値を作りたいという感情もあったかもしれない。

stepney141.hatenablog.com

誰にでも時間は平等に流れるもので、周囲の雰囲気に流されるようにして、私もだんだんと受験を意識せざるを得なくなった。なんとなく、大学は情報系かなと思うようになった。進路選択ではなんとなく理系クラスを選び、数IIIと物理と化学を履修するに至った。しかし私は国語だけは何もしなくても(それこそ、授業を全て寝ていても)得点には困らなかった一方、理系科目はどうしてもまるでだめだった。大手予備校のマーク模試を校内受験した際、文系の上位クラスも含めた中で国語では学年7位のスコアを取ったのに対して、曲がりなりにも理系クラスなのに数学と理科は最下位に近い点数だったこともある(成績が返ってきた時、数学教師の担任には珍獣を見るような目をされた)。こんな有り様なのに、なんで自分は理系にいるんだろうと思った。そんな現実の傍ら、TwitterのTLには同年代の競プロerが活躍している様子が毎日のように流れてきて、眩しかった。苦しくもあった。同級生が受験や勉強の話をしているのを横で聞いているだけで辛かった。「数学が全くできないのに、数学が好き」という矛盾に見舞われていた。

大学に行く動機も希薄だった。「高校を出たら大学に行くもの」程度の認識しかなく、大学に行きたいという熱意とか、大学でこういう勉強をしたいという将来像とか、目標・やる気の類を何も持っていなかった。受験勉強にも全く身が入らず、高3の秋・冬にかけてはWebアーカイブ活動に向けての手動クロールとかをやっていた。結果として全落ちしたが、自分にとっては別にどうでもよかった。何もしたくなかった。この頃の記憶はあんまりない。

浪人

受験勉強をしていると思っていたのに実は手動クロールなんてことをやっていた私に対して、家族は怒り狂った。当然である。正直私は大学に興味がなかったので、この時点で就職することも考えていたが、「こんなやつを雇う人間などいない。どうでも大学は出ないと話にならない」という家族の判断で浪人の許可が出た。今思うととんだ親不孝者としか言いようがないが、当時の私は「嫌だなあ」としか思っていなかった。家族の出した条件は「少なくとも今のお前の脳みそでは何年かけようと理系は無理なので、受験先を文系にすること。それも潰しの効く経済学部にすること」というものだった。とりあえず御茶ノ水の駿台に行くことになった。

当時の私は、理系科目の成績は最悪であったくせに、典型的な理系至上主義者だった。少なくとも興味と適性が一致していなかったことは確かなようだ。文系の科目(もっと言えば、人文学や社会科学)が学問としてどこが面白いのか全く理解できなかった。歴史の読み物くらいはまあまあ好きであったが、自分で勉強しようという気にはなれなかった。理系でないという時点でどこの大学のどの学部にも興味がなく、どこだろうと等しくどうでもよく思えた。精神状態の裏返しなのか、この頃東京が無性に猥雑な街に感じられるようになり、東京を離れたくなった。予備校の受付で渡されたパンフレットを見て、「東京の対義語であるから」くらいの理由で京大文系を目指すクラスに入った。まあ案の定というか、この1年後の京大入試は普通に不合格となったのだが、後述するように、このクラスを選んだことは人生の転機になった。

この頃になっても持病はまだ続いていた。24時間中20時間が夜という状態は脱していたが、それでも15時間くらいはまだ夜だった。予備校の授業中に寝て、周囲の顰蹙を買った(らしい)こともしょっちゅうだった。予備校の同じクラスの人と話すことなどなかったので、後になって風の噂で聞いたことでしかないが。そこらの大学生よりも怠惰な生活を送っていた。神保町の古書店街を冷やかすことを覚えたのもこの頃だった。全国模試を寝てすっぽかし、駿台の教務からかかってきた何回目かの電話で、やっと午後4時に起き出したこともあった。眠さとは関係なく、不意に平衡感覚を失うと同時に、顔面の右半分が引き攣って痙攣することも時々あった。無性に激辛の飲食物を欲するようになり、週5で北極ラーメンの辛さ2〜3倍を大盛りにして食べ、腹が焼けるように熱くなる感覚を楽しんでいた。今思うと、当時の自分はそれなりにストレスを溜め込んでいたらしい。夜中に不安と怒りがこみ上げてきて、床を転がりながらありとあらゆる生命の死を願ってみたこともあった。因果関係があるはずもないが、その翌日に京都アニメーションの放火事件が発生して憔悴した。この事件以降、私のメンタルヘルスは坂道を転がり落ちるように悪くなった。

浪人して得られたものもあった。理系至上主義だった私にとって、言うまでもなく文転はかなり不本意だった。文系の学部で自分が4年間も生きていける気がしなかったからだ。国語と英語くらいしか得意な科目がなかったというのに、皮肉な話だったと思う。人文嫌いを作った原因の1つは、中高の古文・漢文の授業だった(今思うと、古文の担当教師に睡眠のことをちょくちょくいじられていたことへの嫌悪感も、古文嫌いに繋がっていたかもしれない)。動詞やら助動詞やら句型やらの意味不明な表をいくつも丸暗記させられたかと思えば、現代日本語とかけ離れた大量の語彙を丸暗記させられ、果ては品詞分解やら返り読みやらという、およそ人間が文章を読む術とは思えない方法の利用を強制される。言語や語学に興味のある人は「そこが面白いんだよ」と思うかもしれないが、私は人間の言語の体系に関心がなかった(現在は多少なりとも言語に関心を持てるようにはなったが、それはあくまで言語で書かれた内容への関心の延長でしかなく、今でも人間の言語体系それ自体にはあまり魅力を感じない)。私は興味のないものを無理やり覚えることを極めて苦痛に感じる人間なので、もちろんこれらを暗記することなどできなかった。内容面についても、授業で主に扱われるのはだいたい和歌やら源氏物語やらで、男と女がじめじめと乳繰り合っている様など読んでも何も面白くなかった。従ってこんな意味不明な教科など大嫌いであったし、こんな文章を弄んで喜んでいる国文学者どもはおよそ人間ではないか、さもなくば人類の敵かなにかであるように思われた。

高校までは理系なのでそれでもよかったが、文系となるとそんなわけにはいかない。私は吐き気を我慢しながら古文の初回授業に臨んだ。京大文系クラスを担当する古文講師は、水木しげるに磯野波平を描かせたらおそらくこうなるであろうというような、細縁メガネと見事なハゲ茶瓶の頭部が特徴的なジジイであった。この講師は「古文は人間の書いた言語である。品詞分解に頼らず、古文を原文のまま読めるようにならなければならない」「古文単語帳というものは語彙を単純化しすぎていて、まるで古文読解の役に立たない。古文単語を覚えるなら、古語の辞書を頭から尻まで通読して覚えるべし」といったことを語っていた。衝撃だった。古文もたしかに人間の書いた言葉であることには変わりない。であるなら、現代文や英語などと同じようにして、ひとつの自然言語として読み下すことができるはずなのだ。後から知ったことだが、この講師は理系出身ながら大学院で文転し、女子大の文学部で国文学者の職を得ながら予備校も長年兼任しているベテラン講師であった(私立女子大の国文学教授職は、戦後の人文アカデミアにおける伝統的なキャリアパスのひとつであった)。昭和の人文系アカデミア文化と予備校文化の合いの子のような人だったとも言える。ベテラン講師ゆえに喋りが上手で、予備校や大学に関する漫談めいた雑談も交えながら、折りに触れて平安貴族の価値観・生活習慣・人生観などを解説してくれた。古典の世界が身近になった。この講師は、源氏物語などの王朝物語群が大嫌いと公言して憚らなかったのも痛快だった。自分も源氏物語の何が面白いのか全くわからなかったからだ。彼の授業で説話集という概念に触れたことで、平安期の物語というのは源氏物語のような代物ばかりでないと知り、古文の「内容」の面に対しても興味を持つことができた。『宇治拾遺物語』の文庫本を書い、原文を通読することを数回繰り返すことで、古文を通読する時の頭の使い方のようなものはわかるようになった。ともかく、この講師の喋りを通じて「"文系"ってやつも案外おもしろそうだな」と心を開いた面があると思う。古文がわかるようになると、漢文に対する苦手意識も薄れた(この漢文講師もやはり教え方がうまく、そのおかげで漢文を読むときの頭の使い方を理解することができ、そうすると句型を覚えることも苦ではなくなった)。

数学の成績についても、浪人によってだいぶマシになった。文転したことで数IIIを回避することができ、結果として数IAIIBの時点でつまづいていた箇所を集中的にケアできたことも幸いした。「理系科目を伸ばしたいなら駿台がいい」という巷説がよく囁かれるが、少なくとも私の場合は確かにその通りだった。なお、英語については、駿台の授業はまったく私には合わなかった。英文を文法的見地から精読することの重要性はわかるのだが、駿台の英語教育カリキュラムはそれがあまりにも徹底しすぎていて「読解」というより「解体」の域にあるように感じられた。私にとっては、そこに古文の品詞分解に対して抱いたような嫌悪感を覚えずにいられなかった。また、1つの文を読むためだけに日本語による長大な分析を介在させすぎていること、解説されなくても理解できる文に対しても原理主義めいて日本語への全訳を強制されることにも違和感を覚えた。私には「文法知識を学びつつ1人で多読する」という英語学習法の方が合っていたようで、それを実践することにして、そのうち私は駿台の英語構文やら英文解釈やらの授業には出席を避けるようになった(英文解釈の授業を担当していた、ドワーフのようなベテラン講師の言動に様々な不信感を抱いたという事情もあった)。

まあ、全体的に見て私の成績は少しずつ良くはなっていたが、クラスの掲げる第一志望校に通過するための学力へ届くには、悲しいかな成長曲線が緩やかすぎた。メンタルヘルスは最悪のままだったし、そもそも大学に行って何をしたいという目標もなかったので、勉強を続けるモチベーションも著しく低かった。他にやることがないという惰性で予備校に行き、入試対策をしていたように思う。精神状態のせいか発達的な特性によるものかはよくわからなかったが、脳内の歯車に何か挟まってフル回転してくれないような感覚も1年中ずっと抱いていた。そんなこんなで迎えた国立前期は普通に落ち、滑り止めに3つか4つほどの学部を受けた早慶もうまくいかず、最終的に上智大学の経済学部に吸い込まれることになった。上智大学の入試の英語は現代英語全部盛りのような出題内容なので、そこが多読による英語学習と親和性のあった自分の脳の特性とマッチしたのかもしれない。

学部

国立の前期入試の頃から、Covid-19の流行が始まった。最初は半年くらいで収まるものと思っていたが、蓋を空けると学部での4年の間ずっとコロナに振り回されることになった。大学入学と同時にオンライン生活の嵐が吹き荒れたせいで、上の世代が体験していた色々な出会いや学びを諦めざるを得ないタイミングもあった。それはそれとして、40代以上の人に「今の大学生はかわいそうだねぇ」などと言われて殺意を覚えたことも一度や二度ではなかった。貴様らに何がわかるというのか。

Covid-19を受け、上智大学は春学期授業の開始をなんと6月頭にまで伸ばした。春休みの間、大学から課された自習課題もいくらかあるにはあったが、それらも大した量ではなく、ずっと家の中で過ごすばかりの暇な毎日であった。やっと授業期間が始まったかと思えば、必修の経済学の授業はどれもこれもはっきり言って全く面白くなかった。この頃になると、やる気スイッチさえ入れることができれば、全然面白くない授業でもテスト前の一夜漬けで単位をもぎ取れる程度の学力は得ていたので、まあどうにかなった。スイッチを入れられなかった授業は落とした。

経済学という分野に初めて触れてみて意外だったのは、経済学というのが意外と数理的な操作を多用する学問だということだった。入試で数学を課しているとはいっても数学に抵抗のある学生が多いので、本質的に数式の操作を必要とする箇所は、授業でも巧妙に隠蔽されて定性的な説明に留められていた(そのせいで、むしろ理解しにくくなっている箇所もあった)。とはいえ、それでも2変数関数の偏微分くらいは全学生がとりあえず計算できないと困るということらしく、数IIIの微分と簡単な偏微分を扱う経済数学の授業、それに統計学の授業が必修とされていた。一応は数IIIの履修経験があったので、ここで苦労せず単位を取れたのは幸いだった。

1年生の前期で経済学の授業をいくつか受講した結果、経済学だけやっているのでは自分はあと3年間もやっていけないと判断した。扱われている内容はともかくとして、経済学に数学が絡んでいるなら「なぜ数式でこれをモデリングできるのか」を考えることによって、経済学をどうにか好きになろうと努力してみることにした。同時に、卒業に不要な単位であっても興味を惹かれた授業をできるだけ沢山受けることにした。

浪人したことによって人文学・社会科学に対する心理的抵抗は既に取り除かれていたので、人文系の科目も色々と受けてみることにした。第二外国語は、どこでも勉強できるようなものは面白くないと思ったので、ラテン語を履修することにした。上智大学は神学部があるためか、あるいはキリスト教哲学の研究者が多いことによるものか、伝統的に第二外国語としてラテン語が開講されているのだ(ヘブル語・古典ギリシャ語の科目も文学部では開講されているようだったが、経済学部の第二外国語として参入することは出来ないようだった)。さらに、各種の概論系の授業(言語学とか社会学とか文化人類学とか)や、カンタベリー物語を中英語の原文で読解する授業、辞書学(そういう学問が世の中には有るらしい)の入門授業、音声のデジタルアーカイブを使った大正・昭和期の日本文化史、芸術メディアのアーカイブ論などなど、履修登録のたびにシラバスとにらめっこしながら、結構色々な授業を取っていた。特に、文化人類学の授業のおかげで私の人文学に対する抵抗感のようなものは完全に取り除かれたように思う。担当教員は非常に授業の進行がうまい人物で、その語り口のおかげで「数理モデリングしにくい媒体に対して人類はどう立ち向かうべきなのか」ということを考えさせてくれるきっかけをくれた。

理工学部の授業を履修することも忘れなかった。代数学入門とか、数理ファイナンスとか、ルベーグ積分と測度論とか、離散数学とか、正規表現とオートマトンの理論とか、データ構造とアルゴリズムとか、取れるものをそれなりに取っていた。とはいえ、文系科目ほど幅広い履修は叶わなかった。というのも、上智大学の理工学部は他学科履修を許可しない授業が多かったうえに、情報理工学科のカリキュラムははっきり言って貧弱そのものだったのだ。仕方ないので大学教養レベルの解析学や線形代数は独学していたが、正直あまり体系的に学べた気はしない。大学側が理系に力を入れていないことの裏返しなのか、理系学生の質も平均的にはあまり良いとはいえなかった。よく「文系大学生は理系大学生に比べて不真面目だ」という主張があるが、こと上智大学に関してはこれはまったくの誤りだった。授業中に私語をする学生など経済学部や文学部などにはあまりいなかったのに対して、情報理工学科ではどの授業に出ても毎回のように私語がそこら中から聞こえていた。いわゆるパソコンカタカタオタクという類の生物は皆無だった(いるところにはいたのかもしれないが、少なくとも私は4年間でついぞ出会うことはなかった)。優秀な学生はだいたい東京理科大学に吸われていってしまうためかもしれない(上智の情報理工にも真面目な学生は決していないわけではないことは付記しておきたい)。

コロナで通学が制限され、暇な時間が多かったことは、人生の転機のきっかけを作ってくれたりもした。以下、セキュキャン・ネクストの応募課題晒しから引用。

大学入学後、私は2つの体験によってゲームAI・ゲーム情報学に興味を持った。体験の1つ目は、世界最大の盤上遊戯「大局将棋」を対局したことである。私は大局将棋のネット対局サイトの存在を知り、知人とのオンライン対局を試みた。しかし、ゲームの規模があまりに巨大なためにゲームの展開が遅く、先方が飽きてしまったため、結局十数手しか指せずに終わってしまった。この経験で、私は「計算機ならば飽きずに相手をしてもらえる」と考えるようになり、ゲームAI分野や強化学習技術に興味を持つようになった。体験の2つ目は、様々な盤上遊戯の存在と、それらを上手くプレイするゲームAIの実現の難しさを知ったことである。私は大局将棋について調べるうちに、かつての日本では現在の将棋とは異なる様々な古将棋が遊ばれていたことや、世界では古今東西で莫大な数のボードゲームが遊ばれていたことを知った。例えばチェスという一見ごくありふれたゲームを一つ取っても、歴史的変種や現代に生まれたフェアリールールが数多く存在するのである。このような盤上遊戯の世界の多様さ・奥深さを知った私は、「廃れたゲーム・競技人口の少ないゲームを計算機に上手くプレイさせたい」という考えを持つようになった。こうした経緯から、盤上遊戯の変遷を定量的に分析する研究アプローチや、汎用的なゲームAIを目指す「General Game Playing」という人工知能研究の一分野に興味を抱くようになった。

もしコロナで暇な時間ができなかったならば、大局将棋などやってみようとは思わなかっただろう。ちなみに、この「大局将棋のネット対局サイト」とは将棋ったー (shogitter.com) のこと。

B2の秋になると、B3・B4で配属されるゼミかを決めなくてはならなくなった。開発経済学のゼミ、日本の経済成長を分析するゼミ、地方創生を扱うゼミ、学生向けの政策提言コンテストに出るゼミなどが人気のようだったが、どれも興味がなかった。理工系っぽいことができるゼミを探し、最終的に「経済学者の教員がやってる計量経済学のゼミ」「工学出身の教員がやってる統計学のゼミ」の2択に絞って、後者を選んだ。このゼミは、表向きは統計学や数理工学を学べるということになっていたが、実態としては極めて自由で、学問の枠組みで分析できる対象であれば何を勉強してもよいということになっていた。上智大学の経済学部において数学に興味を持つ学生というのは珍獣のようなもので、学年に10人いれば多いほうと言えた。そんな環境で統計学のゼミを開講するためには、こうした寛容な精神が必要なのかもしれない。私は水を得た魚のように、ゲーム情報学の論文や研究紹介のスライドを毎週作って発表していた。指導教員はもちろんゲーム情報学の専門家ではなかったので、ほぼ独学に近い状況ではあったが、自分のやりたいことを自由にやってよい環境の恩恵にあずかることはできた。

Twitterで繋がっている同年代の理系学生が当然のように院進を選択肢に入れているのを見るにつけ、私もミクロ経済学かゲーム情報学かで院進をしたいという気持ちが日に日に強くなっていった。どのタイミングで理系修士への進学を決意したのかはよく覚えていないが、経済学で院進する選択肢とだいぶ悩み、最終的に経済学で院進してもモチベが続かないであろうという確信を得たことはTwitter上に記録が残っていた。

ゲーム情報学をやれる大学というのは、首都圏だと東大と電通大と明治大くらいしかない。しかも、それぞれ対応する研究室は1~2個に限られる。院試対策のキャパシティを考えて、東大でゲーム情報学ができる研究室2つに絞って受験することにした。うち1つは落ち、もう1つに合格した。ゼミの修了のため、「ゼミ論文」という名目の長めのレポートを書くことになった。私はネタにさんざん迷った末に、チェスの状態数を統計的に推計するHaskellのプロジェクトを発見し、これの追試をして提出した。こうして4年間が終わった。

github.com

修士

私の配属された研究室は、指導教員のほかに博士学生が1人だけで、修士の同期は自分のほかにたった1人という、かなり小規模な研究室だった。他の研究室の人たちとの交流といったものは実質的にほぼ皆無だった。Twitter、Discordのほか、TwitterのFFの某氏に誘われて入ったコンピュータ系のサークルが結構重要な憩いの場となった。研究室は駒場にあったが、研究科の方針で他学部・他専攻の授業の履修が推奨されていたので、駒場や本郷の色んな講義を履修していた。それでも興味のないことにやる気が出ないタチは相変わらずで、自専攻の選択必修の授業を落としたりしていた。

当初は盤上遊戯の変遷を \frac{\sqrt{D}}{B} という指標に基づいて分析するというテーマを考えていた。

しかし、進学後の指導教員との面談で「その数値は根拠が薄弱なので修論まで持っていくのは難しいかも」というアドバイスがあった(実際、この評価は妥当だった)。General game playingについても、やれることはだいたいやり尽くされていて、何か意味ある研究を2年で出すのは難しそうだということがわかった。そこで指導教員から提案された「5五将棋の弱解決」というテーマに取り組むことになった。この関係で、M1に入ってしばらくはFairy-Stockfishというプログラムのソースコードを読んだりしていた。しかし、なかなか進捗がない。そこで、指導教員から新たに提案されたのが「5五将棋の状態数の推計」というテーマだった。本当に偶然にも、私が学部のゼミ論文で選んだのと同じ内容だった。というわけで、このテーマで2年の間、研究を進めることになった(M1を終えた段階で研究テーマを弱解決に戻す選択肢もあったが、最終的には卒業まで同じテーマで突っ走った)。

このように行きあたりばったりでテーマがコロコロと変わっていったこと、さらに学部でろくな研究活動を経験していなかったこともあって、何をやったらいいのかわからないという感情でいっぱいだった。ゲーム情報学はコンピュータ・サイエンスの総合格闘技のようなところがある。競技プログラミング的な実装力とアルゴリズム/データ構造の知識がないとお話にならない。自分はこの辺のトレーニングを今まで積んでこなかったので、完全に自信を喪失して半分病んでいたときもあった。指導教員の実装力とアイデアを打ち上げる力が卓越しすぎていて、自分の存在意義に悩んだことも十度や二十度ではなかった。M1のときに研究会で賞を頂いたこともあった。しかし私の自認としては、自分の実力が伴わないまま指導教員に手取り足取り指導されてどうにか形にさせてもらったような研究だったので、賞をもらったことがかえって自分の無能さの象徴のように思えた。M2の夏ごろになってからやっと吹っ切れて、研究に全力で取り組めるようになった。この辺りのテーマの転換で色々悩んだせいでM1の後半とM2の前半に特に何もできず時間を無駄にしてしまったのは後悔している。結果的には、指導教員に提案されたテーマをもとに3回も発表して、修論までも書くことになったわけで、人生何があるかわからないものだと思う。

M1の冬ごろから就職活動を始め、結構大変な思いをした。詳しくは以下の記事に書いたので省く。

stepney141.hatenablog.com

学生の間にやっておけばよかったこととして、以下のようなものがある。

  • もっと大学図書館を使い倒したかった。
  • もっと色々な学内外のコミュニティに参加すべきだった。
  • もっと色々な授業を受けておくべきだった。
    • 特に、指導教員の担当している Open Data Structures (みんなのデータ構造) を自分で実装する授業は、シンプルに勉強のため履修すべきだったかも。後の祭りだが。

なぜD進しないのか

修士2年間を過ごしてみて、D進してみたいなと思ったタイミングは何度かあった。しかし、色々な理由で新卒就職をすることにした。既にD進した(あるいはD進を決めた)知人からは「ゆみやさんもD進しましょうよ」と誘われることもあるし、修士で就職した友人に「お前はそのうちD進してそうだな」などと言われることもある。研究会でよくお会いする某先生には「進学しないのはちょっともったいない気がする」という、それこそもったいないような言葉をかけて頂いた。ともあれ、この決定の背景には以下のような思考があった。

  • 博士を取るということは、専攻分野のどこかについては指導教員を超える水準の研究能力を得る必要があることを意味する。しかし自分の指導教員の姿を見ていると、そんなレベルに自分が自力で到達できるか自信を喪失した。
    • 私は情報科学の専門教育を学部で受けていない。情報系プロパーでやってきた人に比べて、コンピュータサイエンスの基礎知識や、根本的な数理的能力が劣っていることを実感するタイミングもたくさんあった。この体たらくのまま、あと3年ぽっちで博士を取るのは無理ではないかと思った。
    • 修士2年間の成果も指導教員の助力によるところが大きかった。まあ「指導」なのだからそういうものかもしれないが、自分の出来なさを否応なく直視することになり、これでいいのか?と自問自答することも多かった。
  • 自分のいる研究室は学生が少なく、1年に1人入ってきたら多い方といったところである。複数人の学生がいる年度であっても、各々が全く異なる研究テーマを選んでいるので、対等な立場で議論できる相手というものがいない。他の研究室の学生との交流も少ない。すなわち、実質的に指導教員とのマンツーマンのようなものである。自分よりも圧倒的な能力を持つ指導教員とのマンツーマンである。指導教員は本当に温厚で懇切丁寧な指導をしてくれる人だが、このマンツーマンを2年続けてきて何度も気が滅入ったことがある。今後も同じ環境に身を置いて博士3年間を過ごすと、決定的に病みそうな気がした。
  • 指導教員に「博士進学はオススメしない、少なくともこの専攻でそのまま進学するのはやめたほうがいい」と言われたことも後押しになった。指導教員の挙げた理由は以下の通り。
    1. 理由は不明だが、この専攻の博士学生は、他の情報系の専攻と比べても中退・休学率がなぜか有意に高い。
    2. 指導教員は定年が近い。1.の理由から、私が博士進学して休学する事前確率はそこそこ高い。休学して在学年数が延びた場合、指導教員の定年のため研究室を移ってもらわないといけなくなる。そうなると同じ研究がスムーズにできるとは限らず、私のためにならない。
    3. ゲーム情報学の研究で博士を取っても、少なくともアカデミアには就職先がない。ゲーム情報学の教員を募集している大学・研究機関はまず存在しないので、情報系の他の分野においても研究・指導・教育をできるようにならないといけない。
  • 博士を出たとしても、その後の人生をどうすればいいか将来が見えなかった。ゲーム情報学はアカデミアにおいてすら職のない研究分野だというのに、どうして民間就職で雇め口があるというのか。専門分野を生かさない就職もありうるが、20代を犠牲にするのに見合うリターンが得られるほどのキャリアではなさそうだった。
  • 家族は私の修士進学を許可してくれ、学費も負担してくれた。しかし私の家族はもうすぐ前期高齢者である。家族と私自身の今後を考えると、とりあえず金を自分で稼いで自分で生活できるようになりたかった。
    • 学振とか奨学金の制度が色々あるだろ、と思う人もいるかもしれない。でもそうした支援制度のお世話になるという道は、「授業料を払う学生」という身分を30歳近くまで続けながら生きる息苦しさを伴いそうだった。

そもそも、私はアカデミアに就職したいわけではない。アカデミアの息遣いを間近に感じてはいたいけれど、アカデミアの世界に頭の先まで浸かっていたいわけではない。単に私は趣味で研究したり実装したりしていたいだけなのだ。情報科学の中でも、ゲーム情報学というのは極めて在野性が高い分野である(と私は思っている)。だとすると、D進して自分が得られるメリットというのがどれほどあるのかという疑問も生じてくる。博士があると好都合なこともあるかもしれないが、そうなったらその時に考えよう。とりあえず今は、銀行口座の残高を満足の行く値にまで増やしておきたい。

将来への展望

皆無である。有るわけがない。自分の属する情報系のコミュニティでは、SIerは就職先としてお世辞にも人気とは言えない(大手であってもだ)。周囲の学生は誰も口には出さないが、ぶっちゃけみんな「産業としての存在意義はわかるけど、自分ではSIerには行きたくないよね」と思っているのではないだろうか。情報系の知人たちはみな実装力を身につけてどっかの有名メガベンかGoogleに吸い込まれてしまうか、もしくはD進してしまった。寂しい限りである。

不安もある。自分はSIerの環境にうまく適応できるだろうか。無能を晒すことになりはしないだろうか。先行きは不透明だ。将来のことなど何もわからん。わからん以上は、とりあえず飛び込んでみてから考えるしかない。今までもそうだったし、これからもそうしていくと思う。

ここに書いていない出来事も含めて幼少期からの半生を反省、もとい反芻してみると、私は自分の所属する集団の中でいつも成長が遅れている部類だった。喋るのも、歩き出すのも、同世代の子供より人一倍遅かった。根拠はないが、おそらくこれからもそうであろうという感覚がある。「人間の一生で思考力が一番高まるのは20歳前後」という巷説がある。浪人・留年していない人は大まかに25~27歳を博士課程で過ごす。おそらく多くの人はその辺で知能の最盛期を迎えるのだろう。しかし、私の場合、なんとなく生まれた頃から脳みそにデバフがかかっているような感覚があり、歳を重ねるごとに少しずつデバフが剥がれていっている。今よりもっとデバフが剥がれて人様と同程度に達するのは、なんとなく30歳頃になるような気がしている。

ともあれ、今までの人生よりもこれからの人生の方が長い。それならその分、これからもっと良いものを世界に出力できるよう目指したいと思う。

Rustの将棋系ライブラリまとめ【2025年12月版】

この記事はLipersInSlums Advent Calendar 2025 第11日目、およびTSG Advent Calendar 2025 第12日目の記事です。完全に忘れてた。

adventar.org

adventar.org

最近は修論に追われる毎日を送っているので今日はObsidianのメモを目標30分で小粒な記事に持っていきます。これが終わったら修論の冒頭で研究の意義を説明するロジックをもうちょっと色んな典拠で補強したいので、ChatGPT Deep Researchと壁打ちする予定です。ところでGPT 5.2と5.1って何が違うんですかね。値段は違うみたいですが(ほんまか?調べとらんから知らん)。

世間的には師が走る季節かもしれませんが、院生だってこの時期は走るのです。血を吐きながら続ける悲しいマラソンです。そういえば最近NHK BS4Kでウルトラセブンの再放送やってるみたいですね。キエアァァ!!!キエアァァ!!!疲れた。

秋ごろから研究でRustを書くようになり、去年の将棋関係の研究で使ったPythonの実験コードを手慰みにRustへ移植してみたりもしました。その流れでなんとなく「そういやRustの将棋ライブラリって何があるんだろうなー」と思ったので調べてみました。私はゲーム情報学を専門としてはいますがコンピュータ将棋の事情には明るくないですし、Rust初心者なので、ソースを読み違えてたりして間違ってる情報を書いてる可能性は大いにあります。もしそういう箇所があったらごめんなさい。

はじめに

Rust製の将棋エンジンとしてはAperyが有名です(というか私は他に知らない)。1分でググった限り、WCSCとか電竜戦には他にもRust製の将棋エンジンが出場しているようです。

github.com

ところで将棋エンジンと将棋ライブラリの違いとは何でしょうか。一般的に将棋ライブラリというのは、将棋のルールを表現したドメインロジック(合法手生成とか反則判定とか)を抜き出して、第三者が使えるライブラリとしたものです。これ単体で将棋ソフトになるわけではなく、これを元にして独自の思考ルーチンを実装したり、評価関数とか定跡とかに工夫を加えたりするわけですね。他言語で言うとcshogiとかpython-shogiとかはまさしくこれです。

これに対して将棋エンジンというのは、一般的にはUSI入出力機能だったりその作者独自の思考ルーチンだったり評価関数だったりが込みになっています。有名なやねうら王とかはこれにあたります。それ単体でソフトウェアとして閉じていて、一つの製品として完成しているわけです。よってライブラリとしてgit cloneしてすぐ使えるようなものではありません。

まあぶっちゃけコンピュータ将棋の世界では両者の境目は実は極めて曖昧で、(外部ライブラリとしてready-to-useでない)将棋エンジンをforkして自分なりの改造を加えて自分のソフトとして仕上げるようなことも一般的なので、一概に何がどっちに属するとかは言えないのですが。

shogi (crate)

  • shogi - crates.io: Rust Package Registry
  • shogi-rs とも
  • ビットボードベース
  • ローレベルのビットボード操作メソッドは沢山提供されているが、get_moves() みたいな感じでパッと合法手リストを列挙するようなメソッドはなさそう? Position::move_candidates() というのはあるけど
  • そすうぽよ氏によるとめっちゃ遅いらしい
    • 特に千日手判定が遅く、そこが足を引っ張っていて盤面遷移操作の速度自体が遅くなっているらしい

shogi_core (crate)

yasai

haitaka (crate)

  • haitaka - crates.io: Rust Package Registry
  • "a Shogi move generation library written in Rust that aims to support fast move generation."
  • チェス960用のライブラリを将棋用に移植したものらしい
    • チェス960というのはこれね; チェス960 - Wikipedia
    • 要するに初期配置をシャッフルできるチェスのことです
    • どうせ改造するならクレイジーハウスチェス (持ち駒ルールをつけたチェス) のプログラムでよかったのではないかという気もするが
  • Qugiyの縦型bitboardを採用しているらしい
    • yasaiもそうみたいだけど
  • haitakaってなんやねんと思ったが実在する鳥らしい
    • ハイタカ - Wikipedia
    • READMEの "Name" の項を見ても、日本語ネイティブ話者のネーミングセンスではなさそう

usiagent (crate)

monster-chess (crate)

  • monster_chess - crates.io: Rust Package Registry
  • チェスのほか、将棋を含む複数のチェスライクゲーム (というか変則チェス) の合法手生成を行うライブラリ
  • 特定のゲームに特化していない、しかもエンジンではなくライブラリというのは極めて珍しい

nshogi

おわりに

色々書いてきましたが、私の研究のコードでは初期配置から終局まで時間が流れていく正方向探索ではなくて、どっかの時点でのある局面がドンと与えられた時、それを1手前に巻き戻し続けて初期配置に至ることができるか?という逆方向探索をやっています。ゲーム情報学の世界における似た概念としてはいわゆる後退解析 (retrograde analysis) というものがありますが、あれは勝敗のゲーム値を決定するためにおこなうものなのでちょっと違います。ともあれ、普通の将棋プログラムのbitboardテクニックは私の実験用コードでは使えなさそうなので、どうしたもんかなと言う感じですね。

いかがでしたか?Rustの将棋ライブラリはとてもたくさんあることがわかりましたね!明日は10代から90代までの人類またはそれ以外が何らかの記事をどこかに書く、または書かないみたいです。お楽しみに!

この記事の所要執筆時間は結局約75分でした。修論の10倍くらいの文字数 per minutesを叩き出しています。

自分がセルフホストしているソフトウェア環境まとめ【2025年12月版】

この記事は、TSG Advent Calendar 2025 第3日目の記事です。

adventar.org

数年前からVPSでいくつかソフトウェアをセルフホストしていましたが、先日引っ越して10Gインターネット環境を手に入れたことで、ネットワークの制限を気にせず自宅サーバを運用できるようになり、自宅で動かせるアプリケーションの選択肢が大きく広がりました。

stepney141.hatenablog.com

自分用の記録と、時々ネットで見かける「自宅サーバって何に使うの?」的な質問への自分なりの回答を兼ねて、現在のセルフホスト環境を簡単にまとめてみます。

前提 (インフラの構成)

まあ自宅サーバと言っても今のところSynology NASでちょろっと遊んでるだけです。

よく自宅サーバの入門機として紹介されることも多いSynology NASですが、次のような欠点があります。

  • CPU性能が低い
  • スペックの割に高い
  • 一般的なLinuxシステムと異なる箇所が多く、扱いにくい
    • 好きなソフトウェアを入れたくても環境構築がうまくいかないことがある
    • カーネルバージョンも古い
    • コマンドラインツールを動かす際、同じバージョンでも他ディストリと挙動が異なる場合がある
    • dockerを使えばある程度は環境の差異を吸収できるが、コマンドラインツールをちょっと動かすのにもdocker-compose.ymlを書く羽目になり、つらい

色々な見解があるかとは思いますが、私が次回NASを更新するときはSynology製品を買うことはないでしょう。自作PCかミニPCをNASに仕立て上げた方が効率がいいです。今後ミニPC (あるいはNUC、ThinkCentreとか?) も導入して、より幅広い処理を自宅で行えるようにできたら良いですね。

外部からのアクセスはTailscaleにかなり依存しています。自分しかアクセスできないプライベートネットワーク網を簡単に構築できるのがこの上なく便利です。独自ドメインを持っているなら、DNSのAレコードにTailscale IPを登録しておくと「Tailscaleに接続しているときだけ独自ドメインにアクセスできる」という挙動を実現できます。Tailscale IPそのものは外部に晒されはしますが、認証しなければ接続できないのでセキュリティ的にも安心です。

Synology NASでTailscaleを動かす場合、追加の設定が必要です。

tailscale.com

また、Tailscaleを介して独自ドメインでNASにアクセスする方法として、以下が参考になりました。まあ要するにSynology NASのリバースプロキシを有効にすれば良いんですが。

github.com

広告ブロック (AdGuard Home)

広告ブロック用のDNSフルサービスリゾルバを使ってます。

github.com

特にモバイル向けサイトで顕著ですが、最近のインターネット広告は本当にひどいです。広告収入が必要なことは理解できますが、ユーザの閲覧体験を大きく損なうほどの尋常ではない量の広告が挿入されるとなると話は別です。その辺を防ぐために入れてみました。

画像・動画ビューワ (immich)

よく「セルフホスト版のGoogle Photo」と紹介されるソフトです。他にも同様のソフトは色々とありますが、個人的にデザインと軽量さと開発の活発さが気に入ったのでこれにしました。

Synology NASに導入する場合は以下のリンクを見ておけば大丈夫だと思います。結構頻繁にアップデートがあり、今後設定方法が大きく変わる可能性もあるので要注意です。

immich.app

note.com

便利な機能として、NAS側のディレクトリを読み込み専用の外部ストレージとしてImmichにマウントする仕組みが元から用意されています。万が一操作ミスをして、Immich側で画像ファイルを書き換えるような操作をしてしまっても、これなら安心です。

さらに、下記のユーザ拡張を使うと、外部ストレージのディレクトリ階層をImmichのアルバムとして登録できて検索しやすくなるのでおすすめです。

github.com

欠点は新興ゆえに機能がやや限られていることです。Google Photoの代替となる画像ビューアとしては問題ない使い心地ですし、リリースのたびにものすごいスピードで機能が追加されてもいます。しかし私の求めている機能「アルバム・フォルダを指定してタグ検索する」がなかなか実装される気配がないのと、タグ検索の速度にちょっともたつきがある点に不満があるので、検索専用の別ツールの導入を考えています。

github.com

分散Webアーカイブ環境 (ArchiveTeam Warrior)

以下の記事で紹介したソフトウェアを常時起動させています。

stepney141.hatenablog.com

IRCクライアント (thelounge)

IRCのWebクライアントを提供するOSSです。CUIクライアントをtmuxなどで常時起動させておく手もありますが、スマホからでもブラウザで閲覧したかったのでこれを選びました。と言っても教えてくれたのはChatGPTですが。

thelounge.chat

先述したArchiveTeamは連絡手段としてIRCを使っているので、その対応としてこちらを使っています。

電子書籍・PDFリーダー (komga)

色々選択肢がありますが、自分は以下のツールを使ってます。

komga.org

もともとは技術書典で買ったPDFを簡単に閲覧できる環境が欲しくて導入しました。公式サイトから自分の買ったPDFを自動でダウンロードするツールを自作した上で、そのデータをNASに格納し、保存先ディレクトリをdockerコンテナにマウントして使っています。

github.com

ひとつ問題があり、それはメモリを食いまくるということです。常に1.5~2GBくらいを占有します。同程度のツールで、もうすこしパフォーマンス的にマシなプロジェクトがあればそちらに移行したいです。

Obsidian Self-hosted Live Sync

最近流行りのObsidianを私も使い始めたのですが、複数端末間の同期を簡単におこなうためにはObsidianに金を払う必要があります。金を払わない代わりにGitHubやGoogle Driveを使って頑張る方法もあります。

pouhon.net

私が選んだのは、Self-hosted LiveSyncというObsidianのコミュニティプラグインを使う方法です。下記のドキュメントの方法をそのままなぞれば設定できます。

github.com

作者が日本人の方なので日本語のドキュメントも用意されていますが、ここに罠があります。日本語ドキュメントはメンテナンスされておらず、情報が古いので、アテにしてはいけません。必ず英語版ドキュメントを参照するようにしてください。

お気に入りのイラスト / 動画類のダウンロード

好きだったイラストや動画がインターネットから消えてしまうという現象はよく起こります。原因は絵師や投稿者の気まぐれだったり権利者削除だったり色々ですが、ともあれコンテンツがある日突然消えてしまうのは悲しいことです。そうした悲しみを回避するため、各種プレイリストやブックマークを走査して定期的にローカルにダウンロードするようにしています。なお、私のおこなっているダウンロードは、あくまでも個人的な鑑賞の用途のみを目的としていることをお断りしておきます。

YouTubeのプレイリスト

yt-dlpで保存しています。いくつかテクニックがあるので併せて解説します。

gist.github.com

2025年11月から、yt-dlpでYouTube動画をダウンロードするには、外部依存関係としてDeno, Bunなどの何らかのJavaScriptランタイムが要求されるようになりました。

gigazine.net

github.com

github.com

まともなパッケージマネージャのないSynology NASにいちいち手動でDenoを入れるのも面倒だったので、ボランティアが公開しているyt-dlp用のDockerfileを使っています。Denoはもちろん、ffmpegなどの依存関係も同梱されているので安心です。

github.com

ダウンロードに失敗したURLの一覧を取得するためのTipsも使っています。 yt-dlpでは --print-to-file after_move:original_url /path/to/output.txt のようにすることで「ダウンロードに成功したURL」を出力できますが、「ダウンロードに失敗したURL」を直接出力できません。そのため「すべてのダウンロード対象URL」と「すべてのダウンロード成功URL」を取得し、両者の差集合を取るようにしています。

github.com

また、動画の保存先パスにプレイリスト名を使うことはできますが、URL出力時にプレイリスト名を指定することはできないので、余分にyt-dlpを叩いてプレイリスト名を取得させたりしています。

github.com

--write-info-json とすると {動画ファイル名}.info.json という形式のメタデータファイルが得られますが、私の用途では必要ない情報が大量に含まれていたため、--parse-metadata オプションを指定して不要なメタデータ項目を削除しています。詳しいことは公式ドキュメントに書かれています。

github.com

閲覧制限や年齢制限がかけられているYouTube動画の場合、ダウンロードのためにはアカウント認証情報を含むcookieが必要です。cookieの認証情報の無効化を防ぐため、ブラウザのシークレットウィンドウでログインした際のcookieを利用する、などのTipsがあります。

github.com

各種イラストのダウンロード

gallery-dlというコマンドラインツールを使って、pixivやDeviantArtなどのイラストを保存しています。この辺も色々なテクニックがあるのですが省きます。興味のある方はDMかDiscordあたりでお願いします。

github.com

とりあえずはこんなところでしょうか。他にもなんか便利そうなセルフホストソフトウェアがあったらぜひ教えて欲しいです。

明日の担当はshell_mugさんです。きっと素晴らしい記事を投稿してくれることでしょう。楽しみですね。

漫画 『らーめん才遊記』: 全話感想

この記事はLipersInSlums Advent Calendar 2025 「ゆるスラム meet up 〜 驚嘆した。そのギョウム……🥺 プロンプトで1発っすよ 〜」 第2日目の記事です。何を食ったらこんなタイトルが思い浮かぶんでしょうかね? 間違いなくラーメンですね。

adventar.org

2021年、snowwhitelilies氏によるレビューに影響されて『ラーメン発見伝』『らーめん再遊記』を全巻購入・読破した私は、せっかくなので自分でも全話の感想をまとめることにしました。少しずつ書き続けた結果、去年のアドカレでシリーズ第1作『ラーメン発見伝』の全話レビューを投稿しました。

stepney141.hatenablog.com

この記事はその続編、第2作『らーめん才遊記』の全話レビューです。『ラーメン発見伝』は1999年~2009年の連載(全26巻)でしたが、本作は2009年~2014年にかけて全11巻で連載されました。前作より短いので読みやすく、前作とのつながりが強いわけでもないのでオススメです。平成中期と後期のラーメン業界の差異にも注目。

第1巻「フムフムとワクワク」

第1-3杯

主人公・汐見ゆとりの登場。生まれて初めてラーメンを食べたのが半年前だというにもかかわらず芹沢のラーメンを貶す。しかし言語化能力は著しく低く、物事をだいたい擬音でしか表現できない。そんな彼女はもちろん芹沢をブチ切れさせるが、「ラーメンの素人」ではあっても「料理の素人」ではない腕前、そして「ワクワク」というラーメンの本質を悟っていた点を芹沢に認められる。

『発見伝』の大前提であった「ラーメン=多様で自由な創作麺料理」というテーマは、「ラーメンが縛りのない自由な料理であるのなら、『ラーメン』と『ラーメンでないもの』の区別はどこにあるのか?」という疑問に繋がる。本作は1話でこの疑問を提示し、最終話まで一貫する大きなテーマに据えている。それを際立たせるために、主人公を「ラーメンも料理も素人」ではなく「ラーメン以外については料理の天才」として設定することで、彼女がラーメンという【異世界】を学んでいくという筋立てになっている。

第4-6杯

調子に乗ったゆとりの独断で、廃業寸前のラーメン屋をたった3万円で再建することに。経営系グルメ漫画としての本作の初回。

めちゃめちゃ美味しい新メニューを開発して立て直しを図ったゆとりだったが、芹沢に不備を指摘される。現実問題として既存のメニューすら美味くできない老店主が新メニューを会得することはできないし、よしんばできたとしてもいずれ味がぶれてしまうはず。「必ずしも美味しいラーメンがすべてを解決してくれるわけではない」という『発見伝』から続くテーゼの初出。

そこで芹沢は、唯一マシな味だった既存メニューを大きくブラッシュアップしたうえで品数を絞り、さらに店舗を改装(大掃除)してレトロコンセプトを演出する。

芹沢の手腕と言葉に感動するゆとりに、芹沢は身も蓋もない店主評を浴びせかける。「今回、俺がやったことは、一日二日で終わるちょっとした工夫だ。なのになぜ、あの老夫婦は長年、何もしないでいた?」「能無しの怠け者だからだよ。」前作を知らない新規読者でも、この話を読めば芹沢がどういう人間かわかるようになっている。

第7杯

ゆとりの母、汐見ようこ登場。ここでゆとりの料理の腕前の秘密がわかる。

第8-9杯

ようこの弟子と背脂ラーメン対決。

第2巻「奥様は食いしん坊」

第10杯

承前。「ギトギトの背脂ラーメンでは、スープは逆にシンプルな方がいい」という逆説。

第11-14杯

女性向けラーメン店の改装で夏川と対決。女性向けラーメンのノウハウは『発見伝』第111話で既出だが、こちらでは立地や家族連れのことも考えている。

第15-18杯

相川くん登場。ラーメン屋は個人でも資金調達できなくはない規模であり、人気さえ出れば金銭的な成功も視野に入る。一攫千金を狙う「ラーメン・ドリーム」を求めて、脱サラ開業を狙う素人も少なくない。そんな人に向けた、他の店を昼だけ間借りする営業形態の紹介。後半、グリストラップについての話も出てくる。

最近バズっていたツイートはこの話が出典。このツイートへの反応を見るとグリストラップはマジで臭いらしく、清掃を経験した人に言わせれば、部下のミスをカバーして素手でグリストラップを掃除してくれる芹沢はめちゃめちゃいい上司らしい。

第3巻「ラーメン完食街」

第19杯

承前。ラーメン屋のような油脂の多い廃棄物を扱う業態の場合、他の種類の飲食店の厨房設備ではゴミを受け止めきれないことがある。竹岡式ラーメン(前作第55話で既出)にヒントを得て、スープではなく醤油ダレに主たる味つけを施し、グリストラップを詰まらせないラーメンを考案して解決。

第20-24杯

本シリーズの二郎系ラーメンの雄、「どきゅん」の武田さん再登場。

1990年代に台頭し、『発見伝』で大きなテーマだったニューウェーブ系ラーメンが2010年代にどうなったか。「食事満足度」の低さのせいで、ブーム後のニューウェーブ系ラーメンは絶滅の危機に陥った。

そして現在、ラーメンのブームは「食事満足度」が極めて高い、二郎系ラーメンと濃厚豚骨魚介系つけ麺の2つとなり、かつてのニューウェーブ系はとどめを刺された。咀嚼の必要な具を足すことで、原価率をキープしたまま満腹感を増し「食事満足度」を改善することで解決。

第25-27杯

競争の激しい繁華街に位置する雑居ビルの4階(エレベーターなし)という、最悪な立地のラーメン屋のテコ入れ。小手先の改善ではどうにもならないため、客単価の高い飲み客を取り込むべく「シメでラーメンを食べられる居酒屋」への業態変更という根本的な対応を行う。

第4巻「模擬コンペ開始!」

第28-32杯

高齢店主の後継者を探す回。ひとつの店を構える主であるためには、腕の良い料理人だとしても厨房しか見えていないようではダメだし、優秀な雇われ店長だとしてもマニュアルをこなすだけではダメ。店を店として見る視点を持つことが重要。しかし優秀な「店主」でも、「会社経営者」として優秀とは限らないというオチも良い。外食産業のセオリーを色々と垣間見れる。

第33-35杯

難波の初登場。つけ麺専門店の改装でコンペ勝負。以後、ゆとりと同世代のライバルキャラとしてたびたび登場する。ちょっと和田アキ子に似てる。

つけ麺専門店の過当競争の立地において、最高品質のつけ麺の新メニューを考案したゆとり。しかしそのレシピは高品質すぎて、店主に作れるか微妙な上に、客に受け入れてもらえるかも不透明なものだった。

対する難波はラーメン屋への業態変更を提案して勝利する。しかも芹沢と交渉し、相手にも自分にもクライアントにも有利な状況を作り上げるというやり手ぶりを発揮。難波の人物造形が前作の葉月よりもキツくてだいぶ人を選びそう。ともあれ、「美味しい料理が全てを解決するわけではない」という現実を直視させられるゆとりだった。

第36-37杯

飲酒後のシメのラーメンの話。『発見伝』第97話で既出。

第5巻「魔のテナント」

第38-41杯

「楽麺亭」チェーンの蒲生社長の再登場。難波とボリューム系ラーメンの新メニュー考案で対決。

「若い男性は味覚が未発達」という外食業界のセオリー。それを踏まえ、ボリューム系ラーメンの客層である若い男性に向けて、あえて単調な味付けのメニューを考案した難波。それに対して、味わいにしっかりと変化を効かせたメニューを考案したゆとり。芹沢や有栖の「近年の外食産業の発達で、昔と違って若い男性の味覚は成熟しつつある」という分析も後押しし、ゆとりは先の対決での雪辱を果たす。

「もっとも、若い女性と比べたらやはり単調な味を好む傾向は強く…」「彼らの味覚をどう考えて、どういうボリューム系ラーメンを作るかは、非常に難しいものがあるかと思いますね。」翻って令和を見てみると、果たして現代の若い男の味覚はどうなっているんだろうか。

第42-44杯

国道沿いにある、入った店が次々に潰れていくという「魔のテナント」。その正体は坂道のせいで車から店が見えにくかったことであり、競合店は巨大なポール看板を立てて対応していた。安価な野立ての看板を国道の上り・下りの両方に設置することで解決。

第45-47杯

佳作回。地方の役所から町おこし用B級グルメの開発依頼が舞い込み、芹沢におだてられたゆとりが派遣される。「...どうせ失敗する仕事なんだから、ペーペーの汐見一人で十分なんだよ。」

各地でB級グルメが開発されては失敗しているのはなぜか。いくら地元の名産を使い、どれだけ美味しい料理を作ろうとも、町おこしのために人工的に作りだされた料理など誰も見向きはしない。それはただの創作料理であり、そのためにわざわざ都心から地方にまで出向く人間はいない。B級グルメとして成功しているのは、昔から地元民に愛され、生き残ってきた料理ばかり。

じゃあなんで芹沢はそんな仕事を引き受けたのか? それはゆとりの腕で依頼人の満足するレシピを適当に考案させ、とっとと金をもらうため。「そうなったらレシピを売って仕事は終わりだ。我が社に金は入る… 後はどうなろうが知ったこっちゃない。」

しかしそれと同時に、地元民からすれば『別にどうということはない、むしろ外に出すのが恥ずかしいと思えるくらいの料理』が、よそ者にとっては『その土地にしかない魅力的で美味しい料理』だったということも時にはある。最終的にゆとりは運よくこのパターンに乗っかることができ、何とか地元で愛されながらも新規性のある創作料理を作ることに成功。

第6巻「なでしこラーメン選手権開幕!」

この巻からバトル長編に入る。

第48-49杯

夏川さんが変な男に引っかかる話。

第50-52杯

油そばとラーメンビジネスの話。「要するに油そばは、将来性あるボロいメニューなんだよ。」高品質で原価率の高い創作系ラーメンは売れない。二郎系と濃厚豚骨魚介系つけ麺の店は売れる。油そばの利益率はその上をゆく。確かに平成中期の一時期、油そばの店をかなり多く見かけた。

しかし令和の現実を見ると、油そば(まぜそば)は一定の支持こそ得たが、芹沢が評したほどハネなかった感は残る。売れている店はあるし、以下のような記事も出ているが、私の主観では「油そばはこれから来る」という主張は毎年繰り返されていて、言われていたほどのブームにはつながっていない。Linuxデスクトップ元年の外食産業版みたいな話か?

www.itmedia.co.jp

『発見伝』で指摘されたことがあったが、ラーメンは「麺料理」である一方、ラーメンの中でもっとも時間と手間がかかっているのはスープであり、その味で麺を食べさせる料理がラーメンと言える。麺は不可欠としても、スープこそがラーメンをラーメンたらしめているとも言える。一方で油そばを見ると、日高屋が称するようにその内情は実質的に「汁無しラーメン」であり、麺だけでの差別化は難しいように思える。そう考えると、ラーメンではなく油そばを食べるメリットはどこにあるんだろうか。好きな人がいたら教えてください。

関係ないけど、劇中のつけ麺屋と油そば屋の争いの描写がいずれも下ネタまみれで、作者の冷笑感覚みたいなものが垣間見える。

第53-57杯

2011年当時のなでしこジャパンブームに乗っかった女性ラーメン職人の大会、なでしこラーメン選手権が開催されることに。その予選編1。ラーメンの天才・麻琴が初登場し、難波とは別ベクトルのライバルとして定着する。

この「女性ラーメン職人だけの大会」というコンセプト、劇中では「かつてのラーメン業界では考えられなかった新しい試み」みたいな評価をされているが、令和から見ると一周回って古く見える。「とにかく、こういった企画は、一人でも多くの若くて可愛い女の子を集めることがポイントですからね。」劇中のテレビプロデューサーの台詞も、まあ視聴率の局所的最適化という観点では今でも正しいのかもしれないが、2020年代のモラルに照らして見るとなかなかキツいものがある。そういえば平成ってこういう時代だったな。「美術館女子」の炎上は2020年だったことを思い出す。

bijutsutecho.com

第7巻「「ワクワク」の正体」

第58-59杯

ゆとりが麻琴の店に弟子入り。様々な経験を経たゆとりは、自らが1巻で語った「ラーメンはワクワク」という主観的感覚を言語化するフェーズに入る。

第60杯

「1000円の壁」の話。平成中期以降、ラーメンの価格は850円くらいが上限。

しかし高級蕎麦屋ではせいろ1枚が1000円を超すことは珍しくない。ラーメンもハイレベルなものなら高級蕎麦の上を行く品質と原価率なのにもかかわらず、ラーメンで1000円以上の値付けをすると客に受け入れてもらえない。それは「ラーメン=大衆食」というイメージがあるから。大衆食として生まれたラーメンは、平成に入ってニューウェーブ系ラーメンという形で料理としての創作性を高めたが、それは所詮「1000円の壁」の中での進化でしかない。ラーメンを『料理』として上のステージに持っていくには、1000円の壁を打破するしかない。

この用語は本作オリジナルではなく、以前からラーメン業界に実在していた概念らしい。今では円安による物価高もあり、都心では「1000円の壁」は実質的に崩壊している。

第61杯

「ワクワク」の正体。ゆとりは、麻琴のラーメンの欠陥だと思われた味の不調和を解消する。だが、それでむしろ「ワクワク」感は損なわれた。

「料理はバランスですが…」「ラーメンはアンバランス! それが「ワクワク」の正体です!」。

第62-66杯

なでしこラーメン選手権予選編2。

芹沢の言葉がかなり至言。「料理をうまいと感じる際、そこには未知への感動と、既知への安堵という両面がある。」新しい味を冒険する喜びもあれば、慣れ親しんだ平穏な味に浸る喜びもある。飲食業の根本的な難しさはここにある。他の店との差別化のためには個性的なメニューが必要だが、冒険しすぎると敬遠されるし、平穏すぎると逆に見向きもされない。料理人の総合力は、その二面性を両立させる力量によって決まる。

第67杯

なでしこラーメン選手権予選編3。

第8巻「新東名ラーメン・バトル!!」

第68-69杯

承前。お色気要員がダークホースとして番狂わせを起こす。

第70-71杯

「金の介在しない仕事は絶対に無責任なものになる。」の回。同じ飲食業でも、おしゃれなカフェやマニュアルの充実している大手チェーンなどは魅力的に思われやすく、まあまあバイトが集まりやすい。しかしラーメン業界は3Kで、世間的な人気度は低く、人材がなかなか集まらないという話。ではラーメン業界はどうやってバイトを集めているのか、という裏話みたいなものが紹介される。

ゆとりの言葉が真を突いている。「世間には、ラーメンという食べ物が好きな人は多いけど、ラーメンの仕事が好きな人は決して多くないんですね。」

第72-77杯

なでしこラーメン選手権準決勝編1。新東名高速道路の開業(2012年)に合わせた時事ネタ回。

買い占め盤外戦術を使う難波、やり口が完全にグルメ漫画の典型的悪役。うどんを真っ二つに割いてラーメン用の麺をこしらえるゆとり、やり口が完全にスーパー食いしん坊。

勢いが命のグルメマンガ スーパーくいしん坊 part1 | Black徒然草 (a black leaf)

第9巻「狙われた『らあめん清流房』」

第78-79杯

なでしこラーメン選手権準決勝編2。

第80-83杯

迷惑客と店主の心構えの話。『発見伝』第63話などで既出。「お客様は神様などではありません。」「ビジネスを通した対等な人間関係です。」の回。

芹沢が元から口や性格が悪いことは確かだが、わざと露悪的に振る舞っている一面もあるらしいことが垣間見える。

第84-87杯

マーケティングには様々な戦略がある。競合しない大手チェーン店の近隣に出店し、マーケティング費用を抑えつつフリーライドする「コバンザメ戦略」。競合するチェーン店に同品質・安価な商品で出店し、商圏の奪取を狙う「カッコウ戦略」。コバンザメ戦略は共存できるが、商品が競合するカッコウ戦略は潰し合いになる。「らあめん清流房」は、ある日突然カッコウ戦略の標的にされてしまう。敵は、鮎の煮干しが実質的に効果を持っていない「濃口らあめん」をコピーし、鮎の煮干しを使わずに低価格で出品していた。

カッコウ戦略を仕掛けた敵は、かつて芹沢の部下だった安本という男だった。「芹沢達也の手がける店は全滅させないと、私の気が済まないものでね。」

安本は優秀な人物で、「濃口らあめん」の弱点、「鮎の煮干しと言いながら鮎の味がほとんどしない」という点を見抜いていた。「濃口らあめん」をカタクチイワシのスープに変えて「淡口らあめん」の廃止を提案するが、そこで芹沢に「濃口らあめん」の真実を聞かされる。「冷徹なリアリストに見えて、実はビジネスという鎧で理想を守ってるロマンチストなんですね、社長は!」。これほど的確な芹沢評が他にあるだろうか。

しかし安本は芹沢を理解こそしたが、共感はしなかった。鮎の煮干しを横領・転売し、自分の店舗で密かに「濃口らあめん」にカタクチイワシを使っていた。芹沢に露見して追い出された安本は、長年かけて「カッコウ戦略」を準備していた。芹沢はいわば自身の黒歴史と対峙することを迫られる。

まったく関係ないことだが、『発見伝』で藤本と対決した芹沢の部下・岩下が再登場している。

第10巻「「選手権」決勝戦スタート!!」

第88-89杯

承前。「いいものなら売れるなどというナイーヴな考え方は捨てろ」の出典。芹沢はきちんと鮎の煮干しの活きた隠し玉「濃口らあめん・解」のレシピを引っぱり出す。アンテナショップの「麺屋せりざわ」は、その商品開発のために設立されたという事情も明らかになる。

850円だった従来の「濃口らあめん」に対して、芹沢は「濃口らあめん・解」を950円と値上げして出品し、原価率と高級感を両立させる。さらに情報で付加価値をつけていた「濃口らあめん」を廃止し、700円の「濃厚煮干し麺」に入れ替える。この変更により安本の店は破滅。『発見伝』第7話からずっと繋がっていた、濃口らあめんにまつわる芹沢達也の物語に決着がつく。

「10年前の君の提案をようやく叶えてやれるよ、安本クン。」『発見伝』ではどの登場人物のセリフでも敬称が「クン」「サン」とカタカナ表記で統一されていたのに対し、『才遊記』では普通に「くん」「さん」となっていた。しかしこのセリフだけは『発見伝』時代に戻っている。このセリフ一つでかつての芹沢と安本の関係性が窺い知れる。

第90-97杯

なでしこラーメン選手権決勝戦。『発見伝』第74話で既出の卓上コショウ批判に対して、「客がコショウをかけたがるのは味覚をリフレッシュしたいからであり、それ相応の理由がある」「だったら最初からコショウベースの清涼なラーメンを出せばいい」という逆説がクレバー。

第11巻(最終巻)「本物のラーメン屋」

第98-99杯

承前。

第100-106杯

『才遊記』で一番の傑作。ゆとり・ようこ親子のラーメン勝負。テーマは「ワクワク」、要はラーメンの魅力の本質のこと。つまり、「ラーメンとは何か」を問う、ある意味で形而上的な対決がおこなわれることになる。

ようこが着目したのは、日本の料理界で伝統的に白眼視されがちだった「化学調味料」。グルメ漫画界における化調批判の急先鋒・『美味しんぼ』も、「ラーメン戦争」の回で化調を「ラーメンの恥部」とまで言っていた(ただし、「アジア人は歴史的にグルタミン酸の旨味を欲している」という理屈をつけてはいる)。まず比較対象として上品だが微妙な味わいの無化調ラーメンを出した後、化学調味料を中心に据えたジャンキーなラーメンを出してみせる。「こ、これはさっきと比べると…」「ラーメンになってますね。」

つまりようこは「ラーメン=フェイク」と断じる。「大抵のものごとはまず本物が存在し、その後に偽物が生まれます。ところが戦後ラーメンは、安上がりに手っ取り早くできるからと、フェイクにフェイクを組み合わせて成立しました。最初にフェイクありき… だったんですよ。」しかしフェイクだからこそのジャンキーな魅力がラーメンにはある。

しかし、ゆとりの出した「水ラーメン」の前にようこは敗れる。ゆとりの品は「創作麺料理」であり、「ラーメンそのものの魅力」を示したのは自分だというようこ。審査員の反論。「私は、ゆとりさんの水ラーメンのほうがずっとラーメンらしかったと思います!」「ようこ先生のラーメンは、(中略)ラーメンが現在進行系のジャンルであるという視点が抜け落ちていたように感じます。あのラーメンの中には過去しかない。」

試合後、審査員という立場を捨てた、一人のラーメン職人としての芹沢とようこの対話。「そうですねえ… 率直に言いますと… ようこ先生はラーメン批判などしていないとおっしゃってましたが、それでもあの一杯からは…」「しょせんラーメンの本質は偽物(フェイク)であり、無化調ラーメンの如き本物の料理気取りはちゃんちゃらおかしいという、上から目線のラーメン観を感じましたよ。」「要するにようこ先生は、無化調ラーメンを核とするニューウェーブラーメンを侮りすぎたんですよ。」

90年代に "本物" を志向して生まれたニューウェーブ系ラーメンは、00年代になるとジャンクな濃厚魚介豚骨系や二郎系に押されてしまった。しかし、ニューウェーブ系の姿勢はラーメン界に深く浸透していた。現在流行する濃厚魚介豚骨系や二郎系も、その影響を受けている。ようこは古典的なラーメンの魅力は理解していたが、ワクワクさせる創作麺料理としてのラーメンを理解していなかった。1話から『ラーメンって何?』というテーマを積み重ねていき、クライマックスで古典と創作という二面性がぶつかり合う展開、本当に美しいと思う。

ようこにラーメンの定義を問われた芹沢の答え。「ラーメンとは… フェイクから真実を生み出そうとする情熱そのものです。」一見シビアで冷笑系のようだが、内心にはラーメンに対するクサいほどの情熱が渦巻いている…という芹沢の人物が表れた名言。

第107杯

ゆとりは女性だけで経営する、日替わり創作ラーメンの「麺屋なでしこ」を開業する。奇しくもその値付けは1000円であり、「1000円の壁」を超えたのだった。最後、ゆとりの人生初のラーメンというのが「ラーメンふじもと」のものだったと明らかになって幕。言ってみれば前作主人公の魂を受け継いだような展開。この種明かしが最終話の一番最後で行われるというのがさらに美しい。

『らーめん才遊記』、素晴らしいグルメ漫画でした。

フレッツ光クロスで10Gbインターネット回線を導入した記録

先日引っ越しをし、固定回線を10Gにしました。色々学びがあったので記事にしました。

背景

引っ越し前の集合住宅では、共用部の設備が古いせいで光ファイバーを敷地内に引き込めず、JCOMのCATV回線を使っていました。しかしこれがなかなかの曲者で、自宅にサーバを置いて遊びたい私のような人間にはかなりつらい状況でした。

難点としてまず何よりも、JCOMは上り通信の制限が厳しすぎることが挙げられます。基本プランとなる同軸ケーブルを用いた回線契約の場合、上りは最大で10Mbps、より上位のプランでも最大100Mbps程度の速度しか出ません。

しかしさらにきつかったのは、どのプランであっても30GB/dayを超える上り通信をしてはならないという制限があることです。うっかり通信量上限を超えてしまった際、「使いすぎだからやめろ」という通知が内容証明で送られてきました。

NASのオフサイトバックアップをすると、30GBなどという容量は一瞬で使い切ってしまいます。最近はJCOMも一部で光回線を提供し始めているようで、あちらはもう少し制限がマシらしいという噂も聞きますが、詳細は把握できていません。

note.com

ともあれ、こうした事情から、かねてから「次に引っ越す時は絶対にもっと制限の緩い物件・プロバイダを探そう」と心に決めていました。

そんな折、(当時住んでいた)集合住宅の老朽化が年々深刻になってきたため、引っ越しをすることが決まったのが今年5〜6月くらいのことです。色々あって9月頭にようやく物件が決まりました。家族内で最も情報技術に長けているのは私なので、普段から担っている家庭内情シス業務の一環として、新居のインターネット回線の整備はすべて私が担当することになりました。今年一番嬉しかった瞬間です。

予備知識の習得

選定以前の問題として、日本のインターネット回線網についてほとんど何も知らなかったので、その辺の基礎知識を勉強するところから始めました。

知人に質問

どんなキーワードでググるべきかもわからなかったので知人のオタクに聞いてみたところ、以下の書籍を読んで日本のIPv6通信網について勉強することを勧められました。なんとPDFは無料で全文公開されています。太っ腹ですね。

徹底解説 v6プラスwww.lambdanote.com

その他、数名の技術オタクの知人から以下のようなアドバイスをもらいました。

  • (ISPどこがいい?という質問に対して) ISP選びというよりかは、IPoEにするんすか?とかIPoEでもMAPにするのかDS-Liteにするのかというところを決める必要がありそう。DS-LiteならISP側の機器の強さが重要になるので、ISPを厳選する理由にはなる。技術オタクの場合はIPoEで固定IPもほしくなりがちだから現実的な金額の選択肢がenひかりになる
  • (ISPどこがいい?という質問に対して)残置されてるのがフレッツ系かそれ以外で変わってくる。フレッツ系じゃなければプロバイダはほぼ固定。フレッツ系なら大体好きに選べる。
  • フレッツ系には各種IPアドレス(v4/v6)の提供方法にPPPoEとIPoEがある
    • PPPoEはフレッツ網とプロバイダを繋ぐ網終端装置のインターフェース1Gbpsに対して1600セッションを基準に設置されててそこが時間帯によりボトルネックになる
    • IPoEはIPv6の提供方法の一つ。フレッツ網内にあるクソデカ化け物ルーターで収容してる
  • IPv4をIPv6でカプセル化してプロバイダまで届けるのがフレッツにおけるIPv4 over IPv6。これを使うとどのプロバイダを選んでも最終的にいくつかの数少ない委託先の設備のいずれかを通ってグローバルのネットに出る
  • IPv4 over IPv6の提供方式にもいくつかあり、主にはMAP-EとDS-Liteがある
    • MAP-Eの場合1つのIPv4アドレスをポートベースで複数人で分割共有してる。サービスによって割り振られるポート数が240ポートか1008ポートになる。割り振られたポートの範囲内なら外からのパケットを待ち受けることができる
    • DS-Liteの場合はプロバイダのNAT管理下に置かれてプライベートIPアドレスが割り振られる。このため外からのパケットを待ち受けることは不可能。VPSなどからVPN経由で中継すれば可能ではある
  • 光回線で遊びたいなら中古の業務用ルーターをお勧め
  • とりあえずV6プラスでMAP-Eで契約して家に対応してる中小企業向けルーターを置くと良い。サーバとか公開したいなら固定IPも契約したほうが良い。ルーターは10GbE対応かつMAP-E喋れるやつはお高いので、一旦レンタルという手もある

書籍を含めてオタクのアドバイスは参考にはなりましたが、知らないキーワードが大量に出てきてこれだけでは何も分からなかったので、これらの情報を手がかりにGoogle検索を重ねました。

フレッツ網周りで参考にしたページ

まず「フレッツ網ってなんだよ」「IPoEってなんだよ。なんでIPv6にしなきゃいけないんだ?」という疑問があったので、この辺の記事を読みました。

回線選び全般について参考にしたページ

次に「不動産屋、管理会社はインターネット回線の配線方式の違いに無頓着である」という話を聞き、VDSLと光配線の違いを自分がよく理解してないことに気づいたので、この辺の記事を読んでいました。

選定・契約

新居の残置設備確認

次に問題なのが「新居は光配線方式なのか? VDSL方式なのか?」という点です。宅内に光コンセントがあれば光配線方式と確定できて解決なのですが、私が「光コンセント」の概念を知ったのは、内見を終えて引っ越しが決まった後、インターネットの勉強をし始めてからのことでした(私は今まで光コンセントのある家に住んだことがなく、その概念を知る機会がありませんでした)。

内見から引き渡し日までの間に、管理会社の許可を得て家族が新居のカーテンを採寸に行ったりもしていましたが、私はスケジュールの都合で同行できませんでした。仕方なくネットで拾ってきた光コンセントの写真を家族に見せて「こういうのあった?」「なかったよ」という会話をして、ああVDSLかなと遠い目になったりしていました。フレッツ光のWebサイトに住所を入力して確認したところ「確認が必要」という表示がされ、この時点でフレッツ光が使えないことを覚悟しました。代替としてNURO光のサイトに住所を入力すると、使えるとの表示がありました。

最終的に、引き渡し日 (引っ越し当日) になってやっと光コンセントがあることを確認でき、胸を撫で下ろしました。管理会社曰く、「居住戸数が少ないのでマンションプランではなく戸建てプランでの契約が必要」とのことで、フレッツ光のサイトでの住所入力の際に「集合住宅」ではなく「一戸建て」を選んでみたら「ご指定の住所は「フレッツ光」の提供エリアです」との表示が出ました。これは罠でした。NURO光のサイトで利用可能の表示があったのは、他の部屋でNURO光を引いている世帯があったためだったようです。

ISP・プラン選定

ここまで来て、ようやく光回線の契約先をどこにするかというフェーズに移れました。同居家族から「通信系は新興企業より昔からあるところがいい。NUROじゃなくてフレッツにしてほしい」「光ネクスト(1G)でも光クロス(10G)でも値段はあまり変わらないんだし、10Gでいいんじゃない?」という要望を受けました。上り10Mbpsの回線で10年以上過ごしていた身としては10Gなど夢のまた夢と思っていたので、この言葉はまさに渡りに船でした。

私自身は、オタクに勧められたenひかりでいいんじゃないかと考えていましたが、同居家族からの「通信系は新興企業より昔からあるところがいい。ビッグローブとか昔から使ってるからいいんじゃない?」という意見を尊重してビッグローブ10Gの光コラボにしました。まあ契約者は私で、銀行口座もクレジットカードも私の名義ので契約しているので、いざとなったら私の勝手でどこにでも移れます。

10G全般で参考にしたページ

10G対応のネットワーク機器について参考にしたページ

結果

ISPはビッグローブです。MAP-E方式のIPv4 over IPv6を使っています(詳細不明だがおそらくv6プラス互換?)。現在のネットワーク構成図はこんな感じです。

オタクには「スペックに妥協してある家庭用ルータなど買うくらいなら、性能のいい業務用ルータを使ったほうがいい」ということでYAMAHAのRTX1300を勧められたりし、確かにそれはそうかもしれないとも思いましたが、10~20万円超えの業務用ルータなどとても買えないので一旦考えないことにしました。というかそんな値段の代物を普通に買えるオタクの財力どうなってんだよ。有り余る財力を発揮して私にRTX1300を恵んでくれるという方がいたらいつでもご連絡ください。業務用ルータには興味があるので、お金が溜まったらルータはそのうち考えようと思います。

業務用ルータとしては、知人に譲ってもらった中古のRTX1200が手元にあるのですが、これは1Gbにしか対応していないので今回の構成には組み込んでいません。せっかくなので遊んでみようとは思っていますが、普通に繋げると二重ルータになってしまうのでどうするかは考え中です。

(追記) RTX1200はファームウェア更新が終了しているらしく、セキュリティ面で不安がある & 性能的にも時代遅れらしいことをTwitterで知ったので、勉強用に使うだけにしようと思います。

また、固定電話が必要だったのでひかり電話も契約するという話を知人にしたところ、「小型ONU + YAMAHA NVR510で良いんじゃない?」というアドバイスももらいましたが、このへんはまだ知識がないのでおいおい調べつつ考えていこうと思います。

NTT貸出のホームゲートウェイXG-100NEには、なんと10GbEのLANポートがひとつしかありません。そのためISPが回線契約とセット販売していたTP-Link Deco BE85 (Wifi 7ルータ) を購入し、Wifi APと10Gbスイッチングハブを兼ねて利用しています。この機種は10Gb WAN/LANポートが2つ、2.5Gb LANポートが2つあります。世間には「10G対応」を謳う家庭用ルータが色々売り出されていますが、蓋を開けてみると、10G対応なのはWAN側だけでLAN側は2.5Gどころか1GbEのみという製品も珍しくないようなので、慎重に選んだ方が良いと思います。

また、XG-100NEは動作にやや怪しいところがあるらしく、以下のサイトを参考に設定をいじくったりしました(無線LAN機能無効化、省電力機能無効化など)。

構成図では、しれっとSynology DS224+ (NAS)が2.5GbEで接続されていますが、実はこの機種には1GbEポートしか搭載されていません。どうにか2.5Gbで使いたかったので、GitHub上のサードパーティのドライバを入れ、2.5GbのUSB-Ethernetアダプタ経由で接続しています。基本はドライバのREADMEを読めば簡単に作業できますが、Planexが出している下記の記事も参考になります。

github.com

www.planex.co.jp

www.planex.co.jp

Wifi APは、スペック的にはDeco BE85だけで十分ではありましたが、使い始めるとこれだけだと電波が行き届かない部屋があることがわかりました。そのためAmazonで同シリーズの廉価版モデル (Deco XE75 Pro) を買い求めてメッシュWifiを構築しました。廉価版とはいえWifi 6Eでトライバンド対応なので、メッシュWifi構築用としては十分すぎるスペックです。同じくAmazonで買ってきたDeco BE25は電波を届かせる上では不要でしたが、自室の自作PCについている2.5GbEポートをどうにか有効活用したかったので、完全に私専用のWifi/Ethernetコンバータとして設置しています。Wifi 7ながらデュアルバンド対応止まりというのが気になる製品ではありますが、私以外は使わない以上、大したことはありません。

Twitter上のネットワーク有識者のつぶやきを見ると「TP-Link製品はevilだから使うべきではない」という論調もあるようですが (確かにNTPサーバ問題なんかは記憶に新しいですね)、コストパフォーマンスと消費者としての忌避感を秤にかけた結果こうなりました。いくらEthicalに作られている製品でもお財布の中身が足りなければ意味がないのです。

引っ越しにあたって約15年ぶりに固定電話も買い換えましたが、家電量販店の固定電話機コーナーに並ぶ商品の少なさには驚きました。今や固定電話を使う人などほとんどいないということでしょうか。それを示すように、独居高齢者向けの熱中症警戒アラート機能がついたモデルなんてのがイチオシされていました。しかしそれでも買い換え前の電話機とは比べ物にならない機能数を誇っていて、電話帳の登録内容をゆっくりボイス (SofTalk) で読み上げる機能がついていたりして驚きました。

雑感

光コンセントが同居家族の寝室に設置されているため、大きなデスクトップPCを有線でつなげるような真似はできないのですが、Wifiメインで使っていても旧居とは比べ物にならないくらい快適になりました。Wifi越しの測定にはなりますが、下りで最大1.5Gbps、上りで最大1.2Gbps程度の速度は出ています。測定のために10G対応のUSB-Ethernetアダプタも買おうかと思いましたが、値段を見て二の足を踏んでいるところです。

ONUまで有線2.5GbEでつながっているSynology NASでは、ほぼ2.5Gbの上限に近い通信速度が出ました。これは嬉しいですね。データをやり取りする役割のマシンなので通信速度はいくらあっても足りないということはありません。そのうちミニPCと10G対応のNICを買っていい感じに測定してみたいですね。

とりあえずまともに動くようになってよかったです。

キャリアビジョン欠乏症の情報系院生によるITエンジニア新卒就活体験記

いわゆる就活エントリです。

TL; DR

大手SIerに行きます。

前提(筆者の素性)

前提条件次第で就活の戦略・難易度・結果は大きく変わるので、免責事項として最初にまとめておきます。

  • 学士(経済学)
  • 東京大学情報系の修士課程在学中 (26卒)
  • 慣れてるプログラミング言語: TypeScript, JavaScript, Python, C/C++
  • 資格など
    • 応用情報技術者、普通自動車免許
    • TOEIC 860
    • AtCoder Algorithm 灰 (高校時代を最後に触ってない。履歴書には書かず)
    • Paiza やってない
  • 実績・開発経験
    • 中高時代から趣味開発をしている
      • 現在は休止中だがOSSのゲームエンジンの開発もしている(この経験をガクチカにした)
      • ただし一般ユーザ向けのWebサービスのローンチとかはやってない
      • 知識スタック的にはフロントエンドにかなり偏っておりバックエンド開発の経験は希薄(技術面接でここを懸念されたりもした)
    • IPA セキュリティ・キャンプ全国大会に2回参加
    • 情報処理学会で研究会単位での賞を2回もらった
    • バイト・インターン
      • インターン経験はIT企業での長期インターン(エンジニアバイト)1社のみ
      • 夏インターンの経験なし
        • つまり就活にあたってインターン経由の早期選考ルートは使ってない
      • 現在は飲食バイトをやってる(この話が意外と面接でウケた)

参考情報として、別件で書いた簡単な自分史も付しておきます。

stepney141.hatenablog.com

率直に言って、書類上の経歴的にはそこそこ良い部類の人材だと思います。しかし、就活にあたってのメンタルモデルをうまく構築できず、ずいぶん苦しみました。

就活にあたって考えていたこと

わからなかったこと

  1. いつから就活を始めればいいのかわからない
  2. どこの会社を受ければいいのかわからない
  3. ES(志望動機、自己PR、etc)の書き方がわからない
  4. 面接のやり方がわからない

就活の全てが分からなかった と言ってもいいでしょう。どれもすごく基本的なことだとは分かっていながらも、ロールモデルとなる人が身の回りにおらず、かなり遅くまでこれらの疑問を引きずっていました。

(私自身にビジョンが皆無だったために色々な知人に意見を訊いた結果、逆に迷いが深まる場面もあった。一般的には研究室の同期・先輩に相談するのがセオリーなのだろうけど、そもそも就活を終えた先輩がおらず、さらにコアタイムのないラボなので登校しても他に誰も学生がいないことがザラだった。研究室外の学内の知人もD進勢が多数派で、就職勢の場合はGoogleやらPFNやらに進んでいたので全く参考にならなかった。)

悩んだこと、その解決まで

これだけわからないことずくめの中で本当に皮肉なことに、IT業界への就活だけはほぼ揺らぐことなく決めていました。ITエンジニアが潮流に乗っているから目指すという人が世間的には多いのに対して、私はそこしか選択肢がなかったタイプの人間と言えるでしょう。昔からプログラミングに慣れ親しんでいて、関数電卓やパソコンをカタカタして遊んでいる間に、いつの間にか自分の経歴は「ITエンジニア」という職業で求められるそれへと限りなく漸近していったのでした。就活を始める際に「このままIT業界に流れていっていいのかな?」と自問自答もしましたが、結論を変える材料は見当たりませんでした。

しかし職種ははっきりしていても、それ以上に重要な会社選びの段階でまず非常に悩みました。何しろ、自分が就活を始めた際に考えていたのはたったこれきりのことだったのです。

  • 社会人一年目から中小ベンチャーに入るのは怖い
  • 「この企業に行きたい」「こういう仕事がしたい」というビジョンはまったくない
  • ExcelやWordよりはVSCodeを開く機会が多くあってほしい
  • 給料に興味はないが、多くもらえるなら多い方がいい
  • フレックスタイムやリモートワークは希望しない

D進という道は比較的早くに断念していました。情報系であれば、たとえアカデミアへ就職しないにしても、博士修了後に一般企業へ就職できる目は大いにあります。博士学生の支援制度をフル活用すれば3年間の生活費用も何とかなるかもしれません。しかしそれでも私がD進をしなかったのは、指導教員の姿を見て、「自分は今の専攻分野において3年間で何かしらこの人を超えることができるだろうか、いや無理だ」と実感したからです。こちらでインタビューされている方の話を読んで身につまされたりもしました。論文を書けなかった物理学者がOSS文化に救われた理由。元・京大助教がエンジニアになるまで【フォーカス】 - レバテックLAB 大学院ではゲームAIを研究していて、周囲の学生の中にはゲーム業界への就職を考えている人も複数いました。しかし私の場合はゲームをする趣味はなかったため、特にその気にもなれませんでした。

とにかく、自分が今後の人生に求めていることといえば「新しい技術・知らない技術と触れていたい」ということくらいでした。今までほぼ全ての進路選択を、幼年期は「家庭の方針」で、物心ついてからは「自分の興味」で済ませてきた人間としては、「自発的な興味がある(気持ちを燃やせる)事業領域」も「自分が貢献できそうな事業領域」も見当たらないのが苦しかったです。

そんな中でも学部時代から「最近の修士学生はずっと就活してる」みたいな苦言をTwitterでよく見ていたのもあって、M1になると「修士 就活 いつから」みたいなキーワードでGoogle検索をする習慣ができました。そして、M1の4~5月から情報収集を始めるべきだというアカリクの記事を見つけ、色々と焦りました。今考えると、サマーインターン経由での早期選考が主流になっているIT業界において確かにM1前期からの情報収集は重要だと思うのですが、この記事は学生を焦らせて自サービスを使わせようとする宣伝の側面があったのではないかと思います。ともあれ、あわよくば受け身でスカウトが来ることを期待して、Wantedly・LinkedInに登録したり、放置していたLaprasのプロフィールを整備したりしました。これがM1の5~6月くらいのことです。

しかし結局、色々あってサマーインターンには行きそびれ(後述)、「いつから就活を始めたらいいのか分からない」という状態のまま検討を先延ばしし続けました。最終的に就活を意識するようになったのはM1の11月を過ぎてから、それも泊まりがけの学会中に研究室の同期から「就活どうしてる?」と近況を訊かれたことがきっかけでした(会社選びを始めたのは12月くらい、面接を受け始めたのは2月頃)。

そんな行き当たりばったりのままに面接を受け始めても、当然うまく行くはずがありません。最初は「経済学部出身という経歴上、『経済×IT』という側面で志望動機をひねり出しやすそう」という思惑から、主にフィンテックや会計システムの会社にエントリーシートを送りつけていました。しかし失敗を重ね、最終的には「色々な事業を手掛けている大手企業」を中心に選考を受けるようになりました。

大手を選ぶようになった理由の1つ目として、手掛ける事業の範囲が広ければ「どんな仕事を選ぶか」という選択を入社後まで先送りにできるかもしれない、と考えたからというのが挙げられます。

2つ目の理由は、「どこでも良いと思って適当に会社を選ぶと、志望動機の薄さがクリティカルに響く」と感じたためです。某社での1次面接にて、ES片手の面接官に「あなたの経歴であればどこでも選び放題だと思うのですが、なぜ弊社をお選びになったのですか?」と真顔で問われました。その場は取ってつけたような答えをひねり出して2次面接に進めましたが、そこで志望動機の欠如を露呈してしまい、最終的に不採用となりました。この体験を知人に話したところ、「お前の経歴は就活生一般の中では高い部類に入るので、人気の高い企業でないと『なんでこいつここに来たんや…?』と言う疑問がつきまとう。それを解決出来なかったらそら当然落ちる」「とりあえず上から順番に受けておけ」という返答をされました。この時、無軌道な自分の就活にある一定の軸が与えられたように感じました。

社不と健常者の狭間にいるような人間なので、ロールモデルが存在しないまま就活を進めることになり、結構辛かったです。運転免許取得より辛かったです(注意能力の欠如と先延ばし癖が合体した結果、私は普通自動車免許の取得に半年以上の時間を費やしました)。

過去の自分への回答

「いつから就活を始めればいいのかわからない」

早いに越したことはないが、自分の場合は遅くても何とかなった。正直これで何とかなったのは8割が履歴書のおかげだと思うので、真似はしない方がいい。

自分はM1の年末くらいから会社探しを始めて、春休みからM2の4月頃までが面接のピークだった。就活早期化と言われるこのご時世としてはずいぶん遅く始めた方だと思う。

ジョブ型傾向が強い大手メーカーやメガベンチャーほど専門知識(あるいは研究への取り組み)が重視されるので、M1の時点で研究を捨てて就活に全振りするのはかえって選択肢を狭めかねないと肌で感じた。

「どこの会社を受ければいいのかわからない」

とりあえず色んなところを受けてみるべき。 迷ったら就職エージェントの利用も一手。ただし新卒でエージェントを使うことには賛否両論ある。

  • pros:
    • シンプルに視野が広がる。紹介された企業の説明会を受けてみて「なんかちげえな」と思ったとしても、逆に言えば「俺はこういう企業は嫌なんだな」と言語化する手掛かりが得られる。そこからより良い志望動機やESが書けることもある。
    • 面談などを受けることで強制的に「俺はこれから就活をするんだなぁ」という意識を持つことができる。
    • 企業との連絡をある程度アウトソーシングできるため、こちらの負担が減る。
    • 複数の企業の選考を同時進行できる。
  • cons:
    • 自分の軸に合わない会社も紹介される。
    • 同じエージェント企業でも、担当者の能力に小さくない分散がある。私は出会わなかったが、粗悪なエージェント企業もあるようなので各サービスの口コミも調べた方がいい。
    • 基本的にエージェントとはLINEでのやり取りになるため、スマホの小さい画面で大量の文章(ES含む)を入力せざるを得ない場面がある。
    • いくら企業との連絡をアウトソーシングできるとは言っても、日程調整やES執筆などの作業を最終的にこなすのは自分自身なので、求職者本人が怠惰だとどうにもならない。

何もしなくても人が集まるメガベンチャーや大手企業はこうしたサイトで求人などしない…というのが素直な考え方だが、実は人事社員の業績評価基準が「どれほど多くのオファーを出したか」になっていて、その数字を稼ぐために就活エージェントで求人を出していることがよくあるらしい(伝聞)。

また、エージェントに頼りすぎた結果、会社選びに主体性を持てなくなってしまうという意見も聞かれる。この辺は下記リンクも参照。

www.asahi.com

「ESの書き方がわからない」

「なんかこういうことができたらいいな」的なことを書き連ねて、ひたすらChatGPTと壁打ちしろ。就活会議やOne Careerを見て、過去の内定者の書いたESを参考にするのがよい。面接を重ねるうちに自分のやりたいことがわかってくることもあるし、どういう志望動機なら採用側にウケるかわかってくることもある(そういう意味でも会社はたくさん受けるべき)。

  • 基本的な型としては「(過去の経験)から(志望企業の事業内容)に興味を持った。その上で(同業他社ではなくこの企業を志望する動機)だから貴社を志望した」的な構成がスタンダード。この骨組みに上手く肉付けをして志望動機を完成させると書きやすい。ただし必ずこの型に固執する必要はない。
  • ESの書き方には様々なテクニックがあるので、大学のキャリアセンターにでも行って就活本コーナーで「ESの書き方」みたいな本を読んでみるとよい。載っている例文はどれも背中がむず痒くなるような「感動」「成功」「勝利」みたいな主題のものばかりだが、書いてあるアドバイス自体は真っ当に参考になる。
  • 人事社員は求職者のESを大量に読まされているのだから、個々のES・履歴書・ポートフォリオの読解に大きな労力を割いてくれるとは期待すべきでない。文章は簡潔に書くべき。
  • 志望動機について、最初は「お前が募集してたからだろ、それ以外何を書きゃいいんだよ」と思っていたのだが、色んな人の声を求めてTogetterを見てたら「なんで数ある中でうちを選んだのかすら言えないヤツなんか怖くて雇えない」という意見があってハッとした。実際問題として企業側からすれば、新卒採用というのは「1個あたりウン百万する高い買い物」なのである。採用にかかる人件費などもバカにならない。だから「体(てい)」を作れない人間というか、ウソでもいいから形だけでも入社意思を作れないような求職者なんて、社会性の面でリスクしかないのだ。

以下の記事で説明されている「ESと面接は一体」というのは自分にとって地味に盲点だった。著者本人やその周辺の界隈のTwitterアカウントは目に入れないようにしているけれど、それはそれとしてこのピンポイントの記事は参考になった。

syakkin-dama.hatenablog.com

以下は就活が終わってから見つけた記事。もっと早く読んでおくべきだったかも。

kyuruppa.hatenablog.com

「面接のやり方がわからない」

社会性をアピールする。具体的には笑顔&服装を整える&相手の目を見て話す&沈黙を作らない。これらに気をつければあとはもう運次第な気がする。

  • 「スーツ着用の必要はありません」とか「私服での面接を行います」とか書かれた面接の場合でも、自分は第一印象の向上と社会性アピールのために必ずジャケットを着ていくようにした。
    • 情報系だと「スーツなんて肩が凝るもの着たくない」などと語る学生を時々見かけるけれど、私にとってはあれほど楽な服装はない。とりあえずスーツを着ておけば社会的に間違いということがないから。ファッションに関する興味もセンスもない人間としては、服選びの自由度の高いビジネスカジュアルの方がよっぽど困る。
  • 写真映りも良くない方なので、履歴書の顔写真にも自動証明写真機は使わず、写真館を予約して証明写真の撮影をお願いした。短期的には安くない出費だが、安定した進路への投資と考えれば安いものだと思う。
  • あと自分の場合は元から自信がない性格で、自分の能力を卑下しがちなところがあるので、かなり意識的に「自分はできる人間です」「未経験のトピックでもキャッチアップできる自信はあります」とアピールするようにした(軽く言っているが、このペルソナを作るのに正直とても苦労した)。
  • 事前の準備が万端でも、こちらからは推し量れない各企業独自の不採用基準に引っかかったり、面接官との相性が悪くて落とされたりする可能性もある(採用側の人から、同じ会社を同じ人が受けても面接官次第で落とされることはザラ、みたいな話を聞いたことがある)。
    • 採用計画(採用人数)の影響も大きい。昨年度までたくさん採ったので今年は大きく絞ります、ということもよくある。
  • 沈黙は絶対に作ってはいけない。仮に何か難しいことや答えにくいことを訊かれたとしても、「少し考えさせて頂いてよろしいですか」と断った上で回答できればどうにかなる。
  • 先述したように、面接官がES・履歴書・ポートフォリオの読解に大きな労力を割いてくれるとは期待すべきでない。明らかなアピールポイントは、文脈を損なわない範囲で自分から話題にしていくといいかもしれない。

面接向けのメンタルモデルを構築する上で、この辺の記事を読んだりしていた。

saize-lw.hatenablog.com

syakkin-dama.hatenablog.com

以下は就活が終わってから見つけた記事だが、一つの経験談として新卒でも参考になりそう。

fuyu.hatenablog.com

受けた企業

順番は適当で、志望順位や選考時期とは全く無関係です。情報系院生のITエンジニア就活では「n社受けてn社内定 (n=1, 2, 3)」みたいな人がザラにいるので、それに比べると私はだいぶ多く受けた部類だと思います。

この他、エージェントから案内を受けたが先延ばしした結果おじゃんになった企業がいくつかあります。

ディーバ

某就活サイト経由でM1の5月頃にオファーを受けました。何度かカジュアル面談を重ねて年明け後に本選考ルートへ乗せてもらいましたが、1次面接通過後にSPIで落ちました。引っかかったのが性格検査なのか学力検査なのかは分かりません。

ちなみにSPIを受けたのはこの時が人生初でした。出題形式に不慣れすぎて学力検査で誤答しまくっていたのかもしれません。もし性格検査で落とされたのだとしたら、仮に採用されたとしても上手くやっていけなかったでしょうから、アンマッチできて結果オーライだったと言えるかもしれません。結局、後にも先にもSPIで落ちたのはこの一社だけでした。

初めてのカジュアル面談の際にこちらの人事の方から「就活の軸」の概念を初めて教えてもらいました。その点では感謝しています。

弥生

会計ソフトの自社開発企業です。某就活サイト経由でオファーを受け、2次面接で落ちました。

志望動機が薄弱なまま受けた結果、志望動機を問われて答えに詰まってしまったことが敗因だと思います。

某大手SIer

自己応募し、内定しました。下記の内容でかなり絞れてしまうとは思いますが、たぶんここに就職するので名前はボカします。

最終面接でセキュキャンの話をしたらウケが良かったです。具体的には「どのようなシステムを作りたいか」と問われ、「金融業の基幹システム不具合が大きな混乱を招いたというニュースをよく見るので、安全・堅牢で可用性の高いシステムを作りたいです」「では、そのためにご自身で取り組まれていることはありますか?」という流れでセキュキャンの話を出しました。セキュリティ・キャンプ協議会の会員企業の親会社でしたが、面接官(年次の高いベテラン管理職)はセキュキャンの存在をご存じなかったので、内容や規模や選考内容などの概要を説明したりしました。

おそらくこれが内定の決め手になったようで、内々定通知時にも、面接官からのフィードバックとして「セキュリティのイベントに自ら積極的に参加されていて素晴らしい」的なお言葉を賜りました。セキュキャンは就活の役に立つ!

元々SIerを受けるつもりはなかったのですが、就活のアドバイスをしてくれた中の人(知人)に「とりあえず受けてみろ」と勧められたのでその通りにしてみました。ちなみに内定を報告したら「場数を踏むために勧めたのであって、まさかお前がうちに来るとは思わなかった」と言われてしまいました。

余談ですが、SIerにはIT技術の経験がほとんどない学生もたくさんやってきます*1。他の内定者と話してみて、私が普段接している情報系の人々と彼らとでは就活に関する感覚が大きく異なっていることがわかって面白かったです。この辺のギャップがなんとなくわかる記事を貼っておきます。下記2つの記事の内容を読み比べてみてください。

saponet.mynavi.jp

saponet.mynavi.jp

LINEヤフー

自己応募し、最終面接で落ちました。書類選考とコーディングテスト→現場社員との面接(1次・2次)→人事スタッフとの最終面接 という流れでした。

コーディングテストは競プロっぽいアルゴ問題と業務アプリケーション開発っぽい問題の2題構成です。2日間くらい回答期間が与えられていた気がしますが、私は締切間際に徹夜して過集中で2題とも終わらせたのではっきり分かりません。どちらの設問も全完必須ではなく部分点があります。中の人(知人・AtCoder暖色)曰く「競プロをやってないと回答不可能な部分があり、それに回答できたら加点要素になる。全完の必要はない」らしいです。私は競プロ力が低いので競プロ問題では最低限の部分点だけを取って、業務開発問題を全完する方針で行きました。LYのコーディングテストは難しいと聞いていましたが、少なくとも業務開発問題に関しては、きちんとメソッド名を考えたり、クラスや関数の責務を分割したりすることなどを意識してコードを書けば問題ないと感じました。OSSとかで共同開発した経験がある人なら何とかなると思います。

面接にあたって自己紹介のスライド(大学院での研究内容・これまでの開発経歴・LYでやりたいことなど)の作成を求められ、1次・2次面接では最初にそれに基づく自己紹介をし、それに対して質疑応答がされるというシステムでした。

同じく26卒でLYに内定した知人をはじめ、ネットの就活体験記などからも「最終面接の最中に内定を告げられた」という話を聞いた上で最終面接に臨んだのですが、結局内定を告げられず「結果をお知らせするのがちょっと遅くなってしまうかもしれなくてですね、2週間以内に追ってご連絡させていただきます〜」というようなことを言われ、「アレッ?」と嫌な予感がしたことを覚えています。案の定、最終面接からお祈りメールが来るまで3営業日くらいしかかからなかったので、比較的早い段階で「こいつはいらねえ」と判断されたのだと思います。

先述の中の人に結果を報告したところ、「最近、以前の数分の1まで採用絞っているらしいので相当難しかったんだと思う」という慰めの言葉をもらいました。元々受ける予定はなかったにもかかわらず、友人に勧められてなんとなく受けたので、そのあたりの志望動機の弱さを見抜かれたのかもしれません。

ソニーグループ株式会社

最終面接(2次面接)で落ちました。志望職種はコンテンツ産業向けのIT技術開発のR&Dエンジニアでした。

1次面接は完全な技術面接で、ここでは志望動機などは全く問われませんでした。使えるプログラミング言語について「それがどのような言語であるか説明してください」と問われたり、深層学習の知識レベルについて確認されたりしました。大学院での研究内容も深堀りされ、「お話を伺ってもよく分からなかったんですけど、あなたの研究の技術的貢献はなんですか?」と訊かれた際には随分ヒヤッとしました(返答として、自分の研究は「理論的な問題を計算機で明らかにする」という類のものであって、新規性のある技術を開発するようなものではない…というようなことを話しました)。

2次面接では配属部署の責任者(部長級?)と人事担当者が面接官で、「なぜエンタメ技術に興味を持ったのか」などの志望動機を深掘りされました。「なぜソニーなのか」については問われなかったことに、あくまでも「選ばれる側」であるtoC大手企業の余裕を感じました。2次面接から丸2週間後にお祈りメールが来ました。ネットの体験談によると「3日くらいで結果が来た」という人もいるようなので、そういった人に比べると自分はそれなりに迷ってもらえたのかなぁと思います。

Sansan

就活エージェント経由で紹介され、書類で落ちました。あくまで経歴と技術スタックとガクチカだけを求められたESだったので、志望動機の薄さを理由に落とされたということはないはずです。

Sky

就活エージェント経由で紹介され、内定しました。元請けSIerと下流SESを半々くらいでやっている会社のようです。「就活生にはネーミングライツで、親世代にはCMで、それぞれだいぶ名前を売っている会社」というイメージを元から持っていましたが、面接を経たことでそのイメージが強化されました。

外から見える以上に採用・広報に多額の費用を投じているようで、内定者に大量の記念品(文房具・名刺入れなど)を送ってくれました。そのお金は果たして社員には還元されているのかという点がとても気になるところです。人事の方に配属地について訊いたところ「不安があるなら上に掛け合って転勤なしの確約で採用する」と言ってもらえましたが、流石にお断りしました。

GMOインターネットグループ

某名前.comなどのせいで正直あまりいいイメージを持っていませんでしたが、TwitterのFFが何人か在籍しているので先入観を捨てて受けてみました。

  • グループ本社: 就活エージェント経由で紹介され、1次面接で落ちました。面接官(20代後半~30代前半くらいの人事社員。ボサボサのロン毛にTシャツ姿だった。ちなみにこちらの服装にはスーツを指定された)とまったく波長が合わず、「そういうことを訊きたいんじゃないんですけど」「つまりどういうことですか?」などのフレーズを複数回投げかけられたのが印象的でした。ちゃんと上手くアンマッチできて逆に良かった気がします。
  • ペイメントゲートウェイ: 某就活サイト経由でオファーを受け、内定しました。最終面接の面接官はCTOの方で、楽しく話すことができました。決済基盤の開発をやっているということで、ミッション面でも、使っている技術面でも面白そうではありました。もし先述の大手SIerに内定していなかったらここに決めていたと思います。とはいえ、ここもグループ本社と同様、社員のマナーというか距離感に色々と違和感を覚えるタイミングはありました (最終面接終了後に人事の担当者がいきなりタメで話しかけてくる、など)。GMOグループ全体がそういう社風なのでしょうか。だとすれば私にはあまり合っていない気もするので、結果的にはお断りしてちょうど良かったかもしれません。

アトラエ

就活エージェント経由で紹介され、最終面接の案内まで行きましたが辞退しました。東証プライム上場企業でありながら、キラキラしたベンチャーらしさを振りまいている稀有なところだと思います。どうも私にはカルチャーが合わないようでしたが、面接官の方々には「あなたは弊社に入って幸せに過ごせる人間なのか」と、将来のキャリアパスや性格面も含めてかなり掘り下げてもらいました。個々の求職者と真摯に向き合ってくれる企業だと感じます。OpenWorkなどを見る限り、社風がマッチする人であれば非常に楽しく働ける企業なのだと思います。

C社

東証グロース上場のDXコンサル系企業です。就活エージェント経由で紹介され、説明会終了後に辞退しました。

参加者が3名しかいないオンライン会社説明会に2時間も使うだけならまだ良かったのですが、そこで流される結婚式の余興ビデオみたいな会社紹介VTR(HEROのオープニングのパロディや、「就活大陸」と題した新入社員インタビューなど。ナレーションが音声合成ひろゆき)でトドメを刺されました。

Q&A

面接で訊かれたこと

以下の質問は、どれも3つ以上の企業で問われた。これからIT業界で就活される人々はこれらの答えを準備しておくとよいと思う。「志望動機」は設問として自明すぎるので除く。

  • ガクチカ(ガク生時代にチカラを入れたこと)
  • 就活の軸
    • 「〇〇という理由ゆえに、〇〇のような条件を満たす企業に行きたい」という建前のこと。「中小企業より大企業」とか「SIerよりもWeb系自社開発」とかの価値観もここに当てはまる。
    • 「自分はこういう方針を持っている(だから条件に合う御社に行きたい)」という、志望動機の裏付け・根拠と考えるとよい。
    • 志望動機と同じように、あくまでも「体(てい)」なので、あまり率直なことは言うべきではない。
  • 集団で行動した経験、リーダーとして活動した経験
  • 将来目指しているキャリアパス
    • そんなもの1mmも考えていなかった(今でも分からない)ので、志望動機の次に回答に困った。とりあえず「技術に興味があるけど、いずれは管理職っぽい経験も積みたいです」みたいなことを言ってお茶を濁した。
    • 某社の一次面接で、面接官(現場社員)からのフィードバックとして「今後の面接を担当する上の者たちは『なぜウチなのか』を知りたいので、志望動機やキャリアパスなどを結構重視します。考えておいてください」と言われた。
  • インターンやバイトの経験
  • 得意な言語、技術スタック
  • 研究内容
  • なぜ現在の研究内容を選んだのか
    • おそらくテーマ選びの自主性みたいなものを問うための質問。
  • 現在の大学院または研究室を志望した理由
  • 逆質問
    • ネットで「エンジニア 逆質問」などと検索すると、良い例・悪い例が色々とヒットするので参考にすること。
    • 企業側からすると「この求職者はうちのことをどれほど下調べしているか」というシグナリングとして機能するので、ググればわかる、あるいは募集要項に載っているような安直な質問は避ける。
    • 人気企業の場合、逆質問の内容で志望者のランク付けをすることもあるとも聞く。不安ならOne Careerなどの就活体験談サイトを見ておくと良いかもしれない。

どの会社でも「◯◯をしました」で終わる話をするだけではダメで、「なぜそうしようと思ったのか」という動機の面から「お前はどういう人間なのか」を深掘りする傾向があった。

ちなみに大学院での研究内容は自己紹介も兼ねてめちゃめちゃ訊かれた。M1時点で就活やインターンに時間を割かなかったおかげで「研究内容を訊かれたけどなんもやってないので話せない」的なことが起こらなかったのはよかった。

自分の場合、学部と大学院とで専攻を大きくシフトしたので、その理由・動機についても掘り下げて訊かれた。この動機に関わるエピソードをガクチカとして使ったので、一貫性のある話が出来た気がする。

競プロはやっておくべきか

少なくともコーディングテスト対策にはなる。

「競プロは就活の役に立つ」かはよくわからない。競プロの能力と実際の技術開発スキルは必ずしも重複しないので、上流工程や業プロが主となる会社でAtCoderのレートだけを書いてもあまり意味はないと思う。一方で、基礎的な能力があることの証明にはなるかもしれないし、こいつはやるなと思ってもらえるかもしれない。数理的素養を要求するR&D寄りの職種なら、むしろ一定以上のレートを持っていないと仕事にならないということもあるだろう。要するに企業次第のはず。

詳しくはAtCoderのレートを履歴書に書いた人に質問してほしい。私は書かなかった。というか書けるレートがなかった。

ESの添削はしてもらうべきか

私は一度もしてもらわなかった。しかし、不安ならやってもらった方がいいと思う。

OneCareerに投稿されている過去の内定者のESはかなり参考にしたし、ChatGPT o1に原案を膨らませてもらったりもした。先に大手企業へ就活していった友達のESも一度見せてもらったことがある。だが、推敲や「この文章を提出して問題ないか」というような判断は、LLMも就活エージェントも一切使わず全て自分一人でやっていた。

もしかすると私も添削をしてもらうべきだったかもしれないが、少なくとも就活中にはそんな考えは浮かばなかった。

サマーインターンは行くべきなのか

自分のように行かなくても何とかなる例もあるが、基本的に行った方がいいと思う。なぜなら、最近の新卒就活は、業界を問わず早期化しているから(傍証: https://www3.nhk.or.jp/news/html/20250218/k10014725991000.html, 理系大学院生、進学直後から就活 超早期化で研究に支障も - 日本経済新聞)。IT業界は特にその傾向が強い。2月頃に初めてITエンジニア職専門の就活エージェントと面談した際、「すでに募集を締め切っている企業が多数あるので、急いでエントリーを出しましょう」と諭されたりした。「就活早期化はクソ」「M1の間は研究できない」という悪態をついてみるのは簡単だけれど、現実問題として早期化している波に乗り遅れると自分が不利益を被る。

他大学の知人曰く、「学歴フィルターに引っかかるような大学院生が大手を狙う場合、現実問題として早いうちからインターンに行くことが最適な戦略になる」(意訳)。なぜかというと、「アホ大学生と東大生が同時によーいドンしてアホが勝つ確率は普通に絶望的なので、インターンで実力証明してなるはやで内定枠取らないと勝ち目がない」(原文ママ)。確かにそういうものなのかもしれない。

サマーインターンにどこにも行ってない自分が選考通過できたのも、正直学歴とかセキュキャンとか受賞経験とかがあったおかげな気がする。一応長期インターンの経験はあるわけだし。全くインターンに行ってない場合、その穴を埋められるだけの何らかのレコードは必要なのかもしれない。

ちなみに自分がサマーインターンに行かなかったのは、

  • 長期の家族旅行
  • セキュリティ・キャンプ
  • 研究会での現地発表とその予稿執筆

の予定が入って、それどころではなくなったから。当初はインターンに行くつもりで魔法のスプレッドシートをチェックしていたが、やがてそんな余裕はないということに気づいた。セキュキャンでもしかしたら就職に繋がる何かを得られるかもしれないという目論見もあったし、インターンに行きたくなるほど興味のある会社など最初からなかったので、予定ができたのを口実にしてインターン選びの面倒さから逃げようとした面もあった。正直自分の実績・開発経歴ならインターンに行かなくても何とかなるだろうとタカを括っていた部分もあった。一方いざ本選考が始まってみると、サマーインターンに行くべきだったかもと感じる場面もあった。

  • その企業での働き方が自分に合っているのかわからなくなった時。
  • インターンに行った人が早々に選考を終えているのを見た時。
  • 自分が客観的にどれくらいのスキルがある人間なのかわからなくなった時。
    • 特にIT界隈にいると、同年代にハイスペックな高度IT若手人材が多すぎて、自分はそこらへんのティッシュボックスくらいのreplaceableでdisposableな価値しかないんじゃないかと思わされるタイミングがある。そういう時ほど「他の学生の一般的なレベル感を知っておける機会があったらなぁ」と感じた。

サマーインターンと言ってもどこも一緒という訳ではなくて、

  • 実際の業務に近いことをやらされる本格的なもの(大概長い。平均で数週間~1ヶ月くらい)
  • 会社の名前を就活生に売り込むための宣伝みたいなもの(大概短い。1dayとか数日とかのやつはだいたいこれ)

の2種類に分けられることを覚えておくと良い。中にはインターンの受け入れ態勢が整っていないまま開催を強行したり、インターン生を安い労働力として使い倒したりすることが目的のとんでもないものもあるそうだが、ネットで検索して参加記録のブログ記事が見つかるインターンならだいたい大丈夫なはず。

LLMをどう使ったか

ChatGPT o1 (途中からはo3) で就活専用のプロジェクトを作り、以下のカスタム指示を設定した。

私は⚪︎⚪︎大学大学院の情報系研究室に在籍する修士課程の学生です。私はIT業界への就活を希望しており、あなたのアドバイスを求めています。プロフェッショナルの就活エージェントの観点で、私の質問に回答してください。

あとはプロジェクト内のチャットで、企業選びなりES執筆なりの指示を出すだけ。

IR資料や有価証券報告書を読ませて、会社の得意・不得意分野を分析させたりもしていた。この用途ではコンテキストウィンドウが大きいGemini 2.0を使っていた。当時はo1にPDFを読ませる機能がなかったというのもある。

指示書き

あなたはプロフェッショナルの投資ファンド社員です。添付した企業の最新のIR資料と決算報告書を読み、下記の評価事項について6000字以上で精密に解説してください。 出力の長さは気にしないこと。このタスクでは出力長制限よりも、私が与えたタスクを完璧にこなすことを何よりも優先すること。内容の抜け漏れは断じて許されません。

評価事項

  • この会社の事業内容
  • この会社の収益構造・ビジネスモデルと、それを成立させている要因
  • この会社の成長の理由
  • 同業他社と比べた強みや弱み
  • この会社の今後の成長に関する展望と懸念点

SPIって難しい?

自分の場合、ひたすらマウスでポチポチする操作性の悪さ、ならびに出題形式に慣れればどうということはなかった。でも落ちる時は落ちるので、慣れるためにも対策はしておいた方がいいかも。性格検査は正直に答えすぎると良くないかもしれない。

世の中にはSPIの模範解答集というのが出回っているらしく、それを見て解いたり(不正)、仲間で集まって教え合いながら解いたりする(多分不正)人々もいると聞く。ただ、基礎学力があればそんなことしなくても自力でどうとでもなると思う。大概の場合はそこそこの点数を取れれば足切りは免れるらしく、無理に満点を狙う必要はないようだ。

私は出会わなかったが、SPIとは別に、性格面でのマイナス要素を足切りする目的の性格検査も最近では存在するらしい。

fuyu.hatenablog.com

OB訪問・社員面談ってすべき? (2025/06/01追記)

私はほぼ行かなかった(1社だけ行った)。ただ今考えると、面接での話題のとっかかりを見つけるために行くべきだった気がする。志望度のアピールにもなりそうだし。

一般論としてやっぱり行くべきなんでしょうか。未だによくわかってないので誰か教えてください。

所感、あるいは「何でSIer行くの?」と訊いてきた知人への弁明

振り返ってみると、現場社員からのフィードバックは総じて良好だったのに対し、主に人事社員との面接で落とされることが多かったです。確証はないですが、やっぱり志望動機の面で落とされることが多かった気がします。特に最近はLLMによるコード生成が既にジュニアエンジニアくらいのレベルに達している (そしてこれからも進化し続ける) という状況のせいか、各社ともに「同じ能力なら自社のビジョンに共感してくれる人を」という方針で採用人数を絞っているようです。私の場合は技術オタク一本としてやっていくには開発経歴が中途半端すぎたので、その点でも苦戦した感じがあります。

いずれにせよ今の私には、一社で一生を終える気こそありませんが、どこに転職したいという目標もありません。となれば貴重な新卒カードの切りどころとしても、部署の多い大手SIerの中から今後のIT業界の動向を様子見するのが無難なのでは?というのが私の出した結論です。R&Dのようなポジションに就ければそれでよし、マネジメントメインのキャリアになるとしてもそれはそれで転職時に評価されうる材料になるかもしれないという算段です。

Twitterに入り浸るタイプの情報系オタク学生の間では「SlerよりもWeb系自社開発」「SEよりもSWE」という価値観が自明視されがちです。Twitterでの空気感は私の個人的印象に過ぎませんが、実際のIT新卒採用市場でも似たような傾向は表れているようで、「情報系学生の中でも、技術力の未熟な層ほどSIerを選ぶ傾向がある」というような言説まであります。

「新卒エンジニア採用」を成功に導く!採用ターゲット別 取り組むべき採用手法と情報発信とは

この現象は、「SIerで一般的に求められるようなPM・上流工程の仕事は技術オタクの嗜好・適性とマッチしないことが多い」というイメージが大きな原因ではあるでしょう。その影響か、ネット上にいる情報系オタクっぽいIT業界経験者の発信するSler評も、総じてマイナス寄りになりがちです。「つらい」「つらかった」という実体験談はザラだし、たまにプラスっぽい発言があっても「SIerでもこんなスキルが身につくのでメリットがあるよ (面白い仕事ができるとは言ってない)」という論調が多い印象です。Sler内部でパソカタ系が生き残っているという話は聞かない (少なくとも新卒求職者には伝わってこない) ですし、ましてパソカタ系から見た「Slerでもこういう精神的に充実した仕事ができるよ」という体験談は皆無と言っていいでしょう。もちろん、私から見える情報にバイアスがあるだけかもしれませんが。

私も情報系オタク学生寄りのメンタリティをしているので、当初「ExcelやWordよりはVSCodeを開く機会が多くあってほしい」という志望を何となく持っていました。社員面談などで話を聞いた限りでも、大手SIerでこの希望が満たされるかには限界があるのは確かなようです。巷で言われるように、SIerにおいて情報系オタクがサバイブできる余地はないのかもしれません。けれども、Twitterで丁々発止を繰り広げている情報系オタクは「私」という人間とは適性も許容範囲も異なるはずです。もしかしたら「私」という狭いカテゴリに限っては、SIerに適応できる可能性が皆無とは言えません。私の内定先のような大手であれば、SWE的な仕事でないにせよ、技術寄りのキャリアにありつける機会もあると聞きます。あるいは「私」という人間には、もしかすると意外に上流工程への適性があるかもしれません。

色々な経験も積めるでしょうし、どの道将来のビジョンがない人間としては、SIerはファーストキャリアとしてちょうどいい選択肢かもしれません。何だかんだ言っても、SIerは日本のIT業界の決して少なくない部分を占めています。それが実際どんなものなのか、この目で確かめてみるのも一興かなと思っている今日この頃です。

就活に関して様々なサポートをしてくれた方々、ありがとうございました。特に昆布乾燥場と抹茶鯖の皆様には深くお礼を申し上げます。

追記(2025/06/03):

*1:身も蓋もないことを言うと、「IT技術研修がしっかりしていて非情報系でもやっていけるIT企業」というのは基本的にSIer業界くらいしかありません。従って、文系・理系関係なく、非情報系からIT業界を目指す大学生は総じてSIerを目指す傾向があります。

ArchiveTeam Warriorでウェブアーカイブ活動に貢献しよう

はじめに

Q: ウェブアーカイブってなんだよ
A: 要するにInternet Archiveとかウェブ魚拓みたいな行為のことです。https://warp.da.ndl.go.jp/contents/reccommend/mechanism/mechanism01.html も読むといいんじゃないかな

Q: ArchiveTeamってなんだよ
A: Archive Team - Wikipedia を読もう。 https://wiki.archiveteam.org/ (公式サイト) も参考になるよ。reddit の /r/ArchiveTeam も見るといいかもしれないね。ちなみに Internet Archive と提携してはいるけど、直接的な関係はまったくなく、あくまで有志による非営利団体だよ。

Q: Warriorってなんだよ
A: ArchiveTeamのアーカイブ作業に使われているソフトウェア。パソコンがあれば誰でもボランティアとして参加でき、分散コンピューティング的な感じで世界各地から並列にウェブサイトをダウンロードする。VMかDockerで動かす。

Q: どういう仕組みなんだよ
A: (以下は Dev/Infrastructure - Archiveteam を参考にした)

  • ArchiveTeamのサーバで動いているジョブ管理システム(Trackerという)が、各クライアント(これがWarrior)にジョブを割り当てる。
  • ジョブを振られたWarriorは、実際にウェブサイトにアクセスしてコンテンツを保存し、それをArchiveTeamの管理する別のストレージにアップする。
    • コンテンツはWARCファイルの形で保存される。内部的には独自カスタムしたwgetをダウンローダとして使っているらしい。
    • 通常のwgetが吐くWARCファイルは、仕様に違反しているので非推奨とのこと(The WARC Ecosystem - Archiveteam)。
  • 各Warriorから集められたWARCファイルは、整理されて最終的にはInternet Archiveに転送される。

Q: 公式の情報ソースはどこにある?
A: 公式ドキュメントがある。https://wiki.archiveteam.org/index.php/ArchiveTeam_Warrior

Q: ウェブアーカイブなんて何が大事なんだよ
A: この辺の記事を読んでください。認識が変わることを願います。

www.itmedia.co.jp

p2ptk.org

note.com

items.ssrc.org

https://www.bloomberg.co.jp/news/articles/2025-02-06/SR9SZ3DWRGG000www.bloomberg.co.jp

www.nature.com

internet.watch.impress.co.jp

Q: Warriorってそんなに実績があるの?
A: かなりたくさんある。下記の表を参照。

wiki.archiveteam.org

最近サービス終了したgoo辞書も、日本の有志の方がArchiveTeamに連絡を取り、サイトマップ経由でURLリストを作成してWarriorに突っ込むことで大規模なアーカイブ化に成功している。

すでに少し触れたが、Warrior で保存されたデータの管理は Wayback Machine (もっと言うとInternet Archive) に全面的に依存している。Internet Archiveが世のインターネットデータ保全の単一障害点となっている状況は、「データの保全」という観点からは極めて大きなリスクを孕む。「Warrior は Internet Archive の単一障害点化を促進するものだ」という見方もあるかもしれない。しかしだからといって、インターネットユーザ個人のストレージにデータを溜めこんだとしてもInternet Archiveの代替にはなりえない。事実上、Internet Archiveはインターネットデータ保全の最初にして最後の砦になっている。その現状を受け入れて、砦を有効活用していくための手段がWarriorなのだ。

導入方法

2通りある。1つ目はVirtualBoxを用いるマウス操作による導入、2つ目はDockerを用いるコマンドライン操作による導入だ。

IT技術者ではない人、あるいはDockerと言われてもよく分からない人は、1つ目のVirtualBoxを使う方法が良いだろう。その場合の入れ方は以下の記事を参照。マウス操作で簡単に導入できるので、ぜひ試してみてほしい。

clavis.info

Dockerがあるなら、これを docker compose up -d するだけ。後述のTipsは適用済みなので、下記を compose.yml としてコピペするだけでいい。

gist.github.com

ArchiveTeam公式サイトではVirtualBoxを使った導入方法のほうが第一の選択肢として提示されているが、それはおそらくCUI操作に詳しくない一般人の参加を促すためだろう。公式でも「Dockerでの動かし方」みたいなページがちゃんと用意されている。パワーユーザというかIT技術者向けの細かい情報も載っている。

wiki.archiveteam.org

CPU負荷は少ないので、必ずしも高性能なマシンでなくて大丈夫だが、動作にあたっては注意点がいくつかある。

1つ目はインターネットへの接続について。以下に留意すること。

  • Warriorからインターネットまでの間に、VPNやプロキシを噛ませてはいけない。
    • Warriorは「WARC」というファイルフォーマットでデータを保存するのだが、WARCファイルは元のHTTPヘッダーとIPアドレスの情報を必要とする。VPNやプロキシを使うと、このへんの整合性が取れなくなるおそれがある。
    • public vpnの場合、IPアドレスの情報を元にアーカイブ先のサーバから規制されたり、CAPTCHAページが表示されたりする可能性が高く、シンプルにアーカイブには向かない。
  • Torは使ってはいけない。出口ノードがアーカイブ先のサーバからアクセスを禁止されていることがままあるらしい。
  • DNSを傍受する接続は使ってはいけない。

2つ目は、公式で紹介されているDockerコマンドのままだと、ホスト先のグローバルIPアドレスの8001番ポートにWarriorの管理画面(コントロールパネル)が一般公開されてしまうこと。そのため archiveteam-warrior コンテナの作成時には --publish 127.0.0.1:8001:8001 のようにポート番号を指定し、明示的にlocalhostに公開するようにした方がいい。外から見たい場合はリバースプロキシなどを使えば認証をかけつつ独自ドメインでアクセスできる。この辺はWarriorに限らない一般的なノウハウとしてネット上に知見が多く投稿されているので細かい解説は譲る。私は【特に仕事してないVPSを惰性で契約しているタイプのオタク】なので、VPS に入れてCloudflare Tunnel経由でコントロールパネルにアクセスしている。

最後の3つ目は、おそらくIT技術者にとっては最も重大なことだが、Warriorはx86以外で直接動かすことができない。つまりRaspberry Pi, Apple Silicon MacではQEMUを使わないと動かない。 これはWarriorが使用しているダウンローダ (wget) に起因する問題で、x86と異なる環境ではwgetのWebアーカイブ機能が正しく動かない可能性があるためだそうだ。QEMUでx86をエミュレートすれば問題ない。Docker環境の場合、DockerでQEMUを使う設定をした上で、compose.yamlに platform: linux/amd64を付け加えれば大丈夫なはず。…だが、私はやったことがないのでQEMUの設定方法は提示できない。

動かし方

ともかく、上のDockerコマンドを入力するなりVMで導入するなりを完了すると、localhost:8001 からコントロールパネルにアクセスできる。

このコントロールパネルから、ユーザ名と「どのウェブサイトの保存プロジェクトに参加するか」を設定する。ArchiveTeamでは多数のWebサイトの保存プロジェクトを同時並行で進めており、緊急性の低いものから高いものまで色々ある。1つのWarriorが一度に参加できるプロジェクトは1つだけだが、原則「ArchiveTeam’s Choice」を選んでおくと良い。人手の足りてないプロジェクトをWarriorが勝手に選んで参加してくれる。私の環境における「ArchiveTeam’s Choice」は、平常時にはTelegramの保存プロジェクトが割り当てられることが多い。

設定を済ませたら、後は放っておくだけでいい。 こちらが何かしなくても、Warriorが自動でジョブを処理してくれる。

登録したプロジェクトに自分のすべきジョブがない場合は、ステータス画面にその旨が表示される。

CONCURRENT_ITEMS (同時にサイトへのアクセスを行う最大数) の数値については、上のcompose.yamlでは最大値の6並列に設定してあるが、あまり並列数を増やしすぎるとアーカイブ先のサーバに負荷がかかりすぎるリスクもある。DoSと見なされてIP BANをされてしまったら元も子もない。サイトにもよるが、様子を見て並列度を2~3くらいにしたほうがよいこともある。 これはyamlをいじらなくても、コントロール画面の設定画面でいつでも変更できる。

逆に接続数を増やしたい場合は、上のyamlファイルに多少修正を加える必要はあるが、docker compose up --scale を使って複数のWarriorコンテナを作成するという選択肢もある。また、Warriorを使わず、各保存プロジェクト固有のDockerイメージを使えば最大で20まで並列度を上げられる(このへんは公式サイトに記載がある)。ただし、リクエストを送りすぎてDoS攻撃になってしまうリスクもあるのでくれぐれも慎重に。*1

DockerにしろVMにしろ、いずれにしても自宅サーバを動かしているタイプのオタク、もしくは特に仕事してないVPSを惰性で契約しているタイプのオタクは今すぐ導入すべき(分散コンピューティングプロジェクトという選択肢もあるけど)。

追記

Warriorを7日以上起動していると、デフォルトでは今ある作業を中断して自動的に仮想環境の再起動がかかるようになっている。ただしDockerの場合は何らかの理由でコンテナ内にshutdownコマンドのバイナリが含まれておらず、再起動に失敗する(=7日経つとWarriorが停止する)不具合がある。従って起動から7日経ったら、改めて docker start archiveteam-warrior を打つ必要がある。

少なくとも1年前の時点で報告があるが、まだ直そうとしている人はいないようだ。

追々記(2025/04/17): GitHubのIssueで教えてもらったが、archiveteam-warriorのDockerコンテナを作成する際のオプションを --restart=on-failure の代わりに --restart=always とすると問題を回避できるようだ。ただしこれは「コンテナが止まったら常に再起動する」という意味のオプションであって、Dockerイメージ自体の根本的な問題解決にはなっていない。

irclogs.archivete.am

github.com

github.com

*1:実際、数年前に某笑顔動画のコメントログをWarriorで保存するタスクが立ち上がった際、海外のとあるボランティアが大量のリクエストを送る改造Warriorクライアントを勝手に使用し、某ワンゴのサーバに対するDoS攻撃が成立してしまいサイトが落ちる事態になったと聞き及んでいる。最終的にはArchiveTeam側の判断で当該ユーザをジョブから除外したというが、筆者はArchiveTeam外部の人間なので真偽は確かめられていない。