Blend day's note

ハードレビューとか日々の雑記とか。技術はこっち : http://kayo-tozaki.hatenablog.com/

大学ではゴミ製造機だった。 ~大学生活を振り返って

いきなり強烈なタイトルと身バレ感がすごいです。

この記事は、Kogakuin Univ Advent Calendar 2016 8日目の記事になります。

www.adventar.org

去年もAdvent Calendarに寄稿していて、今年もご縁があり、
主催者から「アドカレかけうおおおお」と脅されたので、今年も書きます。

この記事を書く前に去年のAdvent Calendar私の記事(近々移設予定)を見てきたのですが、

この記事を見れば分かる通り、完全に行き当たりばったりで書いているので、人に読ませる気が皆無です。こういうのを辞めたいというのが個人的な目標。

後は、クオリティを上げたいです。

ごめんよ去年の自分。今年も行き当たりばったりで人に読ませる気がない記事
& クオリティが去年よりも低い記事を書いていくよトホホ…

最初に

現役でAdvent Calendarを書くのはこれが最後(だと信じてる)なので、
これまでの4年間で何をやってきたのかを、ここでまとめてみようかと思います。

まあ、思い出すだけでただのゴミ製造機だったんですけどね HAHAHA

そもそも書こうと思ったわけ

今後、(うまく行けば)新卒として世の中へ繰り出すわけで。
そのときのLTのネタになればなぁという、欲まみれの記事です。

まあ、思いの外色々とやってきたわけで。
基本的に、今の自分に関わることだけを書きます。黒歴史は極力踏まないようにします。

大学 1年目

おいおいその書き方だと最大8年ありそうじゃないか。というツッコミ、
安心してください。4年分しかありませんので。

謎のプログラミング講義

避けて通れないお話がまずはこれ。
印象に強すぎて、今でも覚えてますし、今後も一生言い続けそうな気がします。

初回の講義(しかも演習)で、講師の教授が一言。

「じゃあ、1÷7 の結果を出力するCのプログラム書いてみて?」

と。

無論、 #include <stdio.h> も、Visual Studio の扱いもわからないペーペーだった私は、混乱しました。
その後、TAのお陰で難なく演習を終えることができました。

ここで思ったのは、
「大学って、自分で学ばないとだめなんだ」
ということ。
今では、すごく感謝しています。

私利私欲のためのプライベートクラウド立ち上げ

全てはここから始まったと言っても過言じゃないレベル。

この年の9月頃に、スキャナーを購入し、

  1. 講義で使ったノートをデータ化
  2. ファイルをタブレットに流し込み
  3. 使ったノートを持ち歩かず、荷物の軽量化を図る

という、ことをしていました。

しかし、タブレット(iPad)には容量の限界が迫っていました。

そこで、 Raspberry PiOwncloud というソフトウェアに出会います。
これは早急に作らねば。ということで、さっさと作りましたよはい。

机の下にラズパイと外付HDDをおいたものです。
(画像が出てこないのが辛い。)

ちなみに、速度はお察しください。ストレスしか貯まらなかった。

この時 Linux 初心者の私は、右も左もわからず、
ただただひたすらエラー文をググっては、トラシューをするということをしていました。 このあきらめない精神が、後々いいように働くとはこのときは知りませんでした。

大学 2年目

無事に進級でき、時間的な余裕が生まれるかと思ってました…

Java と再会

大学に入る前に、Javaを少しだけ独学で頑張っていました。
C言語に嫌気が指した私は、Javaをまた触り始めました。

最終目標は、Androidアプリを作ること。
AndroidアプリのJavaと普通のJavaは違うとよく聴きますが、まあそこはご愛嬌。

で、できたのがこれ。(こっちは画像があった)

f:id:kayo_tozaki:20161208102602j:plain

まあ、私にはデザインセンスもクソもなかったので、これが限界です…

サーバの強化

パーツが余ったので、ラズパイで動かしていたサーバを強化しました。

合わせて、内部で動かしている各種ソフトも新しいのに刷新したのを覚えてます。

特に、

  • Ubuntu から CentOS7 (当時CentOS7.0!)
  • Apache から Nginx

に切り替えたのが、私の頭を抱える原因に。
素直にUbuntu使えばいいものを…と思ったのですが、
結果的に、CentOS7 が好きになりました。 (逆にCentOS6系が触れない体に…)

Nginxは、いいリバースプロキシソフトだよ。今となってはね。
でも、コンフィグはNginxのほうが好きですはい。

Rubyとの出会い

スクリプト系言語を学びたく、あと周りがみんなPythonだったので、
ここは時代の流れに逆らってRubyを選択。

自分は結構好きな書き方で、早いうちに馴染みました。
実行速度が遅いのがたまにキズって感じですが。

まあ、色々と使い所があって、結果的に良かったのでは?

アニメ録画サーバの構築

だれだよ Core OS で建てようって言ったやつ。
全然できないじゃないか (当時CoreOSの出始めで資料が皆無)

と、言うわけでFoltia Anime Lockerを使って立てました。

無論無事に立ったわけではないので、そのあたりはいつもどおり。

foltia.com

あとは進級条件に引っかからないように勉強したのを覚えてます。
恐怖しかなかった

大学 3年目

ここから、面白いように色々とやってた気が。よく体持ったなわし。

コンテスト運営に関わる ×2

ここでタイトル回収。回収の意味は最後のまとめでお話予定です。

コンテストに2本関わることになりまして。 まあどちらも今は手を引いています。(それぞれ別途理由がありますが)

プロコン

K○gc○der なる団体の裏側で使う予定の 正誤判定ツール (通称ジャッジサーバ)
を動かすための、サーバとプログラムを書きました。最終的に使った技術だけを上げると下記の通り*1

  • Ansible (ぶっ壊したときにすぐ戻るように)
  • Ruby (not Rails. 学習コストと継続を考えるとなしという結論になったので)
  • Docker (提出されたプログラムの実行環境用)

こうやって上げると、すげぇミーハーなことやってんなぁ…と。

まあ、今となっては 開発停止 & クビ*2 ですがね…インフラと開発両方やると進捗が…

トラコン

ICTSC という外部のコンテストの 4回目と5回目 に、ご縁があって運営として関わりました。

icttoracon.net

ここでは様々ないい経験をさせていただきました。感謝しかありません。

ちなみに、ここにも私が関わったことを書いた記事が寄稿してあるのでご参考までに。

icttoracon.net

ここでやったのも、問題出題用のサーバ側インフラの調整です。このころからインフラ周りばっかりやんか私wwww

大学 4年目

ここ最近は、目立ったお話がないのですが…

サーバ周りの再構築

2回目の再構築です。
といっても、全て仮想化するというものだった & やることがすべてわかっている
状態だったので、スムーズに移行できました。経験って素晴らしい

ついでにファイルサーバーもちゃんと導入。便利すぎて泣いてます。

冗長化の波

最近は冗長化を目論んでます。すでにできた例はこんな感じ。

あとはサーバの冗長化ぐらいですかねぇ…

その他、アニメサーバも再構築したり、自宅のPC刷新したり、Mac買ってApple製品ばっかりにしたりと、 なんやかんやとやってました。


まとめ

そろそろタイトルを回収しないと。

大学在学中にやった技術的なこと

いま思うだけ上げてみると…

プログラム関係

  • Cの講義で作った残念プログラム郡
    • プリセットした時刻表と現在時刻との差異を取って表示するやつとか作った記憶が
  • Java Android App (トースト表示するだけ)
  • Twitter Bot
  • プロコンジャッジサーバツール
  • アニメ録画開始Bot
  • Slack bot
    • AbemaTV の番組表

サーバ関係

  • 自宅 第1世代
  • 自宅 第2世代
  • 自宅 第3世代 (現行)
    • ESXi
      • 各種機能ごとのサーバ (VyOS,Onwcloud,Mail,監視...etc)
    • ファイルサーバー
    • アニメ録画サーバ
  • アニメ録画サーバ
    • 1世代目 : 特に何も
    • 2世代目 : ソフトウェアRAID01
  • プロコン向けサーバ
  • 研究室向けサーバ
    • 主にネットワーク向け。

こうやってまとめると、おもったよりも多いですが、あっさりしているように見受けられる気が…

さて。ここからが本題(え)

現存しているもの

PG

サーバ

  • 自宅 第3世代 (現行)
    • ESXi
      • 各種機能ごとのサーバ (VyOS,Onwcloud,Mail,監視...etc)
    • ファイルサーバー
    • アニメ録画サーバ
  • アニメ録画サーバ
    • 2台目
  • 研究室サーバ

以上。さすが ゴミ製造機


特に印象が深いのがプロコンサーバ。
インフラを念入りに作った上で上モノを動かしたいのに、作問側は

「さっさと上のジャッジツールを作りやがれこの豚野郎

と言われる始末。これが世の中の認識なのかと今でも常々思っています。
ちなみに、コンテストを一緒にやっていた某プロには「だれがどう忙しかったんですか?」とも言われていた模様。
THE 泣きっ面に蜂。
人間らしい生活をしない人たちと私を一緒にされても…と思ったり思わなかったり

今では1年生たちに 「遺産」 と呼ばれているそうです (翌日のAC担当者談)

さすが、ゴミ製造機 が作るものは一味ちがうぜ!さっさとサーバも壊してくれたっていいんだよ(涙


愚痴はここまでにして。

大学生活では意外と時間があるので、色々と興味を伸ばすのはいい事。と今では思いますし、
自分は、思いの外手が伸びてた気がしたのでいいと思ってます。

ただ、 ゴミを作っても外に公開するしないの勇気だけは持ったほうが良さそうです。

ゴミを作って公開すると、
後々叩かれる (経験談)

来週にはまた自分の番が回ってくるようなので、次は "今現在" を起点にしてお話をしてみようかと思います。

それでは。

【必読】最後に

あ、明日は fujihiro_sn プロによる素晴らしい記事が待っていますんで皆様、
こんなクソ記事なんか読み飛ばして、次に行ってください。

www.adventar.org

*1:今思うと、なぜ監視を一個もつけなかったのかと思うのですが、そこはご愛嬌。

*2:インフラエンジニアって、やっぱり下にみられるのね…と最初に思った瞬間