Engineer's Digest

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

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

IPv6とプライベートアドレスに関する考察

IPv4アドレス枯渇問題への対策として普及しつつあるIPv6において、プライベートIPアドレスに相当するULA(Unique Local Address)が利用できること、ULAはグローバルに一意ではなくIPv4のプライベートIPアドレスと同様の用途で使用できること、IETFがIPv6におけるNATの使用を推奨しておらずULAはNAT不要な設計であること、そしてAWS、GCP、Kubernetesなどのクラウド環境でもULAの利用が進んでいることについて解説しています。

www.geekpage.jp

Steamゲームにおけるウイルス誤検知と対策

Steamで配信されているゲーム「Dungeon Antiqua」が、PyInstallerで作成したexeファイルが原因で複数のウイルスソフトから誤検知され、Steam販売停止の危機に陥った事例について解説しています。誤検知の原因究明から、ブートローダーの自前ビルド、コードサイニング証明書の取得、ファイル削除処理の修正、実行ファイル名とアイコンの変更といった解決策の試行錯誤、そして最終的な解決に至るまでの過程を詳細に説明しています。

note.com

ソフトウェアエンジニアリング技術書レビュー

この記事では、スラム在住のジュニアソフトウェアエンジニアを対象に、並行プログラミング、DNS、ゼロトラストネットワーク、Webブラウザセキュリティ、データ構造・アルゴリズム、HTTP、TCP/IP、Linux、文字コードなど、ソフトウェアエンジニアリングに必要な幅広い分野を網羅した技術書を複数紹介しています。各書籍のメリット・デメリットに加え、関連書籍も提示することで、効率的な学習とソフトウェア開発スキル向上を支援する内容となっています。

zenn.dev

OpenAI o3の能力とAGIの可能性に関する議論

OpenAIが開発した最新モデル「o3」は、ARC-AGIベンチマークにおいて人間と同等の75.7%の正解率を達成するなど、従来のAIを凌駕する性能を示しています。競技プログラミングでも世界175位にランクインし、数学のベンチマークでも高い得点を得ています。この成果は、o3が従来とは異なる未知のメカニズムで動作している可能性を示唆しており、新たな汎用人工知能の出現とその潜在的なリスクへの対応が求められることを示しています。

note.com

Google Apps Script(GAS)高速化テクニック

Google Apps Script(GAS)の高速化手法として、シートの読み書きは一括処理が重要でループ処理は非効率であること、外部APIリクエストはUrlFetchApp.fetchAllによる並列化が可能であること、キャッシュ機能の活用によるAPI呼び出しの高速化、そして擬似非同期処理を用いた実行時間の分割による6分制限回避などが解説されています。

nealle-dev.hatenablog.com

mixi2のリリースと初期ユーザー数

mixi社が新SNSアプリ「mixi2」をiOS/Android向けにリリースし、5日間で120万人の登録者数を突破しました。mixi2は2004年から続くmixiの機能を再構築したもので、従来とは異なる新しいSNS体験を目指し、プライバシー保護にも配慮した設計となっています。既存のmixiと並行して運用され、責任者の笠原氏は巨大SNSのレコメンド重視への寂しさも語っています。

www.itmedia.co.jp

40代エンジニアのスキルアップとライフスタイル

50代エンジニアが40代から取り組んできた、健康維持のための運動習慣(ジム通い)、スキルアップのための資格取得継続、知識蓄積のための読書習慣、そして哲学や美術といった教養の習得について振り返った記事です。IT勉強会への参加頻度を減らし、その時間を他の活動に充てることで、多角的な自己研鑽に励み、ブログを通して自己学習の記録やアウトプットを行っている様子が詳細に記述されています。

agnozingdays.hatenablog.com

COBOLシステムとレガシーシステムのリスク

この記事では、COBOL技術者の減少に伴うシステム保守・改修の困難さ、2025年の昭和100年問題(2桁年表記のシステムエラー)、そして、それ以上に深刻な影響が予想される2038年問題(32ビットシステムの時間表現の限界)について解説しており、レガシーシステムのリスクと早急な対策の必要性を訴えています。特に、多くの組織で既に改修済みである昭和100年問題と比較し、2038年問題の喫緊の課題性を強調しています。

levtech.jp

低レイヤー開発のための学習コンテンツ集

Nuco Advent Calendar 2024の記事としてQiitaに公開された「【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集」では、ソフトウェア動作原理の理解、パフォーマンス改善、バグ特定能力向上を目指し、コンピュータアーキテクチャ、CPU、OS、システムプログラミングといった低レイヤーに関する学習コンテンツを多数紹介しています。書籍、動画、ゲームなども網羅しており、随時更新、コンテンツ推薦も募集しています。

qiita.com

フリーソフトウェア「Cassava Editor」開発者のインタビュー

2000年から24年に渡り開発が続けられているフリーソフトのCSVエディタ「Cassava Editor」を紹介した記事です。Excelのような自動補正機能を省くことで軽量化と直感的な操作を実現しており、開発者はユーザーサポートにも力を入れています。2022年にはソースコードが公開されオープンソース化された経緯も紹介されています。開発のきっかけや、長期間に渡る開発を続けるモチベーション、ユーザーサポートへの姿勢など、開発者の人となりやソフトウェア開発に対する考え方を知る上で興味深い内容となっています。

levtech.jp

安全なモバイルバッテリー「SSPB」の製品紹介

浜田電機は、釘を刺しても発火しない準固体電池を採用した安全なモバイルバッテリー「HAMAKEN WORKS SSPB」を発売しました。液体含有量3%の準固体電解質により、高い安全性と衝撃強度を実現し、2000回以上の充放電サイクル(容量80%維持)を実現しています。動作温度範囲は-20℃~+80℃と広く、5000mAhと10000mAhの2容量展開で、航空機への持ち込みも可能です。

akiba-pc.watch.impress.co.jp

State of JavaScript 2024の調査結果

State of JavaScript 2024レポートでは、2024年現在も主要なフロントエンドフレームワークの多くが10年以上前に登場したことを指摘し、ViteとVitestがツールとして高い人気を維持していることを示しています。さらに、調査参加者や調査自体のメタデータが追加され、より詳細な分析が可能になった他、クエリビルダーによるチャートへの新しい変数の適用も可能になっています。レポート全体を通して、JavaScriptの最新の動向が様々な観点から明らかにされています。

2024.stateofjs.com

パスワードレス認証サービスHankoの紹介

NFLabsのエンジニアブログ記事では、パスワードレス認証サービス「Hanko」とその活用方法を紹介しており、WebAuthn準拠のパスキー技術によるセキュリティ強化と利便性向上、オープンソース版とクラウドサービス版「Hanko Cloud」の提供、Hanko Cloudを用いたシンプルなパスキー認証導入、柔軟なシステム構築を支援するパスキー登録・ログインAPIの提供について解説しています。

blog.nflabs.jp

フロントエンドにおける状態管理とリアクティブプログラミング

フロントエンド開発における状態管理の難しさ、特に状態間の複雑な依存関係によるバグ発生を解説し、リアクティブプログラミングがその解決策として有効であることを説明しています。React HooksやVue Composition APIといったリアクティブな状態管理の仕組みを具体的に解説し、手続き的な状態更新を避け、状態を式として表現することでバグを減らす方法を示唆しています。さらに、リアクティブプログラミングのメリット、適用時の注意点、ベストプラクティスも提示しています。

zenn.dev

エンジニアの技術力とビジネス視点のバランス

この記事では、エンジニアの技術力とビジネス視点のバランス、特に技術力重視と利益重視のどちらが重要かという議論について取り上げています。高スキルエンジニア1人よりも、複数の中堅エンジニアの方が利益を生み出すという意見に対し、技術軽視が長期的な技術力低下やシステム改修コスト増加につながるという反論が提示され、高い要件定義能力もそれを実現できるエンジニアの存在が不可欠であると指摘しています。最終的に、顧客への説得力も考慮した上で、技術力とビジネス的視点の両方をバランスよく持つことが重要であると結論付けています。

togetter.com

AIによる音楽制作の進化と現状

2024年の音楽制作におけるAI技術の進化と、AI作曲ツール「Suno AI」「Udio AI」による楽曲作成の容易化、AIによる翻訳や校正といった業務効率化への貢献、AI生成楽曲の著作権問題と権利主張の可能性、そしてAIがもたらす音楽業界の変革と人間の役割の変化について解説しています。

av.watch.impress.co.jp

Dell 40インチウルトラワイドモニター「U4025QW」レビュー

デルの40インチウルトラワイド曲面モニター「U4025QW」を紹介する記事です。高解像度で広大なデスクトップを実現し、同梱の「Dell Display Manager」によるウィンドウ配置機能「Easy Arrange」で最大12分割まで画面を分割できるためマルチタスク効率が向上します。輝度・色調整、PIP/PBP、KVM機能(ネットワークKVMにも対応)などを備え、使い勝手が良く、プレミアムパネル保証で輝点1ピクセルでも交換対応、環境配慮設計も施されています。

pc.watch.impress.co.jp

新卒エンジニアの成長における技術力以外の要素

Speeeの新卒エンジニアが、大規模開発プロジェクトを通して技術力以外の成長について述べています。具体的には、事業視点での判断力、技術的判断力(実装以外の視点)、プロジェクトマネジメントとコミュニケーション能力の重要性を、工数見積もりやチーム内コミュニケーションの課題解決策といった具体的な例を交えながら解説しており、エンジニアがビジネスの成功に貢献するための必要な能力について考察しています。

tech.speee.jp

OpenAI「o3」のAGIレベルに関する考察

OpenAIが開発した新型AIモデル「o3」が、汎用人工知能(AGI)の評価ベンチマーク「ARC-AGI」において、制限付きで75.7%、制限なしで87.5%という高スコアを達成し、人間の平均84%を上回ったことが報告されています。しかし、一方で簡単なタスクでも失敗する事例があり、真のAGIではないとの指摘もあります。ARC-AGIは、人間にとっては容易だがAIにとっては困難な課題を設計しており、将来的にはAIがARC-AGIの高得点を達成できなくなった時点でAGI到来と定義される可能性が示唆されています。

www.techno-edge.net

JavaScriptの基本構文と活用方法

JavaScriptの基礎構文(テンプレート文字列、スプレッド構文、分割代入など)と、nullish/falsyチェック、ディープコピー/シャローコピー、アロー関数、Promise、async/awaitの使い方と注意点、特にforEach内でのasync/awaitの非同期処理とPromise.allの活用法について解説した記事です。

tech.iimon.co.jp

AIに対する新しい攻撃手法「Best-of-N Jailbreaking」

ランダムな文字列を繰り返し用いてAIに質問することで、有害な回答を引き出す新たな攻撃手法「Best-of-N Jailbreaking」が開発されました。この手法は、大文字小文字の混合やスペルミスなどのバリエーションを何度も試行することで、AIの安全対策を回避し、GPT-4oを含む複数のAIモデルにおいて最大89%の確率で有害な回答を引き出せることが確認されています。画像や音声に対しても同様の攻撃が有効であることが示されており、公開されたコードはAIの安全性向上に貢献すると期待されています。

gigazine.net

弁護士ドットコムにおけるフロントエンド技術的負債の解消

弁護士ドットコム株式会社のブログ記事では、急成長による技術的負債解消のため、クラウドサインのフロントエンド改善チームが2023年2月に発足し、Vue.jsのバージョンアップ(Vue2からVue3)、TypeScript、Node.jsのバージョンアップ、Renovateを用いたnpmパッケージのアップデートなどに取り組んでいる様子が報告されています。 モジュールの適切な使用促進、ドキュメント整備、他チームとの協力の重要性も述べられており、今後の取り組みとして予防的な活動や新技術検証による開発効率と品質向上を目指しているとのことです。

creators.bengo4.com

Next.jsのリリースを追うことの重要性

Magic Moment社のフロントエンドエンジニアが、ReactのデファクトスタンダードであるNext.jsの最新リリースを常に追いかけるべき理由として、最新機能の早期体験によるReact機能の先読みや、フレームワーク選定時の比較検討への活用、活気のあるNext.jsコミュニティからの情報収集によるモチベーション向上などを挙げています。公式ブログ、GitHub、X(旧Twitter)などを情報源として活用する方法も紹介しています。

zenn.dev

TwilogのPHPへのフルリプレイスとAWS移設

PHPカンファレンス2024で発表された、Twitter API有料化により存続の危機に瀕したTwilogをTogetterに統合した事例について、15年間運用されたRuby製のTwilogをPHPへフルスクラッチで移行し、テラバイト級の巨大なデータベースをAWSに移管した過程、コスト削減のための工夫、プロジェクトの舞台裏を詳細に解説しています。

togetter.com

PHPカンファレンス2024におけるOpenTelemetry入門

PHPカンファレンス2024において、「PHPユーザのためのOpenTelemetry入門」と題した発表が行われ、OpenTelemetryの概要とPHPアプリケーションへの導入方法が解説されました。発表では参加者との活発な議論が交わされ、OpenTelemetryの具体的な適用方法なども検討されました。発表資料はTogetterで公開されており、懇親会のような雰囲気の中で有意義な交流も図られました。

blog.shin1x1.com

在宅エンジニア向け作業効率向上アイテム紹介

Qiitaの記事「作業効率を上げるために買って良かったもの7選(在宅エンジニア)」では、リモートワーク中のエンジニア向けに、作業効率向上に役立つ7つのアイテムを紹介しています。具体的には、腰痛対策のエンボディチェア、手首痛軽減のリストレスト、質の高い昼寝のための遮光アイマスク、スマートスピーカーとSwitchBotによる家電自動化、作業効率向上のためのマルチモニター環境、快適な会議のための骨伝導ヘッドセット、そして水分補給のための大きめの水筒など、在宅ワークにおけるエンジニアの課題解決に役立つ具体的な製品とその効果について解説しています。

qiita.com

過渡的設計におけるリポジトリパターン

ニーリー社の佐古氏が、開発速度向上のための取り組みとして、書籍「進化的アーキテクチャ」を参考にリポジトリパターンを導入した経験を紹介しています。インターフェース依存による実装クラス非可視化という課題とその暫定的な解決策としてstaticメソッドによるリポジトリ代替案を提案しており、将来的には各チームへのリポジトリパターン導入支援と代替案の廃止を予定しています。

nealle-dev.hatenablog.com

VTuberによるプログラミング配信

YouTubeチャンネル「Channel 78.9」を運営するVTuber/Vクリエイターが、高度な技術とユーモアを組み合わせたプログラミングやコンピュータサイエンスに関する長時間の配信活動について、経済合理性を度外視した「愛すべき無駄な努力」を原動力に、独自のユーモアを生み出しながら活動継続している様子を紹介しています。低頻度ながらもニコニコ技術部の動画のようなクオリティの高い動画制作を行い、今後の配信増加を目指しているとのことです。

diary.hatenablog.jp

新型MacBook Proの魅力

MacBook Airユーザーが新型MacBook Proを実際に使用し、チップ性能以外の魅力として、重量1.55kgとAirより重いものの許容範囲内であること、USB-C×3、HDMI、SDカードスロットと豊富なポートを搭載していること、高輝度・高リフレッシュレートのLiquid Retina XDRディスプレイ(特にNano-textureモデル)、そして外部スピーカー不要なほど高音質のスピーカーを評価しています。

www.gizmodo.jp

スタパ齋藤のモバイルガジェットレビュー

この記事では、YouTuberのスタパ齋藤氏が2024年に購入・使用して良かったガジェットを複数紹介しています。具体的には、AnkerやUGREENといったメーカーの高出力充電器や大容量モバイルバッテリー、USB-C PD対応モバイルバッテリー、ポータブル電源、撮影用照明(ストロボからシーリングライト、LEDデスクライトへの移行)、USB-Cケーブルの管理に使用するラベルライター、そしてGoogle Pixel 9 Pro Foldといった折りたたみスマホの使用経験などがレビューされています。さらに、motorola razr 50の購入を試みたものの注文が不成立だったというエピソードも含まれています。

k-tai.watch.impress.co.jp