再インストールする必要がありますが、そのためのアーカイブを見つけることができませんでした。再インストールする必要がありますが、そのためのアーカイブを見つけることができませんでした。再インストールする必要がありますが、そのためのアーカイブを見つけることができませんでした。Tweet広告を非表示にするコメントを書くもっと読む2018-12-28炎上プロダクトと、従事したエンジニアの心情ポエム今年は初めて受託開発の炎上を経験したので年が明ける前にその時の心情を書き記しておこうと思う。従事したエンジニアの心情であるので、案件については言述していない。自分の経験した炎上はスケジュールが圧倒的に短くて発生したタイプの炎上だった。この記事ではスケジュールが短すぎた場合、エンジニアの心情はどういったものか、プロダクトはどうなるかを記述する。スケジュールとりあえず、納期や工数をマネージャー層が全て決定した状態でエンジニアに丸投げするのはやめよう。いう考えが絶対に付きまとうので、精神上も良くない。この時のモチベーションは世界最低ランクだ。この現象の対処法としては、やはりアサインが想定されるエンジニアも見積もりに参加させることが一番良いと思う。作業者自身もマネージャーと一緒に見積もりを行うことで、作業者に納期への納得感を与えることができるし、なにより技術を良く分かっていないマネージャーの適当なクソ見積もりを防ぐことができる。この点からも、やはり現役エンジニア(実際の作業者推奨)を見積もりに参加させるのは必須と感じた。自分は特にその傾向が強く、一旦の実装をとりあえず作ってから綺麗なコードに書きなおすことが多い。行うようになるらしい。的実装)のままどんどん機能追加を行うことだ。なる状態で自分はコードのリファクタリングまで行えなかった。絶対に残業はしたくなかったからだ。(結局時間が足りず、機能追加で残業や徹夜までしたが)これがプロダクトの品質に悪いのは明白だが、エンジニアの精神状態にも大きなダメージを与える。コーディングする度に自分やチームメンバーのソースコードを見てリファクタリングしたい気持ちを抑え、「俺はこんな実装をしたいわけじゃないのに...」と思いながら新しい機能を追加していたあの頃は、きっとエンジニアとしては死んでいたのかもしれない。プロダクトの品質はそのまま改修のしやすさにも繋がる。一時的な実装が多いということは、次に機能追加や改修の案件を担当した人に負債がのしかかるということだ。時間が無いなら仕方ないが、出来るだけ綺麗なコードを心がけたい...。テストリファクタリングを行う時間が無いと言うことは、単体テスト・結合テストのコードを書く時間も無いということだ。いや今回の場合、初めの頃はなんとかテストを書くスタイルだったが、度重なる機能追加と機能変更などの作業増加によって書く時間が明らかに無くなったと言ったほうが正しい。今回で言うとテストチームがバグ出しを頑張ってくれたので、プロダクトとして最低限の品質は保障できた。中には単体テストをちゃんとやっていれば出ないようなバグも数あり、テストの大切さを改めて実感。自分の精神的なストレス耐性は低いらしく、残業と徹夜はかなりしんどい思い出だった。生きる活力がかなり削がれていたし、具体的には唇がよく切れるようになった。メロンパンを食べた時は、かじった部分が赤くなっていたくらいだ。(極端に言えば炎上)はプロダクトの寿命を縮めることに繋がることに間違いはない。それは純粋なコードの品質の低さ、テストの未実施などもあるが、何より疲弊したモチベーションの低いエンジニアから生み出されたプロダクトが良いものであるはずがないからだ。マネージャーにはエンジニアのモチベーションを第一に考え、慎重に見積もりやマネジメントを行ってもらいたい。残業は悪い文明である。LockをCtrlにする方法を調べている気がする...。年末なのでまた再インストールしました。使ってない人は人生の1割損してる。使い出して数年経ったが、周りには案外、こういうリポジトリの管理ツールを使っていない人が多いらしい。絶対リポジトリの管理ツールはあったほうが良いので、ここで今更ながら宣伝しておく。Goのインストール(準備編1)まずはGoのインストールから。使ってる)goenvのインストールはこちらから。Go.goenvのインストールが完了したら、goをインストールする。1.11.4目的のバージョン(たぶん最新バージョンでいい)を見つけたらそのバージョンをインストール。実はGoには元々リポジトリ(外部ライブラリ)を管理する機能が備わっている。取得したリポジトリはここに入るようになる。下に置いておかないとimport周りが面倒くさくなるので(経験談)、実は普通のリポジトリもここに置いて一元管理しておいたほうが良い。これから自分がリポジトリ管理に使いたいディレクトリを設定しておく。飛ぶエイリアスもある。バイナリを取得できなくなったこともあり、Linuxだとちょっとだけ手間になった。ここではダウンロードしたソースをbuildする方法でpecoをゲットする。バイナリが入るので、それを利用できる。ようにリモートリポジトリをまとめる機能を持っていて、このためにGOPATHのようにghqの設定も記載しておかなければならない。パスを追記するだけで良い。(環境変数使えるのかな......。~/Work/srcインストール作業は以上。スーパージャンプ!(本編)結論から言うとこの関数をbashrcに追記して使用する。リポジトリ管理に使うディレクトリは同じものになっているはずだ。確認してみると、さっきGoでクローンしたリポジトリが出力される。--full-path/home/shion/Work/src/github.com/motemen/ghq/home/shion/Work/src/github.com/peco/pecoこの結果をpecoに食わせて、pecoのQUERYと選択した行を出力してくれる機能を使ってリポジトリを絞り込んでいる。