プログラミング

スポンサーリンク
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 例外仕様の文書化

なぜ「例外仕様の文書化」がそんなに大事なのか非同期処理は「うまくいくとき」だけ見ていると、わりと簡単そうに見えます。await fetch(...) して、res.json() して、画面に出す——こ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - モック化戦略

「モック化戦略」ってそもそも何の話?非同期処理をテストしようとすると、必ずぶつかる壁があります。それが「外部とのやり取り」です。サーバーへのリクエストデータベースタイマー(setTimeout)ブラウ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - テストしやすい非同期

なぜ「テストしやすい非同期」が大事なのか非同期処理って、バグが出ても再現しづらいし、「たまたま動いた」状態になりがちです。だからこそ、「テストしやすい形で非同期コードを書く」という発想がめちゃくちゃ重...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 同期 API との境界

なぜ「同期 API との境界」を意識しないといけないのか非同期処理を学び始めると、「どこまでを同期で書いて、どこからを非同期にするのか」がだんだん分からなくなってきます。全部 async にしてしまう...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期 API 設計

「非同期 API 設計」って何を考えること?まず前提から整理します。ここでいう「非同期 API」は、サーバーの REST API というより、「あなたが JavaScript で提供する非同期関数の“...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期関数の命名

なぜ「非同期関数の命名」がそんなに大事なのか非同期処理って、それだけで頭を使います。そこに「名前がふわっとしている関数」が混ざると、一気に読めなくなります。doSomething(), handle(...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 責務分離

「責務分離」を非同期コードで考える意味非同期処理って、それだけで頭を使いますよね。そこに「UI」「エラー処理」「キャッシュ」「ローディング表示」などを全部一緒に書き始めると、一瞬でカオスになります。だ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期コードの可読性

なぜ「非同期コードの可読性」がそんなに大事なのか非同期処理って、動かすだけなら意外とすぐ書けます。async 付けて、await fetch(...) して、console.log して終わり——みた...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期設計レビュー

「非同期設計レビュー」って何をする時間か非同期処理のコードは、とりあえず動かすだけなら意外と簡単です。async/await を付けて、fetch を呼んで、console.log して終わり。でも「...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - UI ブロック回避

なぜ「UI ブロック回避」がそんなに大事なのかJavaScript は基本「1本のメインスレッド」で動いています。この1本の線の上で、描画・クリック処理・スクロール・あなたの書いた処理が、全部順番待ち...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 長時間処理の分割

なぜ「長時間処理の分割」が必要になるのかJavaScript は基本的に「シングルスレッド」で動きます。つまり、1本の道に、処理が一列に並んで流れているイメージです。その道の上で、重い処理(ループ・計...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期処理の計測

なぜ「非同期処理の計測」が大事なのかパフォーマンス最適化って、つい「こうした方が速そう」と感覚でやりがちです。でも、本当にやるべきことはシンプルで、たった一つです。「遅いところをちゃんと測って、事実ベ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - レイテンシ考慮

レイテンシってそもそも何?まず言葉からいきます。レイテンシ(latency)は「お願いしてから、最初の反応が返ってくるまでの時間」 です。ユーザーから見ると、ボタンを押してから画面が変わるまで検索ワー...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - ネットワーク最適化

ネットワーク最適化って何をすること?非同期処理のパフォーマンス最適化の中で、ネットワーク最適化は「サーバーとの通信をできるだけ速く・少なく・無駄なくする」ことです。JavaScript の世界だと、だ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - バッチ処理

「バッチ処理」は“まとめてやるから速くて優しい”という発想バッチ処理は、「細かい処理を1個ずつやるのではなく、ある程度まとめて一気に処理する」という考え方です。非同期処理のパフォーマンス最適化では、・...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - Promise キャッシュ

Promise キャッシュって何者?Promise キャッシュは、「同じ非同期処理を何度も実行せず、“進行中 or 結果”を使い回すテクニック」 です。特に、「同じ API を短時間に何回も叩いてしま...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 不要 await の削除

「不要な await」を消すと何が嬉しいのかawait は便利ですが、「なくてもいい場所に書いてしまうと、わざわざ処理を遅くしている」ことがあります。パフォーマンス最適化でよく効くのが、この「不要な ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 並列化の判断

「並列化の判断」は“どこを同時に走らせていいか”を見極めること非同期処理のパフォーマンス最適化で一番効くのが、「待ち時間の長い処理を、できるだけ同時に走らせる」ことです。でも、何でもかんでも並列にすれ...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:クラス設計アプリ(オブジェクト指向)

1日目のゴールと作るもののイメージ1日目のテーマは「class を使って、“それっぽいオブジェクト”を自分で設計できるようになること」です。キーワードはこの3つです。classカプセル化(中身を隠す・...
Python

Python | テスト・設計・品質:Protocol

Protocolって何?一言でいうと「“こう振る舞うもの”を型で表す」Protocol は、型ヒントの世界で「このオブジェクトは、こういうメソッドや属性を“持っているもの”として扱える」という“振る舞...
Python

Python | テスト・設計・品質:Literal

Literalって何?一言でいうと「値そのものを型にする」Literal は、型ヒントの世界で「この引数(または値)は、この“決まった値”しか受け付けません」と表現するための道具です。普通の型ヒントは...
Python

Python | テスト・設計・品質:Union

Unionって何?一言でいうと「型の“どれか”を許すための道具」Union は、型ヒントの世界で「この値は、A か B か C のどれかです」と表現するための仕組みです。形式的にはこうです。from ...
Python

Python | テスト・設計・品質:Optional

Optionalって何?一言でいうと「Noneかもしれない」を型で表す道具Optional は、型ヒントの世界で「この値は、あるときは T 型だけど、ないときは None かもしれない」という状態を表...
Python

Python | テスト・設計・品質:typing 型ヒント

型ヒントって何?まずは「コメント」だと思ってOKPython の「型ヒント(type hints)」は、「この変数や関数は、こういう型を想定しているよ」という情報を、コードの中に書き添える仕組みです。...
Java

Java Tips | 日付・時間:日付加算

「日付加算」は“カレンダーの面倒を Java に任せる”こと日付加算は、「今日から 7 日後」「月末から 1 日後」「3 ヶ月後の同じ日」といった“カレンダー計算”をコードでやることです。これを自前で...
Java

Java Tips | 日付・時間:日時→文字列

「日時→文字列」は“見せ方を決める”作業日時オブジェクト(LocalDate や LocalDateTime など)は、そのままだと「内部的に意味のある値」ですが、人間には少し分かりにくいことがありま...
Java

Java Tips | 日付・時間:文字列→日時

文字列→日時変換の全体イメージ「String で受け取った日付・時刻」を、そのまま文字列のまま扱うと、比較・加算・バリデーションがすべて自前実装になってしまいます。そこでやるべきことはシンプルで、「文...
Java

Java Tips | 日付・時間:Calendar変換

Calendar は「古い日付 API」だが、変換パターンを覚えれば怖くないjava.util.Calendar は、Date と同じく“古い日付 API”です。今の Java では LocalDat...
Java

Java Tips | 日付・時間:Date変換

古い Date と新しい java.time を「つなぐ」という発想java.util.Date は、昔からある「日時クラス」です。でも今の Java では、LocalDate / LocalTime...
Java

Java Tips | 日付・時間:Instant変換

Instant は「世界共通の“瞬間”を表すタイムスタンプ」Instant は、「UTC を基準にした、世界共通の“ある瞬間”」 を表すクラスです。「1970-01-01T00:00:00Z(UTC)...
Java

Java Tips | 日付・時間:ZonedDateTime生成

ZonedDateTime は「タイムゾーン付きの日時」ZonedDateTime は、「日付(年月日)+時刻(時分秒)+タイムゾーン」 をまとめて扱うクラスです。LocalDateTime は「どこ...
Java

Java Tips | 日付・時間:LocalDateTime生成

LocalDateTime は「日付+時刻」をまとめて扱うクラスLocalDateTime は、「年月日」と「時分秒(ナノ秒まで)」を一つにまとめて扱うクラスです。 タイムゾーンは持たないので、「ある...
Java

Java Tips | 日付・時間:LocalTime生成

LocalTime は「時刻だけ」を扱うクラスLocalTime は、「時・分・秒だけ」を扱うクラスです。日付(年月日)もタイムゾーンも持ちません。「営業開始時刻(09:00)」「締切時刻(17:30...
Java

Java Tips | 日付・時間:LocalDate生成

LocalDate は「日付だけ」を扱うクラスLocalDate は、「年月日だけ」を扱うクラスです。時刻(時分秒)もタイムゾーンも持ちません。「請求日」「締切日」「誕生日」「営業日」など、“日付だけ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - コメント追加

コメント追加は「Excelに説明・注意書き・補足情報を埋め込み、使いやすいシートを作る」ための便利テクニックExcel業務自動化では、セルにコメント(メモ)を追加する処理がとても役立ちます。コメントを...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - データ検証設定

データ検証設定は「入力ミスを防ぎ、Excelを“壊れないシート”にする」ための最強テクニックExcel業務自動化では、データ検証(Data Validation)が非常に重要です。なぜなら、次のような...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 条件付き書式

条件付き書式は「値に応じて自動で色や書式を変え、異常値や重要データを一瞬で見分ける」ための武器条件付き書式は、「セルの値に応じて、自動で色・フォント・アイコンなどを変える仕組み」です。人間が目でチェッ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelフィルタ

Excelフィルタは「必要なデータだけを抽出し、業務に必要な情報を瞬時に取り出す」ための超重要スキルExcel業務自動化では、フィルタ(抽出)が非常に多く登場します。なぜなら、実務のExcelは次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelソート

Excelソートは「表を並び替えて、欲しい順番にデータを整理する」ための超実務的テクニックExcel業務自動化で、ソート(並び替え)はかなり頻繁に出てきます。例えば次のような場面です。売上を金額の大き...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル背景色変更

セル背景色変更は「Excelの視認性を高め、重要箇所を強調する」ための必須スキルExcel業務自動化では、セルの背景色(塗りつぶし)を変更する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル書式設定

セル書式設定は「Excelの見た目を整え、読みやすく美しい帳票を自動生成する」ための必須スキルExcel業務自動化では、セルの書式設定(フォント・色・罫線・背景色・数値形式など)が欠かせません。なぜな...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル置換

セル置換は「Excel内の特定の値を一括で書き換え、データを整形・修正する」ための超重要スキルExcel業務自動化では、セルの値を検索して置換する処理が非常に多く登場します。なぜなら、次のような業務が...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル検索

セル検索は「Excelの中から必要な値を探し出し、Pythonで次の処理につなげる」ための超重要スキルExcel業務自動化では、セルを検索する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 範囲書き込み

範囲書き込みは「Excelの表にまとめてデータを流し込み、テンプレートを一気に完成させる」ための最重要スキルExcel業務自動化では、複数セルにまとめてデータを書き込む(範囲書き込み)ことが非常に多く...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - UsedRange

UsedRange は「そのシートで“何かに使われている範囲”をひとかたまりで教えてくれる」まずイメージから。UsedRange は「そのワークシートの中で、“何かしら使われているセルの最小の長方形”...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - 最終行取得

「最終行取得」は“どこまでデータが入っているか”を知るための超重要テクニックまずイメージから。「最終行取得」は「この列は、いったい何行目までデータが入っているのか?」をコードで調べることです。Exce...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - With構文

With 構文は「同じ相手に、まとめて命令を出すための“会話モード”」まずイメージからいきます。With 構文は「同じオブジェクトに対して、何回も続けて命令を出したいときに使う“まとめモード”」です。...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Select回避

「Select回避」とは何か ― “選択してから操作する”クセをやめる発想まず前提から整理します。Excel を手で操作するとき、あなたは必ず「選択してから操作」しています。A1 をクリックして選択 ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - NumberFormat

NumberFormat は「セルの“表示のしかた”を決めるためのプロパティ」まず一番大事なイメージから。NumberFormat は「セルの中身そのもの」ではなく、「どう見せるか(表示形式)」を決め...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Borders

Borders は「セルや範囲の“罫線”をまとめて操るためのオブジェクト」まずイメージからいきましょう。Font が「文字の見た目」、Interior が「背景色」だとしたら、Borders は「セル...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Interior

Interior は「セルの“背景色”などを操るためのオブジェクト」まずイメージから。Font が「文字の見た目」を扱うのに対して、Interior は「セルの中の塗りつぶし(背景色など)」を扱うオブ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Font

Font は「セルの文字の“見た目”をまとめて操るためのオブジェクト」まずイメージから。Font は「セル(Range)の“文字の見た目”をまとめて持っているオブジェクト」です。太字にするか文字サイズ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Paste

Paste は「クリップボードにあるものを“今ここに貼り付ける”動き」まずイメージから。Paste は「コピーされた内容(クリップボードの中身)を、指定した場所に貼り付ける動き」です。手作業でやってい...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Copy

Copy は「セルや範囲を“そのまま別の場所へ複製する”ためのメソッド」まずイメージから。Copy は「選んだセル(Range)を、別の場所へコピーする命令」です。手作業でやっている「コピー → 貼り...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 14日目

14日目のゴールとテーマ14日目のテーマは「ここまで作ったアプリを“仕上げる”感覚を身につける」です。新しい文法をどんどん増やす日ではなく、コードを読みやすく整えるちょっとしたバグを見つけて直すテスト...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 13日目

13日目のゴールとテーマ13日目のテーマは「コードを“モジュール化”して、ちゃんとしたプロジェクト構成にする」です。ここまでで、クラスも関数も使って、タスク管理アプリをかなり育ててきました。でも、まだ...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 12日目

12日目のゴールとテーマ12日目のテーマは 「クラス同士を組み合わせて“アプリの世界観”を作る」 です。昨日は「Task という1つのクラス」を作りました。今日はそこから一歩進んで、クラスを“複数”作...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 11日目

11日目のゴールとテーマ11日目のテーマは「クラスとオブジェクトで“自分だけの型”を作る」です。ここまで、辞書とリストを組み合わせて、かなり複雑なデータも扱えるようになりました。でも、そろそろこう感じ...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 10日目

10日目のゴールとテーマ10日目のテーマは「メニュー付きの“ちゃんとしたコンソールアプリ”を組み立てる」です。ここまでで、関数・リスト・辞書・ファイル・例外・標準ライブラリと、かなりのパーツを学んでき...
Python

Python | 2週間で身につく、アプリを作りながら学ぶPythonの基本 - 9日目

9日目のゴールとテーマ9日目のテーマは「標準ライブラリを使って“道具箱”を広げる」です。ここまでで、Pythonそのものの文法や、リスト・辞書・関数・ファイル・エラー処理といった“土台”はかなりできて...
スポンサーリンク