JavaScript

スポンサーリンク
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 排他制御の考え方

排他制御を一言でいうと排他制御(はいたせいぎょ)は、「同時に走ると困る処理を、“必ず1つずつしか動かさないようにする考え方” です。非同期処理が増えてくると、「同じデータを同時に書き換える」「同じ処理...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 競合状態(Race Condition)

競合状態(Race Condition)を一言でいうと競合状態(Race Condition)は、「どっちの非同期処理が先に終わるかによって、結果が変わってしまう危険な状態」 です。コード上は「こう動...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 非同期状態管理

「非同期状態管理」を一言でいうと非同期状態管理は、「今この非同期処理が、どの状態にいるのかをコードと UI で一貫して扱うこと」 です。例えば、API 呼び出しひとつ取っても、状態はざっくりこう変わり...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - WebSocket との比較

WebSocket とポーリングの違いを一言でまとめるとポーリングは 「クライアントが定期的にサーバーへ様子を見に行く」 方式。WebSocket は 「サーバーとクライアントが常時つながり、サーバー...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - ポーリング

ポーリングを一言でいうとポーリング(polling)は、「サーバー側の状態が変わったかどうかを、クライアント側から定期的に“様子見”しに行く仕組み」です。サーバーから「変わったよ!」と通知してくれるの...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - スロットリング

スロットリングを一言でいうとスロットリング(throttle)は、「どれだけ連続でイベントが発生しても、“一定間隔ごとにしか処理を実行させない”テクニック です。スクロール、マウス移動、リサイズなどは...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - デバウンス

デバウンスを一言でいうとデバウンスは、「連続して何度も呼ばれる処理を、“最後の1回だけ”にまとめるテクニック」 です。ユーザーがキーボードを連打したり、入力ボックスに高速で文字を打ち込んだりすると、イ...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - キャンセル処理(AbortController)

キャンセル処理(AbortController)を一言でいうとAbortController は、「一度投げた非同期処理(特に fetch)を、あとから“やっぱりやめる”と止めるための仕組み」 です。...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - 多重送信防止

多重送信防止を一言でいうと多重送信防止は、「ユーザーが同じ操作を連打しても、サーバーには“1 回分だけ”しか飛ばさないようにする仕組み」 です。非同期処理(特にフォーム送信やボタン押下)では、ユーザー...
JavaScript

JavaScript | 非同期処理:実務での非同期制御 - ローディング表示

ローディング表示を一言でいうとローディング表示は、「今、アプリはちゃんと動いているよ。止まっているんじゃなくて“待っているだけ”だよ」とユーザーに伝えるためのサインです。非同期処理(fetch / A...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:モーダルウィンドウ管理

1日目のゴールと今日やること1日目のテーマは「モーダルウィンドウを“クラス”として設計し、きれいに開閉を制御できるようになる」ことです。今日のゴールは、ざっくり言うとこの3つです。モーダルを「1つのク...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - CSV 行生成

「CSV 行生成」でやりたいことをはっきりさせるここでのゴールは、「配列やオブジェクトの値から、正しい形式の1行分の CSV 文字列を生成するユーティリティ」を作ることです。見た目はただのカンマ区切り...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 単語数カウント

「単語数カウント」で何を数えたいのかを決めるまず、ここをはっきりさせたいです。「単語数を数える」と言っても、言語や用途で意味が変わります。英語の文章なら、スペースで区切られた「単語」を数えたい。日本語...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 文字数カウント

「文字数カウント」で本当に数えたいものは何かまず、ここをはっきりさせたいです。「文字数を数える」と言っても、実は意味が分かれます。画面上で「何文字入力されたか」を知りたい。DBのカラム制限(バイト数)...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 行数カウント

「行数カウント」で何をしたいのかをはっきりさせるここでの「行数カウント」は、文字列の中に「何行分のテキストがあるか」を数えるユーティリティのことです。テキストエリアに何行入力されているか知りたい。ログ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 省略文字列

「省略文字列」で何をしたいのかをはっきりさせるここでの「省略文字列」は、長すぎる文字列を「…」などで途中カットして、画面に収まる形にするユーティリティのことです。テーブルのカラム幅に収まらないタイトル...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - 伏字変換

「伏字変換」でやりたいことを言葉にしてみるここでの「伏字変換」は、特定の単語やNGワードを、画面に出すときだけ隠す(置き換える)処理のことです。ログにはそのまま残したいけど、ユーザーには見せたくない。...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - マスク文字列

「マスク文字列」で何をしたいのかをはっきりさせるまず、「マスク文字列」でやりたいことを言葉にしてみます。画面に本物の値は出したくないけれど、「それっぽく」見せたい。例:******** や ****-...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - トークン生成

まず「トークン生成」で何を作りたいのかを決めるトークンと言っても、用途はいろいろあります。API トークンパスワードリセット用の一時 URL トークンメール認証用のワンタイムトークンCSRF トークン...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - パスワード生成

まず「パスワード生成」で絶対に外せない前提ランダム文字列と違って、パスワード生成は最初から「セキュリティ前提」で考える必要があります。ここを曖昧にすると、一見それっぽく動くけど「簡単に総当たりされるパ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:生成 - ランダム文字列

ランダム文字列ユーティリティで何をしたいか決める「ランダム文字列」と一口に言っても、目的で“正解の実装”が変わります。短い一時トークン(画面遷移の一時キー)テストデータ用の適当なIDユーザーに見せる仮...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 絵文字検出

絵文字検出で「何をしたいか」を先に決めるまずゴールをはっきりさせましょう。ここでやりたいのは、文字列の中に「絵文字が含まれているかどうか」を判定するユーティリティを作ることです。業務だと、例えばこうい...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - カタカナ判定

「カタカナ判定」で何をチェックしたいのかまずゴールをはっきりさせます。カタカナ判定には、大きく二つのニーズがあります。「この文字列は“全部カタカナだけ”かを判定したい」「この文字列に“カタカナが1文字...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - ひらがな判定

「ひらがな判定」で何をチェックしたいのかまずゴールをはっきりさせます。ひらがな判定には、大きく二つのニーズがあります。「この文字列は“全部ひらがなだけ”かを判定したい」「この文字列に“ひらがなが1文字...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 日本語判定

「日本語判定」で本当に知りたいことは何かまずゴールをはっきりさせましょう。ここでやりたいのは、「この文字列は“日本語を含んでいるか?”を判定するユーティリティを作ること」です。もう少し分解すると、よく...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 数字のみ判定

「数字のみ判定」で本当に知りたいことは何かまずゴールをはっきりさせます。ここでやりたいのは、「この文字列は“数字だけ”でできているか?」を判定するユーティリティを作ることです。例えば、こんな要件が典型...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 英数字判定

「英数字判定」で何をチェックしたいのかをはっきりさせるまず最初に決めておきたいのは、あなたがやりたいのは次のどちらかです。「文字列が“全部”英数字だけかどうかを判定したい」「文字列の中に“英数字が含ま...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - URL 判定

「URL 判定」で本当にやりたいことは何かまず、「URL 判定」と聞くと、「正規表現で http から始まるかどうかをチェックする」みたいなイメージを持ちがちですが、それだとだいたい痛い目を見ます。業...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 郵便番号判定

郵便番号判定で「何をしたいか」を先に決めるまずゴールをはっきりさせましょう。ここでやりたいのは、「日本の郵便番号として“それっぽいか”を判定するユーティリティを作ること」です。日本の郵便番号は、基本的...
JavaScript

JavaScript Tips | 文字列ユーティリティ:検証 - 電話番号判定

まず「電話番号判定」でやりたいことをはっきりさせる最初に決めておきたいのは、「どこまで厳しく判定するか」です。電話番号って、現実にはいろんな形で入力されます。03-1234-5678090-1234-...
スポンサーリンク