サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
dwmemo.hatenablog.com
エラー発生 ある日、以下のエラーが発生した。どうやらデッドロックが起きたらしい。 「SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction with query:」 発生個所 一度登録内容を削除し、元の内容+新規の内容を登録するような処理をしていた場所でエラー発生。 つまり、DB登録処理のDELETE-INSERTのINSERT部分。 ログから分かったこと 同時刻に二つ以上のクライアントが同じ処理を実行 各クライアントは別のレコードを対象に操作 デッドロックが発生したのは一クライアントだけ いわゆる「別のトランザクションから同一レコードを操作すると起きるデッドロック(レコードロック)」ではないと分かる。 とりあえず原因 結果
2017/10に発売された「テスト駆動開発」の新訳版を読んだ。 その影響を受けてテスト駆動開発(TDD)を実践した感想などをだらだらっと書いていく。 そもそも、TDDとは何か 当然ながら、詳しい事はググった方が詳しい。 端的に言えば、「最初にテストを書き、そのテストが通るように開発する」方法だ。 以前TDDを調べた時に上のような説明を見たが、何を言っているのかサッパリ訳が分からなかった。 というのも、自分にとってテストとは「プログラムの完成時には必ず全ての項目に丸が付いているもの」だったからだ。 最終的な結果から見れば、「テストが通るように開発する」事は当たり前だと思っていた(出来ているかどうかはさておき)。 「テスト駆動開発」を読んでみた 本書では、他国通貨の計算やテストツールをTDDで実装していく例題形式がメインとなっている。 実装する流れを追うことで、まるで著者に弟子入りしたような気
このページを最初にブックマークしてみませんか?
『dwmemo.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く