私の参加するDay7ですけど、こちら最終日となっておりますというので、初めて参加するのに最終日の配信ということで、聞いてもらえるのかなみたいなちょっとドキドキしながら配信しようと思っています。
さて、本トークに入っていくのですが、いざ忘れがちなことってなんだろうなと考え始めましたら、意外と思い出せずですね。
忘れがちなことってそれは忘れてるから出てこないわけですよ。
なので、思い出せた時点でそれはもう忘れてないはずなんですよね。
だから忘れがちなんですけど。
で、私の番組っていうのはウェブ周りのお話をしますので、せっかくならエンジニアが忘れがちなことでいこうかなと今回は思っております。
ただ、最初に一つお断りをしなきゃいけなくて、今回5つぐらい確か持ってきたはずなんですけど、ちょっとずつエンジニア寄りの話になっていくので、
最初の方はおそらく誰でも分かるお話なんですけど、後半から全然現場の匂いがしてきて、4つ目5つ目は多分結構ディープなところのお話までいくと思う、要は線模様が結構出てくると思いますので、
なるべく噛み砕いてお話はしますけど、近いエンジニアの方は前半ではまあまあ分かるなと頷いていただいて、後半はそんな世界なんだぐらいの音頭で聞いていただけたら嬉しいなと思っております。
ではでは早速いきましょう。一つ目。
あと5分とかエンジニアは結構言うんですけど、この5分って絶対に5分じゃないなみたいなお話ですね。
ちょっと忘れがちというかあれですけど、エンジニアじゃなくても身に覚えがある方もいると思うんですが、今はリモートワーク当たり前になってきましたけども、昔はね皆さん出社されてたんじゃないですかね、ちょっとずつ出社回帰している会社さんも増えてきたとは思いますけど、
その頃のお話なんですけど、お昼時になって同僚のエンジニアは、そろそろ飯行こうぜと声をかけるわけなんですね。
そうするとだいたい返ってくる言葉が、もうちょっと待ってとか、あともう少しって、もうちょいで区切りいいんだよねみたいなことを言うんですよ。
このちょっととかもうちょいがですね、長いんですよね本当に。長くないことも全然あるんですけど、長い時はほんまに長い。
ていうかそのもうちょっとって言ってからがスタートぐらいの感覚がありますし、僕もあるんですよこれやったことは。
なのでもう僕は経験上、もう終わらんなと思って、一回バツッともう区切って、しっかりご飯に行って、あとでもう一回やろうぜっていう風に切り替えるか、
今回はもう行かなくて、自分でちゃんと区切り行くまで頑張ってから一人でご飯行くか、というかもうどっちかの二択にしました。
中途半端にこう待ってもらうのが一番良くなくてですね、待ってる側もねいつまで待っちゃいいのかわかんないし、やってる側も結局やらないとわかんないんですよね。
ですのでついついこう焦って仕事をしてしまって、結果的に良い仕事にならなかったり、あとでもう一回修正を自分でしなきゃいけない、みたいなこともあるわけですね。
そういうことがあって、この切りの良いとこまでとか、あとちょっととエンジニアとしては見えてしまう、この感覚がですね、結構クセものなんですけど。
例えばエンジニアの作業って頭の中に地図を広げている状態と僕は思っていて、今どの辺いじっている、今どの辺にいます、みたいな。
これを直すとあそこに影響出て、そうするとこっちも確認して、みたいなことがよくある話なんですよ。
なので、切りの良いとこって言ってるけど、正確には今この地図畳んで大丈夫なんかな、みたいなところまでをやりたい。
下手に区切りがついてないところで畳んじゃうと、結局ですね、ぐちゃってなったり、あれこれなんだっけって後から思い出さなきゃいけない時間が結構増えるということなんで、
それをやりたくはないから、なるべくやりたいというか、切り良いとこまでいきたい。
未来の自分がすぐにパッと仕事を再開できるようにしたいので、区切り良いとこまでいきたいなというふうに思っているわけです。
あとは、もうちょっと単純な理由もあって、僕らって結構自分の作業の残り時間を見積もるのが下手なんですよね。
いや、下手っていうのは上手い人は上手いかもですけど、やっぱ不確実な問題と分岐あっていると読めないんですよ。
これ、心理学の世界でも計画作語みたいな名前がついていて、人は自分の作業にかかる時間を過小に見積もる癖があるというふうにも言われていますと。
他人の作業には割と正確な見積もりを出すのに、いざ自分のことになると結構楽観的になる癖が人にはあるということなので、
いや、これ気づいたとき、というか見たとき、すごく耳覚えがあって、耳の痛い話だなと思いました。
エンジニアの世界に、このお話に結構ぴったりな言葉がもう一個ありまして、ベル研究所のトム・カーチェルさんという方の言葉として知られているっぽいです。
今回調べて何か似たようなのないかって探したらあったんですよ。
どんな言葉かというと、コードの最初の90%が開発時間の90%を占める、残りの10%のコードが開発時間のもう90%を占めるという、結局合計180%なんですよね。
算数おかしいんですけど、これ僕も初めて見たとき、うん、なんとなくわかるぞと思っちゃいました。
そうなんですよね、残り10%であともうちょっとのはずなんですけど、今までの時間と同じくらいかかっちゃうんですよね、これ。
まあとはいえ、最近だと事情が全然変わってきて、今はもうAIにコードを書かせるんで、少なくとも最初の90%まではもう一瞬で書けるようになっているので、このあとちょっとっていうのもなかなかなくなったとは思いますし、
逆に、最初のあとちょっとまでの90%はマジで秒で行くんですが、残りの10%が200%、300%とか行くことも全然ありますね。
やっぱり90点を95点にするのってむっちゃむずいし、それを100点に近づけるなんて永遠に行かないじゃないですか。
永遠に100点に行くことはあり得ないので、ほんと後ろになればなるほど時間がかかるんで、結果的に時間は早くなったのかどうなのか、みたいなのはちょっと思ったりはしますけど、少なくとも飯行こうぜくらいの時間は全然短縮できているだろうと思っております。
昔と違って、手が止まっていた原因っていうのが大抵思い出せないこととか、調べないと書けないことだったんですけどね。
そこが一瞬で埋まるようになったっていうのは、なんだかんだすごい変化ではあるし、ありがたいことではありますけどね。
その代わり、本当に完成まで持っていくための、なんでしょうね、クオリティとかこだわるポイントとか、点数アップをいかに品質を上げるかっていうところに、より向き合わなきゃいけなくなったとか、向き合う時間が増えたので、本質的なところに向き合うことになったと言えるわけですね。
そうすると結果、時間が延びるというのは仕方ないなとは思いました。
でも、これが本来やるべき、人間がやるべきことなんだなというふうに思ったりもしますね。
そんな感じでした。では2つ目いきましょう。
やった!で満足して、これが効くかどうかっていうのを確かめ忘れたりするっていうような話ですね。
わかりやすいところで言うと、
例えば、何か資料を作って、よしできたわと思って画面を閉じてしまうときですね。
自分として保存したつもりなんですけど、保存できてなかったわみたいな、あるいは保存したと思ったけど、実は思ってた場所と別のとこに保存をされていたみたいなこと、やったことある人いるんじゃないですかね。
僕も本当にやったことあるし、皆さん一度は通る道だと思っておるんですけど。
で、これがエンジニアの世界でも同じことが起きまして、コードを書き換えて動かして、なんか動かないし変わんねえぞみたいなことを思っていて、ああだこうだ時間が過ぎてみて、ふと振り返ると保存してなかったみたいなことも、いや本当にこれ昔あったんですよ。
今のエンジニアはありえないと思うし、今のテキストエディターとか開発環境ではもうある程度自動で保存するみたいな機能もあったりすると思うんで、まあないんですけど今はね。
昔はね、これ本当あったんですよ。ベテランエンジニアの方でもやられてる人、全然やってたし、むしろベテランの方ほど手が慣れてる分、なんか油断してやってる方いましたね。
僕は逆にもう手癖でちょっとでも変更したら、このコントロールSとかコマンドSを押す癖がついてて、ものすごい回数、他の人と多分段違いに僕は多分保存というショートカットをしてましたね。
やったつもりって結構怖い形で出てくるんですよね。特に怖いのはバックアップで、エンジニアの皆さんだったらバックアップ必ず取るんですけど、
このデータベースとかのバックアップとか、サーバーのバックアップとか、いろんな設定ファイルのバックアップとか、こういうの毎日決まった時間に自動で走るように仕込んでいたりするんですよ。バッジとか使ったり、スケジューラーとか使ってやるんですけど。
設定するとね、これで安心だって一応なるんですけど、意外とそのバックアップから本当に元に戻せるかどうかっていうのを試してないケースってあるんですよね。
これマジで業界では有名なお話なんですけど、バックアップを取るっていうことは取ることが目的じゃなくて、その取ったデータで復元できることが目的なんですよ。
なんですけど、僕らは取った時点で結構安心をしてしまいがち。
そしていざ本当に壊れてしまった、いざが来た時に初めてバックアップを開いてみて、ファイルがそもそも壊れていたとか、取ったデータが期待したデータと違うものが取れてしまっていたとか、
欲しい日付のデータを見に行くと中身空だったとか、バックアップが取れてなかったケースとかも一応あるんですよね。
それはサーバー側のエラーだったりとか、いろんな理由がありますけど。
あとは、これ無いと思うんですけど、戻し方が分かんなくて、これどうやって戻すんだっけって右往左往したりとか。
ということで、一番よく聞くのは結局バックアップ毎日ちゃんと取れてましたと、でも取ってたのが3ヶ月前の古い方のサーバーでしたみたいなことはよく聞きましたね、本当に。
設定を移すのを忘れてて、新しい方のバックアップは1日も取れていなかったみたいなこともあります。
ログはでもね、毎日ちゃんと成功と出てるんで、僕らとしてはエラー検知設定してるんですよ。
どっちもできてるつもりではいるんですけど、確認を怠ってしまって、実は期待してないもののログが書かれ続けているとか、バックアップが取られ続けていると。
ということで、いざ戻したら全然ちゃうやんみたいなことになるということで。
結局成功してるから大丈夫と思ってたけど、いざ開いたら全く意味のないデータでしたっていうのはマジで厄介で、
本番稼働中のサービスで、いざそれを何かが起きた時に見た時のもう冷や汗はやばいっすね。
ということで、ちゃんと確認を怠らないようにしましょうみたいなことですけど、ついつい僕らは忘れがちだったりするっていうことの一つです。
はい。
でまぁ同じ構造の話がもう一個あって、まぁさっきの似た話ですけど監視ですね。
サーバーが落ちたら数値が飛ぶように、
何かしらの
仕組みっていうのを仕込んでおくっていうのはやるんですけど、その通知が実際に飛ぶかどうかを試していないと。
まぁこれは最近ではもう効かなくなったし、普通皆さんやると思うんですけどね。
なんせ通知ですから。
えーと、まぁ
通知を設定した気になって本当に落ちた日に何にも通知が来ないとか、
本当に来てほしい通知が来なかったみたいなこともあるんですよ。
正常系の通知は来たけど、エラー系、異常系、本当特殊なケースの通知が
来てなかった。まぁ一応ログには吐かれてるけど通知として来なかったから気づかなかったけど
結構障害でしたみたいなこと。
で誰にも通知来てないのに、いざお客さんからの電話で気づきましたみたいな。
はい。いやこれ笑い話じゃなくてマジで未だにやってしまいがちなんで本当怖いんですよね。
ということでちゃんと備えるという行為、つまり確認をするという行為をしないといけないということですね。
はい。
まあ市生活で言うといろんな防災グッズを買ったけど、
その防災グッズ取り出す時、
どこにあったっけとか防災グッズそのものが壊れてましたとか、いやいや怖いじゃないですか。
中の
食品の消費期限が余裕で切れてまして、
いざ食べたい時にこれ食って腹壊すか、それとも食べて何とか今をしのぐかみたいな。
いや食べちゃダメなんですよね。
あると同じ構造なんで、
割とエンジニアのやりがちなことは市生活でも全然あり得るんでちょっと怖いなと思いました。
はい以上2つ目でした。続いて3つ目。
ちょっとずつでここからエンジニア寄りになってきますけど、
期限が来ることを期限が来るまで忘れるというやつです。
例えば日常でドメインの更新とかサブスクリプションの更新とか、
クレジットカードの有効期限とかあるじゃないですか。
最近はねちゃんとその各カード会社っていうのが
切れますよと新しいカードを送りますねみたいなのを
メールであったりとか、
物理的になんか郵送されてくるものあるじゃないですか。なんで気づけるんですけど、ただいざ
カードが切れた時にその古いカードのまま
行動してて、いつも通り買い物しようと思ったらこのカード使えませんみたいな
あるじゃないですか。あの僕最近まさにそれやってて、で新しいカード届いたんですけど、カードケースに
新しいカード入れ替えるの忘れてて普段通り買い物して買い物できませんって言われて
で急遽その場でpaypayにチャージをしてでpaypayで買い物したみたいなことがあります。
でまぁカードはねまだ買い物ができませんだからなんとかなるんですけど
もっと怖いのはですねやっぱり
サービスシステムに影響するもので
でエンジン屋の世界でこの手の期限ものの代表格っていうのがSSL証明書ですね。
はいでこの証明書っていうのはざっくり言うとこのサイトは本物ですよと
で通信も暗号化されてますよということを
証明してくる電子的な証明書なんですけど
でブラウザのアドレスバーとかにねあの鍵の枠出てくると思いますけど
あれが出てるっていうときはその証明書がちゃんと有効だから
ということになりますと
でこれね証明書だけどちゃんと有効期限があって
切れるとあのブラウザが真っ赤な警告画面出すじゃないですか
この接続プライベートじゃないんですけど大丈夫ですかって1回出てくると思いますけど
あれが出た瞬間まあユーザー普通に怖いから逃げるじゃないですか
で今でこそその証明書っていうのは無料で取れたり
しかも自動で更新してくれる仕組みも整ってたりすると
今だとレッツエンクリプトみたいなサービスも出てきたりして
業界の景色がね結構変わってきたなっていうのは思いますけど
昔は全然そうではなくてちゃんと人間が忘れないようにやってねっていう風に求められてたんですよ
で僕もね若い頃SSL証明書って申請してからですね発行されるまで
時間がかかるってことを忘れててですね
種類にもよりますけど例えば1ヶ月ぐらい前に何か申請を出さなきゃ
いけないみたいなのが僕の記憶なんですよねどのサービスか忘れましたけど
でリリースも1週間前じゃんってなったんだけど
リリースのためのチェック表とか一個一個見ててあれそういえばSSL証明書をやってないじゃんってなって
でも1週間前で証明書発行の手続きしたけど
リリース日に間に合いませんみたいなこと1回やったこと本当にあって
お客さんにですね部長とか上司と平謝りしに行ったこと1回あります
いや怖っと思ったしねこれは
別にリリースしてもいいんですけど流石にSSL無しの
ECサイトなんて誰も使わないじゃないですか
ということでまあこれは僕の本当ヒヤリハットというかやらかし系の一つなんですけど
あのね今だからこうシステムが自動でやってくれたり通知をいっぱい出してくれるんですけど
昔はそれがなくて人間がやらなきゃいけなくて
忘れてしまってリリースできませんでしたっていうのがあると
サイトは完成したりシステムは完成してるのに
テストも通ってるしかかわらずリリースができないというのはもう
お客さんの機械損失もなるんで謝るだけじゃ本当は済まないんですよね
お客さんのビジネス止めることになるんでねよろしくないほんまに
ということで忘れがちの代表格SSL証明書っていうやつですね
でまあ今でもさっきと同じですけどいろんな
自動的にやってくれるような仕組みとかも整ってきてるので
じゃあ安心かというと意外とそうでもなくて
自動更新の仕組み入れたとしてもその自動更新がちゃんと動いているかとか
自動でメールとか送られてますけどみたいなことをちゃんと人間も確認できているかっていうのをね
しなきゃいけないしちゃんと更新されましたっていうのもちゃんと目で確認した方がいいと思いますね
いろんな
障害であったり何かしらのエラーで
更新できてませんでしたってことも一応あり得るんですよ
システムは完璧ではないのでということで備えたことで満足せず備えが生きているかっていうのを
見ましょうという結局これなんですよねはい
でまた実際証明書の期限切れでなんかサービス止まったってニュース
ちょこちょこ見る気がします
ちょっと今軽く調べましたけどこの数年間でもやっぱ起きてるんですよね
その度に業者がざわついててみんな自分の証明書を確認すると
っていうのがなんだかんだ続いてる周期的に続いてる気がします
はいということで以上3つ目でした続いて4つ目ですけども
元に戻せないっていうことを忘れるっていうことですね
はいここからもがっつり現場の話なんですけど
今回のこの配信会を作るにあたって
自分の失敗っていうのを思い返してみたんですけどさっきのSSLの話もありますが
2つなんか別のものも出てきまして
いろんなところでも喋ってる気がするんですけどまあ改めてここでも
自分の過去のやらかしをご紹介しようと思います
最初はこれは忘れがちなことじゃないとは思ったんですよね単に間違えただけだと
言うけどまあまあでも言うて忘れがちのことだと思うので紹介しようと思います
一つ目はですね
昔僕がリーダーポジションとして
とあるお客様の
ECサイトを作っててデザインだけデザイン会社に
発注しててで運用もですね
カスタム期間もあるし保守契約も結んで運用もちょっと手伝っていたと
そのデザイン会社とも運用を一緒にやってた感じになりますと
で画像の入稿をどうするかっていう問題があって
だいぶ前の話なんで今みたいに全然こういろんなものを自動化するとか整って
リオで撮ってない時期なんですけど
そのデザイン会社もそうですし委託先の会社さんとか
社外の方が画像を作ってくれるその実際運用しているお客様の中の人が
画像を作ることも全然あり得ると
んで当時の運用としてはとりあえずこのフォルダに画像をアップしてくださいと
名前は適当に何でもいいですけどっていうので
やってましたまあでも適当にやりすぎると結局サイトシステムに
反映しなきゃいけないんでまあ法則性は多少言ってましたけど
でまあそうやって共有するという方式をやってて
ftp とかを使ってアップしていたいう本当にミシエの懐かしい時期だったんですよね
本当は今考えるとなかなかすごい運用となんと改めて思いますけど
でそこに画像が入ったら本番のサーバーに同期するみたいな作業が発生しますと
これもまあ自動化してればよかったんですけど当時はまだしてなくて
でもそんなに画像をホイホイホイホイ入れ替えるっていうタイミングもあんまなかったし
わざわざそこになんかバッチのリソース作のもなぁと思っててやってなかったんですよね
いや今更だけど普通にバッチの方がいいだろうと思いましたけど
まあでもその代わりずっと画像の対象フォルダを監視して更新あったらやるみたいなこと
いやその当時の自分何でか忘れましたけどなんか人が同期的にタイミングを決めて
この時にコマンド一発打って同期を取るんで
この時期まで入れてくださいみたいなことをやってたんですよ
その当時使ってたのが何だっけRsyncのコマンドですよね
いや懐かしい最近Rsyncとか全然聞かなくなりました
このコマンドがあって2つの場所を比べて
その差分があったらそこだけ効率よくコピーしてくれるっていうコマンドなんですね
ただ詳しいものはRsyncでコマンドで後で調べてみてください
でそのAというフォルダとBというフォルダを見比べて
AにあるけどBにはないものその差分Cを
それだけを運んでくれるみたいなことをやってくれる
結構便利なコマンドなんですけど
このコマンドのどっちからどっちへコピーするかっていう向きを
ちゃんとコマンド指定しなきゃいけないんですよ
で僕はその向きをですね一回逆転させたんですよ
はいはいあのよくやりがちなポカですけど
で何が起きたかというと本番サーバーの全画像が吹っ飛びました
新しく入った画像だけあるんですけどECサイドなので
大量の商品があるんですよ大量の商品すべての画像が吹っ飛ぶということで
いやもう冷や汗どころじゃなかったですね油汗
なんかいろんな汗が出まくった気がします
でまあそのほぼほぼ空っぽのフォルダを本番に同期したんで
消えてしまって指示出した俺が悪いんですけど
はいでもう一個ね
違うというかちょっと地味なんですけどやってしまった怖さがあって
だいぶ前に
ニフティクラウドというクラウドサービスを使っていた時期があります
先輩からこうサーバー1台立ち上げてお客さん用の環境を整えておいてと言われていたんですね
でもちろん手順書もあったんでその通りにやっていたんですけど
やっていたつもりだったんですよ
でどこで何間違えたかも正直覚えていなくて
まあとりあえず設定周りだというのは覚えてます権限か設定周りだと思うんですけど
その辺をいじってるうちに
管理者の自分がそのサーバーにSSHで入れなくなっちゃったんですよ
SSHっていうのはいわゆる遠くにあるサーバーに自分のパソコンから
入って操作するためのまあ入り口みたいなもんですね
でこれを管理者である自分に対してなぜか閉じてしまったんですよ
君入っちゃダメだよ
自分で自分を閉め出したので
鍵を部屋の中に置いたままオートロックドアを閉めてしまったみたいな状態と思ってもらえるとわかりやすいと思います
で結局どうしたかっていうとまあ結局どうにもならんので
Nifty Cloudの管理コンソールブラウザの管理画面ですね
に入ってそのサーバーのインスタンスをまるごと
削除してもう一回作り直したんですよね
はいインスタンスを
まあ不幸中の幸いだったのはその環境まだ作ってる途中だったんでアプリケーションも全然乗っけてないし
まあいろんな各種サービスとかシステムとの連携もやってなかったので事なきを得たんですけど
いやでももしね途中
なんならばこう環境を整えていざ今から動かすぞみたいな直前で設定をいじっていて
入れなくなりましたとかになったらこれはこれで怖かったなと思います
はい誰もアクセスできない完璧に整った本番環境みたいなのが下手したら完成してしまった可能性があると
ということでいやーゾッとしますね本当
実際それが走り始めてお客さんが使い始めたとなったらもうもうもう
目も当てられない
ということでまあこの2つ結局同じ他だと思ってます単純ミスだと思ってたんですけどまあ共通しているものは
何かしらコマンドを打ってそのコマンドが取り消しができない取り返しのつかないコマンドだっていうことを忘れていて
確認もせずパッてやっちゃったっていう感じですね
まあ僕らは普段取り消せる世界ですね
なんかリカバリができる世界で仕事をしているのでコードを書き換えたりとか
保存前だったりちょっと前の状態普通に戻せるまあgitっていう
世代管理をするサービスとかを使っているので前のバージョンに戻せる
というのでその感覚が体に染み付いているから
ちょっと手は軽くなりがちですけどやはりもうサーバー回りとかデータに回る操作っていうのは
この戻るっていうことがですね存在しないものも結構多いんですよね
まあですので
リカバリできる状態っていうのを作らないままやっちゃうっていうのは本当危険なんでよろしくないよってことですね
はい
まあ基本削除系のコマンド
とか本当そうだと思いますねテーブルを消すやつもそうですけど
で厄介なのが取り消せる操作と取り消せない操作が見た目であんま区別つかないこともまあまあよくあるんですよね
まあ似てるからっていうのはあるんですけど
でどっちも同じようにたった一行のコマンドで同じようにターミナルに打ち込んで同じようにエンターを押すと
同じなんで
体もいつもの感じでやってしまうっていうのがね本当怖いこのいつもの感じっていうのがマジで怖いんですよ
じゃあどうすればいいかっていうとちゃんと手はあって例えばさっきのアルシンクとかだと
まずは実際に動かさないで
実行するとこんな感じになりますよという結果だけを見せてくれるオプションまあいわゆるドライランってやつがあるので
はい日本語で言うと予行演習みたいなやつ
これをつけて1回流して確認することで
事前に気づけるんですよねこういうことをやってくれと
まあ毎回これをやるかというとやらないんですよね
急いでる時ほどまあそれをつけないでやっちゃうので
いやー良くないですね急いでる時こそむしろ時間かかっても
やばい操作の時はやるべきだっていうのをまあその時学びましたと思いました
でまあ今だとまあ自分のためにまあルールではないですけど
エンターを押す前にまあ1回左から右まで見て確認をするとかあとダブルチェックをするとか
ドライランちゃんとやらってますよねとか
コマンド書く前に先にドライランのオプションをつけてからコマンドを書くとかね
SQLとかもそうですよね先にウェア文を書いてから
セレクトとかで書いたりするみたいなことをよくはやってますね今は
はいまあそのたった数秒ケチって取り返しのつかないことをやってしまったよっていうこう
僕の過去のアホみたいな失敗談でした
皆さん気をつけてくださいねという教訓としてお話ししました
最後じゃあ5つ目ですけども
えーこれがですねまたじわじわ来るやつなんですけど
はいエンジニアあるあるの筆頭ですけど
自分が書いたコードっていうのは未来の自分が
読み返して誰だこれ書いたって思うみたいなことがあるんですけど
git blame っていうコマンドがあります
ほらその対象のファイルの
一行一行誰が
いつ更新をしたかっていうのがざっと書いてある
それを見ることができるコマンドgit blame っていうのがあるんですけど
でこれを叩くと
数ヶ月下手したら数年前の自分だったりするということがあります要は
過去の自分はもう他人だってことですね
これもよくやりがちだしもう忘れるんですよね本当
だから覚えてないが正解忘れがちというか
もうはっきりと自分が過去に書いたコードを自分が覚えていないということです
いや覚えていれば素晴らしいんですけど
例えばちょっとだけ変な書き方がしてあるとして
普通に書きゃいいのになんか
回りくどかったりなんか冗長なコードを書いている時があって
当時はちゃんとなんか理由があったはずで
それをコメント文で書いてなかったりすることもまあまあよくあるので
忘れがちなことコメント書かないとかも一応あるんですけど
なんか依存ライブラリにそういうふうに書いてくれとかなんか変な癖があるなとか
あとステイコホルダーもしくはお客さんから特殊な要望が来てて
仕方なく今回は大人の事情でこれを入れなきゃいけないなみたいな処理になっているとか
あるんですよねけどその理由がどこにも載ってなかったりする
で
このコード書いたの誰だって言ってgitブレイムを叩くと
俺ちゃんみたいなことがあるわけですよ
でまあ同じことはドキュメントでも起きててでreadmeっていうドキュメントプロジェクトの説明書ですよね
っていうのがあるんですよまあどうやって動かすかとか何が必要ですかとか
そもそもこのプロジェクト何ですかみたいのが書いてあるドキュメントで
基本的にはまず最初にこれを読むんですけど
いざ一番最初にプロジェクトのreadmeを書いた時は
まあ完璧ではないにしても一旦書きましたみたいな感じだと思いますけど
いざやっぱり時間が経って
そのプロジェクトのソースコードもどんどん変化したり
追加機能をする追加していくことで
やっぱ状況は変わっていくわけですけど
readmeを変えてなかったりすることも要あるんですよ
やっぱコードがせいなんですけどドキュメントを更新しないっていうのはマジやりがちで
例えば3ヶ月くらい経つともうその辺から実は書いてある通りに動かなかったり
書いてあることがもう古くて
ちょっと状況が変わってるみたいなこともあり得るんですよね
で一番困るのは新しくチームメンバーが追加された時にメンバーがそのreadmeを見て
いろいろキャッチアップをしてるけど書いてあることと実態が違えじゃんみたいなことがあり得るんですよね
でこの手順書を渡してこれ通りにやってみてって言うと動きませんけどみたいなことを言われて
あなるほど中の人はそのまま積み重ねてやってるから動いてしまっていたんだなみたいなことがあるわけなんですよ
はいいやーこれ良くないことの代表例の一つですね
ドキュメントを更新しないという話でした
で別にみんなね不真面目な話しちゃんと真面目に仕事してるんですけど
ついついreadmeを更新するってわまわま忘れがちなんですよねということで
忘れがちの最後5つ目とにかく過去の自分は他人だっていうことですね
はいそんな感じでございましたいろいろ喋ってきましたけども
エンジニアとしてまあ忘れがちというかポカというか
気をつけなきゃいけないヒアリーハットシューみたいな感じになってしまったんですけど
まあでもこうやって並べてみるとねまあ結局
未来の自分に対するこう忘れ物というかポカだというふうに思ってて
まあ今回並べた5つともたまたまそうだったっていうかまあちょっと
恣意的に選んだものも一応ありますけど
やっぱね未来の自分過去の自分もそうですけど要は他人なんですよね今じゃない
自分は全部他人ですと別人ですと
なので今の自分が何を考えてたのかとか
過去も未来も全然それを知らない状態なので本当に忘れがちなこと本質的に一番忘れがちなことは
未来の自分が何に困りますかっていうことに
気づけないとかそういう観点を忘れることっていうのがまあ一番
なのかもなっていうのはちょっと喋りながら改めて思いました
はいでそれを
チームでやってたりするとチームの誰かとかがやってくれたりする
かチームの誰かが気づいてくれたりするので発覚するみたいな話もよくあるんですよね
さっきの証明書は切れてないっていうのも結局誰かが更新してくれてるから
サービスが落ちてないとかは誰かが監視して
直してくれたからっていう話なんですよね
そういうのをまあ人間がしてないように自動化するってのはもちろんそうですけど
自動化しても本当にちゃんと動いてますよねちゃんと期待したように
自動的に更新されてますよねっていうことも確認はしましょうということですね
しないとやっぱり未来の自分たちが困ることになりますのでね
はいということでそれに気づけるのはだいたい壊れたか何かエラーでだか
クレームが入った時になるのでそれはもうことが起きてしまってるのでそうならないように
ちゃんと確認をしましょうという感じです
はい
もっと言うと
システムが動いているってことはその動いてる先裏側に誰か動かしてる人がいる
でそれはシステムが動かしてるっていうふうにまあ自動化してるからシステムがって言うけど
それを設定してるのは人間ですし
正しく動いてますねっていうのをちゃんと見てくれてる人もいる
勝手に動いてるわけじゃないよってことはやっぱ意識しなきゃなーと思いました
はいということで今日の雑談系ポッドキャストの日雑勃でボリューム7テーマ
忘れがちのことということでお送りしてみました
改めましてまいこさん素敵な企画をありがとうございます
そして他の参加番組さんもですね
なかなか面白い切り口で語られている方本当多いと思いますので皆さんぜひ聞いてみていただければと思います
やっぱ雑談って本当楽しいですよね面白くてたまんないし
無限に時間が解けるんですけどねまあぜひ皆さんも今回のxのハッシュタグ
雑ポデイもしくは雑談系ポッドキャストの日
でぜひ調べていろんな番組さん聞いていただければと思います
ではでは終了していきたいと思いますクロージングです
この番組面白かったよという方はぜひチャンネル登録もお願いします
もし聞いていて気になることや話してほしいトピック感想などございましたら
xでハッシュタグweb小話でつぶやいてください
webはアルファベット小話は漢字でもきらがなでも大丈夫です
それではまた雨宿りしに来てください今回もお聞き下さりありがとうございました
雨宿りとwebの小話お相手はキーズでしたバイバイ