ソフトウェア開発において「こうあるべきだ」という典型例を集めたものデザインパターンであるのに対し、「こうあってはならない」という典型例を集めたテンプレート集がアンチパターン。
「新装版 アンチパターン―ソフトウェア危篤患者の救出」 http://store.sbpnet.jp/bm_detail.asp?sku=4797321385
に詳しい。
はじめに 学生チーム所属の井田です。 私たちのチームでは、個人の知識・専門性の向上に加え、チーム全体の知識を実務で使える形に定着させること、そしてメンバー間のコミュニケーションを促進することを目的に、半年間にわたり技術書の読書会を実施してきました。 題材として選んだのは『SQLアンチパターン 第2版』です。 本書は、単なる SQL の書き方を解説するものではなく、「なぜその設計が問題になりやすいのか」「どのような背景でアンチパターンが生まれるのか」を豊富な事例とともに扱っており、日々の開発業務と親和性の高い一冊でした。 本記事では、読書会の運営方法、実際の議論内容、そして半年間を通して得られた…
はじめに こんにちは、株式会社Techouseでエンジニアをしている@kuragane1122です。 Kaigi on Rails 2025にて、nay3 (Yasuko Ohba) さんの「Railsによる人工的「設計」入門」を聴講しました。 speakerdeck.com youtu.be 本記事では、このセッションで得た学びを、私自身の経験と照らし合わせながら紹介します。 特に「いきなり実装」の失敗は、設計初学者が陥りがちなミスです。私自身も過去に、「影響範囲の調査」から始めた結果、設計が抜け落ちた状態に陥った経験があります。このセッションを聞いて、当時の自分が何を間違えていたのか、そし…
今回、以下の書籍を読みました。 『ザ・ダークパターン ユーザーの心や行動をあざむくデザイン』 せっかくなので、感じたことや気づきをまとめてみます。 ダークパターンとは? ざっくり言うと、ユーザーを意図的にだますデザインのことです。 たとえば、以下の経験はありませんか? 気づいたらメルマガを購読していた いつの間にか有料会員になっていた 解約方法が分かりづらい・隠されている ボタンだと思ったら実は広告だった こういうのに遭遇すると、「騙された…」と感じてしまいますよね。 私は一度でもこういう体験をすると、そのサービス自体を使いたくなくなりますし、似たような場面でもつい疑い深くなってしまいます。 …
私は自分でもめんどくさい人だと思っているのはこのブログの紹介文どおりなのですが、「めんどくさい」についてちゃんと書いたことはなかった気がするので、一度整理してみようと思いました。3回ぐらいに分ける予定で、今回は「めんどくさい」の罠、失敗する対応パターン、という話を書こうと思います。 そもそも「めんどくさい」とは 「めんどくさい」対応の失敗パターン 1. やらない 2. 押し付ける 3. 力を取られる 4. 心が枯れる 5. 代償に依存する
読書メモ。2025年68冊目。『失敗から学ぶ RDBの正しい歩き方』を読んでの感想となります。(2025/11/10記載) 本の概要 動機 本書からの学び 忘れたくないメモ 本の概要 「データベースがよく落ちる」「前任者が残したテーブル、SQLが読み解けない」「RDBMSを入れ替えたら予期せぬバグが」――MySQLやPostgreSQLといったRDBMS(リレーショナルデータベース管理システム)を使った業務システム、Webサービスを設計・運用していると、こういった問題によく直面するのではないでしょうか。本書はRDB(リレーショナルデータベース)の間違った使い方(=アンチパターン)を紹介しながら…
この記事はmameshiba_274さんの記事を読んで学んだ内容を、自分の理解を深めるために整理したものです。 Reactでコンポーネントを実装していると、propsをそのままstateの初期値に渡してしまうことがある。一見問題なさそうに見えるが、これは典型的なアンチパターンだ。 今回は「stateを最小限に保つ」という設計原則について、具体例を元に整理する。 問題のあるコード例 画像ギャラリーで「もっと見る」ボタンを押すと3枚ずつ画像が追加表示される、というよくある実装を考える。 const DISPLAYED_IMAGES_PER_LOAD = 3; const Gallery = ({ …
読書メモ。2025年66冊目。『SQLアンチパターン 第2版』を読んでの感想となります。(2025/10/17記載) 本の概要 動機 本書からの学び 忘れたくないメモ アンチパターン:外部キーはテストデータを用意するのを煩雑にするので張らない方が良い 欠けている値 スパゲッティクエリ 補足 本の概要 リレーショナルデータベースを扱うシステム開発には、様々な場面で陥りやすい失敗(アンチパターン)が存在します。本書では、SQLやデータベース設計を深く掘り下げ、データモデリングやSQLクエリのロジック、データ駆動アプリケーションのコード設計におけるアンチパターンを紹介し、それらを回避するための実践的…
この数日の間に、とても嫌な体験をしました。ずっともやもやが続くので、ここで成仏させたいです。 ざっと概要 火曜日、水曜日で基幹系システムと対向テストを行った。 なんの準備もなく迎え、見事にミスが多発した。 起きたこと 無計画で当日を迎えた。 データの準備だけで1日を費やす。 最後のバッチがエラー終了になる。 最後のバッチが正常終了しているけれど、途中でOracleエラーのメッセージが出力される。 最後のバッチが1件しか送信していない。 どうしても送信対象が作られない。 レコード作成時に設定されるFK項目がおかしい。 ビルドにあたふた 送信先が違っていた 順番に見ていこう 無計画で当日を迎えた。…
【プログラミングのお話】 妄信しているドルコスト平均法のアンチパターンについてシミュレーションしたドルコスト平均法が万能だと何となく思っていたのですが、そうじゃないかも!と問題提起されたので自分で試しました。 pythonで簡単にスクリプトを書くだけでも、色々と考察できて非常に有意義でしたので、その過程をまとめました。 コトの発端 シミュレーションしてみる 暴落が来た場合 逆パターンなら勝てる? 結論 20年後にちょうど暴落がきたときに正しい行動を取れるのか 付録:今回使用したソースコード コトの発端 下記の本にドルコスト平均法について問題提起をする一節があったので、改めて考えてみました。 も…
例えばなんらかの大きな機能をリリースする必要がある場合、こういう風に考える人は多いです。 「このプロジェクトを終わらせるには何スプリントかかるんだろうか?」 これは大いなる間違いです。 「どのくらい要件を削れば今スプリント中にリリースできそうかな?」 スクラムとは、本来はこう考えるフレームワークなのです。 スクラムにおけるスプリントは、価値あるインクリメントを生み出すための固定長のイベントです。 多くのチームがこれを単なる「開発期間」と捉えがちですが、本質は異なります。