Slide 1

Slide 1 text

私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用した ワークフロー ハッカーズチャンプルー2023 新垣雄志

Slide 2

Slide 2 text

自己紹介 ● 新垣 雄志(あらかき ゆうじ) ● X: @arakaji ● 職歴 ○ 琉球インタラクティブ株式会社 ○ 株式会社Payke ○ CBcloud株式会社 ← NOW ● 現職での役割 ○ PickGoというサービスのリードエンジニア ● 本業 ○ 二児の父親

Slide 3

Slide 3 text

事業概要 配送プラットフォーム PickGo 荷物を送りたいユーザーと、届けてくれるユーザーを直接つなげるプラットフォーム © 2016-2019, CBcloud Co., Ltd 13

Slide 4

Slide 4 text

このテーマを選んだ背景 ● コロナ前はオフィスで同僚の PCなどをみながら「これ何を使っているの?」と言った形で開発環境の面白 いカスタマイズや新しいツールなどを発見する機会が多かった ● ただコロナ禍でリモートワーク全盛になり、そのような機会が減ってしまった ● 自分ごとでいうとしばらく東京にはエンジニアがいるが沖縄では一人という時期が長かったので余計そう いう機会に飢えていた ● 個人的に人の開発環境、 PCの設定のカスタマイズなどを見るのが好きなので、この機会に自分の環境 や使っているツールを晒すことでほかの人の話も聞けると嬉しいなーと企んでおります。

Slide 5

Slide 5 text

前提 ● 自分がmacosを使っているので、今回の内容も macos前提です。 ○ windowsでも使えるツールもありますが、動くかどうかはわからないです。 ● 「同僚に開発環境を晒す」がコンセプトなので資料を作り込むのではなくて、実際使っているツールを操作 するのを見せる形の発表スタイルにしています ○ 手間取ったりしたらすみません。 ● 今まで10時間でかかっていたことを 1時間でできるようになる!みたいな派手な話ではなく、今まで 3秒か かってたのが0.5秒になったり、3手かかってたのが1手できるようになるような、地味なんだけどそれがで きることによって気持ちよく作業ができて集中力が途切れにくいよねーみたいな話です。

Slide 6

Slide 6 text

アジェンダ ● 開発環境のコンセプト ● 利用ツールの紹介 ○ Raycast ○ Vivaldi ○ Warp ○ Emacs

Slide 7

Slide 7 text

開発環境のコンセプトとは ● ただ便利そうだから入れるでもいいが、自分にとって何が便利で何が気持ち良いことなのかは人によって 違う ● 自分がどういうワークフローで PCを操作することが便利と感じるのか、気持ち良いのかをある程度コンセ プトとして定めて、それにあうツールやカスタマイズを選択している

Slide 8

Slide 8 text

思考をブロックせずにPCを操作できる ● マウスが必要だったり、手数の多い操作や複雑な操作が必要だとそれに思考が取られてやりたいことに フォーカスできない。 ○ 何かをやりたいと思った時に最小の手数でやりたいことができてほしい ○ その操作をするときに頭をあまり使わずに操作したい ● キーボードで操作が完結する ● 統一したインターフェースであらゆる操作ができる ○ キーワードでのインクリメンタルサーチ => 実行

Slide 9

Slide 9 text

Raycast: 多機能なランチャーアプリ ● macos標準でついているSpotlightのようにテキスト入力でインクリメンタルサーチしてアプリを起動したり コマンドを実行したりできるアプリ ● プログラミングしたり仕事をしているとアプリの切り替えを高頻度で行う ● 切り替えのためにそのアプリのウィンドウを探してマウスで選択したり、 Command + Tabでアプリの切り 替えすると手数多くて辛い ● 自分はCtrl + Shift + SpaceでRaycastを起動してそこに切り替えたいアプリの名前を数文字入れて選択 することですぐに切り替えられる

Slide 10

Slide 10 text

なぜSpotlightではなくRaycastか? ● 高速 ● SpotlightにはないRaycastの機能によってアプリの切り替えだけじゃない操作もキーボードでできるよう になる ○ Clipboard History ○ Hotkey ○ Window Management ○ 予定の確認

Slide 11

Slide 11 text

Hotkeyの設定 ● 自分がよく使うアプリの起動などを Hotkeyを設定して簡単に起動できる ● 僕の場合以下をHotkeyを設定している ○ Ctrl + Shiht + V => Vivaldi(ブラウザ)を起動 ○ Ctrl + Shift + E => Emacs(エディタ)を起動 ○ Ctrl + Shift + S => Scrapbox(メモアプリ)を起動 ○ Ctrl + Shift + T => Todoist(タスク管理アプリ )を起動 ○ Ctrl + Shift + M => Spark(メールアプリ)を起動 ● これによってRaycastを起動する手間も無くす

Slide 12

Slide 12 text

Window Management ● アプリのウィンドウの大きさや位置を簡単に操作できる機能 ○ 右半分に寄せたり、上半分にしたり ○ この機能がないとマウスでウィンドウの大きさを調整するという地味にめんどくさい作業が発生していた。今まで Magnetという専用ツールを使っていたが、 Raycastでできるので移行した ● 標準だとRaycastでコマンドを選択して実行する形だが、前述した Hotkeyを設定することで簡単に Window Managemntできる ○ Ctrl + Option + ← => 左寄せ ○ Ctrl + Option + → => 右寄せ ○ Ctrl + Option + ↑ => 上寄せ ○ Ctrl + Option + ↓ => 下寄せ ○ Ctrl + Option + Enter => 画面全体に広げる

Slide 13

Slide 13 text

Vivaldi: カスタマイズ可能な多機能ブラウザ ● ブラウザの好みは人それぞれなので、あらゆる機能がその人好みにカスタマイズできるようにする!とい うコンセプトのブラウザ ○ タブ位置を変えれる ○ タブ切り替え方法やタブのサムネイル表示したりなど細かい調整が可能 ○ メモ、メール、ニュースフィード、カレンダーなどの機能がブラウザに入っていたり ● 私の推し機能 ○ クイックコマンド ○ ワークスペース

Slide 14

Slide 14 text

クイックコマンド ● Raycastのようにフォームにテキスト入力 =>実行という手順でブラウザを操作することができる機能 ○ 検索できるのはコマンド、ブックマーク、履歴、タブなど ○ Ctrl + E で起動 ● タブをひたすら開いたままにしがちな怠惰な人間なのでさっきまで開いたページがどこに言ったかすぐに わからなくなる。 ○ ページ名やURL、ブックマークした時に設定したページのニックネームなどでけんさく ○ タブが残っていればタブに切り替わる。もしタブがなければ履歴やブックマークからそのページを新規に開く ○ タブ探しにかかる時間がなくなる

Slide 15

Slide 15 text

ワークスペース ● 開いているタブをワークスペースという単位で管理して切り替えることができる機能 ○ 例えば、仕事と趣味のワークスペースを分けることで仕事の時に開いていたタブはそのままにして、趣味のワー クスペースに切り替えると趣味で利用していたタブだけが表示される ● 個人的な活用方法は「MTGごとに別のワークスペースを作る」 ○ 会社でチームリーダー的な役割を担っているので定例 MTGや採用面談などが日々いくつも入っている ○ そのMTGに必要な資料や議事録のページなどがそれぞれあるので、毎回 MTGのたびにセットするのが大変 ○ MTGごとにワークスペースを作って事前資料をタブとして開いておくことでワークスペースに入るだけで良い。 ○ 開発などの本業用のワークスペースを用意することですぐ作業に戻れるようにする

Slide 16

Slide 16 text

Warp: 美しい新世代のターミナル ● Rust製のターミナル ● 個人的な採用理由は、他のターミナルよりもここが便利!!!というより、ただ見た目がいいという理由で 採用している ○ 美しい is 正義 ● ただデフォルトで補完がリッチな UIで効いてくれるのは重宝 ○ コマンド名を途中まで入力したり、オプション指定の -(ハイフン)を入力してタブを押すと候補が標示されて選択 することができる ○ Ctrl + rを押すとリッチな UIで過去の実行履歴からコマンドをインクリメンタルサーチすることができる ● ターミナルに表示されたファイルのパスや URLをクリックできてブラウザを開いたりファイルをエディタで開 いたりできる ● タブやViewの分割ももちろんできる

Slide 17

Slide 17 text

Emacs: エディタを超えた存在、環境であり宗教 ● VScode全盛の時代。私はEmacsを使っている ○ 一年に一度のペースで VSCodeへの移行を試みるも、どうしても乗り越えられず Emacsに戻ってきている ○ 「風になりたいやつだけ Emacsを使えばいい 2020」みたいなポエムにだいぶ影響を受けている ● 戻ってきている理由は自分の開発環境のコンセプトである「思考をブロックせずに操作する」ための「キー ボードでの操作」と「統一したインターフェイス・操作方法」をある程度 Emacsで実現したためにほかのエ ディタに切り替えると心理的ストレスが大きいことが原因 ○ ディレクトリの移動や開くファイルの選択 ○ 過去開いたファイルや開くファイルの切り替え ○ コマンドを探して実行

Slide 18

Slide 18 text

まとめ ● 「思考をブロックせずにPC操作をできるように、キーボードできる限り操作が完結でき、キーワードでイン クリメンタルサーチ=>実行の統一したインターフェイスをつかう」というコンセプトに沿うために僕が使って いるツールやカスタマイズの紹介を簡単に紹介しました ● 参考になることも参考にならないこともあったと思いますが、自分はこの