皆さん、こんにちは!マイクです。今日は2025年11月23日、土曜日ですね。今日も「zenncast」にお付き合いいただき、ありがとうございます!今日はZennからトレンドの記事をいくつか紹介していきますよ。
さて、前回紹介した記事ですが、今回は触れずに進みますので、早速今日の内容に移りましょう!
今日紹介する記事は全部で5本です。それでは、さっそく最初の記事から始めましょう!
1つ目の記事は「LEFT JOINの論理削除はWHERE句でしぼるな」です。この内容では、SQLにおけるLEFT JOINと論理削除についての注意点を解説しています。特に、子テーブルの論理削除されたレコードをWHERE句で絞り込むことの問題点が指摘されています。論理削除を用いる場合、子テーブルの削除条件はJOIN句に記述すべきで、WHERE句で絞り込んでしまうと、意図しない結果を招くリスクがあるんです。
具体的には、例えば商品テーブルと予約テーブルの関係において、論理削除された商品が予約されている場合、その商品は予約がないとしても結果から除外されてしまい、処理が中断される可能性があります。正しいクエリの書き方としては、子テーブルの論理削除条件をJOIN句内に指定し、親テーブルの条件はWHERE句で指定することが推奨されています。このようにすることで、LEFT JOINの特性をしっかり活かすことができるというわけです。
2つ目の記事は「Rustで『安全』と言い切れるか?Cloudflare 障害と unwrap() のリアル」です。この内容では、2025年11月18日に発生したCloudflareのサービス障害が、Rust製のプロキシサービス内での`unwrap()`の使用に起因するものであったことが述べられています。Rustでは`Option<T>`や`Result<T, E>`を使って値やエラーを明示的に表現しますが、`unwrap()`は「必ず値が存在する」という前提で使用されるため、その前提が崩れるとプログラムが即座に終了してしまいます。
Cloudflareの障害では、予期せぬデータの急増が`unwrap()`を引き金にpanicを引き起こし、システム全体に影響を及ぼしました。この事例から学べる教訓は、前提条件を壊れないものと考えず、異常値に対応できる設計が必要であるということです。`unwrap()`の使用は慎重に行い、特に外部入力やミッションクリティカルなサービスでは控えるべきです。
。.
3つ目の記事は「TypeScriptにするだけで型安全になると思ってはいけない」です。この記事では、TypeScriptを使うだけでは型安全なコードが書けないという誤解について解説されています。TypeScriptのアンチパターンを示し、改善方法を具体的なコードで紹介しています。
例えば、サッカーや野球の活動データを登録するシステムにおいて、`any[]`型を使うことが問題だと指摘されています。これにより型チェックが無効化され、バグが発生する原因になるため、`any`を型定義したインターフェースに置き換えることが推奨されています。また、ユニオン型やDiscriminated Union型を使うことで、より厳密な型安全を実現できるとされています。型安全な開発を実現するためには、正しい知識を持ち、継続的な改善が重要です。
。.
4つ目の記事は「なぜ React 哲学を守らないといけないのか?」です。Reactは柔軟なライブラリですが、その哲学を無視すると将来の更新により互換性が失われるリスクがあります。Reactの根本的な思想は、UIを「宣言的」に記述することです。この考え方に従うことで、コードがシンプルで理解しやすくなります。
具体的には、`useEffect`のクリーンアップ関数を持たないコードや、グローバル変数を変更するコンポーネントは将来的に予期しない動作を引き起こす可能性があるため、注意が必要です。コンポーネントの「純粋性」を維持することが重要で、状態を直接変更せず、イベントハンドラを通じて処理を行うべきだと強調されています。Reactの哲学に従ったコードを書くことで、堅牢で予測可能なUI構築が可能になります。
。.
5つ目の記事は「30万kmの道のり、東京でE2E自動運転を走らせる」です。チューリングの自動運転開発チームが、E2E自動運転技術の実現に向けた取り組みを紹介しています。これまでに約30万kmの走行データを収集し、都内での走行を実現していますが、その道のりには多くの試行錯誤がありました。
E2E自動運転の基本的なタスクは過去のカメラ映像から未来の運転アクションを予測することですが、技術的な課題が多く、初期のデータ収集ではカメラのフレーム落ちやセンサーの同期問題が発生しました。しかし、安定したデータ収集が可能になり、公道走行も実現しています。特に都心部の複雑な交通シーンでの運転性能が向上し、ナビゲーションに従った自動運転も実現しています。チューリングは、エンジニアとしての仲間を募集中で、革新的な自動運転技術を日本から世界へ発信する意欲を持っています。
それでは、今日の内容を振り返りましょう!1つ目はSQLの論理削除、2つ目はRustの安全性、3つ目はTypeScriptの型安全、4つ目はReact哲学、そして5つ目はE2E自動運転についてお話ししました。次回もお楽しみにしていてくださいね!詳しい内容はショーノートに書いてありますので、ぜひチェックしてください。番組の感想もお待ちしています!それでは、またお会いしましょう!