【JavaScript】Typed Array(型化された配列)をArrayBufferオブジェクトに変換する【中級者】


Typed ArrayのUint8Arrayオブジェクトのbufferプロパティにアクセスする。これがArrayBufferオブジェクトである。
「Uint8Arrayオブジェクトのbufferプロパティへの参照 = ArrayBufferオブジェクト」
これがTyped ArrayからArrayBufferオブジェクトへの変換である。


const ua = Uint8Array.of(1,2,3,4,5,6)
// あるいは
// const ua = new Uint8Array([1,2,3,4,5,6])

const buf = ua.buffer

ua
// [1, 2, 3, 4, 5, 6]

buf
// ArrayBuffer {}
続きを読む

【Git】branchの削除

github上のbranchの削除した後に、gitのbranchを削除しようとしたら次のようにエラーが出た。
gitのbranchを削除した後に、github上のbranchの削除する必要がある。
削除する順番は重要だな。まぁ、-Dオプションで強制的にbranchの削除できるけどな。

追記 20231005
違うか。これは、mainでpullしていない状態でbranch削除しようとしてもエラーが出るな。
branch削除でエラーが出るパターンは複数あるみたいだな。

続きを読む

【Node.js】nvm(NodeVersionManager)のWindows版バージョン1.11.1のインストールと初期設定【Win10(64bit) Pro】

2023年8月8日(火)にnvm(NodeVersionManager)のWindows版バージョン1.11.1のインストールと初期設定を行った。Win10(64bit) Proにインストールした。

nvm(Node Version Manager)はnode.jsとnpm(Node Package Manager)のバージョンの切り替えができる。
Node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」、「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
次のwebサイトからnvm-windowsをダウンロードしてきてインストールする。
Releases · coreybutler/nvm-windows (github.com) ExternalLink

続きを読む

【JavaScript】delete演算子

配列の要素とオブジェクトのプロパティはdelete演算子を使って削除可能である。
しかし、次のようにdelete演算子の挙動が複雑である。

私は、挙動が複雑なdelete演算子は使わないことにする。代わりにMap Objectを使うことにする。

続きを読む

【Node.js】socket.to(socket.id).emit()とio.to(socket.id).emit()

Node.jsのSocket.IOにおいて、
socket.to(socket.id).emit()とio.to(socket.id).emit()は両方とも、特定のユーザー(socket.id)のみにメッセージを送る。ただし、特定のユーザー(socket.id)がどこかの部屋に入っているか、どの部屋にも入っていないかは関係ない。つまり、部屋は関係ないと覚えておいたらいい。

続きを読む

【Node.js】クロスオリジン要求をブロックしました【解決策】

Node.jsにおいて、次のようなエラーメッセージがブラウザのコンソールに出て来ることがある。
このエラーはCORS(Cross-Origin Resouce Sharing)の設定をすると出なくなる。

このエラーはクライアントがhttp://192.168.2.100:80(htmlファイル)から、サーバー側のhttp://192.168.2.100:3000(Node.jsのjsファイル)にアクセスしようとすると、CORSの設定がないためにエラーになる。


クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、http://192.168.2.100:3000/socket.io/?EIO=4&transport=polling&t=Oa-dgsr にあるリモートリソースの読み込みは拒否されます (理由: CORS ヘッダー ‘Access-Control-Allow-Origin’ が足りない)。ステータスコード: 200
続きを読む