プログラミング

プログラミング

TypeScript 5.6で強化されたIterator操作:IteratorObjectとBuiltinIteratorReturn

TypeScriptの5.6リリースでは、新しいインターフェースIteratorObjectが導入されました。 この新機能は TC39のプロポーザル「Iterator Helpers」と密接に関連しており、その背景には「名前の衝突」を回避す...
プログラミング

Iterableを理解する-JavaScript繰り返し処理の基礎

JavaScript/TypeScript で配列などの繰り返し処理の仕様を学んでいるとIterable、Iterator、Symbol.iterator、IterableIteratorといった、ややこしい用語がたくさん登場します。 字面...
プログラミング

TypeScript v5.6 で何が変わった? 知っておきたいポイント

typescriptのv5.6がリリースされましたね。 v5.6リリースで追加された新機能や変更された仕様など、ポイントをかいつまんでまとめてみました。 公式のリリースノートはこちら↓ tsc --buildでエラー時にビルド中断しない 今...
テック

マインクラフトの裏側を解明!JavaScriptでゲーム世界を自分好みに

今回は、超有名なゲーム、マインクラフトで使われている、JavaScriptの技術について調べてみました。 JavaScriptはもちろん、ウェブ開発の分野で多くの人が使用する言語ですが、実はゲーム開発の世界でも活躍しています。 特に、あの大...
プログラミング

なぜシングルスレッドで非同期実行できるのか?(Javascript)

javascriptの非同期実行について、そもそもシングルスレッドなのにどうやって実現しているんだ?というところが気になったので調べてみました。 javascriptはシングルスレッドで実行されます。つまり、複数の処理を並行に進めることがで...
プログラミング

チャネルを使った平行処理を超スッキリ実装するコツ(Go言語)

Go言語でチャネルを使って平行処理を書く際、 保守性を担保し、かつ後で見ても分かりやすい形でコーディングするコツの一つとして、 チャネルに対する権限をコンテキストごとに明確に区別する というものがあると思っています。 具体的には、以下2つの...
プログラミング

Go1.22のリリース

Go言語のバージョン1.22がリリースされました。 どのような仕様変更があるのか、主要どころをざっとみていきたいと思います。 ループ変数がイテレーションごとに初期化 以下のようなforループの処理があったとします。 Gofunc main(...
プログラミング

新しいプログラミング言語「Pkl」

新プログラミング言語「Pkl」とは アップル社が、新しいプログラミング言語を公開しました。 その名も「Pkl」。 (発音は「ピックル」と読むそうです) オーブンソースでの公開となっており、ドキュメント関連もすでに公開されています↓ Pklは...
プログラミング

絶対に重複しないID ~UUIDことはじめ~

UUID基礎 UUIDとはUniversally Unique Identifierの略称であり、コンピュータシステム上で対象を一意に識別するためのIDのことです。 IDをいつどこで生成しても、過去/未来のどのIDとも重複しないことが約束さ...
テック

Ecma Internationalが標準化するECMAScript以外の規格

Ecma Internationalというのは、技術仕様を標準化するための国際団体です。 Javascriptの仕様であるECMAScriptを標準化しているのは有名な話ですね。 ECMAScriptは規格番号ECMA-262として標準化さ...