記事一覧
プログラマって割に合う職業なの? ~ちょっとハードな長旅を終えて~
プログラム自学案内の 42 回目、最終回です。これまで案内した内容を振り返ったうえで、IT エンジニアという職業ははたして目指すべき職業なのかどうか、考えてみます。これまでの記事はこちらからどうぞ。
これまで来た道を振り返るこのコラムで、これまでどんなことを取り上げたか、各記事のキーワードとともに振り返ってみましょう。
心構え・開発環境準備
01 回 右も左も分からない人へ
02 回 Ch
まやかしの認証で始めるサインインのイロハのイ ~ Passport.js, ミドルウェア, CoR パターン ~
プログラム自学案内の 39 回目です。今回は、Web アプリにサインインの仕組みを Passport.js を使って付け足します(ただし、ちゃんとした認証は後回しです)。 これまでの記事は次のリンクから辿ってください。
Passport.js の導入Passport.js ( https://www.passportjs.org/ )を使うと、Express.js アプリにサインインの仕組みを
いったいなぜ、どのWebサービスもユーザ登録をさせようとするのか ~サインイン、認証、認可~
プログラム自学案内の 38 回目です。今回は、サインインして使うWebサイトの作り方を学ぶとっかかりとして、ユーザにサインインさせたい理由と、認証認可という言葉を紹介します。以前の記事はこちらからどうぞ。
なぜ利用者登録とサインイン(ログイン)が必要なのかインターネット上のWebサービスは、はじめに利用者登録をして、サインイン(ログイン)してから使う、というものがほとんどですね。無料のものであっ
Render.com に PostgreSQL を使った Web アプリを載せるには ~環境変数, set, export~
プログラム自学案内の 37 回目です。今回は、PostgreSQL を使った Web アプリを、Render.com を使って公開します。 これまでの記事はこちら。
これまでの記事のおさらいこれまでの記事では、Web 技術および DB 技術、その連携の方法を紹介してきました。 なかなかいいものが出来たはずなのですが、これを自分のパソコンでしか動かせない※のが寂しいところです。 (※ ただし、以前
Webアプリでのトランザクション処理の定石って? 〜try with resources, using〜
プログラム自学案内の36回目です。今回は、前々回の記事の課題を解くための3つめのポイント、トランザクションとコネクション管理について簡単に解説したあと、実装例を紹介したいと思います。これまでの記事はこちらから。
課題のおさらい:PostgreSQLへのデータ追加・削除まずは課題のおさらいをします。3回前の記事で作った磯野家画面に、追加、削除ボタンを足します。
トランザクショナルなWebアプリの
プログラムをプログラムで組み立てるときの注意点とは 〜パラメータ化クエリ, SQLインジェクション, エスケープ〜
プログラム自学案内の35回目です。今回は、パラメータ化クエリと、エスケープの考え方を案内します。前回までの記事はこちら。
パラメータ化クエリ今回の記事は、前回チラ見せしたコードのうち、ここについての話をします。
models/family.js
const result = await client.query( 'DELETE FROM isono_family WHERE full
なぜ住民票の誤交付を防ぐのは難しいのか 〜例外処理, フェイルファスト, throw, catch〜
プログラム自学案内の34回目です。今回は、Express.jsアプリによる PostgreSQLへの書き込み操作と、そのために必要な例外処理についての案内をします。おまけで、例外処理に関連した話題として、住民票の誤交付問題を取り上げたいと思います。これまでの記事はこちらからどうぞ。
今回やることの説明:PostgreSQLへのデータ追加・削除前回作った磯野家画面に、追加、削除ボタンを足してあげま
Express.jsとPostgreSQLの連携 はじめの一歩 〜コネクションプール, express-promise-router〜
プログラム自学案内の33回目です。今回の記事では、Express.jsとPostgreSQLを連携させます。前回までの記事はこちらです。
この記事でやることの説明今回は、24回目の記事までに作ったExpress.jsアプリに画面を追加し、26回目の記事で作ったDB(磯野家テーブル)の内容を表示させます。
イメージはこうです。
トップページにリンクを足します。リンクをクリックすると
ison
JavaScriptの非同期処理、理解の糸口となるニュアンスを分かりやすく紹介 〜コールバック, async/await, I/O 〜
プログラム自学案内の32回目です。今回は、JavaScriptのコールバックとasync/await構文を紹介します。この記事が、チマタに膨大にあるこれらへの解説を理解するための、糸口になればと思います。なお、前回までの記事はこちらです。
はじめにJavaScriptプログラミングでは、コールバック と async/await、これについての理解が重要です。どちらも、非同期処理 を扱うための書き
ロックの役割と、ロックがもたらす行き詰まりとは 〜レコードロック、デッドロック、楽観的ロック〜
プログラム自学案内の30回目です。前回の記事では、排他制御の必要性について紹介しました。今回の記事はその実践編ということで、PostgreSQLのレコードロックを紹介します。前回までの記事の一覧はこちらです。
ロックとはまずは、ロックを簡単に説明します。
ロック(lock) とは、自分が読み書きしているデータが、他の処理から同時に読み書きされないよう、他の処理を待たせるための仕組みです。
そ
「元に戻す(Ctrl+Z, ⌘Z)」ができない PostgreSQLとの付き合いかた 〜コネクション、トランザクション、コミット、ロールバック〜
プログラム自学案内の28回目です。前回の記事では DMLによる集計、結合操作を実践的に紹介しました。今回の記事では、データベースのコネクション、トランザクションについて紹介します。これまでの記事はこちら。
コネクションの紹介まずはコネクションの紹介です。PostgreSQLの「複数の人と同時に会話できる」聖徳太子的な働きとともに理解しましょう。
2つ以上のクライアントとやりとり
Postgr