名前はまだない

インフラとバックエンドの間を彷徨っているエンジニア…の卵

Sunriseアドベントカレンダー@12月14日

Sunriseアドベントカレンダー

アドベントカレンダーの時期ですね。
Sunriseアドベントカレンダー12月14日担当の id:tetlv11 です。
Twitter : @tetlv11
普段は京都で大学院生しながらバイトやら何やらで主にインフラ(クラウド)触ってます。

Sunriseとは

2019年11月に開催されたVOYAGE GROUPのインターン。大規模トラフィックをアプリケーションとインフラの両方から改善して行こうと言うインターンでした。
まぁ僕があれこれ言うより公式サイトにいい感じの説明が載っているのでご覧ください。笑

voyagegroup.com

何を書くか

さて、ノリでアドベントカレンダー申し込んだんだけどビビるほど書くこと思いつかなかったので、ひたすらに自分の開発環境を晒していく事にした。
自分の環境を晒す事で他の人からアドバイスをもらって更に改善して行こうと言う魂胆なのでコメントや俺の方が凄いし!的なコメント大歓迎です
と言うわけでこのアドベントカレンダーは特に技術的な話もしなければ、Sunriseについても触れないと思います。すいません。笑

俺的開発環境

ハードウェア

MacBookPro 16インチ US配列

  • 買っちゃいました。16インチ

Lily58

yushakobo.jp

  • 基本的に何処にでも持ち歩いてます。カフェとかでも普通にLilyで作業する
    • この記事を書いている時も新幹線の中でLily使って書いてる。
  • ちなみに青系の軸を使っているので使っている本人でも音は気になる

ASUS モバイルディスプレイ MB16AC 15.6インチモニター

www.amazon.co.jp

  • がっつり作業する時とかに便利。
  • TypeC1本で給電も接続も出来るので便利。
  • 最近だとCatalinaでSidecarする人も多いのでは?
  • ただ、こっちだと縦置きも出来るので2枚目ディスプレイとしては普通に優秀

コーディング

Visual Studio Code

  • 言わずと知れた無料の統合開発環境
  • なんだかんだ、コードジャンプとか色々便利
  • 入れているパッケージは以下のものがメインかな
    • Vim
    • Material Icon Theme
    • Rainbow Brackets

Vim

  • 夏にとある人のvim捌きを見て憧れて入門しました。笑
  • パッケージ管理にはdeinを使ってます
    • vim-go, NerdTreeくらいしかパッケージはあんまり使ってないけど…
    • 何か他にいい感じのパッケージあったら教えてください

iTerm2

  • ターミナルはiTerm2使ってまする。

フォント

Cica

github.com

  • iTermやVS Codeに設定しているフォントは基本的にを使ってます

その他便利ツール

Karabinar

pqrs.org

  • Macのキーを上書きしてくれるもの
  • 基本的にホームポジションから出来るだけ手を動かしたくないので移動キー・Backspace・Tab・EnterをCtrlキーと何かの組み合わせで中央に寄せている
    • 気になる人はGistに上げておいたのでどうぞ
    • ~/.config/karabinar/karabinar.jsonに配置するだけ…のはず。

カスタマイズ済karabiner用設定ファイル · GitHub

Alfred

www.alfredapp.com

  • あらゆる作業をショートカット出来る強者
  • ブラウザのブックマークに飛ぶのに一番使ってる気がする
  • 課金ユーザ です。笑
    • フリーでも全然使えるので最初はフリーで遊んでみるのもあり。
    • 地味にクリップボード記録してくれるの便利なんだよな…

Spectacle

www.spectacleapp.com

  • Macで画面をいい感じに配置してくれるやつ
  • 左側・右側とかだけじゃなくて複数ディスプレイを接続した時に別にディスプレイに移動とかも出来るので便利

ドキュメント

Notion

www.notion.so

  • これの使い方の解説し始めたら年が明けてしまうので気になる人は調べてみてください
  • ちなみに学生は有料プランが無料で使えます。
    • 学生終わってもたぶん課金して使い続けると思う。

Chrome拡張

Vimium

chrome.google.com

  • 言わずと知れたchromevimライクに操作出来るもの

LTTM

chrome.google.com

  • Github上でいい感じにイラスト差し込めるもの

Octotree

chrome.google.com

  • GithubのファイルなどをIDE的にいい感じに表示してくれるもの

その他

anyenv

github.com

  • 言語のバージョンはそれぞれの言語で**env系で統一してるんだけど、そのもう1段上で全てのenv系をanyenvで管理している

ccat

macappstore.org

  • catコマンドでの表示内容に色を付けるだけ

peco

github.com

  • 曖昧検索
  • 類似のものにfzfとかあるけど別にこだわりはない。笑

.zshrc

  • zshを使ってるのでそれ関係の設定をちょろっと

ターミナルで表示内容をコピーするための設定

  • これね、地味に便利
  • cat hogehoge Cとかでhogehogeのファイルの中身をクリップボードにコピーする
  • まぁ中身としては単純にパイプでpbcopy読んでるだけなんだけどね。笑
  • alias中の-Gについては以下の記事を参考にどうぞ!

qiita.com

if which pbcopy >/dev/null 2>&1 ; then
    # Mac
    alias -g C='| pbcopy'
elif which xsel >/dev/null 2>&1 ; then
    # Linux
    alias -g C='| xsel --input --clipboard'
elif which putclip >/dev/null 2>&1 ; then
    # Cygwin
    alias -g C='| putclip'
fi

設定ファイルをいい感じに分割するための設定

  • ~/.zshrcに設定を書いていくと永遠に肥大化するのでいくつかのグループに分けて~/.zsh.d/配下に*.zshファイルを作ってそこから読み込む
    • フォルダ構成はこんな感じになる
/Users/tet.lv11/.zsh.d
├── [1.8K]  /Users/tet.lv11/.zsh.d/alias.zsh
├── [ 402]  /Users/tet.lv11/.zsh.d/gcloud.zsh
├── [ 189]  /Users/tet.lv11/.zsh.d/k8s.zsh
├── [ 244]  /Users/tet.lv11/.zsh.d/languages.zsh
├── [ 207]  /Users/tet.lv11/.zsh.d/peco.zsh
├── [ 696]  /Users/tet.lv11/.zsh.d/private.zsh
└── [  99]  /Users/tet.lv11/.zsh.d/ssh.sh
  • ~/.zshrcに以下の設定を追記
ZSHHOME="${HOME}/.zsh.d"
if [ -d $ZSHHOME -a -r $ZSHHOME -a \
     -x $ZSHHOME ]; then
    for i in $ZSHHOME/*; do
        [[ ${i##*/} = *.zsh ]] &&
            [ \( -f $i -o -h $i \) -a -r $i ] && . $i
    done
fi

コマンド履歴をpecoを使っていい感じに表示する

  • ^Rで表示出来る様にした
function peco-history-selection() {
    BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`
    CURSOR=$#BUFFER
    zle reset-prompt
}

zle -N peco-history-selection
bindkey '^R' peco-history-selection

Alias

  • 結構エイリアス貼るの好きなのでいくつか抜粋
  • docker
alias d='docker'
alias dcud='docker-compose up -d'
alias dcu='docker-compose up'
alias dcd='docker-compose down'
alias dcb='docker-compose build'
alias dcl='docker-compose logs -f'
alias docker-stopped-container-delete='docker rm $(docker ps -a -q)'
alias docker-none-tag-images-delete='docker rmi $(docker images -f "dangling=true" -q)'
  • git
    • gitのログはgit-foresta 使ってます

qiita.com

alias ga='git add -A'
alias gc='git commit'
alias gf='git diff'
alias gs='git status'
alias gl="~/bin/git-foresta --all --style=10 | less -RSX"
alias gcb="git checkout -b"
alias gco="git branch | peco | xargs -IBRANCH_NAME git checkout BRANCH_NAME"
alias push='git push -u origin `git rev-parse --abbrev-ref HEAD`'
alias pull='git pull origin `git rev-parse --abbrev-ref HEAD`'
alias git-branch-list="git branch | peco C"
  • その他
alias c='clear'
alias -g G='| grep --color=auto'
alias t='tree -CfhL '
alias l="ls -lahG"
alias cat="ccat"

誰かに使って欲しいもの

Beautiful.ai

www.beautiful.ai

  • なんかいい感じにスライドを作成出来るサービス
    • 僕はセンスがなかったので途中で挫折しました。笑

最後に

この記事を読んでいる人が対象かは知らないけど、インターンはいいぞ!
どの会社もそれぞれ色があって面白いし一緒に来る学生もみんなレベルが高い。
そして大抵のweb系の企業だとお金も出るし!
ただし、学業に支障が出ない様に気をつけてください。笑笑

一言

絶賛 I want to be hired...!!!