Engineer's Digest

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

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

エンジニアの転職活動戦略と成功事例

40代エンジニアが大手ITコンサルからベンチャー企業への転職活動において、技術選考対策として「ディスカバリー型プレゼン」と質疑応答練習の重要性を説き、『システム設計の面接試験』『SREをはじめよう』といったおすすめ書籍を紹介し、ポートフォリオ作成やキャリアストーリーの語り方といった自己PR方法を提案しています。

shinyorke.hatenablog.com

ウォーターフォールとアジャイル開発手法に関する考察

GoTheDistanceの記事「ウォーターフォールの悪魔化とアジャイルの神格化、もうええでしょう」では、ウォーターフォールとアジャイル開発手法の対立を改めて検証し、開発手法そのものよりも、失敗を許容する社風やビジネスモデル、組織文化、ビジョンこそが開発成功の鍵であると主張しています。ウォーターフォール開発は多重下請け構造と結びつき柔軟性に欠ける一方、アジャイル開発はGAFAMのような企業における迅速な試行錯誤を象徴する手法として紹介され、両手法の特性とそれぞれの限界を分析し、開発手法の選定よりも組織全体の体制作りが重要であるという結論に至っています。

gothedistance.hatenadiary.jp

インフラエンジニアによるネットワーク障害の経験談と教訓

12年前、物理ロードバランサー導入時にL2構成の誤解からブロードキャストループが発生し、ネットワーク全体がダウンした事例が紹介されています。検証環境が不足していたことで本番環境で問題が発覚し、サービス停止に繋がった原因としてネットワーク知識不足とインフラ担当者の不在が指摘されています。この事例から、導入前の十分な検証環境の整備と、経験豊富なインフラエンジニアの確保が重要であると結論付けています。

qiita.com

レガシーシステムのgitレポジトリ調査と効率化手法

エムスリーがレガシーな帳票環境のクラウド移行において、10年以上運用されたGitレポジトリの調査で活用した手法を紹介しています。具体的には、不要なバッチの特定やDBテーブルの使用箇所探索にGitコマンドを活用し、ファイル削除コミットや記述変更コミットの特定方法、大量のgit grepの並列処理による効率化、EUC-JPとUTF-8混在環境での日本語出力対応などを解説しています。

www.m3tech.blog

データエンジニアの仕事内容とスキル評価に関する考察

データエンジニアの業務内容に関する記事で、幅広い業務をこなすエンジニアと特定業務に特化したエンジニアのどちらが優れているかという議論が紹介されています。多様なスキルを持つエンジニアは「雑用係」と自称することもありますが、実際は高度なスキルを有しているケースが多く、その能力の評価方法や希少価値の高さが議論の中心となっています。この記事では、エンジニアの自己評価、業務内容の表現方法、能力評価の難しさといった点に焦点を当てています。

togetter.com

Googleによるメガネ型デバイスとGemini 2.0に関する発表

Forbes JAPANの記事によると、GoogleがGemini 2.0を搭載したメガネ型デバイスを発表しました。現時点では詳細な機能や仕様は不明ですが、既存のGeminiよりも性能向上が見込まれ、AIモデルの進化が期待されています。

forbesjapan.com

ファイル変換ツールMarkItDownの紹介

Microsoftが開発したMarkItDownは、PDF、PowerPoint、Wordなどのファイルや、画像、音声ファイルといった様々な種類のファイルをMarkdownに変換するPython製のツールで、シンプルなAPIを提供し、OSSとして公開されています。OCRや音声認識技術を用いて、画像や音声データからの変換にも対応しており、コントリビューションも歓迎していますが、CLAへの同意が必要です。Microsoftのオープンソース規約と商標ガイドラインに従って開発・運用されています。

github.com

Python中級者向けのテクニック集

Python中級者を目指す初心者向けの記事で、内包表記、破壊的/非破壊的メソッド、型ヒント、デコレータといった実践的なテクニック29個を重要度順に解説しており、itertoolsモジュールやスライス操作、copy/deepcopy関数を使った効率的なコーディング方法、loggingモジュールの活用によるプロフェッショナルなコード記述、カスタム例外、docstringの記述方法といった高度な内容も網羅しています。

qiita.com

コンピュータシステムの理論と実装に関する書籍紹介

「コンピュータシステムの理論と実装(Nand2Tetris)」の第2版が発売されました。本書はNANDゲートからCPU、コンパイラまでを自作しながらコンピュータの仕組みを学ぶ書籍で、ハードウェアからソフトウェアまで段階的に理解を深められる構成になっています。各章には実践的なプロジェクトがあり、新たに提供されたウェブIDEを使うことでブラウザ上での開発が可能になり、学習が容易になっています。2005年刊行の原書をベースに大幅な改善が加えられており、コンピュータの基礎をゼロから学びたいエンジニアに最適です。

dev.classmethod.jp

TypeScriptのDiscriminated UnionとHaskellの代数的データ型の比較

TypeScriptのDiscriminated Unionを用いてHaskellの代数的データ型をどのように模倣できるのかを解説した記事です。「ありえない状態を表現しない」という型宣言方針に基づいた型安全な開発手法を促進するDiscriminated Unionの機能を、ディスクリミネーターによる型の判別とパターンマッチといった具体的な機能と、Haskellとの比較を通して詳しく説明し、実例を用いてその有用性と適用範囲の広さを示しています。

user-first.ikyu.co.jp

動画生成AI Soraの学習データと著作権問題

OpenAIが開発した動画生成AI「Sora」が、ゲーム配信データなどを学習データとして利用していることが明らかになり、その合法性について疑問が呈されています。Soraは学習データに基づき、有名ゲームや配信者の映像を高い精度で再現できる一方、著作権侵害に当たる可能性のあるデータが含まれている懸念があり、法的リスクも指摘されています。AIによる映像制作の効率化という利点と、著作権侵害の判断の難しさという課題が同時に浮上しており、AIの利便性と法的リスクのバランスをどのように取るかが重要な問題となっています。

www.gizmodo.jp

GeminiとSpeech-to-Textを用いた高精度な文字起こしシステム

enechain社が、GeminiとGoogle Cloud Speech-to-Textを組み合わせた高精度な会議動画・音声文字起こしツールの開発について発表しています。Geminiは文脈理解に優れ、Cloud Speech-to-Textは細かい音声認識に強いため、両者を組み合わせることで高い精度を実現しています。Google Cloudサービスの利用により、セキュリティとコスト面での優位性も確保しています。今後の課題としては、Geminiのリソース制限とコスト、動画対応などが挙げられていますが、Gemini 2.0への期待も述べられています。

techblog.enechain.com

Linux環境でのYubiKey 5を用いたTOTP認証設定

Linux環境でYubiKey 5を用いたTOTP認証の設定方法と、YubiKey 5の機能、複数サービスへの登録方法、紛失時の対策、スマートカード接続の競合問題とその解決策について解説しています。YubiKey 5はTOTPに対応し、最大32個のサービスに登録でき、Yubico Authenticatorアプリと連携することでQRコードを読み込み設定、タッチ認証によるセキュリティ強化が可能です。

eng-blog.iij.ad.jp

Microsoftによる軽量高性能AIモデルPhi-4のリリース

マイクロソフトが、パラメータ数140億と比較的少ないにも関わらず、数学問題解決能力においてGPT-4oを上回る性能を持つAIモデル「Phi-4」を発表しました。様々なベンチマークテストで、大規模モデルと同等かそれ以上の結果を示しており、アメリカ数学コンペティションの問題でも高い得点を得ています。現在はAzure AI Foundryで利用可能で、Hugging Faceでの公開も予定されています。

gigazine.net

AWS Step FunctionsのJSONata対応に関する発表

クラスメソッド社員がAWS re:Invent 2024のふりかえり勉強会「CM re:Growth 2024 OSAKA」で、AWS Step FunctionsのJSONata対応アップデートについて発表しました。発表では、Step FunctionsにおけるJSONataの活用方法、JSONataが変数処理を簡素化するメリット、そしてJSONataの認知度向上と今後の高度な処理への活用可能性について解説しています。

dev.classmethod.jp

ChatGPTの新機能Projectsの紹介

OpenAIが、ChatGPTに新たな機能「Projects」を追加しました。これは、チャット履歴、アップロードしたファイル(ExcelやPDFなどに対応)、指示などを一元的に管理し、それらに基づいてChatGPTが回答を生成する機能です。これにより、複数のファイルを参照しながら質問したり、複雑なタスクを段階的に実行したりすることが容易になります。現在、ChatGPT Plus、Pro、Teamユーザー向けに提供されています。

www.watch.impress.co.jp

AWSアカウントにおけるセキュリティ設定のベストプラクティス

AWSアカウントのセキュリティ設定を9項目に絞り、IPAのクラウドセキュリティ11大脅威を参考にIAM管理と設定ミス対策を重視した解説記事です。AWS Security Hubを活用したセキュリティベストプラクティスに沿った自動チェック方法や、MFA設定、AWS Config、CloudTrailなどの主要サービス設定方法をハンズオン形式で説明しており、セキュリティ設定後に不要な有料サービスを停止する方法も解説しています。

qiita.com

新型Mac mini (2024)のSSDアップグレードに関する検証

2024年発売の新型Mac mini(M4/M4 Proチップ搭載モデル)は、iFixitやKingSenerによる検証でSSDの交換が可能であることが確認され、512GBモデルから4TBへのアップグレードにも成功しています。M4 Pro搭載モデルではアップグレードによって書き込み速度が約30%向上し、既に1TB NANDチップが販売されているため、自作によるSSD容量アップグレードに挑戦することも可能です。

applech2.com

Ryzen AI 9 HX 370搭載のGPD WIN4 2025国内正規版の紹介

GPD WIN4 2025国内正規版が12月末に発売予定で、Ryzen AI 9 HX 370搭載の上位モデルとRyzen 7 8840U搭載の下位モデルの2種類がラインナップされています。価格は14万9,800円から20万5,000円となっており、予約特典も用意されています。6型タッチパネルとスライド式メカニカルキーボードを搭載し、Windows 11とSteam OSのデュアルブートに対応しています。国内1年間の保証に加え、保証期間後も修理対応が可能です。

pc.watch.impress.co.jp

Intel Arc B580とGeForce RTX 4060の性能比較レビュー

Intel Arc B580 Limited EditionとNvidia GeForce RTX 4060の性能比較レビュー記事です。Xe2アーキテクチャを採用したArc B580は、1440pでのUltraゲーミングをターゲットに、XeSS 2.0などのAIアップスケーリング技術と高いメモリ帯域幅を特徴としています。ベンチマークテストの結果、RTX 4060には性能で劣るものの、価格競争力を有すると結論付けており、価格と機能を考慮すると魅力的なGPUであると評価しています。

www.4gamer.net

macOS 15.2 Sequoiaにおけるショートカットキーに関する修正

macOS 15 Sequoiaで発生していた、OptionキーやOption+Shiftキーを使ったショートカットキーが使用不能になる問題が、macOS 15.2 Sequoiaで修正され、これらのショートカットキーが再び利用可能になりました。Appleは当初、セキュリティ強化のためと説明していましたが、多くの開発者からの不具合報告を受け、修正版がリリースされました。Optionキーを含むショートカットキーを使用していたアプリケーションについては、改めて動作確認を行う必要があります。

applech2.com

2024年のクラウド・インフラ動向に関する統計データ分析

2024年のクラウドインフラ動向を、GitHub Octoverse Report等の統計データに基づいて分析した記事です。クラウド利用シェア、開発体制、サーバーレス、コンテナ、データベース、セキュリティ対策といった項目を調査しており、Googleのクラウドインフラ最新動向レポートも参考にしています。さらに、発表者の2024年の活動(OSS貢献、記事執筆、カンファレンス登壇など)や、年間46万7839円のカンファレンス遠征費についても触れられています。

speakerdeck.com

Appleの生成AI画像ツールImage Playgroundの使い方

AppleがiOS 18.2でリリースした画像生成AIツール「Image Playground」と「Apple Intelligence」は、ラフスケッチからの画像生成やカスタマイズ絵文字生成などを可能にし、安全で無難な画像生成を特徴としています。iPhone 15 ProとiPhone 16シリーズで利用可能で(言語設定は英語)、ユーザーのフィードバック機能も搭載されていますが、複雑な指示には対応が難しい面もあります。

www.gizmodo.jp

オートフォーカスアイウェアViXion01Sとプログラミング言語mruby/c

島根県発のIoT開発言語「mruby/c」が、CEATEC AWARD総務大臣賞を受賞したオートフォーカス機能付きスマートグラス「ViXion01S」のファームウェアに採用されました。「mruby/c」はRubyをIoTデバイス向けに軽量化した言語で、Rubyの高い生産性と可読性を維持しつつ、小型軽量な点が特徴です。ViXion社はさらに、ファームウェア更新を高速化する独自技術「ViXion Blink」も開発しており、「ViXion01S」の開発効率とカスタマイズ性の向上に貢献しています。

prtimes.jp

脆弱性対応における意思決定支援手法SSVC

NTTコミュニケーションズのエンジニアブログの記事では、脆弱性対応における課題として脆弱性数の増加、実際に悪用される脆弱性の少なさ、攻撃の高速化といった問題点を指摘し、それらに対応するための新たな手法としてSSVC(Stakeholder-Specific Vulnerability Categorization)を紹介しています。SSVCはステークホルダーのニーズに基づいて脆弱性の優先順位を決定する手法であり、ステークホルダー、優先度(Decision)、結果(Outcome)、入力(Decision Points)、算出方法(Policy)といった構成要素から成り立っています。記事ではSSVCの活用方法として、組織の状況に合わせたモデル選択と必要なデータの収集が重要であると述べており、SSVCが脆弱性対応の優先順位決定と効率化に役立つと結論付けています。

engineers.ntt.com

Googleによる新OS Android XRとXRヘッドセットに関する発表

Googleが新たな拡張現実(XR)プラットフォーム「Android XR」を発表し、SamsungとQualcommとの協業により、2025年にはSamsung製ヘッドセット「Project Moohan」の発売を予定しています。このプラットフォームはGoogleのAI「Gemini」を活用し、自然な操作性と没入感のあるXR体験を提供することを目指しており、Googleアプリの最適化に加え、外部アプリの追加にも対応予定です。

www.watch.impress.co.jp

LLMのSuper Weightsとヒトの脳の関連性に関する考察

ある論文で、大規模言語モデル(LLM)の初期層に、モデルの性能を大きく左右するごく少数の重要なパラメータ「Super Weights」が存在することが発見され、その特性と、ヒトの脳における機能との関連性が考察されています。Super Weightsは入力データによらず特定でき、モデルの量子化に役立つ可能性が示唆されています。著者はSuper Weightsを脳幹、他のパラメータを大脳皮質に例えながら、LLMとヒトの脳の認知機能における違いについても論じています。

tjo.hatenablog.com

固定ヘッダーとスクロール可能なコンテンツの同時表示実装方法

固定ヘッダーとスクロール可能なコンテンツを同時に表示させる実装方法について、CSSのみ、またはJavaScriptとReactのuseRefを使った2つの方法を解説しており、スクロールバーをコンテンツ部分のみに表示させる方法や、JavaScriptを用いたヘッダーとコンテンツのスクロール同期についても説明しています。CSSとJavaScript、Reactの活用方法の重要性にも触れられています。

tech.iimon.co.jp

Kaggle画像コンペにおける高度な戦略と適用ドメインの重要性

Kaggle画像コンペティションで上位入賞を目指すための高度な戦略として、コンペ特有のデータやタスクに合わせた工夫が重要であることを解説しており、深層学習モデルに事前にドメイン知識を与える必要性、特徴量エンジニアリング、タスク特化型のLoss関数、データ拡張手法、モデルアーキテクチャ、パイプライン構築の重要性、奥行き情報やオプティカルフローなどの追加によるモデルの性能向上、初心者でも取り組みやすく効果は限定的だが差がつきにくいコンペでは有効な手法などが説明されています。

qiita.com

LLMアプリケーション開発における評価駆動開発のアプローチ

LayerXが開発中の生成AIプラットフォーム「Ai Workforce」におけるLLMアプリケーション開発で直面する出力の不確定性という課題に対し、評価駆動開発(Eval-driven development)を採用していることを紹介しています。正解データ作成の困難さなど課題は残るものの、人工評価、AI評価、コードベース評価を組み合わせた評価方法で開発を進めている様子が解説されています。

tech.layerx.co.jp