Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
No CUI, No Life
Search
mozumasu
December 16, 2024
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
No CUI, No Life
今日から始めるCUI
mozumasu
December 16, 2024
More Decks by mozumasu
See All by mozumasu
フリーランスからSREへの転身 SREとしての第一歩:3週間の活動報告
mozumasu
1
1.6k
モテるデスク環境
mozumasu
3
4.2k
Featured
See All Featured
From π to Pie charts
rasagy
0
210
Visualization
eitanlees
152
17k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
How to build a perfect <img>
jonoalderson
1
5.7k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Technical Leadership for Architectural Decision Making
baasie
3
410
Prompt Engineering for Job Search
mfonobong
0
340
Skip the Path - Find Your Career Trail
mkilby
1
150
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
No CUI, No Life めぐろLT #22 「 LT忘年会2024 」 mozumasu
CUI は良いぞ
最も自分の思考について来れるもの それは CUI
生活を豊かにするもの それは CUI
自己紹介 好きなもの: Wezterm, Neovim, zsh, IaC インフラ4ヶ月目 X: @mozumasu
CUIってなんだっけ キーボードでコマンドを入力して操作する画面 CUI: Character User Interface
CUI CUI 使いこなせてる?
CUI CUI 生活を始めてみよう✨
なにから始めればいいの?🤔
dotfilesを始めよう dotfilesは設定ファイルを管理するリポジトリのこと
設定 = 呼吸
Q. 設定ファイル、何秒で開ける?
一緒に測ってみよう! time cat
A. 10秒未満
爆速で設定ファイルを開く Step1. 管理ディレクトリに移動 Step2. ファイルを開く 使用ツール https://github.com/junegunn/fzf https://github.com/ajeetdsouza/zoxide z [
移動したいディレクトリ名の一部] # control + t でファイル名をfzf で選択
dotfilesによって得られる恩恵 別の端末になってもgit cloneでいつもの環境 設定ファイルに詳しくなる ツールに詳しくなる 名刺代わりになる 設定を変更するハードルが下がる
趣味にもピッタリ dotfiles❤️10ヶ月目 気づいたらコミットが積み上がっていく
dotfiles 入門
準備 参照 https://formulae.brew.sh/formula/gh https://formulae.brew.sh/formula/ghq https://formulae.brew.sh/formula/fzf https://formulae.brew.sh/formula/bat https://github.com/jesseduffield/lazygit?tab=readme-ov-file#homebrew CUI生活を快適にするツールをインストール brew install
gh # GitHub CLI brew install ghq # ローカルでのリポジトリ管理 brew install bat # cat をより便利にカラフルに brew install jesseduffield/lazygit/lazygit # git 管理をクールに brew install fzf # ファジーファインダー: 曖昧検索して選択 brew install zoxide # ディレクトリ移動の履歴を保存・移動
準備 Control + g でプロジェクトに移動できる 設定を反映 クローンしたリポジトリに爆速移動できるようにしよう # ~/.zshrc function
ghq-fzf() { local src=$(ghq list | fzf --preview "bat --color=always --style=header,grid --line-range :80 $(ghq root)/{}/README.*" if [ -n "$src" ]; then BUFFER="cd $(ghq root)/$src" zle accept-line fi zle -R -c } zle -N ghq-fzf bindkey '^g' ghq-fzf exec $SHELL -l
dotfilesを用意 dotfilesというGitHubリポジトリを用意 GitHubリポジトリをローカルにクローン Control + g でプロジェクトディレクトリに移動 gh repo create
dotfiles --private ghq get dotfiles
Brewfileを管理しよう 早速Git管理だ! GitHubリポジトリを確認してみよう 現在インストールしているパッケージをBrewfileに書き出す brew bundle dump git add Brewfile
git commit -m "Add Brewfile." git push gh browse
まとめ CUI入門はdotfilesがおすすめ 設定 = 呼吸
ご清聴ありがとうございました
Tips という名の使用しなかったスライドの供養
zshの設定ファイルを追加 ホームディレクトリに.zshrcのシンボリックリンクを作成 mv ~/.zshrc [dotfile のパス] ln -s [dotfile のパス]/.zshrc
~/.zshrc
ディレクトリに戻るとき、これやってない? もっとスマートに 直前にいたディレクトリに戻る プロジェクトのルートディレクトリに移動 cd ../ を連発! cd ../../../ cd
- git rev-parse --show-toplevel
コマンドが長い?覚えられない?
aliasで短く aliasの設定 こういうふうにもかける # alias 設定前 git rev-parse --show-toplevel #
alias 設定後 proot # ~/.zshrc abbr -S proot='cd $(git rev-parse --show-toplevel)' >>/dev/null abbr -S -qq proot='cd $(git rev-parse --show-toplevel)'
aliasの設定にもいろいろ 入力後にスペースを入力したり、コマンド実行すると元のコマンドが表示される (Zshの独自機能) 元のコマンドを表示しない abbr -S -qq ll='ls -l' alias
ggrks='google'
覚えられないなら参照しちゃおう サクッと概要を知りたいな 詳しく知りたいな fzf --help man fzf
zshのキーバインドを確認してみよう bindkey
謎の記号だらけ…? これで確認できる キーバインドを割り当てたいけど、記号がわからない cat
オレオレキーバインド思想 デフォルトのキーバインド必ず確認 emacs/vimのキーバインドを潰さない 使わないキーバインドは無効化 できたら守ったほうがいいもの ウィンドウマネージャー(例: AeroSpace)のキーバンドを潰さない ターミナルのキーバインドを潰さない キーバインドの設定で守る方針
CUIに影響するキーバインド設定の場 シェル ターミナル karabiner 影響範囲は下に行くほど大きい 影響範囲が大きいものから設定するのがおすすめ
案件掛け持ちあるある 管理しないといけないサーバーが増える 接続情報を入力するのが大変😵 ssh -i ~/.ssh/hoge-key
[email protected]
-p 22
~/.ssh/config before after エイリアスでssh接続できて楽ちん # ~/.ssh/config HOST __hoge_prod HOSTNAME 127.0.0.1
User hoge-user Port 22 IdentityFile ~/.ssh/hoge-key ssh -i ~/.ssh/hoge-key
[email protected]
-p 22 ssh __hoge_prod
案件ごとにファイルを分けて管理 Step1. configファイルを分割 Step2. Includeで読み込む .ssh └── config .ssh ├──
config └── conf.d └── hosts ├── 案件1 └── 案件2 # ~/.ssh/config HOST __hoge_prod HOSTNAME 127.0.0.1 User hoge-user Port 22 IdentityFile ~/.ssh/hoge-key
余談: 〇〇.dのdって何? UNIX系あるある 〇〇.d みたいな謎ディレクトリ名ありがち ~/.ssh/conf.d /etc/cron.d ディレクトリ (directory) を示す慣習的な命名
設定を分割して管理するのに使われる
zshであそぼ hogeディレクトリとtestディレクトリを作成 拡張子 .hogehoge のファイルを100個作成 まとめて消す 後片付け 3回も打てばあらかた覚える mkdir hoge
test touch hoge/{1..100}.hoge test/{1..100}.hoge ls hoge test rm -f **/*.hoge ls hoge test rm -rf hoge test ls hoge test