こんにちは、皆さん!おはようございます。zenncastのマイクです。今日は2025年11月24日、月曜日ですね。皆さん、いかがお過ごしですか?さて、今日はZennでトレンドになっている記事をいくつかご紹介したいと思いますよ。
さて、前回ご紹介した記事のおさらいですが、「LEFT JOINの論理削除はWHERE句でしぼるな」、それと「Rustで『安全』と言い切れるか?Cloudflare障害とunwrap()のリアル」、そして「30万kmの道のり、東京でE2E自動運転を走らせる」というトピックが話題となっていました。それぞれ、重要なポイントや挑戦が詰まっていて興味深かったですよね。
それでは、お便りコーナーに移りましょう。今日はお便りが一通届いておりますね。ラジオネーム「ヌルポの道も一歩から」さんからいただきました。ありがとうございます。では内容を読んでみましょう。「マイクさんこんにちは。最近はAIの記事が多いですね。AIが進化するとエンジニアが職を失うという話もありますが、マイクさんはどう思いますか?」とのことですね。
そうですね、AIの進化は確かに速くて、驚かされるばかりですよね。しかし、AIはエンジニアの仕事をすべて奪うというよりは、むしろ新しい可能性や効率化の手段を提供してくれるものだと思います。短期的には一部の仕事が変わるかもしれませんが、新しい役割が生まれることも考えられるので、率先して学び続けることが大事だと考えていますよ。
さてさて、それでは早速本日の記事紹介に移りましょう。今日は5本の興味深い記事をご紹介します。それぞれ楽しく聞いていただければ嬉しいです!
まず1つ目の記事は「ペイントツール上でライフゲームを動かす」です。この記事では、無料のペイントツールKritaを使ってコンウェイのライフゲームを動かす方法が紹介されています。ライフゲームって、あのセル・オートマトンのあれですよね(笑)。Kritaのフィルターとレイヤー機能を駆使して、画像上にライフゲームの世代を表現してしまうという面白い試みです。
具体的には、ぼかしフィルター、カラー補正フィルター、加算レイヤー、彩度HSVの4つのレイヤーを重ねることで次世代の計算を実現するんです。ぼかしフィルターでは水平方向、垂直方向の半径、強さを指定し、周囲のピクセル情報をもとに計算を行います。そして、加算レイヤーとカラー補正フィルターでは色の強度を調整し、生存あるいは死滅の状態を判定するんですね。最後に彩度HSVで仕上げることによって、世代を重ねていくことができるシステムになっているんです。これでPCスペックが許す限り次の世代が計算可能で、複数の世代画像が表示されますよ。ペイントツールでこんなにも遊べるなんて驚きですよね!コンピューターグラフィックを扱っている方なら一度試してみても面白いかもしれません。..
次に紹介するのは、2つ目の記事「Lambda Tenant Isolation Mode(テナント分離モード)」です。AWSが2025年11月19日に新機能「Tenant Isolation Mode」をAWS Lambdaに導入しました。これによって、マルチテナント環境で個別のLambda関数実行環境をテナントIDごとに分離できるようになったんです。これって、セキュリティやプライバシーの観点からも非常に意義深い改善ですね!
新機能を活用することで、テナント間で意図しないメモリやストレージの参照を防ぐことが可能になります。テナント分離モードはLambda関数を作成する時に指定できるとのこと。一度設定してしまうと変更不可だそうで、少し注意が必要ですが、その分セキュリティの安心感が増しますね。また、このモードはAPI Gateway(REST)や直接実行でのみトリガー可能な仕様となっているんですよ。テナントの事前定義は不要で、数に制限はないものの、IAMロールはテナントごとに分離されず、同時実行の制御もできないというのはちょっと考えどころですね。ただ、テナントIDはLambdaハンドラ関数の`context`から取得可能で、コールドスタート時点では追加料金がかかるものの、相互のメモリやストレージの隔離はきちんとできるとのこと。ぜひとも活用して、より安心安全な環境をつくっていただきたいですね。..
続いて、3つ目の記事は「俺のVercelは遅かった - Function Regionの罠」です。筆者はNext.jsアプリをVercelにデプロイした際、動作が遅くて試行錯誤していたのですが、その原因がVercelのFunction Regionの設定にあることを発見したんです。
SSGページはすぐに表示されるんですが、SSRページは遅かったということで、日本でのサービス利用者は要注意ですね。Server-side Renderingページがアメリカのサーバーを経由していたために遅くなっていたんですって。解決策として、Vercelの`vercel.json`でFunctionのリージョンを東京 (`hnd1`) に設定しなおすことで、レスポンス時間を大幅に改善できるんです。この経験から、動的ページの表示が遅くなる場合、Function Regionの設定を見直すのが一つの手というのが分かります。
ということで、動作の遅延が気になる方はインフラ設定の見直し、特に日本向けの設定には注意が必要ですね。技術的な問題に直面したときには、時に生成AIも役に立つという意外なポイントも見逃せません!..
さて、4つ目の記事に移ります。「Reactのexport defaultとexportって何がどう違うんや」。これは非常に興味深くて、みなさんにとっても有益な内容かもしれません。業務でReactを触ると、`export default`と`export`という2つのエクスポート方法に戸惑った経験がありませんか?
`export default`はファイル内に1つだけ設定可能で、インポート側では任意の名前で使用できます。一方、名前付きエクスポートとして知られる`export`は、ファイル内に複数定義でき、インポート時には指定された名前と完全一致させる必要があります。使い分けのポイントとしては、1つのコンポーネントを扱うファイルには`export default`、複数のコンポーネントをまとめたい場合には名前付き`export`を使うのが一般的ですね!
また、注意が必要なのは、エクスポートやインポートの際に発生するエラーメッセージの例です。記事では`export default`と`export`の使い方を誤った場合に出るエラーについても紹介されています。特にスペルミスやコンポーネントではないオブジェクトを渡す場合の注意点が挙げられています。間違えやすいポイントをしっかり理解しておくと、業務効率も改善しそうです。..
最後、5つ目の記事は「aws loginコマンドが来たのでAWSのアクセスキーを削除したかったけど、やっぱり保留しました。」です。最近のアップデートで、AWS CLIに`aws login`コマンドが新しく実装されました。これにより、アクセスキーなしでCLIが使用可能となったことは大きな進化ですよね。
アクセスキー漏洩のリスクを減らせるのは大きな利点。仕事用アカウントでAWS IdCを既に利用中の方には変化が少ないかもしれませんが、個人用アカウントではアクセスキーの取り扱いを見直す良い機会になりそうです。しかし、著者はアクセスキーの削除をすぐに実行することは控えました。なぜなら、旧来のアクセスキーがある場合、それが優先されるため、操作上のリスクが残るからです。特に、defaultプロファイルからの削除は推奨されていますが、慎重な判断が求められる内容ですね。Amplify Gen2 CLIでの認証エラーの発生も報告されており、更新が必要だとのこと。最新情報を常にチェックしつつ、プロファイル設定の調整が大事ですよ。
さて、今日はたくさんの記事をご紹介しましたが、ここで締めの挨拶を。zenncastでは今日も多くの学びをお届けしました。ペイントツールでライフゲームを動かしたり、AWS Lambdaの新機能について学んだり、Vercelの設定の重要性やReactのエクスポート方式の違いなど盛りだくさんでした。また、AWS CLIの`aws login`コマンドについても触れましたね。
次回もぜひ楽しみにしていてください。今日お話しした記事の詳しい内容はショーノートに書いてありますので、興味のある方はぜひチェックしてみてくださいね。そして、番組の感想などもどしどしお待ちしています。それでは、また次回お会いしましょう!マイクでした。さようなら!