mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです. 真に受けないでください.

2019年を振り返って

年の瀬なので1年の振り返りをします.

※年内投稿チャレンジ失敗したので, 各自「今年」を2019年, 「来年」を2020年に読み替えてください.

技術

まず技術関連の話. 今年作った技術的成果物一覧です.

  • Now Browsing ツール (1〜9月) (WIP)
    • Twitter で Now Browsing するツール
    • 普段 Tweet: Now Browsing!Omnitweety を使って Now Browsing してるのだけど, いまいちイケてないな〜と思って自作してる
    • 日常的に触るツールになるので, 結構気合入れて作ってる
      • ちゃんと要件定義したり, プロトタイプで実際に機能するのか確認ながら技術選定したりと丁寧にやってる
      • 丁寧にやりすぎて開発着手から9ヶ月経った今も完成してないのだけど, まあそれも個人開発の醍醐味だよねということでのんびりやってます
    • 来年の夏までにはリリースしたいな〜
  • ターミナルエディタ (3〜4月)
    • 大学のネットワークプログラミング実験の課題でターミナルエディタを作った
    • 実はエディタ自体は去年の10月に完成していたのだけど, コードは公開してなかった
      • 折角面白いプロダクト作ったので皆に見てもらいたいな〜と思って, 3月くらいからちまちま公開作業してたのでした
    • その成果がこちらです: mizdra/minimum-ot-editor
    • 見どころ
      • 複数人で同時編集できる
        • Operational Transformation というアルゴリズムを採用することで, 変更箇所が衝突しても良い感じに変更されるようになってる
        • 同時編集の様子: YouTube
      • サードパーティライブラリを一切使わずターミナルエディタを実装
        • ターミナルにはANSI Escape Sequenceと呼ばれる一部の文字列をターミナルを制御する特別な文字列として扱う機能がある
        • これを使って, エディタ画面のリフレッシュやカーソルの移動を実現してる
      • 現代的な C 開発環境
        • Language Server Protocol (clangd) 関連の設定仕込んだり, フォーマッタ (clang-format) 導入したり
    • 本当は記事も書いて紹介したかったのだけど, 力尽きてしまった
      • 今度 WebAssembly + WASI + Emscripten で ブラウザでデモ動かせるようにしようと思ってるので, それが出来たら記事書こうかな
  • フリーマーケットのレジシステム (10〜11月)
    • サークルの学祭の出し物で「ジャンク市」という怪しい市を開催していて, その市で利用するレジシステムを作っていた
    • レジシステム自体は今までの学祭で何度か作ってるのだけど, システムが複雑すぎて誰も継承できず毎年作り直す羽目になってる
    • 流石にそれじゃイカンだろう, ということで今年は巨大な出来るだけシンプルな構成で作り直してみた
      • 技術スタックは Node.js / express / REST API / prisma2 / Next.js / TypeScript / passport.js という感じ
        • 巨大なWebフレームワークは使わず, シンプルな技術を組み合わせで構築してる
        • 後はバックエンド・フロントエンドの言語をTypeScriptで統一したことで, TypeScriptさえ読み書きできればメンテできるようになってる
        • Next.js はWebフロントエンドのビルド周り任せるために入れたのだけど, これはまあ微妙な選択だった気がする
          • SSR要素必要ないので Parcel + React でも良かったと思う
    • 技術的挑戦という話だと, バックエンド・インフラ・ハードへの挑戦が挙げられる
      • passport.jsで部のLDAPサーバと連携してLDAP認証したり
      • 今話題のSameSite=Strictをセッションcookieに付けて「外部サイトからアクセスするとログアウトされた状態になってる〜」とかやったり,
      • 部のサーバにlxd入れてSystemdでサーバプロセス管理したり
      • DNSレコードやnginxの設定弄って部内サーバ上のWebサーバを外部に公開してみたり
      • レシートプリンタ使って値札やレシートを印刷してみたり
      • こういう普段触らない部分触れるのは色々勉強になって良かったです
        • 普段Netlifyで完結するようなWebアプリしか作ってないので, バックエンド・インフラ・ハード触る機会全く無いんですよね
        • 実際触ってみないと分からないようなところが分かるようになったのは大きかった
  • 今日のゆゆ式 (12月)

去年と比較すると成果物は半減してるけど, まあ今年は色んな分野に手を伸ばせたのでトントンという感じですね. 来年は色んな分野に手を伸ばしつつ成果物の量を増やしたい.

GitHub

去年

f:id:mizdra:20181229234343p:plain

今年

f:id:mizdra:20200101021201p:plain

ついに1000の大台に... と一見めでたいように見えるのですが, 300 contributions くらいはお仕事の分で実際には去年とほぼ変わらないです. 開発の速は次第に上がってるけど, 開発に割ける時間が減ってきていて伸び悩んでます. 来年こそ個人開発だけで 1000 contributions 超えたい.

アニメ

animetickを見ながら良いと感じたアニメを列挙するコーナー. 良い << 最高 << 優勝 の順でランク付けしていきます.

  • 2018冬
    • 私に天使が舞い降りた!: 優勝
    • 約束のネバーランド: 優勝
    • かぐや様は告らせたい~天才たちの恋愛頭脳戦~: 最高
    • 転生したらスライムだった件: 最高
    • 賭ケグルイ××: 最高
    • 五等分の花嫁: 良い
  • 2018春
    • 進撃の巨人 Season3 Part.2: 最高
    • 鬼滅の刃: 最高
    • ぼくたちは勉強ができない: 最高
  • 2018夏
    • 女子高生の無駄づかい: 優勝
    • からかい上手の高木さん②: 優勝
    • 鬼滅の刃: 最高
    • まちカドまぞく: 最高
    • 彼方のアストラ: 最高
    • ダンジョンに出会いを求めるのは間違っているだろうかII: 良い
  • 2018秋
    • BEASTARS: 優勝
    • 慎重勇者~この勇者が俺TUEEEくせに慎重すぎる~: 最高

「女子高生の無駄づかい」がめちゃめちゃ良かったです.

アニソン

今年ハマったアニソンの中でイチオシの曲を紹介するコーナーです.

しんみり/さわやかな曲に弱いことが分かる.

漫画

今年のイチオシ漫画を紹介します.

『微熱空間』が今年のベスト・オブ・漫画です. 最近ラブコメ結構好きだということが分かりつつある. 来年はラブコメ方面でもうちょっと漫画漁ってみたいですね.

おわりに

2019年もやっていきましょう.

*1:自炊(2日) + プログラミング(1日) = 3日

22歳になりました

22歳になりました. めでたいですね. 22歳もやっていきましょう.

こちらmizdraの誕生日をお祝いできる最高便利ワンライナーになります.

$ npx @mizdra/happy-birthday

Image from Gyazo

そしてこちらは不思議と押したくなる最高便利リンクになります.

よろしくお願いします.

2019-07-28

掃除

部屋の掃除をした. 本当はもっと前に掃除するつもりだったのだけど, 以前自室に寝そべる空間を作るために敷いたマットが掃除機をかける邪魔になっていて, 結果として掃除が億劫になり今日まで放置されていたのだった. 僕にはマットは向いていないということが分かった. 今日一番の成果です.

同じ過ちを侵さないためにメモ書きしておきました.

scrapbox.io

クレジットカード

クレジットカードの与信限度額に達してしまい, 様々な定期購入が失敗し始めている. 元凶はこれです.

定期購入は勝手に解約され, Amazonで漫画も買えず, ほぼ毎日使うKyashは使い物にならない… 困った...

f:id:mizdra:20190729005149p:plain
余命宣告

流石に何とかしなきゃなと思い, クレジットカード会社に電話して期日前の入金用の口座番号を聞き出したりしていたのだけど, ATMまで行くのが面倒過ぎて諦めてしまった. まあこのまま放置しても月曜に自動的に口座から引き落とされるので, 今日と明日我慢すればそれで良かったりする. 解約された定期購入契約し直すの面倒だけど…

研究

無. 計画性のない人間なので, 1週間ごとにゼミで成果発表するのしんどすぎる (とはいえ短いスパンでフィードバックが貰えるのは助かっている). 毎日親に勉強しろと言われているような気分になる. 難しい. ゼミに対する心構えが間違ってる気がする.

2019-07-21

研究

明日ゼミがあるので研究をしていた. 先週海の日でゼミが休みだったこともあり, 2週間分の進捗を報告しなければならないのだけど, 朝の時点で進捗は無. 何とか巻き返そうと今日一日研究してたけど, たった1日で2週間分の進捗を出すのは無謀ということが分かっただけだった. 研究は計画的に.

MacBook Air 初期化

最近新しいMacBook Proを買ったので, 前使っていたMacBook Airを家族が使えるよう初期化していた. MacはWindows機と違って初期化時にリッチなブートメニューが出てきて便利ですね (なんとローカライズもされている). 画面みながらポチポチしているだけで何とかなって良かった.

選挙

午前中に候補者調べて午後投票に行ってきた. 今回は投票したくなるような人が候補者の中に居て助かった.

漫画

PrimeDayで20%オフで買ったDr.STONEを読んでいた. 今最新巻の11巻の半分くらいです. 1, 2巻は科学への好奇心唆るような書き方されてたけど, 3巻以降は子供向けのギャグ漫画っぽくなっていてちょっと残念だった. 週刊少年ジャンプの読者層とマッチしなかったのかな… 悲しい…

女子高生の無駄づかい

今期一オススメです.

2019-07-18

事件

とにかく辛い. 悲しい.

僕が最初に事件を知ったのは死亡者が出ているという一報を見た時で, この時はまだ「何か大変なことが起きたんだな」程度にしか考えていなかった. が, その後の続報で次々と被害の大きさが明らかになるにつれ, どんどん胸が苦しくなった. 現場の詳細な状況を聞いた時は本当に辛かった. もう何もやる気が起きないし疲れた. 今はとにかく怪我をされた方が早く元気になることを祈っている.

2019-01-17

日常の些細な困り事探して技術で便利にできないか考えるキャンペーーーーーン

をしている. よく触っている部分が便利になると感動しそう. 絶対感動してみたい気持ちでやっている. あと2018年の振り返りで2019年の目標として掲げていた「最高のWebサービスを作る」を意識しての行動だったりする. 「日常に無くてはならないもの」を作れたらそれは少なくとも自分にとっては最高のWebサービスであるはずなので.

poem.mizdra.net

何かアイデアが浮かんだら個人Slackの #idea もしくはTwitterに書いていき, 後から見返せるようにしておく. できるだけ個人Slackに書いておきたいけどSlack起動遅いしチャンネルの切り替えも遅いしチャンネル開かないとアイデアが目に入らないしで難しい. これ, ハイパー困り事ですね…

今の時点でキャンペーン開始から2週間くらい経過したけど意外と便利にできる困り事見つからないもので, 分かっていたけど難しいねとなっている. スーパーカミオカンデみたいに常にアンテナを張り続けて気長にその時を待つ, みたいな気持ちでいると良さそう.