プログラミング TypeScript 5.6で強化されたIterator操作:IteratorObjectとBuiltinIteratorReturn TypeScriptの5.6リリースでは、新しいインターフェースIteratorObjectが導入されました。 この新機能は TC39のプロポーザル「Iterator Helpers」と密接に関連しており、その背景には「名前の衝突」を回避す... 2024.09.15 プログラミング
プログラミング Iterableを理解する-JavaScript繰り返し処理の基礎 JavaScript/TypeScript で配列などの繰り返し処理の仕様を学んでいるとIterable、Iterator、Symbol.iterator、IterableIteratorといった、ややこしい用語がたくさん登場します。 字面... 2024.09.13 プログラミング
プログラミング TypeScript v5.6 で何が変わった? 知っておきたいポイント typescriptのv5.6がリリースされましたね。 v5.6リリースで追加された新機能や変更された仕様など、ポイントをかいつまんでまとめてみました。 公式のリリースノートはこちら↓ tsc --buildでエラー時にビルド中断しない 今... 2024.09.11 プログラミング
テック マインクラフトの裏側を解明!JavaScriptでゲーム世界を自分好みに 今回は、超有名なゲーム、マインクラフトで使われている、JavaScriptの技術について調べてみました。 JavaScriptはもちろん、ウェブ開発の分野で多くの人が使用する言語ですが、実はゲーム開発の世界でも活躍しています。 特に、あの大... 2024.09.03 テックプログラミング
プログラミング なぜシングルスレッドで非同期実行できるのか?(Javascript) javascriptの非同期実行について、そもそもシングルスレッドなのにどうやって実現しているんだ?というところが気になったので調べてみました。 javascriptはシングルスレッドで実行されます。つまり、複数の処理を並行に進めることがで... 2024.08.24 プログラミング
プログラミング チャネルを使った平行処理を超スッキリ実装するコツ(Go言語) Go言語でチャネルを使って平行処理を書く際、 保守性を担保し、かつ後で見ても分かりやすい形でコーディングするコツの一つとして、 チャネルに対する権限をコンテキストごとに明確に区別する というものがあると思っています。 具体的には、以下2つの... 2024.04.02 プログラミング
プログラミング Go1.22のリリース Go言語のバージョン1.22がリリースされました。 どのような仕様変更があるのか、主要どころをざっとみていきたいと思います。 ループ変数がイテレーションごとに初期化 以下のようなforループの処理があったとします。 Gofunc main(... 2024.02.08 プログラミング
プログラミング 新しいプログラミング言語「Pkl」 新プログラミング言語「Pkl」とは アップル社が、新しいプログラミング言語を公開しました。 その名も「Pkl」。 (発音は「ピックル」と読むそうです) オーブンソースでの公開となっており、ドキュメント関連もすでに公開されています↓ Pklは... 2024.02.05 プログラミング
プログラミング 絶対に重複しないID ~UUIDことはじめ~ UUID基礎 UUIDとはUniversally Unique Identifierの略称であり、コンピュータシステム上で対象を一意に識別するためのIDのことです。 IDをいつどこで生成しても、過去/未来のどのIDとも重複しないことが約束さ... 2024.02.03 プログラミング
テック Ecma Internationalが標準化するECMAScript以外の規格 Ecma Internationalというのは、技術仕様を標準化するための国際団体です。 Javascriptの仕様であるECMAScriptを標準化しているのは有名な話ですね。 ECMAScriptは規格番号ECMA-262として標準化さ... 2024.01.31 テックプログラミング