

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
commitとpromiseの違いを理解する基本的な考え方
このセクションでは、よく混同されがちな「commit」と「promise」の意味を、日常の言葉と比喩を使ってやさしく解説します。
まず最初に覚えておきたいのは、二つの言葉は“別の世界の道具”だということです。
commitは主に“変更を確定させる行為”を指し、promiseは“まだ結果が決まっていない未来の出来事を約束する仕組み”を指します。
この違いを理解すると、Gitの操作とJavaScriptの非同期処理を混同しなくなります。
そもそもcommitという言葉は、ソフトウェア開発で三つの文脈に現れます。
1) Gitなどのバージョン管理で変更を「確定」して履歴に残す行為、
2) データベースのトランザクション処理で「現在の変更を永続化する」合意を行うこと、
3) 文章や変更点の記録を指す場合もあります。
この文章を読んでいる中学生にも伝わるように言葉を選ぶと、Gitでのcommitは「今の作業を写真のように保存すること」、データベースでのcommitは「今の作業をデータの世界で確定させること」です。
つまり、対象の世界が違えば意味も少し変わるのです。
一方、promiseは主にプログラミングの世界で使われます。
JavaScriptのPromiseは“これから起きる何か”を約束してくれる箱のようなものです。
箱の中身はまだ決まっていませんが、何らかの結果が出たらその結果を渡してくれます。
この仕組みは、非同期の作業(例:ネットの通信、ファイルの読み込み、時間のかかる計算)を待つ間、他の作業を止めずに進めるためにとても役立ちます。
そして、.thenや.catch、finallyといった道具を使って、結果を受け取ったときの動き方を決めます。
ここで重要なのは「どの世界の話なのか」を区別することです。
GitのcommitとPromiseは名前が似ていますが、根本的に役割も現れる場面も異なります。
commitは履歴を作り、過去の状態を保存する力、Promiseは未来の結果を扱う力です。
この違いを理解しておくと、プログラミングの勉強や日常の作業で混乱が減ります。
混同すると、作業の順序が乱れたり、非同期の処理の結果を待つべき時に待てなくなったりします。
次の章では、実務での具体的な使い方を比較表とともに見ていきます。
わかりやすい例を挙げて、どう使い分けるべきかを実感できるようにします。
commitとpromiseを実務で正しく使い分ける具体例
ここでは、実務に近い場面を二つ取り上げます。
一つはGitの操作、もう一つはJavaScriptの非同期処理です。
まずGitの例です。編集後のファイルを保存するには、まず変更を準備します。
次に“git commit -m ...”と実行して、変更を確定させ、履歴として残します。
このときメッセージは何を変えたのか、なぜ変えたのかを短く正確に書くと、後で見返すときに理解が早くなります。
次はPromiseの例です。ある処理を非同期で走らせ、結果が来たら次の処理を進めるように設計します。
新しいPromiseを作り、成功したときにはresolve、失敗したときにはrejectを使います。
その後、thenで結果を受け取り、catchでエラーを拾います。
この流れを覚えると、待つべき場所と待たなくてもよい場所の判断がつくようになります。
この表のように、同じ言葉でも意味する世界が違うため、文脈を読み分ける力が大切です。
日常の授業や課題でも、用語の使い分けを意識することで、説明がすぐに相手に伝わるようになります。
覚えてほしいのは、commitとpromiseは似て非なる機能であり、それぞれの場面に適した使い方をすることが、プログラミングの基礎を固める第一歩だということです。
友達と約束を取り交わすとき、待っている間に別の課題を進めることができますよね。Promiseはそんな“約束が現実になるまでの時間”を楽に扱える道具です。私が最近体験した話をします。学校の文化祭の準備で、スタッフの募集をオンラインで受け付けました。応募者全員に自動返信メールを送る仕組みを作る際、Promiseを使うと、まず受付処理が完了したときに次の処理を開始でき、失敗した場合はすぐにエラーメッセージを表示できました。最初は“待たされる感じ”が不安でしたが、Promiseを使うと結果が来るまでの時間を他の作業に使えるようになり、作業の効率が大幅に上がりました。