# 🏆MVP
## Silhouette 実用性のある繰り返しパターン x 2
[[🦉Silhouette]]に実用性のある2つの繰り返しパターンを追加した。
- `0702` のような日付指定
- `web>!` のような指定日が稼働日でなければ翌稼働日(前稼働日)にずらす
この対応により、今まで実現できなかった以下のようなタスクを設定できる。
```bash
# タスク名では稼働日のことを営業日と書いている
毎年7月1日に実行するタスク(休みなら前営業日),0701<!
```
また、今までも可能だった表現もより簡易的・直感的になった。
```bash
# 今回のバージョン
水曜日のタスク(休みなら翌営業日),wed>!
# 以前のバージョン
水曜日のタスク(休みなら翌営業日),wed!|web*>1!
```
変更箇所はなかなか多かったが、[[🦉Silhouette]]のコアロジックを[[🦉Silhouette Core]]に分離したおかげで開発はしやすかった。何より、[[🦉Silhouette Core]]をしっかりリリースできれば、それを取り込むだけで[[Obsidianプラグイン]]([[🦉Silhouette]])と[[Neovimプラグイン]]([[🦉Silhouette.nvim]])の両方をすぐにリリースできる恩恵も大きい。この辺は[[Deno]]と[[Denops]]様様である。[[JSR]]もライブラリ開発のモチベを上げてくれるので良き。
# 🥈RUP
## VeeValidateでVueの堅牢なform実装
[[Vue]]のformライブラリである[[VeeValidate]]を使ってformを実装してみた。
<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">
<p class="link-card-title">📜2024-10-30 VeeValidateとZodでよくあるformの少し複雑なものを試してみる</p>
<p class="link-card-description">VeeValidateをshadcn-vueと一緒に使っていて、独自のUIを実装しようとしたら少しハマってしまったのでいくつかの実験をして挙動を把握しておく。基本的な使い方も含め。</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/activity.webp" class="link-card-image" />
</div>
<a class="internal-link" data-href="Notes/📜2024-10-30 VeeValidateとZodでよくあるformの少し複雑なものを試してみる.md"></a>
</div>
%%[[📜2024-10-30 VeeValidateとZodでよくあるformの少し複雑なものを試してみる]]%%
今までも、特に業務でformに関する実装をすることは多々あったが、そのときは[[Vuetify]]に実装されているものを使ったり、ライブラリは利用せずミニマムな実装をしていたが、今回は[[shadcn-vue]]を使っていたのもあり手を出してみた。
きっかけは、[[shadcn-vueのform実装がVeeValidateとZodに依存]]しており、その延長として学んでみたというもの。はじめは理解が困難で2度くらい諦めようと思ったが、何度もドキュメントを繰り返し読むことで、ようやく業務で利用できるレベルのコードが書けるようになった[^1]。また、副産物として[[Zod]]の知見も深められたのは非常に良かった。
[^1]: #2024/11/04 時点で [[📜2024-10-30 VeeValidateとZodでよくあるformの少し複雑なものを試してみる]] に記載した内容はそのレベルに至っていない。その後、さらに理解を深めてようやく。
# 🪙OPA
## quicker.nvim と Telescope live grep args を追加
[[Neovim]]環境を強化すべく、新たに2つ[[Neovimプラグイン]]を導入した。
- [[quicker.nvim]]
- [[Telescope live grep args]]
[[quicker.nvim]]は[[クイックフィックス (Vim)|クイックフィックス]]の見た目を変更したり、[[クイックフィックス (Vim)|クイックフィックス]]の表示された[[バッファ (Vim)|バッファ]]上で **各ファイルの該当箇所を一括で編集する** ことができる。この一括で編集する機能は[[📕grepなどで全文検索した結果の全行を置換 (Vim)|grepなどで全文検索した結果の全行を置換]]するのにとても便利。今までは[[cdo (Vim)|cdo]]や[[replacer.nvim]]を使っており、たまに使うと操作に戸惑うことがあったが、[[quicker.nvim]]にしてからその心配はなくなった。作者が同じこともあり、[[oil.nvim]]に近い操作性も好印象だ。
[[Telescope live grep args]]は[[live_grep (telescope.nvim)|live_grep]]の結果を、さらに[[live_grepの結果をさらにエントリパスパターンで絞り込む (telescope.nvim)|パスで絞り込んだり]]、[[live_grepの結果をさらに拡張子で絞り込む (telescope.nvim)|拡張子で絞り込んだり]]できる[[Neovimプラグイン]]だ。全文検索の結果から `.ts` ファイルの結果だけが欲しい場合に `<word> -t ts` のようにして[[ripgrep]]の引数を流し込めるので非常に便利。
# 🚀Releases
- [[🦉Silhouette Core]]
- [Silhouette Core v1.1.0リリース](https://github.com/tadashi-aikawa/silhouette-core/releases/tag/v1.1.0)
- `mmdd`指定による毎年指定日付の繰り返しパターンに対応
- [Silhouette Core v1.2.0リリース](https://github.com/tadashi-aikawa/silhouette-core/releases/tag/v1.2.0)
- 稼働日でない場合に実施日を前後の稼働日にずらす繰り返しパターンに対応
- [[🦉Silhouette]]
- [Silhouette v0.24.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.24.0)
- `mmdd`指定による毎年指定日付の繰り返しパターンに対応
- [Silhouette v0.25.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.25.0)
- 稼働日でない場合に実施日を前後の稼働日にずらす繰り返しパターンに対応
- [[🦉Silhouette.nvim]]
- [Silhouette.nvim v0.3.0リリース](https://github.com/tadashi-aikawa/silhouette.nvim/releases/tag/v0.3.0)
- `mmdd`指定による毎年指定日付の繰り返しパターンに対応
- [Silhouette.nvim v0.4.0リリース](https://github.com/tadashi-aikawa/silhouette.nvim/releases/tag/v0.4.0)
- 稼働日でない場合に実施日を前後の稼働日にずらす繰り返しパターンに対応
- [[🦉ghostwriter.nvim]]
- [ghostwriter.nvim v0.4.2リリース](https://github.com/tadashi-aikawa/ghostwriter.nvim/releases/tag/v0.4.2)
- リンクが正しく投稿されないケースがある不具合の修正
- [[🦉Fenice]]
- [Fenice v0.36.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.36.0)
- アクセストークンの有効期限が切れると必ず1回エラーになる不具合修正
- [Fenice v0.36.1リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.36.1)
# 👀Reading
## GitHub - stevearc/quicker.nvim: Improved UI and workflow for the Neovim quickfix
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">GitHub - stevearc/quicker.nvim: Improved UI and workflow for the Neovim quickfix</p>
<p class="link-card-description">Improved UI and workflow for the Neovim quickfix. Contribute to stevearc/quicker.nvim deve ... </p>
</div>
<img src="https://opengraph.githubassets.com/8ebd8568264917d2c0eff81608375b5b53e4c056b44deccd83269ef5a08ff5d7/stevearc/quicker.nvim" class="link-card-image" />
</div>
<a href="https://github.com/stevearc/quicker.nvim"></a>
</div>
~~~
良い。
https://github.com/stevearc/quicker.nvim
~~~
## Reddit - Dive into anything
<div class="link-card">
<div class="link-card-header">
<img src="https://www.redditstatic.com/shreddit/assets/favicon/64x64.png" class="link-card-site-icon"/>
<span class="link-card-site-name">www.reddit.com</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">Reddit - Dive into anything</p>
</div>
</div>
<a href="https://www.reddit.com/r/neovim/comments/yonuh1/telescope_current_buffer_fuzzy_find_sort_based_on/"></a>
</div>
~~~
AIは回答してはくれるけど大体それっぽいだけのことが多いから、こういうのは先人の知恵に限る。
https://www.reddit.com/r/neovim/comments/yonuh1/telescope_current_buffer_fuzzy_find_sort_based_on/
~~~
## 文章を読むことが苦手になっていく - Lambdaカクテル
<div class="link-card">
<div class="link-card-header">
<img src="https://blog.3qe.us/icon/favicon" class="link-card-site-icon"/>
<span class="link-card-site-name">Lambdaカクテル</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">文章を読むことが苦手になっていく - Lambdaカクテル</p>
<p class="link-card-description">家の便座が漏電して、ぶっ壊れてしまった。冷たい!と声をあげそうになってしまったのは数日前で、気付くと便座が冷たいしランプが点灯していない。コンセントを刺し直すとしばらく動いているのだが、またしばらくすると動かなくなっているのだ。うーんどうしたものか、と思って、とりあえずコンセントを突き刺すとバチンと大き ... </p>
</div>
<img src="https://ogimage.blog.st-hatena.com/12921228815713116358/6802418398300749507/1730490219" class="link-card-image" />
</div>
<a href="https://blog.3qe.us/entry/2024/11/02/044339"></a>
</div>
~~~
めっちゃわかる。時代の要因もあるけど加えて年をとると残り時間が減っていく焦りからか、無駄なことをしたくない、それに時間を投資したくない… という言い訳が突き進むことを止めてしまうんだよなぁ。哀しきかな。
https://blog.3qe.us/entry/2024/11/02/044339
~~~
# 📚New Notes
- [[DenoでParameterized Test]]
- [[Telescope live grep args]]
- [[TypeScriptのソースコードに型エラーがあってもtscなどでJavaScriptファイルを生成]]
- [[current_buffer_fuzzy_find (telescope.nvim)]]
- [[current_buffer_fuzzy_findコマンドの結果を出現順に表示 (telescope.nvim)]]
- [[deno test]]
- [[live_grep (telescope.nvim)]]
- [[live_grepの結果をさらにエントリパスパターンで絞り込む (telescope.nvim)]]
- [[live_grepの結果をさらに拡張子で絞り込む (telescope.nvim)]]
- [[notivue]]
- [[quicker.nvim]]
- [[カレントバッファ (Vim)]]
- [[デバイスの情報を取得 (Nuxt)]]
- [[ファジーファインダー]]
- [[特定のテストケースだけ実行 (deno test)]]
- [[📜2024-10-30 VeeValidateとZodでよくあるformの少し複雑なものを試してみる]]
- [[📜2024-11-02 better-ts-errors.nvimを試してみる]]
- [[📜2024-11-03 Silhouetteでタスク指定日が稼働日でなければ前後の稼働日でタスクを実行する繰り返しパターンを追加する]]
- [[📝Denoでjsrパッケージで指定したバージョンを変更してもアップデートインストールできない]]
- [[📝GitHubにコミットしたリソースをGitHubのREADMEから参照できない]]
- [[📰2024年43週 Weekly Report]]