プログラミング– category –
-
プログラミング
[JavaScript講座] セキュリティの基本
セキュリティの基本スタンス 「入力はすべて疑え」 URLパラメータ フォーム入力値 LocalStorage に保存された値 Cookie 外部APIからのレスポンス これらは全部「信頼できない入力」 とみなします。 「この画面は自分しか使わないし」「この値は自分のコー... -
プログラミング
[JavaScript講座] パフォーマンスとメモリ
何をもって「パフォーマンスが悪い」というのか まず、測りたい指標を分けておきます。 指標 レイテンシ(応答時間) ボタンを押してから画面が反応するまでの時間 APIリクエストからレスポンスまでの時間 スループット サーバが1秒間にさばけるリクエスト... -
プログラミング
[JavaScript講座] コード品質とテスト
コード品質とは何か ざっくり分けると、コード品質には以下のような要素があります: 正しさ(バグが少ないこと) 読みやすさ・一貫性(他人&未来の自分が読めること) 変更のしやすさ(機能追加やリファクタリングがしやすいこと) JavaScript の世界で... -
プログラミング
[JavaScript講座] 弱参照(WeakRef / FinalizationRegistry)
GC と「到達可能性」 JS のメモリ管理は GC に任されている JavaScript では、C++ のように delete したり free する必要はありません。「到達不能になったオブジェクトは GC により自動解放される」のが基本です。 「到達可能(reachable)」とは: グロ... -
プログラミング
[JavaScript講座] メタプログラミング
メタプログラミングとは? 簡単に言うと、「言語やランタイムそのものの挙動を、コードでカスタマイズ・拡張するプログラミング手法」です。 普通のコード: 「データ」を処理するコードを書く メタプログラミング: 「コードや言語の振る舞い」を処理する... -
プログラミング
[JavaScript講座] イテレータ・ジェネレータ
イテラブルとイテレータ イテレータとは? イテレータ(iterator) はひとことで言うと、「next() メソッドで 次の値を順番に取り出せるオブジェクト」です。 イテレータは、次の形のオブジェクトを返す next() を持ちます: { value: 任意の値, done: boo... -
プログラミング
[JavaScript講座] Node.js標準モジュール
Node.js標準モジュールとは? 標準モジュールの位置づけ Node.js には、インストールしただけで最初から使えるモジュール群があります。 例: fs:ファイルシステム(File System) path:パス操作(/foo/bar を組み立てたり分解したり) os:OS情報(CPU... -
プログラミング
[JavaScript講座] Node.jsの基本
Node.jsとは何か ─ ブラウザとの決定的な違い そもそも Node.js は何者? 一言でいうと「ブラウザの外で JavaScript を動かすための実行環境(ランタイム)」です。 中身は主に Google Chrome と同じ V8 JavaScriptエンジン 非同期I/Oまわりなどを提供する... -
プログラミング
[JavaScript講座] イベントとブラウザAPI
イベントとは何か イベント定義 「ブラウザ内で起こった何か(ユーザー操作・読み込み完了など)」をJavaScript が通知として受け取るための仕組み 代表例: ユーザー操作 click, dblclick, mousedown, mouseup keydown, keyup, input, change submit(フ... -
プログラミング
[JavaScript講座] DOM操作の基礎
DOMとは何か HTML → DOMツリー ブラウザは: HTMLを読み込む パースして「木構造(ツリー)」にする そのツリーを DOM(Document Object Model) として JavaScript から操作できるようにする 例として、HTML: <body> <h1 id="title"&...