Engineer's Digest

忙しいエンジニアのための技術情報ダイジェスト。前日の話題をサクッと把握!

2024/12/22 #46 - 今日の技術情報ダイジェスト

学校向けウェブサイトのセキュリティ対策:Cloudflare Turnstileの代替案

学校で使用されるウェブサイトでCloudflare Turnstileを使用すると、学校のフィルタリングシステムと衝突し、生徒がサイトにアクセスできなくなる可能性があるという問題が報告されています。これは、複数の生徒が同じプロキシを経由することでCloudflareが不正アクセスと誤認し、サイトへのアクセスをブロックしてしまうためです。Quizlet、Canva、ChatGPTなど、多くのCloudflareを利用するサービスで同様の問題が発生しており、対策としてCloudflare TurnstileをreCAPTCHAやhCAPTCHAに切り替えることが推奨されています。日本の学校特有のフィルタリングシステムの特性を考慮した、適切な対応が必要となっています。

zenn.dev

Mirage-ECSによるECS環境のブランチ別構築

mirage-ecsは、Amazon ECS上でブランチごとに開発環境を自動生成するツールで、Web UI/API経由でブランチ名を入力するだけで環境とURLが生成され、アクセスがない環境は自動削除されます。ログ確認機能やCI/CD連携にも対応し、チーム開発における環境構築の手間を削減し、開発効率の大幅な向上を実現します。

zenn.dev

UnityとDifyを用いたAIエージェント開発

弁護士ドットコム社員がUnity、Dify、ChatdollKit、Brave Search、Firecrawl、OpenAI APIなどを活用して、音声で質問するとWeb検索を行い音声で回答するAIエージェントを構築した方法を紹介しています。ローカル環境で構築可能なため、個人でも高度なAIエージェントの作成が可能で、RAGシステムを用いた具体的な実装例が示されています。

creators.bengo4.com

ChatGPT o1 pro modeの性能評価と比較

Phile-webの記事では、月額3万円のChatGPT o1 pro modeの高機能性と、他AI(Claude、Gemini、Perplexityなど)との性能比較を解説しており、そのIQを130以上と推測、優位性と課題を分析し、現状と将来性を展望しています。電源による音質変化というユニークな質問を通じて、ChatGPT o1 pro modeの能力を多角的に検証しています。

www.phileweb.com

ユーザー名を含むURL設計におけるベストプラクティス

ユーザー名を含むURL設計における課題と、@ユーザー名形式のURLを採用することで解決できる可能性について解説しています。この形式は視覚的な訴求力が高く、既存サービスでも採用例がある一方、一部のルーティングライブラリへの非対応や実装上の注意点を踏まえる必要があります。RFCに違反せず、Mediumの事例も紹介しながら、実装例と共に具体的な提案がなされています。

zenn.dev

Googleの反トラスト法訴訟とChrome標準搭載見直し

米国の反トラスト法訴訟において、Googleが事業分割要求を拒否し、代わりにChromeにおける標準搭載の見直しを発表しました。Googleの検索市場シェアは9割、閲覧ソフト(ブラウザ)は7割に上るため、米政府は独占状態解消を目的として事業分割を要求していましたが、Googleはこれを拒否し、Chrome標準搭載の見直しという代替策を選択したことを示しています。この訴訟は、Googleの独占的地位の是正を目指すものです。

www.nikkei.com

OpenAIの新AIモデルo3およびo3-mini発表

米OpenAIが、大規模言語モデルo3の小型軽量版であるo3-miniを発表し、2025年までに10億人への利用拡大を目指すとともに、人工一般知能(AGI)開発に向けた取り組みARC-AGIも発表、さらに12日間の発表イベント「12 Days of OpenAI」を開催しました。o3-miniはo3よりもリソース消費が少ない点が特徴です。

www.itmedia.co.jp

EUによるAppleへの相互運用性向上要求

欧州連合(EU)がAppleに対し、iOSの相互運用性を高めるよう勧告し、AirDropやAirPlayなどの機能をAndroidデバイスなど他社製品とも連携できるように要求しています。Appleはセキュリティとプライバシーの侵害を懸念して反論していますが、EUは2025年3月までに法的措置を決定し、拒否した場合には罰金を科すとしています。これにより、Appleの閉鎖的なエコシステムがEUの圧力によって徐々に開放される可能性が出てきました。

smhn.info

OpenAIのAIモデルo3とo3-miniの詳細

OpenAIが開発した高度な人工知能(AGI)を目指すAIモデル「o3」とその小型版「o3-mini」に関する情報で、o3-miniは2025年1月末に公開予定であり、通信会社Telefónicaがo3の活用を検討している他、OpenAIはAGI開発の進捗状況をARC Prizeを通して公表しています。

www.itmedia.co.jp

QualcommとArmのチップライセンス訴訟と判決

クアルコムがArmとのチップライセンス訴訟で勝訴し、クアルコムのプロセッサはライセンス契約に違反していないと判決されました。この判決により、クアルコムはNuvia買収によって得た技術を用いたノートPC向けチップ、特にAI搭載PC向けチップの開発を継続できます。Armは新たな審理を求めていますが、調停も促されています。

smhn.info

Netflixの推薦&検索システムアーキテクチャ

Netflixの大規模推薦システムは、候補抽出と精密ランキングの2段階プロセスで構成され、リアルタイム予測検索ではユーザー行動を先読みしたコンテンツ提案を実現しています。検索と推薦を統合したモデル「UniCoRn」はマルチタスク学習により精度と効率を向上させ、A/Bテストによる評価でユーザー体験とビジネス指標の改善を図っています。

tech.uzabase.com

PHPによるJWTを用いたセッション管理実装

弁護士ドットコム株式会社Creators’ blogの記事では、PHPを用いてJSON Web Token (JWT)にセッションIDを埋め込み、セッションCookieとして利用する実装例を紹介しています。PHP標準のセッション機能ではなく、illuminate/session等のライブラリを活用し、JWTの生成・検証にはlcobucci/jwt、依存関係管理にはray/diを使用しています。セッションIDの改ざん検知や有効期限切れの検証といったセキュリティ対策についても解説されており、安全なセッション管理の実装方法を学ぶことができます。

creators.bengo4.com

DX推進、AI活用、ESG情報開示、オフショア開発などに関する記事

この記事は、企業のデジタルトランスフォーメーション(DX)をテーマに、AI活用、ESG情報開示、セキュリティ強化、オフィス環境改善といった多様な取り組みや、AIインフラ、クラウド移行、ソフトウェア開発といったIT関連技術の最新動向、生成AIやローコード開発といった具体的な技術・手法・成功事例、中小企業向けセキュリティサービスやCO2排出量可視化プラットフォームといった具体的なサービス、そしてNTTグループとの協業事例や様々な業界におけるDX推進の取り組みなどを網羅的に紹介しています。

xtech.nikkei.com

AWS学習におすすめの技術書12選

Qiitaの記事「【2024年末最新】AWS 学習におすすめの技術書 厳選12冊(初級者から上級者まで)」では、AWSに関する技術書12冊を、初心者から上級者までを対象に、入門、インフラ、開発、サービス別に分類し、それぞれメリット・デメリットと合わせて紹介しています。2019年以降に発行された、読みやすく内容も充実した書籍を厳選しており、2024年12月16日から19日時点のAmazonレビュー情報も掲載されています。

qiita.com

キーボード自動設計ツールと周辺機器開発の現状

キーボード自動設計ツール「auto-kdk」の開発状況と、基板・ケース自動生成機能、Vial拡張アプリ「VIA Custom UI for Vial」の開発と特徴、トラックボール搭載キーボード「GTRK67」と分割型「torabo-tsuki」の発表、ローラーマウスや12mmトラックボールモジュールの開発など、著者によるキーボード関連モジュールの開発報告と2024年の振り返りを掲載しています。

sekigon-gonnoc.github.io

効果的なユニットテストの書き方

asken社のAndroidエンジニアが、ユニットテストの重要性、テスト対象、そして「良い」テストコードを書くための具体的な方法(テストケースの分割、命名規約、AAAパターンの活用など)を解説した発表資料です。資料では、信頼性と可読性の高いテストコードを書くための実践的なテクニックが紹介されており、ユニットテストによるバグ早期発見や設計改善効果、さらにはiOSエンジニアとの協調による仕様差異の早期発見といった事例も報告されています。

speakerdeck.com

Windows用リモートデスクトップソフトBrynhildrのアップデート

高速リモートデスクトップソフト「Brynhildr」の最新版v3.0.2が公開され、Linuxからの接続サポートやWebブラウザ経由での非Windows環境からの接続が可能になったほか、macOS/ChromeOS以外でもキーコード変換に対応、マウス描画の不具合修正など安定性が向上しています。

forest.watch.impress.co.jp

6年前のPCのUbuntuインストールと性能ベンチマーク

6年前のPC(Ryzen 5 2400G搭載)をUbuntuで使い続けるか買い替えるか検証するため、同世代CPUと最新CPU(Ryzen 3 5300G、Core i3-14100、Intel N100)を用いてベンチマークを実施。その結果、最新CPUは旧型CPUの1.5~2倍の処理速度を示し、SSD換装も性能向上に効果的であることが判明したため、SSD換装と5万円台のミニPCへのCPU換装が現実的な解決策として提示されています。

pc.watch.impress.co.jp

ModernBERT言語モデルの解説

ModernBERTは、BERTを改良した軽量で高性能な言語モデルで、トークン長を8192に拡張し、GLUEスコアを向上させています。パラメータ数はbaseで1.39億、largeで3.95億と比較的少なく、RoPEによる位置エンコーディング、Flash AttentionとAlternating Attentionの採用、パディング廃止、多様なデータを用いた学習などが特徴で、これらの工夫により性能向上を実現しています。

zenn.dev

オニオンアーキテクチャにおけるテスト戦略

オニオンアーキテクチャを採用したシステムにおいて、各層(Domain、Application、Infrastructure、Presentation)でのユニットテストとインテグレーションテストの適切な実装方法と使い分けについて解説しており、各層の特性に合わせたテスト戦略(Domain層では振る舞い重視、Application層ではユースケース検証重視、Infrastructure層ではインテグレーションテスト中心だが慎重な必要性判断、Presentation層では複雑な処理のみ単体テスト、他はインテグレーションテストと連携)を提案しています。

zenn.dev

5Kウルトラワイドモニターを用いたシングルマルチモニター環境

5120×2160ピクセルの5Kウルトラワイドモニターを用いたシングルマルチモニター構成による高効率作業環境について解説しており、ピクチャーバイピクチャー機能による画面分割と、プログラミングやWebデザインにおける具体的な活用例、ノートPCへのThunderbolt接続によるデイジーチェーン接続での実現可能性も紹介しています。

news.mynavi.jp

GitHubにおけるスター水増しとマルウェア問題

GitHubにおいて、リポジトリのスター数を不正に水増しする行為が蔓延しており、450万個以上の偽スターが存在し、その約70%がマルウェア関連のリポジトリであることが調査で明らかになりました。1スター約15円で取引されているスター水増しサービスは増加傾向にあり、悪質コードを含む低品質なプロジェクトを信頼できるものに見せかけることで、利用者を欺く危険性があります。GitHubは、この問題に対処するため、モデレーションシステムの強化が必要となっています。

gigazine.net

OpenAIの12 Days of OpenAI発表内容まとめ

OpenAIが12日間にわたって実施した「12 Days of OpenAI」では、ChatGPT Proの価格改定や強化学習を用いた性能向上、AI画像生成ツール「Sora」の発表、開発者向けAPIの提供開始、ChatGPT連携アプリ「Canvas」の発表、様々なアプリやサービスへのChatGPT統合、そしてAGI研究の進展といった、幅広い新機能やアップデートが発表されました。

www.itmedia.co.jp

カードUIにおける入れ子リンクの問題と解決策提案

ウェブサイトにおけるカードUIの入れ子リンクはHTML仕様に違反する可能性があり、アクセシビリティの問題も引き起こす可能性があるため、Open UIコミュニティがLink Area Delegationを提案しています。この提案は、link delegation attributes、新規要素、CSS、Invokerという4つのアプローチから成り、アクセシビリティへの悪影響はなく、リンクの小さすぎるという問題も軽減できる可能性があります。標準化によって、ユーザーエクスペリエンスとアクセシビリティの向上が期待されます。

azukiazusa.dev

OpenAIのAIモデルo3のARC-AGI-Pubベンチマーク結果

OpenAIが開発した新たなモデル「o3」が、ARC-AGI-Pubベンチマークにおいて75.7%~87.5%という高いスコアを達成し、GPTシリーズを上回る高い汎化能力と新しいタスクへの適応能力を示しました。これは既存の大規模言語モデル(LLM)の限界を超える成果であり、AI能力の飛躍的な進歩を示唆しています。現状では高い計算コストが課題となっていますが、将来的には人間の作業と同等の経済性を達成する可能性も期待されています。今後、新たなベンチマークARC-AGI-2においてo3の能力がさらに検証される予定です。

arcprize.org

OpenAIの新AIモデルo3とo3 miniの発表

OpenAIが、推論能力が向上したAIモデル「o3」と軽量版「o3 mini」を発表しました。「o3」は科学、数学、コーディングなど幅広い分野で高い性能を示し、数学コンペティションで高得点、AGIベンチマークで人間を超える成果を達成しています。「o3 mini」は2025年1月末頃、「o3」はその後すぐに公開予定ですが、「o3」は現在、安全性のテスト段階にあります。

japan.cnet.com

2024年の買ってよかったもの

この記事では、YAPC::Hakodate 2024参加のための薄型PCリュックとショルダーバッグ、健康管理のためのHUAWEI Band 9スマートウォッチ、読書体験向上のためのGoogle Pixel Tablet、ページクリッカー、タブレットスタンド、通勤用のカリマー2WAYバッグ、配信用のオーディオテクニカUSBマイクといった、著者が2024年に購入したアイテムを紹介しています。各アイテムの用途、特徴、利点、そして一部アイテムについては懸念点も記述されています。

toya.hatenablog.com

StorybookとPlaywrightを用いたインタラクションテスト

enechainの電力取引システムeNgineの開発における自動テスト戦略について解説しており、システム停止リスク軽減のため導入されたEnd to Endテスト、Sociable Tests、Solitary Tests、静的解析の4種類のテストのうち、StorybookとPlaywrightを用いたインタラクションテストに焦点を当て、その導入方法、メリット、デメリット、今後の課題を分析しています。

techblog.enechain.com

新規事業開発におけるエンジニアの価値観

Speee DEVELOPER BLOGの記事「新規事業開発を加速させるために重要なエンジニアの4つの価値観」では、23卒エンジニアが不動産マッチングプラットフォーム「Housii」開発での経験に基づき、新規事業におけるエンジニアの役割を解説しています。ビジネス目標の共有、機能開発・検証・改善の高速な繰り返し、重要機能の丁寧な設計と仮説検証機能の捨てやすさ、事業目標を意識した機能価値検証と対応時期の判断などを、開発効率と事業推進の観点から詳細に説明しています。

tech.speee.jp

TypeScriptによる関数型ドメインモデリング

LIFULLにおけるレガシーシステムのクリーンアーキテクチャ(CA)への刷新事例を紹介し、CAのEntityにドメイン駆動設計(DDD)と関数型ドメインモデリングを適用したTypeScript実装例を解説しています。状態遷移を型で表現することで、可読性向上、バグ抑制、テスト削減といったメリットが得られる一方、コード量増加と学習コスト増加というデメリットも存在することを、認知負荷軽減という観点から考察しています。

qiita.com