# 📰Impression ## Neovimでmason.nvimを使った管理をやめる 先週に[[Neovim]]の[[coc.nvim]]を[[LSPクライアント]]に移行した。 <div class="link-card"> <div class="link-card-header"> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/> <span class="link-card-site-name">minerva.mamansoft.net</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">📜2024-01-28 Neovimのcoc.nvimからLSPに移行してみる</p> </div> <div class="link-card-description"> NeovimをIDEとして利用する場合にcoc.nvimを使っており、実用面でも不満はなかったが、いくつか理由があってLSPにチャレンジしてみたくなり、移行した。 </div> </div> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/minerva-image.webp" class="link-card-image" /> </div> <a class="internal-link" data-href="Notes/📜2024-01-28 Neovimのcoc.nvimからLSPに移行してみる" ></a> </div> %%[[📜2024-01-28 Neovimのcoc.nvimからLSPに移行してみる]]%% そのときは、[[nvim-lspconfig]]、[[mason.nvim]]、[[mason-lspconfig.nvim]]というよく見る構成で組んだのだが、知れば知るほど[[mason.nvim]]をかませる意義が分からなくなってきた。というのも、ほとんどのツールは[[mise]]と[[npm]]でインストール可能なため、わざわざ[[mise]]で[[Neovim]]専用のツールをインストールする必要はないからだ。 <div class="link-card"> <div class="link-card-header"> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/> <span class="link-card-site-name">minerva.mamansoft.net</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">📜2024-01-30 mason.nvimを利用せずnvim-lspconfigだけでNeovimのLSPを管理する</p> </div> <div class="link-card-description"> Neovimでcoc.nvimからLSPに移行したが、miseがあればmason.nvimを使うメリットはあまりなく、むしろ面倒ごとが増えるのでは...と思い、mason.nvimから脱却した。 </div> </div> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/minerva-image.webp" class="link-card-image" /> </div> <a class="internal-link" data-href="Notes/📜2024-01-30 mason.nvimを利用せずnvim-lspconfigだけでNeovimのLSPを管理する" ></a> </div> %%[[📜2024-01-30 mason.nvimを利用せずnvim-lspconfigだけでNeovimのLSPを管理する]]%% 設定もスッキリし、今のところ満足しかない。 ## Obsidian syncのリージョン変更 [[Obsidian Sync]]がAsiaリージョンに対応したので、[[Obsidian Sync]]の[[Vault]]を作り直した。リージョンを途中で変更することはできないからだ。 <div class="link-card"> <div class="link-card-header"> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/> <span class="link-card-site-name">minerva.mamansoft.net</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">📜2024-02-03 Obsidian syncのリージョンをAsiaに設定するためVaultを作り直す</p> </div> <div class="link-card-description"> Obsidian SyncでリージョンがAsiaに設定できるようになったので、Vaultを作り直してリージョンを変更してみた記録。今のところ、あまり違いを感じていない。 </div> </div> <img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/minerva-image.webp" class="link-card-image" /> </div> <a class="internal-link" data-href="Notes/📜2024-02-03 Obsidian syncのリージョンをAsiaに設定するためVaultを作り直す" ></a> </div> %%[[📜2024-02-03 Obsidian syncのリージョンをAsiaに設定するためVaultを作り直す]]%% # 🎇Shiny Outputs ## 📖Publish - [[現在ファイルのdiagnositcsをアイコンで表示 (Neovim)]] - [[📕none-lsのHelpers設定を読み解く]] - [[📜2024-01-30 mason.nvimを利用せずnvim-lspconfigだけでNeovimのLSPを管理する]] - [[📜2024-01-31 Dockerを使わずにLocalStackの挙動を一通り確認してみた]] - [[📜2024-02-03 Obsidian syncのリージョンをAsiaに設定するためVaultを作り直す]] - [[📜2024-02-04 Various Complementsでアンダースコアで接続された単語を1単語と見なせるようにする]] - [[📜Bitbucket PieplinesでLocalStack(Docker)を使ってAWS LambdaのFunctionを起動できるようにするまで]] - [[📝Bitbucket PipelinesでLocalStackをDocker以外でインストールした場合に起動しない]] - [[📝Dockerでdockerコンテナを起動するとpermission deniedですぐに終了してしまう]] - [[📝LspsagaのFloat Terminalを表示したときmini.indentscopeのSymbolが表示されて1文字目が見えなくなる]] - [[📝Neovimでnvim-lspconfigとnone-lsを使って保存時にフォーマットすると異なるフォーマットが2度かかることがある]] - [[📝Neovimのhelpを開くとハイライトされずnvim-treesitterのエラーが大量に出る]] - [[📝Neovimのインデントが直感的でない]] - [[📝Noiceとlsp_signature.nvimをインストールした状態で起動するとoverwrittenのエラーになる]] - [[📝Prettier Plugin Organize Importsがvueファイルだと機能しない]] - [[📝lsp_signature.nvimで挿入(Insert)モードで方向キーを使って移動したときに表示が更新されない]] - [[📝none-lsでBiomeを利用しているTypeScriptプロジェクトに対してPrettierのフォーマットを無効化したい]] - [[📝none-lsでTypeScriptコードに対してBiomeを利用していないプロジェクトでもBiomeが実行されてwarningが出る]] - [[📝nvim-cmpで1つ目の候補にデフォルトでフォーカスをあわせたい]] - [[📝nvim-lspconfigでvscode-json-language-serverを使ってもJSONのプロパティ定義が補完されない]] - [[📰2024年4週 Weekly Report]] # 👀Medias ## Neovim の LSP 関係のプラグインの役割 [[Neovim]]の[[LSPクライアント]]管理を[[mason.nvim]]から脱却しようと思って色々調べていた。 <div class="link-card"> <div class="link-card-header"> <img src="https://static.zenn.studio/images/logo-transparent.png" class="link-card-site-icon"/> <span class="link-card-site-name">Zenn</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">Neovim の LSP 関係のプラグインの役割</p> </div> <img src="https://res.cloudinary.com/zenn/image/upload/s--hFTiomx0--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Neovim%2520%25E3%2581%25AE%2520LSP%2520%25E9%2596%25A2%25E4%25BF%2582%25E3%2581%25AE%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25B0%25E3%2582%25A4%25E3%2583%25B3%25E3%2581%25AE%25E5%25BD%25B9%25E5%2589%25B2%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:futsuuu%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUxtNXd1M3BvWTBqS3hJQld5d2VWNnE4c09xZTZzYWJSS1hmMVhZYUpfcFA9czk2LWM=%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png" class="link-card-image" /> </div> <a href="https://zenn.dev/futsuuu/articles/3b74a8acec166e"></a> </div> ## チームの壁を越えろ スタッフエンジニア経験者にインタビュー - estie inside blog > マネージャーから言われた範囲のことだけをやっていて、影響範囲が自分のチームに閉じている人はシニアのままだった。そこを破っていくとスタッフレベルになれる。 一応チームではなく会社全体に貢献するよう意識しているつもりではいるから、この定義ならスタッフエンジニアを自称してもいいのかもしれない。 <div class="link-card"> <div class="link-card-header"> <img src="https://www.estie.jp/blog/icon/favicon" class="link-card-site-icon"/> <span class="link-card-site-name">estie inside blog</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">チームの壁を越えろ スタッフエンジニア経験者にインタビュー - estie inside blog</p> <p class="link-card-description">EMをしている松本(@matsu7874)です。estieでスタッフエンジニアという職位を導入した際に書籍『スタッフエンジニア』を使って社内勉強会を開催していました。書籍では5章に様々な会社の ... </p> </div> <img src="https://cdn-ak.f.st-hatena.com/images/fotolife/e/estie/20240122/20240122194409.png" class="link-card-image" /> </div> <a href="https://www.estie.jp/blog/entry/2024/01/22/195221"></a> </div> ## 僕は自分が思っていたほどは頭がよくなかった - しのごの録 基礎に時間をかけることの大切さ。それが困ったときであればあるほど。基礎は簡単にさらえるものではないし、ましてや基礎を無視すると応用は絶対に解けない。基礎を無視することは要領がいいでも効率化でもなんでもない。そして、優秀な人ほど本当に基礎を大事にしている。 <div class="link-card"> <div class="link-card-header"> <img src="https://b.log456.com/icon/favicon" class="link-card-site-icon"/> <span class="link-card-site-name">しのごの録</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">僕は自分が思っていたほどは頭がよくなかった - しのごの録</p> <p class="link-card-description">Redditで話題になっていたポストを訳してみた。僕は自分が思っていたほどは頭がよくなかったという高校生の独白にたいしてつけられたこのちょっと長めの返信がとても的確で示唆に富んでおり、多くの人のこころをつかんでいました。私自身、勇気づけられるというか身につまされるところがあり、忘 ... </p> </div> </div> <a href="https://b.log456.com/entry/20120110/p1"></a> </div> ## Obsidianを誤解していたものの塩漬け継続 一応、[[🦉Another Quick Switcher]]も[[2 hop link]]に対応している。クイックスイッチャーなので、[[Scrapbox]]のような[[2 hop link]]の見た目ではないけど、検索はできるはず。 <div class="link-card"> <div class="link-card-header"> <img src="https://i0.wp.com/drogurinch.com/wp-content/uploads/2022/06/cropped-IMG_9726.png?fit=32%2C32&ssl=1" class="link-card-site-icon"/> <span class="link-card-site-name">Dr.おぐりん家</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">Obsidianを誤解していたものの塩漬け継続</p> <p class="link-card-description">以前アップした記事に間違いがあった。  しかし、塩漬け状態は継続している。 その理由は以下の通りである。  そもそもScrapboxで可能な2Hop links。  この機能は元々倉下忠憲氏のご著書で知った機能である。ご著書ではアイディアを ... </p> </div> <img src="https://i0.wp.com/drogurinch.com/wp-content/uploads/2024/02/756390.jpg?fit=238%2C333&ssl=1" class="link-card-image" /> </div> <a href="https://drogurinch.com/obisidian_shiodduke/"></a> </div> ## 1月ふりかえり - ポートフォリオではなくログ 個人YWT良い。仕事とかで無理やりやらされているものと比較して、鮮度が違いすぎる。(生き生きしている) 自分もそろそろ[[📰Weekly Report]]の書き方を見直してみもいいかも。結構負担になっているし。。 <div class="link-card"> <div class="link-card-header"> <img src="https://ngw.hateblo.jp/icon/favicon" class="link-card-site-icon"/> <span class="link-card-site-name">ポートフォリオではなくログ</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">1月ふりかえり - ポートフォリオではなくログ</p> <p class="link-card-description">今回はYWTのフレームワークでやってみます。 Y:やったこと イベント t-wadaさんが後世に残したい、実録レガシーコード改善 t-wadaさんのプレゼン、相変わらずためになります。時間いっぱいまで伝えたいこと、重要なことが盛り込まれていました。 でも自分としても昔よりも話されている内容の理解度があがってきた気がします。が、まだ ... </p> </div> <img src="https://ogimage.blog.st-hatena.com/4207112889897675830/6801883189080416842/1707083368" class="link-card-image" /> </div> <a href="https://ngw.hateblo.jp/entry/2024/02/04/100928"></a> </div> ## 個人開発で得たスピード仕事術 [[Inkdrop]]の個人開発者であり、素敵な動画も配信されている[[👤TAKUYA]]さんの昔の[[note]]。 さすが、良い話ばかり。姿勢は自分の課題だから無理ない程度に意識していきたいと思った。 <div class="link-card"> <div class="link-card-header"> <img src="https://miro.medium.com/v2/resize:fill:256:256/1*xd2p9N34I7_5xmDgQCZLDQ.png" class="link-card-site-icon"/> <span class="link-card-site-name">Medium</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">個人開発で得たスピード仕事術</p> <p class="link-card-description">作業のスイッチングコストを最小化させるための考え方と方法</p> </div> <img src="https://miro.medium.com/v2/resize:fit:1200/1*rXx39ZKWfPda6Hg1XGBLeA.jpeg" class="link-card-image" /> </div> <a href="https://blog.craftz.dog/how-to-improve-your-work-speed-with-toc-169d60277bd1"></a> </div> ## スピードを捨てる: 成長期の個人開発アプリを頓挫させないための戦略 同じく[[👤TAKUYA]]さんの[[note]]。激しく同意。 Issueが立てられるとすぐに対応したくなるけど、続けているとかなり精神的なストレスがたまる。体力は問題なくても胃の調子を崩したり内側からやられる。気がついたら、自分が必要としない機能を頑張ってたりもする。 **『Issueは私が暇せず遊べるように、親切な人がセットしてくれたクエストみたいなもんだから、気が向いたときに楽しめばいい』** と思えるようになってからはかなり楽になったけど。 <div class="link-card"> <div class="link-card-header"> <img src="https://miro.medium.com/v2/resize:fill:256:256/1*xd2p9N34I7_5xmDgQCZLDQ.png" class="link-card-site-icon"/> <span class="link-card-site-name">Medium</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">スピードを捨てる: 成長期の個人開発アプリを頓挫させないための戦略</p> <p class="link-card-description">今後このサービスを継続して成長させていくためには、立ち上げ期とは少し異なる戦略が必要です。それは、課金してくださっている顧客を守る事です。なぜなら、ノートアプリの本質は知見の管理だからです。長く使うほどその価値が発揮されます。 ... </p> </div> <img src="https://miro.medium.com/v2/resize:fit:1200/1*CLs1Avtdc1QXAwzQUa7TDQ.jpeg" class="link-card-image" /> </div> <a href="https://blog.craftz.dog/throw-away-speed-a-strategy-for-pursueing-personal-project-cd7606c3d9c3"></a> </div> # 📚Inputs - [[AWS CLIでバケットにファイルをアップロード]] - [[AWS CLIでバケットのファイル一覧を表示]] - [[AWS CLIでバケットを作成]] - [[Bitbucket Pipelines設定ファイルのJSON Scema]] - [[DinD]] - [[DinDはDocker開発を効率化するための手法であり、通常の利用はDooDを推奨する]] - [[DooD]] - [[DooDを実現するコマンド]] - [[Emmet]] - [[JSON Schema Store]] - [[LuaSnip]] - [[SnipMate形式のスニペットを追加 (LuaSnip)]] - [[Luaでホームディレクトリのパスを取得]] - [[Neovimのプラグインや実行ファイルのインストール場所]] - [[SchemaStore.nvim]] - [[Servo]] - [[SnipMate]] - [[StyLua]] - [[aws-lambda-go]] - [[cmp-buffer]] - [[cmp-path]] - [[emmet-language-server]] - [[lsp_signature.nvim]] - [[lsp_signature.nvimを使って挿入モードで引数情報(ヒント)を表示]] - [[lspkind-nvim]] - [[lua-language-server]] - [[mason-lspconfig.nvim]] - [[ローカルにコマンドが存在しなければ実行しない (none-ls.nvim)]] - [[nvim-autopairs]] - [[LSPの内容を補完 (nvim-cmp)]] - [[LSPの補完内容にアイコンを表示 (nvim-cmp)]] - [[エントリのパスを補完 (nvim-cmp)]] - [[バッファに出現する単語を補完 (nvim-cmp)]] - [[補完やドキュメントのウィンドウに枠線をつける (nvim-cmp)]] - [[nvim-lspconfigでdiagnosticにアイコンを表示]] - [[pyright-langserver]] - [[vscode-css-languageservice]] - [[vscode-json-languageservice]] - [[vscode-langservers-extracted]] - [[yaml-language-server]] - [[イメージ (Docker)]] - [[コンテナ (Docker)]] - [[スニペットエンジン]] - [[特定のfiletypeでハイライトしない (illuminate.vim)]] - [[👤Kou]]