人生シーケンスブレイク

人生を楽してクリアしたい。

gitでググったコマンド一覧

これは何?

自分がgitであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

ブランチ操作

今のブランチをmasterに追従させる

$ git pull --rebase origin master

手元のブランチのHEAD, index, ワーキングツリーをremoteの状態で上書きする

$ git reset --hard origin/master

コミットの修正

コミットした順序を入れ替える

$ git rebase -i @~5

並び替えて :wq

複数のコミットメッセージをまとめて修正する

$ git rebase -i @~5

編集したいコミットのpickをrにして:wq 個別に修正する

設定変更

単語単位でdiffを表示する

通常は行単位でしかdiffが表示されないが、単語単位でdiffを表示するには、.gitconfigにこう書く。

[pager]
    log = diff-highlight | less
    show = diff-highlight | less
    diff = diff-highlight | less

lessのようにpager無しで標準出力したい場合には、 | less を外せばよい

branch をpagerとして出力するのを辞めたい

.gitconfigにこう書く。

[pager]
  branch = false

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

docker, docker-composeでググったコマンド一覧

これは何?

自分がdockerやdocker-composeであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

docker

今起動しているコンテナをすべて止める

$ docker ps -q | xargs docker kill

以前restart=alwaysでdocker runしたコンテナを探す

$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always

以前restart=alwaysしたコンテナの自動再起動を止める

$ docker update --restart=no $CONTAINER_NAME

docker-compose

Docker実践ガイド 第2版 (impress top gear)

Docker実践ガイド 第2版 (impress top gear)

Contessa II コンテッサ セコンダの座面をメッシュからクッションに交換したお話

あらすじ

コンテッサ セコンダ の下記モデルを昨年夏に購入してほぼ1年満足して利用していたよ。

高い買い物だったので、購入前に大塚家具にアーロンチェアなども含めて試座しに行ったりしつつ、最終的に国産メーカーだから日本人の体系に合っているだろうということでコンテッサ セコンダを購入。
以前バロンチェアを利用していた時には座面がメッシュだと通気性が良くてよかったのでメッシュタイプにして満足して利用していたよ。

コンテッサ セコンダは、コンテッサに比べても座面のメッシュが強くなったこともあり、たるみにくいとレビューで書いてあったから安心してメッシュにしたよ。 実際、それまで非常に満足して利用していたよ。

ところが状況が変わる

今まではかなり満足して利用していたんだけれども、リモートワークOKというかほぼ在宅OKな会社に転職して、一日辺り8時間前後連日座り続けるようになったらだんだんお尻が痛くなってきた。
メッシュが強いことで、長時間座っているとまるでラケットの上に長時間座っていたかのようにネットに触れる部分の肉が痛くなるようになってきた。

それに朝起きて支度してエアコンの効いた自室でリモートワークを開始するだけなので、暑い夜道を歩いて帰宅後に座るというわけでもないので蒸れを気にする機会がないなーと気づいて、だんだんクッションタイプの方がいいかもと思うようになってきた。

株式会社オカムラに相談してみる

軽くググったところ、有償で交換できるようなので早速オカムラに相談。
金額は3〜4万円、大体1ヶ月位で生産できるとのことでまぁ今後も使うことを考えるといいかなということで依頼。

今年のGWは10連休だったので多少遅れますとのことだったけど、大体予定通りに完成の連絡をいただいて交換の日程調整。
支払いはクレジットカード払いもできたので、そちらにした。

交換・そして交換方法も教えてもらう

こんな感じでクッションタイプの座面を持ってきてもらったので、早速交換してもらった。

f:id:ShineSpark:20190604021939j:plain
クッションタイプの座面

ついでに座面の外し方も教えてもらった。座面を外すには、座面の裏側が5mmの6角ネジで4箇所留めてあるのでそこを緩めて座面を外すだけでOK。

時々家具購入時に Γ みたいな形のレンチがついてるけど、大抵4mmで5mmのものは少ないので注意。 自分はラチェットドライバーを持っていたのでこれを使った。

なんやかんやでクッションタイプに換装完了。

f:id:ShineSpark:20190604022221j:plain
換装後のコンテッサ セコンダ

交換した後のメッシュの座面をどうするか訊かれたのだが、これはそのまま所有して暑い時期や気が変わった時の為に手元に残しておくことにした。

f:id:ShineSpark:20190604022110j:plain
メッシュタイプの座面

ついでに座面の昇降ワイヤーの硬さも調整してもらって作業完了。

換装してもらった感想

クッションタイプの方が優しいので、長時間座る場合にはこちらの方がオススメ。長時間座ることがなく暑さや蒸れを気にする場合にはまたメッシュにしようと思っているけど当面はクッションでいいかなと思っている。
交換費用はそれなりに掛かったけれど、より快適になったことや座面の選択肢が増えたことに満足している。

みんなもコンテッサ セコンダを買えばいいよ!

ちなみに公式サイトには、カラーシミュレーターがあるよ!

www.okamura.co.jp

参考

EIZO FlexScan EV2785 の入力を自動判別にする

TL;DR

EIZO FlexScan EV2785を使っている。

4Kで画面が綺麗。USB Type-CからMacBook Proへの給電も、モニタへ接続したキーボードをmacへ接続もできて便利。 macOS上の画面解像度は、一段階だけ小さくして使っている。 ただ入力ソースを切り替えた際に都度ポチポチ手動で切り替えする必要があり、その点だけが不満だった。

  • 自動で入力ソースを切り替えたかったが通常のメニューや設定をいくら探しても見つからなかった。
  • しかし、Administrator Settings から設定できた。

やり方

  1. FlexScan EV2785 取扱説明書 を全部読む
  2. 第4章 管理者向け設定の項を見つける
  3. 一番左側のスイッチに触れながら、電源ボタンに2秒以上触れてモニターの電源を入れる f:id:ShineSpark:20190522030745p:plain
  4. Administrator Settingsが立ち上がる f:id:ShineSpark:20190522025520j:plain
  5. Auto Input DetectionOn にして、 Apply する

説明書をちゃんと読もう!

ちなみに使っている人は、ディスプレイアームとセットで使うのがオススメです。

エルゴトロン LX デスクマウント モニターアーム 45-241-026

エルゴトロン LX デスクマウント モニターアーム 45-241-026

Time Machineデータを別のMacから引っこ抜けなくて困ったけど何とか引っこ抜けたお話

状況

  • 手持ちのMacBook Proを初期化 & 再インストールしたくなった。
  • 初期化 & 再インストールしたら以前のTime Machineデータが見れなくなった。
  • 以前のTime Machineのディスクに接続すると過去の日付が表示されるものの、遡れない。

f:id:ShineSpark:20190327011845p:plain

環境

  • macOS Mojave
  • Air Mac Extreme + 外付けHDDのTime Machine環境
  • 2015年からのTime Machineデータ

模索

  • Time Machineをコマンドから利用する系の記事は軒並みダメ。
  • sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder で root権限でFinderを起動して... はMojaveではダメ。恐らくYosemite辺りからダメ。
  • Time Machine のアイコンを optionを押しながらクリックして、「ほかのバックアップディスクをブラウズ」” もダメ。
  • 海外の記事も探したけど各種コマンド系のものは軒並みダメ。

諦めかけてたところ、Time Machine でデータを新しいMacに復元しようとしてハマった - noanoa 日々の日記 、関連して ほかのTime Machineディスクをブラウズ でファイルの中身が全く見られない時の対処法 | ごりゅご.com を見つけて試したら解決したのでメモ。

解決手順

既存のTime Machineバックアップファイルを右クリックし、 DiskImageMounter で開く

f:id:ShineSpark:20190327013745p:plain

メニューバーのTime Machineアイコンをクリックし、option / alt キーを押すとサブメニューが変わるので、 Browse Other Backup Disks... をクリック

f:id:ShineSpark:20190327014330p:plain

先程マウントしたディスクが表示されるのでそれを選択して Use Selected Disk

f:id:ShineSpark:20190327014224p:plain

選択したディスクからTime Machineに入り、以前のデータにアクセスできるようになる

f:id:ShineSpark:20190327011845p:plain

感謝の参考記事

転職ドラフト経由でWebベンチャーに転職した話

はじめに

こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています。

job-draft.jp

今月に入社したばかりの為、転職先の企業では楽しんでやってますが転職後の体験談は今回は語りません。
職歴がWeb、Web、SIときて今回Webベンチャーに転職したので積もる話もありますが、こちらも趣旨も異なるので今回は語りません。

転職ドラフト体験談投稿キャンペーンなので、転職活動時の体験談であることをご留意ください。

TL;DR

大体この進研ゼミマンガの通り。
job-draft.jp

年収が上がるかどうかはその人次第。

スペック

  • 年代: 30代中盤
  • 学歴: 大学中退
  • 転職: 5社目
  • 職歴: 自社パッケージ開発 -> Web -> Web -> SI -> Web
  • 職種: フロントエンド, バックエンド, インフラ少々, 認定スクラムマスター, マネジメント少々
  • Qiita戦闘力: ヤジロベーレベル

転職ドラフトに登録したきっかけ

前職で携わっていたプロジェクトも落ち着き「そろそろ転職も視野に入れ始めようかな〜」と思ってたところ、ありがたいことに友人が経営している企業からお誘いをいただきました。

願ったり叶ったりだったのですっかり転職する気になったのですが、外部要因で成立しない可能性と、双方納得できる賃金交渉をする材料として自分の市場価値を再計測しておきたい目的から、併行して普通の転職活動も行ってみようと思いました。

とはいえ、いざ転職活動をするとなると広範囲の企業をキャッチアップする為に、複数の転職エージェントを掛け持たざるを得ません。過去の経験からエージェントとの電話連絡やメールでの面接調整、ソリの合わないエージェントが担当になってしまった場合の対応が煩わしい側面もあったので、モノは試しで転職ドラフトに応募してみることにしました。

転職ドラフトに登録してから転職先が決まるまで

登録してレジュメの審査が通過した時期に早速転職ドラフトが開催され、ありがたいことに10社程の指名と複数の1位指名をいただきました。

それらの企業とカジュアル面談から実際の選考をしている内にまた次回のドラフトが始まり、再度10社程の指名と複数の1位指名をいただいたので追加で回ってる内に、内定が幾つか集まったのでその中で一番良い会社を選んで現在新しい職場で働いています。

過去に知人紹介やエージェントなどを通して転職活動をした際には何かと精神力を擦り減らしたりしましたが、転職ドラフト経由での転職は今までの中で最も楽に転職できたのでその辺りの話を掘り下げてみます。

転職ドラフトの良かったところ

その1 レジュメを書くだけでOK

通常の転職活動と違い、履歴書相当の文書は不要で、職務経歴書相当のレジュメを書くだけでエントリーが完了しました。

自由記述欄はエンジニアにとって馴染みあるmarkdown形式になっています。 私は元々職務経歴書を常にアップデートしていたので、半分くらいはコピペするだけで大丈夫でした。

幾つか特徴的な記入欄がありましたが、それらはエンジニアの資質やマッチングの齟齬を減らす目的の項目だったので、ウイスキーを飲みながら3時間くらいダラダラ書いてたら埋まってました。

レジュメの審査は普通に書いていれば通過します。

審査に落ちる理由の 9割は「情報不足」!転職ドラフトの審査にまつわる 3つの誤解|転職ドラフトReport

その2 面談 / 面接前から年収が分かる

以前の4回目の転職活動では6社内定を貰ったのですが、せっかく内定を貰ったにも関わらず内定通知書に書いてある年収が少なくて...🤔となるケースがままありました。

通常の採用フローですと内定後の条件面談まで年収が分からないケースが殆どで、せっかく複数の面接をこなして内定を貰ったにも関わらず現職より少ない年収を提示され、条件交渉を試みようにも内定先のエンジニアの平均年収もあまり高くない為交渉の余地もなく断る...という誰も得しないパターンも数多くありました。

最近は履歴書に現職年収をデカデカと書くことで上記パターンを回避していたのですが、転職ドラフトの場合にはそんなことをせずとも一次面接前に年収が分かるので、企業側がエンジニア採用に出せる金額、採用の温度感、企業からの自分に対する期待値を鑑みた上でこちらから断れるという転職者優位の形で進めることができました。

また、転職ドラフトのルールでは、

内定年収が、転職ドラフト上で提示した提示年収の90%を下回ることは禁止しています。

となっています。 念の為、私は年収100%保証の企業以外では基本0.9掛けで企業の年収を想定していましたが、採用時の年収予測としては充分機能しているなと感じました。

企業の他ユーザーへの指名金額も分かる為、自分の年収のその会社での相場観も良く分かり、年収の伸び代がありそうかも分かるようになっています。

その3 全般的に企業より転職者が優遇

その2で述べたように、事前に年収が分かるという点でも転職者が優遇されている面がありますが、 転職ドラフトのルール違反と思われる企業対応を是正しました|転職ドラフトReport のように、企業のレギュレーション違反に厳粛に対応を行いその結果についても公開してくれるので、透明性が非常に高いと感じました。

私はたまたま当該レギュレーション違反企業から指名をいただいていたので企業名を把握しているのですが、割と著名な企業にも関わらず厳粛に違反告知と対応を行っていたことに転職ドラフトの公正さを感じました。

後日、転職ドラフトを運営しているリブセンスのエンジニアとお話する機会があり、そのコンセプトについて伺ったことがあるのですが、

働くということは、日々の糧を得る手段であると同時に、個人が社会とつながるための重要なパイプでもあります。しかし、社会構造の変化に伴う働きかたの多様化に加え、情報の非対称性が引き起こすミスマッチなど、人材領域では多くの課題が解決を待っています。 リブセンスは、口コミによる企業情報の透明化・マッチング精度向上に挑む『転職会議』『就活会議』、専門職の競争入札型転職メディア『転職ドラフト』、成功報酬型でより多くの案件から適職を提案する『マッハバイト』『転職ナビ』など、常に清新な視点をもって、新たなあたりまえを問い続けます。 リブセンスの事業 | 株式会社リブセンス

を実践しているというお話を伺い、正に情報の非対称性を無くす為のサービス設計で転職ドラフトも運営されているんだなと感じました。

転職ドラフトの悪いとまでは言わないけど課題が残るところ

その1 転職エージェントと違い、自分で企業とやりとりする必要がある

間にエージェントがいないので自分で直接企業とメッセージや日程調整をする必要があります。 先方企業の企業情報や面接対策をエージェントに尋ねることはできませんし、辞退のごめんなさいメッセージも当然自分で伝える必要があります。

いまさら痛感しますが、エージェントを通して辞退するのは気楽でした。

とはいえ、メッセージや日程調整は転職ドラフト上で行うことができ、日程調整ツールもよくできていたのでコミュニケーションコストはそれ程高くはありませんでした。人に依っては全く苦ではないかもしれません。

企業とトラブルが生じてしまった際には相談フォームがあるのでその点では安心です。

その2 企業への訪問回数が増えがち

企業から指名をもらったその後は、うろ覚えですが概ね↓のような選択肢から対応を選ぶことになります。

  • 承諾し、そのまま1次面接に進む
  • 承諾し、まずはカジュアル面談をし、その後1次面接に進めるか判断する
  • 辞退する

興味のある企業からの指名には当然承諾して話を進めるわけですが、1次面接 or まずはカジュアル面談どちらにするかといったら、普通カジュアル面談を選ぶと思うんですね。

だって、「あなたに興味あります!」って言われて喜んでノコノコ行ったのに、「やっぱコイツいらね」って言われたらショックじゃないですか。
こちらもじゃあまずはカジュアル面談で話を聞いてから、自分のスキルが活かせそうかや社風が合うかを判断してからこの会社受けようかなー、この会社は合わなそうだから落とされる前に辞退しとこうかなー、とか自分で予め防衛機制を働かせておきたくなります。

で、イマドキの企業はオンライン面談も可能な所も多いですが、通勤のシミュレーションやオフィスの様子がみたいのもあって自分の意志で直接訪問を選んだ結果の話なので、これも人に依るかも知れません。

その3 レジュメの重要さがユーザーに充分に伝わっていない

当然ながら企業側にはレジュメ以外の情報が殆どないのでレジュメを一生懸命目を通して指名するので、レジュメにいい加減なことを書いていると指名は貰える訳がないのですが、所々にカジュアルな質問が散りばめてあってその重要さが伝わりづらいです。

例えば、3〜5年後の目標や野望を書く欄があり、例も「個人的なものでもかまいません。」と書いてありますが、企業は当然企業にとって嬉しい目標を書いてある人を指名するので企業の採用担当にとって喜んで貰えそうな野望を書く必要があります。

また、「水とプログラミングどっちが好き?」という質問意図がよく分からない質問あったり、「レガシーなシステムの保守・運用・改善をしたい」という質問は、レガシーなまま運用をやれと強制されたらNoだけど、改善のための開発だったらYes!!なんだけど...のように回答に困るものがあったりと、もうちょっとレジュメの項目はブラッシュアップの余地があるんじゃないかなーと思いました。

とはいえ、巷の履歴書や職務経歴書に比べれば採用側、転職希望者双方にとって良い内容ではあると思います。

転職ドラフトまとめ

他細かいところも含めて箇条書きにまとめてみます。

良かったところ

😇 レジュメを書けば勝手に企業から指名してくれる
😇 自由記述欄はエンジニアに馴染み深いmarkdown
😇 全般的に企業より転職者が優遇
😇 企業や他ユーザーの動向や指名金額も分かる
😇 転職者に嬉しいキャンペーンがある

悪いとまでは言わないけど課題が残るところ

🙁 自分で企業とやりとりする必要がある
🙁 企業への訪問回数が増えがち
🙁 レジュメの重要さがユーザーに充分に伝わっていない

総括

なんだかんだ言ってさっきの進研ゼミみたいなマンガの通りです。

job-draft.jp

最後にありきたりなコツも残しておきます。転職ドラフトの採用側には回ってないのであくまで転職者目線です。

  • 職務経歴書は常にアップデートしとく
    • プロジェクト終了時に書くのが一番鮮度が高いのでオススメ。
  • レジュメはちゃんと書く
  • 野望は何でもいいけど採用担当に刺さるものにする
  • IDもアイコンも未設定が体感9割位で印象に残りづらいので個人が特定されない範囲で設定しとく
    • 逆にはてブと共通のIDやアイコンだと面識ないけど気付く...

ちなみに年収は上がった?

自分は若干下がりました。

SIerの前職がWeb業界に比べて貰いすぎていたので、もっと下がることを想定していましたが、年収若干マイナスではあるもののストックオプションがあるので不足分を取り戻せるように頑張ればいいかなと思っています。

レガシー環境から脱出して、大きな裁量の中でこの条件で働けるという点で非常に満足しています。

もしこのブログをみて興味を持ったなら

こっそりご連絡ください。招待コードをお送りします。無事に審査を通過したら、お好きなオライリー・ジャパンの本を1冊ずつプレゼントされるそうです。(eBooks版対応待ってます!!)

f:id:ShineSpark:20181204004624p:plain

2019-01-24 17:15 追記

転職ドラフト事務局から「ブログにそのまま招待コードを載せていいですよ」と連絡があったので貼っておきます。

招待コード: YQFZ

特定ディレクトリ配下のみgitコマンドに紐づくGitHubアカウントを切り替える

特定ディレクトリ配下のgitリポジトリのみ別のconfig設定を適用する - 人生シーケンスブレイク の派生版。
個人でも会社でもEnterpriseでないGItHubを利用している場合の方法。

やりたいこと

  • GitHub利用のメインは個人アカウントにしたい
  • 会社用リポジトリをいじる際だけ社用アカウントに切り替えたい
    • git cloneコマンドで新規にプライベートリポジトリを取得する場合にも、権限エラー無く取得したい

ディレクトリイメージ

以下のようなディレクトリ構成を例とする。

~/git/
├── 個人アカウントのリポジトリ1
├── 個人アカウントのリポジトリ2
├── ...
└── office/ # このディレクトリ以下では会社用のgit configを適用したい
    ├── 会社用アカウントのリポジトリ1 
    ├── 会社用アカウントのリポジトリ2 
    └── ...

手順

一部 特定ディレクトリ配下のgitリポジトリのみ別のconfig設定を適用する - 人生シーケンスブレイク と重複。

グローバルの ~/.gitconfig に、特定ディレクトリでは追加の.gitconfigを参照するように以下を追記

該当ディレクトリ配下では、追加で独自の .gitconfig も読み込むようにする。

[includeIf "gitdir:~/git/office/"]
  path = ~/git/office/.gitconfig

会社用のユーザー名やssh証明書などの設定を会社用の.gitconfig ファイルに記述する

このケースでは、 ~/git/office/.gitconfig に記述する。

[user]
    name = name_for_office
    email = name@example.com
[core]
    sshCommand = "ssh -i ~/.ssh/id_rsa_for_office -F /dev/null"

使う

~/git/office/ 以下では、~/git/office/.gitconfig の設定もインクルードされ、

リポジトリ単位で個別に設定する必要がなくなるので非常に便利。

参考