マガジンのカバー画像

勝手に学び始めたい人のための プログラミング自学案内

43
情報にあふれていながら意外と探し出しづらい、プログラミング学習の「入り口」や「糸口」を、案内する記事を連載するマガジンです。 今は右も左も分からないけど、プログラミングに興味が…
運営しているクリエイター

#コラム

プログラマって割に合う職業なの? ~ちょっとハードな長旅を終えて~

プログラム自学案内の 42 回目、最終回です。これまで案内した内容を振り返ったうえで、IT エ…

watanabe_kf1983
7か月前
17

ちゃんとしたユーザ認証をLINEにゆだねる ~ IdP, passport-openidconnect ~

プログラム自学案内の 41 回目です。前回までの記事では、まやかしの認証のもとに認可の機能を…

watanabe_kf1983
8か月前
3

Express.jsで認可をして、利用者の操作履歴を保存する ~ 401, 403, http-error, next…

プログラム自学案内の 40 回目です。 前回の記事では、Express.jsアプリにまやかしのサインイ…

watanabe_kf1983
9か月前
1

まやかしの認証で始めるサインインのイロハのイ ~ Passport.js, ミドルウェア, CoR …

プログラム自学案内の 39 回目です。今回は、Web アプリにサインインの仕組みを Passport.js …

watanabe_kf1983
10か月前
4

いったいなぜ、どのWebサービスもユーザ登録をさせようとするのか ~サインイン、認証…

プログラム自学案内の 38 回目です。今回は、サインインして使うWebサイトの作り方を学ぶとっ…

3

Render.com に PostgreSQL を使った Web アプリを載せるには ~環境変数, set, export…

プログラム自学案内の 37 回目です。今回は、PostgreSQL を使った Web アプリを、Render.com …

11

Webアプリでのトランザクション処理の定石って? 〜try with resources, using〜

プログラム自学案内の36回目です。今回は、前々回の記事の課題を解くための3つめのポイント、トランザクションとコネクション管理について簡単に解説したあと、実装例を紹介したいと思います。これまでの記事はこちらから。 課題のおさらい:PostgreSQLへのデータ追加・削除まずは課題のおさらいをします。3回前の記事で作った磯野家画面に、追加、削除ボタンを足します。 トランザクショナルなWebアプリのポイントでは、課題を解くための3つのポイントの最後のひとつ、トランザクションとコ

プログラムをプログラムで組み立てるときの注意点とは 〜パラメータ化クエリ, SQLイン…

プログラム自学案内の35回目です。今回は、パラメータ化クエリと、エスケープの考え方を案内し…

2

なぜ住民票の誤交付を防ぐのは難しいのか 〜例外処理, フェイルファスト, throw, catc…

プログラム自学案内の34回目です。今回は、Express.jsアプリによる PostgreSQLへの書き込み操…

1

Express.jsとPostgreSQLの連携 はじめの一歩 〜コネクションプール, express-promise-…

プログラム自学案内の33回目です。今回の記事では、Express.jsとPostgreSQLを連携させます。前…

1

JavaScriptの非同期処理、理解の糸口となるニュアンスを分かりやすく紹介 〜コールバ…

プログラム自学案内の32回目です。今回は、JavaScriptのコールバックとasync/await構文を紹介…

7

Node.jsとPostgreSQLを連携させるには? 〜 node-postgres, ChatGPT 〜

プログラム自学案内の31回目です。前回の記事まででは、PostgreSQLで関係データベースの基本を…

2

ロックの役割と、ロックがもたらす行き詰まりとは 〜レコードロック、デッドロック、…

プログラム自学案内の30回目です。前回の記事では、排他制御の必要性について紹介しました。今…

1

コンピュータ同士の協業の難しさ、人間同士の協業の難しさ 〜スケールアウト、排他制御、待ち行列〜

プログラム自学案内の29回目です。今回は前回からの続きで、スケーラビリティと排他制御にまつわる考え方を紹介したいと思います。前回までの記事はこちらです。 前回の課題おさらい(同時更新問題)まずは前回の記事で紹介した課題をおさらいします。 花子の操作 (15時14分40秒) BEGIN;INSERT INTO orders VALUES ('担任の先生', '卓上カレンダー', 6);--コミット直前にquantityの合計をチェックSELECT item, SUM(qu