趣味ブログ

好きなことを書いていきます。 主にプログラミングなり、転職活動の体験談だったり、読んだ本の内容だったりです。

スクリーンショット_2021-02-14_8_44_34

1台のMacBook仕事とプライベートを使い分けなくちゃいけない場合って
仕事用のアカウントとプライベート用のアカウントで別々のユーザを
Mac上で作るのがほとんどだと思われます。

そうした場合に

  • vscode
  • karabiner
  • iterm2
  • 日本語入力の辞書

などのアプリ設定を、新しいユーザアカウントに反映し直すのって
大変です。(特に辞書ルーツ)


今回はユーザ間、複数のMacにて
アプリ設定の共有方法についてご紹介していきます。

目次

全体の流れ

複数のMac、またはユーザ間でアプリ設定を共有する方法として
ご紹介する方法はGoogleドライブとシンボリックリンクを使う方法です。

つまりは
  1. Googleドライブに各アプリの設定ファイルを移動
  2. そこにシンボリックリンクを設定
  3. 各MacにてGoogleドライブからシンボリックリンクを貼る
という流れになります。

こうしておくことで、
各アプリで設定を変更してもGoogleドライブに設定が保存され、
共有が可能になります。

仕事用のアカウントを作る

まずは仕事用のアカウントをMacで作ってみましょう。
知ってる人は次のステップに進んでOKです。

「システム環境設定」→「ユーザーとグループ」とクリックスクリーンショット_2021-02-13_20_11_12
左下の鍵を解除して「+」ボタンをクリック スクリーンショット_2021-02-13_20_11_22
新規アカウントとして「管理者」を選択して、
アカウント名やパスワードを入力し、
最後に「アカウント作成」をクリックして完了です。 スクリーンショット_2021-02-14_7_22_47

アプリ設定を共有する

仕事用のアカウントが作れたので
次はアプリ設定の共有方法について解説していきます。

今回ご紹介する方法では
Gooleドライブを使っていくので
予めアプリをインストールしておいてください。

準備

Googleドライブの好きなところに設定ファイルを入れるディレクトリを作成します。
名前は何でもいいし、場所もどこでもいいです。

アプリ設定をGoogleドライブに入れていく

設定を共有したいアプリの設定ファイル、
ディレクトリをGoogleドライブに移していきましょう。

私の使っているアプリと設定ファイルが
置いてある場所はこんな感じになります。
アイコン アプリ 設定ファイルの場所
スクリーンショット 2021-02-14 7.37.35 BetterTouchTool ~/Library/ApplicationSupport/BetterTouchTool
スクリーンショット 2021-02-14 7.36.39 Google日本語入力 ~/Library/ApplicationSupport/Google/JapaneseInput
スクリーンショット 2021-02-14 7.37.45 karabiner ~/.config/karabiner
スクリーンショット 2021-02-14 7.32.15 iterm2 ~/Google\ ドライブ/com.googlecode.iterm2.plist

これらファイルを
Googleドライブの任意なディレクトリへ移動させます。

iterm2は少し複雑

iterm2は.configディレクトリ直下にも設定ファイルらしき
「iterm2」ディレクトリがおいてありますが
別で設定ファイルを用意する手順を踏む必要があります。

設定ファイルの置き場所をGoogleドライブに指定する

iterm2の設定ファイルをGoogleドライブに指定しましよう。
iterm2の設定画面を開き、
「General」→「preferrences」と進みます。

そして以下のように操作します。

  • 「Load preferrences from a custom folder or URL」にチェック 
  • 「Browse」からGoogleドライブを指定
  • いつ設定を保存するかを「Save Changes」から選択

「いつ設定を保存するか」の時間として選べるのは以下です。

  • Automaticaly(自動)
  • Manualy(手動)
  • when Quitting(終了時)

これは好きに選んでください。
スクリーンショット_2021-02-14_7_53_06 
最後にSave Now」をクリックし、
「com.googlecode.iterm2.plist」というファイルが
Googleドライブの指定した場所に生成されていることを確認します。

シンボリックリンクを使う

ここまで来たら
Googleドライブから各設定ファイル場所にシンボリックリンクを張りましょう。

ターミナルで作業していきます。
使うコマンドは以下です。
ln -s [①Googleドライブにある設定ファイルの絶対パス] [②各設定ファイル場所のリンク]
例としてGoogle日本語入力のシンボリックリンクを作っていきます。

そうするとは上記コマンドに当てはまるパスはそれぞれ以下のようになります。
引数 パス
~/Googleドライブ/[任意ディレクトリ]/JapaneseInput
~/Library/ApplicationSupport/Google/
なので入力するコマンドはこうです。
ln -s ~/Googleドライブ/[任意ディレクトリ]/JapaneseInput ~/Library/ApplicationSupport/Google/
このような設定を各設定ファイルごとに実施していきます。

注意

Googleドライブに置いたシンボリックリンクは、設定ファイル本体と同等なので、
それは絶対に削除しないでください。

さらなるバックアップとしてGithubを使用すれば誤って削除してしまった場合でも、
安心かと思います。

またシンボリックリンクを解除するには
「unlink」コマンドが使えますが、
この引数には設定ファイルの本体を指定しないでください。

その場合は「rm」をして動作するので注意が必要です。

目次

VSCodeでEmacsを使いたい

VsCodeでEmacsのコマンドを使いたかったので、
拡張機能を入れました。

Macはある程度のEmacsコマンドを使うことができます。

スクリーンショット 2021-02-11 18.26.31

参考:Mac のキーボードショートカット

VsCodeは「control + Y」が使えない

でもVsCodeでは使えないコマンドもあります。

以下のコマンドは使えません。

  • control + Y

control + Kでヤンクしたものを貼り付けるこのショートカットは
地味に便利なんです。

ヤンクされてたものは
クリップボードとは別領域に保存されるますが、
control + Kは「切り取り専用」と認識しておけば、
特に不自由なく使えます。

control + A→control + K

の流れが最強です。

これはVsCodeでも機能しますが、
ヤンクしたものをペーストするコマンドの「control + Y」が使えません。


これは地味に不便です。

解決策

結局Emacsの拡張機能をインストールしました。


インストールしたのは、ダウンロード数が多かった「Emacs Keymap」 スクリーンショット 2021-02-11 18.35.57


これでcontrol + Yが使えるようになります。

おまけ

そういえば改行をするのにいちいち
「return」(Enter)を入力するのも面倒だったので、
control + Mで改行ができるようにkeybindings.jsonを編集しました。


以下のようにすると、control + Mで改行することができます。

[
    {
        "key": "ctrl+m",
        "command": "type",
        "args": { "text": "\n" },
        "when": "editorTextFocus && !editorReadonly"
    },
]

また、control + Mは日本語入力のときは変換確定として機能し、
更にターミナル画面ではcontrol + Jで実行できてしまうので、


もはやreturnキーに触れずとも開発ができちゃいます。

alone-1869997_1920

私はプログラミングスクールに6ヶ月通い
納得のできる企業から内定をいただき、
今月入社予定です。

今回は 内定から今までの自分の状況を整理していた結果
今後について意識しておかねばならないことに気づいたので
それを共有していきます。

目次

あなたはなぜプログラミングスクールに通うという決断をしたのか

私は新卒で入社した大手Sierを1年で退社し
WEBエンジニアになるためにプログラミングスクールに通う決断をして
現在受託開発企業へ入社予定です。

私は当時、 WEBエンジニアなるためにプログラミングスクールに通いました。

でも今考えてみたら、 それは理由ではないと思いました。

WEBエンジニアになるための手段であれば
いくらでもあるのになぜスクールなのか


問の答えは
それ以外の答えを知らなかったからです。
それ以外の手段について調べようとしなかったからです。
勉強以外の努力をしたくなかったからです。

この言葉がグサっときているひとは
WEBエンジニアに転職するに向けて
何も考えてないに等しいです。

question-mark-1872634_1920


おそらく偏見ですが 「#今日の積み上げ」と毎日ツイートしている人は
「スクールを受講しポートフォリオを作るだけは自身がない」
と考えていると思います。

その根底には「勉強以外の努力をしたくない」という考えがあり
積み上げツイートは、それを悟られたくない気持ちも相まった
埋め合わせとしての行動だと思います。
(偏見です。もちろん純粋に努力している人がいることは間違いないです。
でもこの発言に過剰反応してしまったら、図星ということです。)

私はこの事実に気づくまでは

スクールに通うという行為が努力の一環であると勘違いしていました。
「授業料を払ってまでWEBエンジニアになりたいんです。」 というアピール自体が
面接に有利になると考えていました。


もちろん現時点でスクールに通っている人を避難しているわけではないですが、
あなたはなぜスクールに通おうと思ったのでしょうか

プログラミングスクールは「関数」のようなもの

先日こんなツイートをしました。


「転職したい」という引数を代入すると
「転職成功」という結果を返してくれる関数が
プログラミングスクールだと思いました。

転職から成功までの手順が隠されているものまさに抽象化の概念ですね。

授業料はその「関数」を使用するための費用であると思います。

この「関数」を購入する側としては
「転職したい」という気持ちを代入するだけで
簡単に転職ができると勘違いしています。(もちろん私も例外じゃないです。)

でもそれも
何も考えて無いに等しいです。

通うことが「努力」だと錯覚している

brain-2062057_1920
自分が行動を起こしたよう思いますが
ただ完成された「関数」を使用しているだけなので
実際は自分は何もしていないし何も考えてないに等しいです。

  • 今の状況からWEBエンジニアになるためにはどうすればいいのか
  • 未経験に求められているのはなにか
  • どんなポートフォリオにすべきか
  • 何から始めればいいのか
  • 自社開発、受託、SESのどれが自分に適しているか
  • どういう準備が必要なのか
  • 35歳限界説があるが、もしそれが正しかったらどうするのか

などなど、転職するまでには考えねばならないことはたくさんあります。

それを考えなくて済む抽象化された「関数」を利用することに逃げているだけです。

一番最初に自分で情報を集めてから
行動することが大事なんです。(意識高い系が言ってそうな言葉)

なにか行動を起こすとき、
湧き上がる疑問や不安に対する答えは
大概自分の中にあります。

これから意識すべきこと

board-3695073_1920

すこしディスりすぎてしまいました。


「もう少し早く緊急事態宣言をだせばよかったんじゃないか」
みたいに、過去のことを今責めても何も始まらないです。


これに気づいた私は、
今後の行動として以下のことに気をつけなる必要があると感じました

  • 今後何か得たいもの、スキルがあったら「スクール」に通う以外の手段を考える
  • なぜその手段を選んだのかを考える

気をつけてほしいのは、
お金を払うことで
「スキルが得られた」、
「自分は努力をしている」
と錯覚してしまうこと
です。

「スクール」以外の手段を考えてみる

スクールに通った結果、
納得の行かない結果になったとしたらあなたはどうしますか?

おそらく

  • 選んだスクールが悪かった
  • 担当の講師が悪かった

などのように 自分以外の外的要因のせいにすると思います。

自分以外からの答えを求めてしまうから、
他の要因のせいにして
自身の努力不足を認めることができない
かわいそうな人になってしまいます。

そうならないためにも、
今後としては 誰かに頼らず自分に頼り、
あなたなりの方法を模索し実行する習慣を身につけるべきと思います。

「べきと思います。」では何の解決にもなっていないので、
その具体的な方法についても後ほど記事にします。

なぜその手段を選んだのかを考える

自分が無思考に決断をしていないかを判断するには、
考え続けるしか無いです。

だからこそ、導き出した手段についても改めて考え直してみてください。

まとめ

まとめると、私が伝えたかったのは

  • 一度よく考えてから行動することも大事
  • 無思考で決断している可能性を疑え

ってことです。

何かを得るのにスクールに通う必要はないと思います。
それに頼っていると、自分ひとりでは成長できない人になると感じました。
つまり成長するためには
スクールという「関数」が必要不可欠な人になると思います。
(実際にそれで成長できるかは別として)


時間があれば
「もし私が今の記憶のままスクールに通う決断をする前まで
時間を戻せたら何をするか」
についての記事を上げたいと思います。


最後にもう一度聞きますが、
あなたはなぜスクールに通おうと思ったのでしょうか。

↑このページのトップヘ