@lifehacker

スポンサーリンク
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:汎用 – no-op 関数

no-op 関数ってそもそも何?「no-op(ノーオペ)」は no operation の略で、「何もしない関数」 のことです。JavaScript だと、いちばんシンプルな形はこれです。functi...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:API通信アプリ(ExchangeRate.host)

1日目のゴールと今日やること1日目のテーマは「ExchangeRate.host API を使って“シンプルな通貨レート取得アプリ”を作りながら、fetch / async‑await / エラーハン...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:API通信アプリ(Nager.Date API)

1日目のゴールと今日やること1日目のテーマは「Nager.Date API を使って “今年の祝日一覧アプリ” を作りながら、fetch / async‑await / エラーハンドリングの基本パター...
Java

Java Tips | コレクション:ソート

コレクションのソートは「並び順というビジネスルール」をコードにする作業ソートは単なる「小さい順・大きい順」ではありません。業務では「名前の五十音順」「日付の新しい順」「ステータス順(独自の優先度)」な...
Java

Java Tips | コレクション:重複除去

重複除去は「一意な世界にそろえてから考える」ためのユーティリティ業務コードでは、同じ値が何度も出てくることがよくあります。ユーザーIDの一覧、商品コードの一覧、タグの一覧…。そのまま処理すると、同じユ...
Java

Java Tips | コレクション:null除外

「null除外」は“混ざってしまった null を一度で掃除する”ユーティリティ業務コードを書いていると、こういうコレクションがよく生まれます。List<String> names = Arrays....
Java

Java Tips | コレクション:空Map安全取得

空Map安全取得は「null を“空の設定”にそろえる」ための小さな約束Map を返すメソッドも、業務コードに山ほど出てきます。設定値のマップ、コード→ラベルのマップ、集計結果のマップなど。そこでよく...
Java

Java Tips | コレクション:空List安全取得

空List安全取得は「null を“空”にそろえる」ための小さな約束List を返すメソッドって、業務コードに山ほど出てきますよね。検索結果、関連データ、設定値の一覧、などなど。そこでよく起きるのが、...
PHP

PHP Tips | 文字列処理:ランダム・生成 – CSRF トークン生成

まず「CSRF トークン生成」で何を守りたいのかCSRF トークンは、一言でいうと「フォーム送信が“本当にそのユーザーの意思で行われたものか”を確認するための秘密の合言葉」です。例えば、ユーザーがログ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ検証

「ハッシュ検証」で何を確かめたいのかまず、「ハッシュ検証」という言葉のイメージから整理します。ハッシュ検証とは、ざっくり言うと、「今手元にある“生の値”が、保存されている“ハッシュ値”と本当に対応して...
PHP

PHP Tips | 文字列処理:ランダム・生成 – パスワード用ハッシュ生成

まず、「パスワード用ハッシュ生成」で何をしたいのかパスワード用ハッシュ生成の目的は一言でいうと、「パスワードそのものは絶対に保存せず、“検証にだけ使える形”で安全に保存する」ことです。ユーザーが入力し...
PHP

PHP Tips | 文字列処理:ランダム・生成 – salt 付きハッシュ

まず「salt 付きハッシュ」で何を守りたいのかsalt(ソルト)付きハッシュは、一言でいうと、「同じ値でも、ユーザーごと・レコードごとに違うハッシュ値にする仕組み」です。例えば、パスワード "pas...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ化(SHA-256)

そもそも「ハッシュ化(SHA-256)」って何をするもの?まず、「ハッシュ化」という言葉のイメージから整理します。ハッシュ化は、ざっくり言うとこういう変換です。入力: "hello"出力: "2cf2...
PHP

PHP Tips | 文字列処理:ランダム・生成 – 短縮 ID 生成

「短縮 ID 生成」で何をしたいのかイメージするまず、どんな場面で「短い ID」が欲しくなるかをイメージしてみましょう。URL 短縮サービスの「短いコード」人に読み上げやすい予約番号や受付番号画面上に...
PHP

PHP Tips | 文字列処理:ランダム・生成 – UUID v4 生成

UUID v4 ってそもそも何者?まずは「UUID v4」が何なのか、イメージから掴みましょう。よく見るこの形の文字列が UUID です。550e8400-e29b-41d4-a716-4466554...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ワンタイムトークン生成

そもそも「ワンタイムトークン」とは何かまず、言葉のイメージをはっきりさせます。ワンタイムトークンは、ざっくり言うとこういうものです。一度きり、または短時間だけ有効な「秘密の合言葉」URL やフォームに...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(記号なし)

何のために「記号なしランダム文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。URL パラメータに載せるトークンだけど、「+ や / などの記号は使いたくない」。ユーザーに口頭で伝えるコ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(英数字)

何のために「ランダム英数字文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。ユーザーごとの招待コード一時的なトークン(メール認証、パスワードリセット)ファイル名やディレクトリ名の衝突回避...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラスの再利用設計

ゴール:「このクラス、別の場面でもそのまま使えるな」と思える設計感覚を身につけるクラスの再利用設計は、一言でいうと、「今この機能だけ動けばいい」ではなく、「あとで別の場所でも気持ちよく使える形」にして...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – クラス間の責務分離

ゴール:「このクラスは“何だけ”をやるのか?」と説明できるようになるクラス間の責務分離は、一言でいうと、「1つのクラスに“何でもかんでも”やらせず、“役割ごと”にクラスを分けること」です。ここができて...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 多重interface実装

ゴール:「1つのクラスに“複数の役割”を約束させる感覚をつかむ」多重 interface 実装は一言でいうと、「このクラスは A という顔も B という顔も、両方ちゃんと持ちますよ」と約束させる仕組み...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – implementsの役割

ゴール:「implements は“この約束は必ず守ります”という宣言」だと理解するimplements は一言でいうと、「このクラスは、この interface が決めた“形(契約)”を必ず守ります...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – interfaceでクラスを縛る

ゴール:「interface は“クラスに守らせる約束”」だと理解するここでのテーマは、「interface を使って、クラスに“こういう形であれ”と約束させる」という感覚をつかむことです。クラスの継...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 抽象メソッドの定義

ゴール:「抽象メソッド=“ここは必ず子クラスが実装して”という穴あきメソッド」と理解する抽象メソッドは一言でいうと、「このメソッドは“存在すること”だけ決めておいて、中身は子クラスに必ず書かせる仕組み...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 抽象クラスの設計

ゴール:「抽象クラスは“共通の型と骨組みだけを持つ設計図”」だと理解する抽象クラスは一言でいうと、「new できないけれど、“こういうクラスであってほしい”という共通ルールを決めるクラス」です。共通の...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – メソッドオーバーライド

ゴール:「同じメソッド名でも“クラスごとに振る舞いを変える”感覚をつかむ」メソッドオーバーライドは一言でいうと、「親クラスと同じ名前・同じ型のメソッドを、子クラス側で“書き直す”こと」です。これができ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – superの役割

ゴール:「super は“親クラス側の自分”を呼び出すキーワードだ」と腹で理解するsuper は、継承しているときだけ出てくる特別なキーワードです。一言でいうと、「親クラス側の自分を呼び出すためのスイ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:クラス設計 – 継承の基本(extends)

ゴール:extends で「共通部分をまとめる」感覚をつかむ継承(extends)は、「似たようなクラス同士で、共通部分を親クラスにまとめる」ための仕組みです。ここでは、「書き方」だけでなく「どういう...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – 安全な数値計算

なぜ「安全な数値計算」が業務で重要になるのか業務コードの数値計算は、単なる足し算・引き算では終わりません。外部 API のレスポンス、フォーム入力、DB の値など、「本当に数値か分からないもの」を相手...
JavaScript

JavaScript Tips | 基本・共通ユーティリティ:安全処理 – null 合体代入

「null 合体代入」とは何をしてくれる構文か「null 合体代入」は、「その変数が null または undefined のときだけ、デフォルト値を代入する」ということを一発で書ける構文です。Jav...
スポンサーリンク