Sign in

エンジニアノート|C++ / C# / TS / Go の検証ログ

@engineer-blog.bsky.social
11 followers 24 following 21 posts

最新の言語仕様やツールチェンジを、検証環境を揃えて実際に動かした結果だけ短く書いてます。「リリースノートは読んだけど、自分のコードがどうなるのか分からない」人向け。記事のまとめは engineer-notes.blog に置いてます。

PostsRepliesMedia
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 16h
Vitest 5 で、Jest の ESM テストは書き換え3箇所で移行できる ・jest.mock は vi.mock に変わり、named import が必要になる ・environment docblock は @vitest-environment jsdom ・dynamic import の待機が消えて 7 テストが 1 秒未満 #JavaScript #migration
engineer-notes.blog
【JavaScript】Jest から Vitest 5 へ移行した記録
Jest で書いた ESM のテストを Vitest 5 に移した記録です。素の jest が読み込みで止まる理由と、jest.mock が require is not defined になる理由を実測ログでまとめます。
010
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 03/10/2026
oxlint 1.85.0 で、3,000ファイルのlintがESLint 10.11.0の64.6倍速になった ・216,000行・7ルールで113.2ms、ESLintは7,315.0ms ・ESLint --cache でも1,451.7msかかる ・ルールを合わせると検出結果はESLintと完全一致 #JavaScript #TypeScript
engineer-notes.blog
【検証】oxlint vs ESLint 10 — 3,000ファイルの lint 速度を実測
oxlint 1.85.0 と ESLint 10.11.0 に同じ3,000ファイル(216,000行)を lint させた実測比較です。速度は64.6倍、既定設定での検出差分と移行手順までまとめます。
010
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 02/10/2026
Go 1.27 で、GCが再開不能なgoroutineを検出するgoroutineleakプロファイルが正式公開になった ・GOEXPERIMENTの指定は不要、設定自体も削除済み ・pprof.Lookup("goroutineleak") でリーク分だけ取れる ・リーク4件のプログラムで total 4 を出力 #Go
engineer-notes.blog
【Go】Go 1.27 の goroutineleak を GC で検出する方法
Go 1.27でgoroutineleakプロファイルがGAになりました。GCが到達可能性で「二度と動かないgoroutine」を検出する仕組みと、早期returnでのリーク再現、直し方、グローバル変数で検出を逃す限界まで実測します。
011
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 01/10/2026
Rust 1.85 の edition 2024 で、cargo fix --edition が6種類・8箇所を自動修正した ・Cargo.toml の edition は 2021 のまま、手で書き換える ・static mut への共有参照1箇所は残り、cargo check がエラー ・&raw const を使えと help が出る #Rust #migration
engineer-notes.blog
【Rust】edition 2024 移行ログ — cargo fix が直した8箇所と直さなかった1箇所
edition 2021 の Rust クレートを 2024 に上げた実測ログです。cargo fix --edition が自動で直した8箇所と、直らずにビルドを止めた static mut への参照の直し方を実行結果つきでまとめました。
000
Reposted by エンジニアノート|C++ / C# / TS / Go の検証ログ
Takuto WADA @twada.bsky.social · 28/09/2026
E2Eテストの比率の話はシステム規模や複雑性、システム間結合度、チームサイズや組織構成、デプロイ頻度、デプロイ独立性といった多くの要素と関係するので、それらの認識を揃えないと実のある議論になりにくいのが実情です。 Flakiness やメンテコストは従来のE2Eテストが抱える問題のごく一部です。
0162
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 30/09/2026
C++ / C# / TypeScript / Go の新しい仕様やツールチェンジを、検証環境を揃えて実際に動かした結果だけ書いています。 「リリースノートは読んだけど、自分のコードがどうなるのか分からない」を解消するのが目的です。 記事は engineer-notes.blog にまとめています。
020
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 30/09/2026
Tailwind CSS v4 の @apply は登録済みユーティリティしか展開できず、@layer components の独自クラスは @utility に変える必要があり、v4.3.3 では置き換えだけでビルドが 28ms で通りました。tailwind.config.js のカスタム色は @theme で定義しないと @apply から見えないので、移行時はここも一緒に確認してください。 #TailwindCSS
engineer-notes.blog
【Tailwind CSS v4】「Cannot apply unknown utility class」の直し方 — @apply が効かない4つの原因
Tailwind CSS v4 の @apply は登録済みのユーティリティしか展開できません。@layer components のクラスや tailwind.config.js の色など、よくある4つの原因を再現して直し方を確かめます。
020
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 29/09/2026
Vite 8 では build.rollupOptions が build.rolldownOptions に変わり、output.manualChunks をオブジェクト形式で書いているとエラーで落ちる。チャンク分割をしていないプロジェクトなら互換レイヤーが旧オプションを変換するので、設定は触らずに上げられる。 #Vite #JavaScript
engineer-notes.blog
【Vite】Vite 8 移行ガイド2026 — Rolldown 統合で壊れる設定
Vite 8移行で壊れる設定と実測ビルド速度を609モジュールの検証から整理します。Node.jsのバージョン要件、manualChunksからcodeSplittingへの書き換え、esbuild依存の設定まで確認できます。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 28/09/2026
Node.js 26.8.2 では Temporal.Now.plainDateISO('Asia/Tokyo') がフラグなしで動き、Map.getOrInsertComputed と Iterator.concat も使える(V8 14.6.202.34-node.28)。10月のLTS昇格前に、Temporal に寄せた日付処理を検証しておくといいですよ! #Node.js
engineer-notes.blog
【Node.js】Node 26 完全ガイド2026 — Temporal API と Iterator.concat
Node.js 26で標準搭載されたTemporal APIとMap.getOrInsert・Iterator.concatの使い方を、v26.8.2で実行した結果とともにまとめます。LTS昇格や削除されたAPIの確認点も分かります。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 27/09/2026
Node.js 26 で --experimental-transform-types が削除され、enum・パラメータプロパティなど4構文を含む .ts は ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX で落ちます。 enum は as const オブジェクトと typeof に置き換えれば呼び出し側はそのまま使えるので、まずそこから直すのが早いですね。 #Node.js #TypeScript
engineer-notes.blog
【Node.js】ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX の直し方
Node.js 26で消えた--experimental-transform-typesと、ERR_UNSUPPORTED_TYPESCRIPT_SYNTAXで落ちるenumの書き換え方を、v26.8.2での実行結果とともに示します。
010
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 26/09/2026
pnpm 11 で依存のビルド承認は allowBuilds に一本化され、onlyBuiltDependencies などは読まれなくなった。v10 以前の設定のままだと install が ERR_PNPM_IGNORED_BUILDS で止まるので、pnpm approve-builds で移行し、追記された allowBuilds はコミットしておくといい。 #pnpm
engineer-notes.blog
【pnpm】ERR_PNPM_IGNORED_BUILDS の直し方 — allowBuilds へ移行
pnpm 11以降でinstallがERR_PNPM_IGNORED_BUILDSで止まる原因と、廃止されたonlyBuiltDependenciesをallowBuildsへ移す手順を、v10とv12の実測結果つきで説明します。
010
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 25/09/2026
同じソースと tsconfig で測ると、TypeScript 7.0.2 の型チェックは 6.0.3 の 7.1〜8.8 倍速く、差はコードベースが大きいほど開く。tsc と tsc6 をエイリアスで並べて置けば、同じプロジェクトでそのまま比べられる。 #TypeScript
engineer-notes.blog
【TypeScript】TS 7 vs 6.0 型チェック速度を実測比較2026
TypeScript 7.0と6.0の型チェック速度を同じソース・同じtsconfigで実測し、7.1〜8.8倍という倍率とメモリ削減を確かめます。移行で削除されるtsconfigオプションのエラー番号も確認できます。
010
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 25/09/2026
Tailwind CSS v4 の @apply は @layer components で定義した独自クラスを展開できず「Cannot apply unknown utility class」で落ちますが、@utility に置き換えると v4.3.3 で 28ms でビルドが通りました。tailwind.config.js のカスタム色も @theme に移さないと同様に落ちるので、移行時はまず @layer の残骸を潰すのが早いです。
engineer-notes.blog
【Tailwind CSS v4】「Cannot apply unknown utility class」の直し方 — @apply が効かない4つの原因 | エンジニアノート
Tailwind CSS v4 の @apply は登録済みのユーティリティしか展開できません。@layer components のクラスや tailwind.config.js の色など、よくある4つの原因を再現して直し方を確かめます。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 24/09/2026
Go 1.27 で、レシーバとは別にメソッド自身の型引数を宣言できるようになった。List[E] の Map[R any] のように併用でき、メソッドチェーンやメソッド式への変換も通る。 ただし対象は具象型のメソッドだけで、インターフェースのメソッドに型引数は書けず、ジェネリックメソッドでインターフェースを実装することもできない。
engineer-notes.blog
【Go】Go 1.27 ジェネリックメソッド — できること・できないこと
Go 1.27のジェネリックメソッドでできることとできないことを、Go 1.27.1で実際に出たコンパイルエラーとあわせて整理します。インターフェース実装の壁やgo.modのバージョン制限も分かります。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 24/09/2026
#エッセンシャル思考 読んだ。 「何が自分の中での本質か?」を問い、それ以外にエネルギーを注ぐのを避ける。 本質とは家族なのか、キャリアなのか…人によって違うけど、それを意識して行動することの大切さを学んだ。 仕事に忙殺されている人に読んで欲しい1冊です。 活字が大の苦手な私でも、1日で読了したので、かなり読みやすいと思う。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 23/09/2026
JDK 27 の LazyConstant は初回の get() だけ計算して "computed#1" を返し、switch の int パターンは 150 で「大きい」、instanceof int は 300 を通す。Lazy Constants など4つの JEP はプレビューなので、javac と java の両方に --enable-preview を付けないと落ちる。 #Java
engineer-notes.blog
【Java】JDK 27 逆引き — LazyConstant・プリミティブ型パターン
JDK 27で使えるLazyConstant・プリミティブ型パターン・構造化並行性の書き方を、OpenJDK 27での実行結果とあわせて逆引き形式でまとめます。プレビュー機能の有効化手順も分かります。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 22/09/2026
C# 14 の field キーワードを使うと、バッキングフィールドを宣言せずに public string Name { get; set => field = value.Trim(); } と書ける。拡張メンバーや null 条件代入も .NET 10 でそのまま動くので、C# 12〜13 の書き方のまま止まっているコードは置き換え候補になる。
engineer-notes.blog
【C#】C# 14 逆引き — field・拡張メンバー・null条件代入【.NET 10】
C# 14で追加されたfieldキーワード・拡張メンバー・null条件代入の書き方を、.NET 10で実行した結果つきで逆引き形式にまとめます。nameof(List<>)やSpanの暗黙変換も実測で確認できます。
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 21/09/2026
CMake 4 では cmake_minimum_required の VERSION が 3.5 未満だと configure がそこで止まる。自分のプロジェクトは 3.10 以上に上げれば直るが、依存先の CMakeLists.txt が古い場合は親から CMAKE_POLICY_VERSION_MINIMUM 3.5 を渡すしかない。 #C++ #migration
engineer-notes.blog
CMake 4 で「Compatibility with CMake < 3.5 has been removed from CMake.」が出たときの直し方
CMake 4 に上げたら Compatibility with CMake < 3.5 has been removed from CMake. で configure が止まった人向けです。原因は cmake_minimum_required の VERSION が古いことで、3.31.6 と 4.4.3 の9ケースを実機検証して直し方を5つ確かめました
000
エンジニアノート|C++ / C# / TS / Go の検証ログ @engineer-blog.bsky.social · 21/09/2026
Rust 1.98.1 では整数の整形が format_into と NumBuffer の経路になり、derive(PartialOrd) の派生も変わった。1.98.0 は vtable 生成の誤コンパイルを含むので、上げるなら 1.98.1 を選ぶ。 #Rust
engineer-notes.blog
【Rust】Rust 1.98 完全ガイド — format_into と algebraic_add を実測【1.98.1】
Rust 1.98 の新機能を実測しました。format_into は整数の整形が to_string の約6倍、algebraic_add は総和のループが約5倍。derive(PartialOrd) の互換性変更も実例で確認します。
020