2022-01-01から1年間の記事一覧
TypeScript を直接実行できる ts-node 便利ですよね。 ところで、最近 (ってほどでもないですが) Node.js 界隈 ESM へ移行する流れがあります。 Node.js 界隈で多くの OSS をリリースしておられる Sindre さんのパッケージも、多くが ESM Native になってお…
例えば、何らかの理由でリポジトリのこのディレクトリ以下の部分だけ別リポジトリで管理したいな~!って場合のやり方。 履歴を引き継がなくてもいい場合はそのまま新しいリポジトリがある場所にコピーすれば良いんだけど、履歴も引き継ぎたい場合。 やり方…
年末に何してるんっていう話なんですが、わたしは過去の記事にもあるように、 Git LFS サーバーを自前運用しています。 そこで困るのが、 GitHub Actions で with.lfs: true とした場合の挙動です。 通常の GitHub にすべてを任せているときと同じ感じでやる…
Blender アドオン作るときの小ネタ。 例えば、 Python では性能上厳しかったり、何らかの理由で Python から触れない何かを触りたい場合、 C++ で Blender のアドオンを書きたいケースがあります。 そういったことをやりたいときの方法をメモしておきます。 …
Blender アドオン作るときの小ネタ。 Blender アドオンを作っていて、何らかの処理をさせたい場合、通常は Operator を使用します。 import bpy from bpy.types import Context, Event, Operator from bpy.props import StringProperty class SomeOperator(O…
いつもは Unity みたいな高レイヤーですが、今回は比較的低レイヤーのお話です。 基本的に、最近の場合は DirectX を直に触るケースは少なくなってて、例えば Unity や Unreal Engine 等のような、ゲームエンジンを触ることがほとんどだと思います。 ただ、…
比較的最近の Unity では、 Timeline 関連の API も公開されていて、ある程度自由にカスタマイズすることが出来ます。 今回はそのうち、 TrackAsset についてのお話です。 TrackAsset を継承したクラスを作ることで、 Timeline に任意のトラックを追加するこ…
@ant-design/plots という、統計情報みたいなグラフを表示するための Alibaba グループの出しているライブラリがあります。 これは様々なカスタマイズができていろいろ便利なのですが、なにせドキュメントが英文化されていないのに加えて抜けがあるみたいな…
TypeScript には、 Template Literal Types というものがあり、例えば、以下のような型を表現することが出来ます。 type Pixel = `${number}px`; const a: Pixel = "14px"; // valid const b: Pixel = "20pt"; // invalid TypeScript Playground これで、色…
作業自動化などのために、コマンドラインから MSBuild.exe を叩いているときなどに起きるエラー。 たとえば、以下のようにしている場合: $ MSBuild.exe /t:Build /p:Configuration=Release /p:Platform=x64 src/example.vcxproj Visual Studio をアップデー…
React Hooks でフォームデータ (multipart/form-data)を POST したいけど、いまいち参考例がなかったので、作ってみたというメモ。 といってもやり方は普通に useSWR や useFetch とかと同じ感じかな。 React Hooks 自体はこんな感じ import axios from "axi…
React Hooks でデータフェッチングをするライブラリである SWR ですが、アプリケーションを通して 1 度だけ fetch したい、みたいな時もあると思います。 そのときの解決方法。 といっても、仕組みはすでに (v1.0 から) 用意されていて、以下にようにするだ…
なんかこんな感じでマウスカーソルがやたらチカチカしてる。 うざいのでなんとかする方法、といっても、わたしの場合なので、原因は人それぞれ。 わたしの場合は、 IPFS Companion が悪さしていました。 こいつがブラウザのバックグラウンドワーカーを起動さ…
たとえば以下のような操作をした後、もともといたブランチに行きたい場合: $ git symbolic-ref --short HEAD main $ git checkout sub-branch $ git symbolic-ref --short HEAD sub-branch 次のような操作を行うことで、元いたブランチ、今回の場合は main …
ngrok 2.0、便利ですよね。ただし、商用利用すると 20USD/mo となり、ちょっと個人では厳しいお値段です。 ということで、今回は Cloudflare Zero Trust を使って、同様のことを無料でやろうと思います。 Cloudflare の Zero Trust サービスは、使用ユーザー…
個人的に最近よく使っている React のステート管理ライブラリである Recoil と、外部ストレージ (DB や URL) などとステートを同期するライブラリ Recoil Sync を使って、 LocalStorage にデータを保存しようという記事です。 ということで、いつも通り準備…
CLIP STUDIO PAINT EX ではプラグインが使えるんですが、プラグイン開発するには僅かな公式情報と、数件しかないインターネット上の情報に頼むしかなく、ハードルが高い状態です。 ということで、先陣の方にも倣って、わたしも今回のプラグイン開発で得た知…
CLIP STUDIO PAINT EX ではプラグインが使えるんですが、プラグイン開発するには僅かな公式情報と、数件しかないインターネット上の情報に頼むしかなく、ハードルが高い状態です。 ということで、先陣の方にも倣って、わたしも今回のプラグイン開発で得た知…
C++ から Python を扱うことが出来る (その逆も出来る) pybind11 という C++ ライブラリがあるのですが、それで Python の print をリダイレクトする方法についてのメモです。 問題は、 Windows Desktop Application の場合の対処法。 Windows Desktop Appli…
こういう動作をするのは Blender 的には、 UX 的にはあまり良くないのかもしれないですが、トグルボタンってある意味分かりにくいし......ということで、 Checkbox / ToggleBox にチェックを入れたタイミングで何らかの処理をする方法について。 これは、 Pr…
最近は Blender のアドオンを作ることもあるわたしですが、任意のタイミングで Operator の invoke が呼び出したくなったときの方法。 といってもカンタンで、以下のようにすれば良い。 import bpy bpy.ops.object.id_name("INVOKE_DEFAULT") ちなみに、引数…
例えば、下のようなコードが合った場合、 jest の toEqual を使うと、確率で落ちます。 const arr = []; const mockDbInsert = (elem: number) => { return new Resolve((resolve) => { setTimeout(() => { arr.push(elem); }, Math.random() * 10); }); }; …
といっても背景限定ですが、 CSS にて親要素をはみ出して、画面幅いっぱいに表示させる方法。 よく見る下記のようなコードでは、 Windows では縦スクロールバーの分まで含まれてしまい、横スクロールが出来るようになってしまう。 .overflow { width: 100vw;…
Mock サーバーを立てなくても Service Worker で働いてくれる API Mock ライブラリーである Mock Service Worker を、 ASP.NET Core + Vite な環境で使う方法についてのメモ。 といってもやり方は簡単で、わたしがとった方法は単純に mockServiceWorker.js …
TypeScript を使いたーい!しかもできるだけ早くコンパイルして欲しいー!みたいなとき、 Vite は設定も少なく爆速なので便利ですよね。 ということで、今回は Vite + ASP.NET Core を使った、爆速フロントエンド開発の紹介です。 なお、開発サーバーのみ Vi…
VS2022 だと不具合というか仕様で、 Roslyn Analyzer を Experimental Instance で立ち上げても反応してくれません。 地味に困るので、そういうときはこうすればイイヨというメモです。 といってもカンタンで、設定から、 Text Editor > C# > Advanced から、 R…
JSON Schema 使ったことありますか? 直接は使ったことはなくとも、 Node.js の package.json の補完などは JSON Schema の恩恵です。 ただ、自作アプリケーションなどで使用する JSON の場合、 JSON Schema は定義されていないので、自前で作成、設定する必…
Windows の .bat ファイルで、 vswhere.exe の場所を探したい場合、これで見つけられる。 set PF32=%ProgramFiles(x86)% if not exist "%PF32%" set PF32=%ProgramFiles% set VS_WHERE_PATH="%PF32%\Microsoft Visual Studio\Installer\vswhere.exe" if not …
Prefab Variant 、便利ですよね。 今回はそれをスクリプト経由で作成する方法の紹介です。 といってもそれ専用のメソッドがあるわけでも無く、以下の処理で自動的に作成されます。 var go = (GameObject) PrefabUtility.InstantiatePrefab(_prefabPath); // …
Unity で Ctrl + D によるコピーを検出したい場合のやり方です。 といってもカンタンで、 hierarchyWindowItemOnGUI でヒエラルキーの OnGUI を受け取ってそこで処理してあげるだけ。 あとは、 delayCall で処理を遅延させないと activeGameObject がコピー…