[🔗Zenn] ghq friendly な git worktree 運用
2025-12-01
2025-12-01
2025-11-25
WezTerm - Wez's Terminal Emulator を使い始めました。 https://wezterm.org/ クロスプラットフォーム対応が魅力で、今のところWindows / macOSで快適に動いていますが、課題もあります。 特にWindows環境においては、WSL2、PowerShell、Git Bashなど複数のシェルを使い分けることも多いと思いますが、新しいPane (1つのTabに複数置けるターミナル画面) を開いたときに現在開いているシェルを引き継いでほしいものです。
![[🔗Zenn] WezTerm in Windows で現在のシェルを保持して新しい Pane を開くのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--bkkq7IFv--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:WezTerm%2520in%2520Windows%2520%25E3%2581%25A7%25E7%258F%25BE%25E5%259C%25A8%25E3%2581%25AE%25E3%2582%25B7%25E3%2582%25A7%25E3%2583%25AB%25E3%2582%2592%25E4%25BF%259D%25E6%258C%2581%25E3%2581%2597%25E3%2581%25A6%25E6%2596%25B0%25E3%2581%2597%25E3%2581%2584%2520Pane%2520%25E3%2582%2592%25E9%2596%258B%25E3%2581%258F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-11-13
2025-10-04
巷にはNeovimのLSPの設定をまとめた記事が多くあり、この記事もその1つです。 しかし、既存の記事は情報が古かったり、既にLSPを設定したユーザー向けの移行ガイドであることが多いです。 この記事は、2025年10月に今からNeovimを始める方向けのガイドです。 いずれこの記事も昔のものとなりますが、現時点で最短でLSPの設定を行うための手順を解説します。
![[🔗Zenn] 今からNeovimを始める人のLSP最短設定 (0.11, 2025-10-04現在)のサムネイル](https://res.cloudinary.com/zenn/image/upload/s--N7UdAKqf--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E4%25BB%258A%25E3%2581%258B%25E3%2582%2589Neovim%25E3%2582%2592%25E5%25A7%258B%25E3%2582%2581%25E3%2582%258B%25E4%25BA%25BA%25E3%2581%25AELSP%25E6%259C%2580%25E7%259F%25AD%25E8%25A8%25AD%25E5%25AE%259A%2520%25280.11%252C%25202025-10-04%25E7%258F%25BE%25E5%259C%25A8%2529%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-09-01
本記事は golang.tokyo #40で発表したLT「Never miss defer'd errors!」の解説資料です。 スライドは talks.ras0q.com を参照ください。 https://x.com/ras0q/status/1962463413508202897 本記事は ras0q/goalie の日本語解説版を兼ねています。
![[🔗Zenn] Goalieでdefer文のエラーを正しく扱うのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--JhHWNhkV--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Goalie%25E3%2581%25A7defer%25E6%2596%2587%25E3%2581%25AE%25E3%2582%25A8%25E3%2583%25A9%25E3%2583%25BC%25E3%2582%2592%25E6%25AD%25A3%25E3%2581%2597%25E3%2581%258F%25E6%2589%25B1%25E3%2581%2586%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-07-17
2025-07-07
この記事は令和7年7月7日午後7時に投稿されました。 7月23日 追記: コマンドが誤っていた(パイプと-pを同時に指定できない?)ため訂正しました。 Vibe Coding はするけど100% LLMが書いたものを自分名義で git commit するのは気が引けます。 git commit には --author フラグがあり、潔くLLMが書いたものであることを明示することができます。Committerは自分なので署名は付けたままにできます。
![[🔗Zenn] Vibe Codingした変更を "git vibecommit" するのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--vzyxOVWX--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Vibe%2520Coding%25E3%2581%2597%25E3%2581%259F%25E5%25A4%2589%25E6%259B%25B4%25E3%2582%2592%2520%2522git%2520vibecommit%2522%2520%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-07-03
結論 local specs = {} local config_path = vim.fn.stdpath("config") .. "/lua" local subdirs = vim.fn.globpath(config_path, "plugins/**/", true, true)
![[🔗Zenn] lazy.nvimでプラグインのディレクトリを再帰的に読み込むのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--G3u8jIlA--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:lazy.nvim%25E3%2581%25A7%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25B0%25E3%2582%25A4%25E3%2583%25B3%25E3%2581%25AE%25E3%2583%2587%25E3%2582%25A3%25E3%2583%25AC%25E3%2582%25AF%25E3%2583%2588%25E3%2583%25AA%25E3%2582%2592%25E5%2586%258D%25E5%25B8%25B0%25E7%259A%2584%25E3%2581%25AB%25E8%25AA%25AD%25E3%2581%25BF%25E8%25BE%25BC%25E3%2582%2580%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-05-30
2025-05-03
2025-04-30
前置き (飛ばしてOK) VSCodeでは、Jupyter拡張機能を入れることで、Jupyter Notebookを実行することができます。 Jupyter Notebookは.ipynbという拡張子で保存されますが、中身を見るとJSONで保存されています。 実行ごとに増えるexecution_countや、環境固有のkernelspecなども情報として含まれており、Git管理とは相性が悪い部分があります(そう思ったことがある人は少なくないはず!)。
![[🔗Zenn] Python (.py) をJupyterのセルっぽく実行する +αのサムネイル](https://res.cloudinary.com/zenn/image/upload/s---1FdpvJM--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Python%2520%2528.py%2529%2520%25E3%2582%2592Jupyter%25E3%2581%25AE%25E3%2582%25BB%25E3%2583%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2581%258F%25E5%25AE%259F%25E8%25A1%258C%25E3%2581%2599%25E3%2582%258B%2520%252B%25CE%25B1%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-04-08
結論 ビルドコマンド pnpm run build && rm ./dist/_redirects デプロイコマンド
![[🔗Zenn] Cloudflare WorkersでSlidevを配信するのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--5Upaxvr2--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Cloudflare%2520Workers%25E3%2581%25A7Slidev%25E3%2582%2592%25E9%2585%258D%25E4%25BF%25A1%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2025-01-16
2025-01-16
2024-12-13
Go Toolchainsについて Go 1.21からは Go Toolchains が導入されGoのバージョン管理を行う必要がなくなりました。 Go Toolchainsを簡単に説明すると、プロジェクトで指定されているGoのバージョンが手元のバージョンよりも新しい場合に指定されているバージョンを自動でインストールしてくれる機能のことです。 これまでは、UbuntuのパッケージマネージャーであるAptでインストールできるGoのバージョンが最新バージョンよりもいくつか古かったことから、最新バージョンを得るには公式から手動でインストールしたり(これが一番確実でいいんですが多少面倒くさい)...
![[🔗Zenn] Ubuntu 24.04からはGoの環境構築は`apt install golang`でいいのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--kIxF0Qw9--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Ubuntu%252024.04%25E3%2581%258B%25E3%2582%2589%25E3%2581%25AFGo%25E3%2581%25AE%25E7%2592%25B0%25E5%25A2%2583%25E6%25A7%258B%25E7%25AF%2589%25E3%2581%25AF%2560apt%2520install%2520golang%2560%25E3%2581%25A7%25E3%2581%2584%25E3%2581%2584%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2024-10-17
結論 ras0q/obsidian-plugin-deno-template を使うとDenoでObsidian Pluginの開発がスッと進められるぜ! https://github.com/ras0q/obsidian-plugin-deno-template 宣伝
![[🔗Zenn] Deno 2でObsidian Pluginを書くのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--IorLl1Md--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Deno%25202%25E3%2581%25A7Obsidian%2520Plugin%25E3%2582%2592%25E6%259B%25B8%25E3%2581%258F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2024-10-02
この記事はDocker Composeの実験的機能を使っており、将来利用方法が変更または廃止になる可能性があります docker compose alpha vizを実行するとcompose.yamlのdepends_onを読み取ってグラフにすることができます $ docker compose alpha viz viz command is EXPERIMENTAL
![[🔗Zenn] Docker Composeの依存関係をグラフにするのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--hn9iQNLA--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Docker%2520Compose%25E3%2581%25AE%25E4%25BE%259D%25E5%25AD%2598%25E9%2596%25A2%25E4%25BF%2582%25E3%2582%2592%25E3%2582%25B0%25E3%2583%25A9%25E3%2583%2595%25E3%2581%25AB%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2024-08-03
2024-07-21
忙しい人まとめ 2025-07-11 職場のプロジェクトに必ず配置しちゃうMakefileの話 がバズってるのを見かけ、xcを広めなければ、、、という義務感に駆られたのでこの章を追加しました。 タイトルも一部変更しました。
![[🔗Zenn] READMEを実行するGo製タスクランナー「xc」のススメのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--ex5PVv1q--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:README%25E3%2582%2592%25E5%25AE%259F%25E8%25A1%258C%25E3%2581%2599%25E3%2582%258BGo%25E8%25A3%25BD%25E3%2582%25BF%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25A9%25E3%2583%25B3%25E3%2583%258A%25E3%2583%25BC%25E3%2580%258Cxc%25E3%2580%258D%25E3%2581%25AE%25E3%2582%25B9%25E3%2582%25B9%25E3%2583%25A1%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:ras0q%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzJmYWVmMWEzZjUuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:traP%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)
2022-09-21
Goには型がインターフェイスを満たしていることを明示的に示すjsのimplementsのようなものがないため、代用としてしばしばinterface guardと呼ばれる記法が使われることがあります。 type Hoge interface{ Hello() }
![[🔗Zenn] [Go小ネタ] type listを含むinterfaceのinterface guardのサムネイル](https://res.cloudinary.com/zenn/image/upload/s--yVIkh8JD--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%255BGo%25E5%25B0%258F%25E3%2583%258D%25E3%2582%25BF%255D%2520type%2520list%25E3%2582%2592%25E5%2590%25AB%25E3%2582%2580interface%25E3%2581%25AEinterface%2520guard%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:ras0q%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzY0N2Y1MjhiMzYuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT)