- (ウェブ系の)最近の技術のトレンドは組織のスケールにフォーカスしている気がする
- 企業などのデカい開発組織で開発をするための技術(ツールや方法論)が充実してきた
- 従来は企業での開発もあまり規模が大きくなかったので、個人での開発と同じような技術を利用していた気がする
- 今では企業と個人では開発の規模に大きな隔たりがある気がする(昔も当然あったが、それはどんどん拡大している)
- 規模が違うと適切な方法論やツールも違う
- たとえばマイクロサービス化
- 個人の規模でやっても不幸になりがち
- サービスを分割したからといって自分以外のだれかがパラレルで開発をやってくれるわけではない
- 運用・管理コストが自分に跳ね返ってくるだけ
- シングルスレッド CPU でたくさんスレッド走らせたときの不毛さに近い
- コンテナ技術とかもそう
- デカい組織での便利な使い方と、個人での便利な使い方は違う
- うっかり個人で企業の真似すると不幸
- いずれにせよ便利な技術だけど、適切な使い方は違う
- kubernetes とかもむずかしい
- そもそも運用だるいがち
- 組織だと運用コストよりスケーラビリティのメリットのほうが大きいかもしれない
- 個人だとだいたい運用コストのほうがでかい(運用してるけどやはりつらい。家に帰った後の時間で面倒見られる規模じゃないと思う)
- でも kubernetes 前提の便利ツールとかはたくさんある
- 便利ツール使いたい
- 個人開発でもコミュニティの恩恵を受けたい
- でも無理
- 以上、お気持ち
webpackやめろ
(parcel で十分なら)parcel を使え。
今日のChromium OSビルドバトル3
今日はお休みです。
今日のChromium OSビルドバトル2
結果
初勝利
ヒーローインタビュー
ath10k のファームウェアを刺すのが難しかった。
コードネーム eve とかいう未発表の Chromebook とハードウェア構成が近かったため、様々な設定をそこからパクってきた。
次回に向けて
タッチパッドが変な動きをするのを直したい。
あと、本命のショートカットキーのカスタムを進めていきたい。
今日のChromium OSビルドバトル
結果
負け
敗因
ディスクは200GBあれば足りるだろうと思っていたが、埋まった。
次回に向けて
300GBに拡張してリトライ
ISUCON8出た
osyoyu(星宮いちご), koba789(霧矢あおい), everysick(紫吹蘭)の三人(ソレイユ)で出た。
伝統のサーバーサイドプログラミング
我々はローカルで開発をしない。代わりに1台目のサーバーにログインし、本番サーバー内のコードを直接編集する。
メンバーのうち、私を含む2人(everysick, koba789)は歴史的経緯により dotfiles がほぼ同じ*1という仲だったため、残り1人(osyoyu)を犠牲にして、私の dotfiles を流し込んだ。
アプリケーションコードの変更は、使い慣れた設定の環境が使える私と everysick で一台のサーバー(作業環境)を奪い合いながら、ソースからビルドした emacs 26 を使って行った。ちなみに osyoyu は vim 使いである。
これによる利点は、必然的にペアプロが強制されるためにケアレスミスをとにかく減らせる点にある。
昨年からこの作戦を採用し、効果は十分に確認されている。
git利用可、ただしpush/branchは禁止
git 禁止という過激な選択をした昨年に引き続き、今年も git に関しては慎重な姿勢でチーム内のルールを決めた。
結果、merge が必要になるような操作は禁止し、必ず歴史が master 一本になるような運用でのみ、git を利用可能とした。
つまり、commit と revert くらいしかできないということである。
前述の通り編集は本番サーバー内で行うため、git の分散リポジトリとしての特徴は全くいらないという判断である。
log, diff が使えたのは git 禁止より便利だったので、この作戦は有益であるといえる。
mamiya.sh
昨年に引き続き、今年も登場した mamiya.sh。
これは編集用の本番サーバーから、他の二台にコードを撒くためのスクリプトであり、某の超優秀なデプロイツールから名前を借りている。
ただし、すごいのは名前だけで、実態は rsync と ssh くらいの小さなシェルスクリプトである。
前回は俺が当日に書いたが、今回は osyoyu が書いて持参してくれた。今回の osyoyu は事前準備賞である。
get_events2
前回の git 禁止の影響で、初期実装のコードを破壊せずに進めるクセがついていた。
そのため、 get_events
の改善のために get_events2
メソッドを新規に定義して実装した。
API のエンドポイントを差し替えるときも /api2/
などとすることで git に頼らずに既存実装を保護した。
これのナイスポイントとしては、画面上で元の実装が確認しやすく、またバグったときに戻しやすい点が挙げられる。
総評
reservations のロックを潰せなかったのは悔しい。
ちなみに我々は計画的なので今回も素振りはありませんでした。精進あるのみ。
*1:大学入学直後の everysick に、同期だった俺が自分の dotfiles を勧めたのがはじまりで、彼の dotfiles は私のそれの fork なのだ
極度に寝すぎた土日は無と区別がつかない
- 金曜日の夜に飲んだ
- 1時半くらいまで飲んでた
- そのあと終電を逃した後輩と4時くらいまで Rust の話とかしてた
- 土曜日は15時に起きた
- 土曜日の夜に飲んだ
- 就活で悩んでいる若者の人生相談に乗った
- tokio::io::stdin() の poll_read がブロックする問題に気づけず4時間くらい溶かした
- 日曜日は14時に起きた
- トイレにいるときに UberEats が来て最悪な日になることを確信した
結果
無