Engineer's Digest

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

2024/11/25 #19 - 今日の技術情報ダイジェスト

AWS Step Functions の変数機能アップデート情報

AWS Step Functionsに、ステート間で値を受け渡すための変数機能が追加されました。これにより、従来は各ステート間で結果を引き継ぐ必要があったものが、変数への格納と後続ステートでの参照で容易になります。JSONataを使用したデータ変換もサポートされ、変数の最大サイズは256 KiB、ステートマシン全体の変数合計サイズは10 MiBに制限されています。ParallelやMap内で定義された変数は、内部でのみ有効となるため、スコープに注意が必要です。

dev.classmethod.jp

3Dモデル軽量化Blenderアドオン「Moderate Weight Reduction Tools」公開

ホロラボが開発したBlender用アドオン「Moderate Weight Reduction Tools」は、3Dスキャンモデルの軽量化を容易に行えるツールで、ポリゴン数削減率やテクスチャ解像度を調整可能です。Blender 3.6LTS~4.2LTSに対応し、GitHubからダウンロード、インストールして利用できます。

blog.hololab.co.jp

AI時代のITエンジニアの付加価値と求められる能力

生成AIの発達によるエンジニアの仕事の自動化が進む中、今後のエンジニアの付加価値は技術力からコミュニケーション能力と意思決定力へシフトしており、顧客との折衝やプロジェクト推進能力、エンジニア出身のプリセールスなどが重要になるとNRIネットコムBlogの記事で解説されています。同社企業説明会では、この内容について詳しく説明されるとのことです。

tech.nri-net.com

ゲーム開発関連書籍情報:アルゴリズムイントロダクション第4版総合版発売

近代科学社より12月3日に発売される重さ約2kgのアルゴリズム解説書籍『アルゴリズムイントロダクション第4版総合版』の紹介記事に加え、Epic Gamesのマーケットプレイス「Fab」の期間限定無料コンテンツ、ゲーム開発関連書籍(Blender、線形代数など)の発売情報、Unity 6のグラフィック学習リソース、ゲーム制作素材サイト、シノアリスのデータ移行事例、レベルデザインのノウハウ、フォートナイトクリエイティブモード記事、ブラックフライデーセール情報などが掲載されています。

gamemakers.jp

Windows Subsystem for Linux (WSL) の2024年11月アップデート情報

2024年11月のWindows Subsystem for Linux (WSL)アップデートでは、Red Hat Enterprise Linuxの公式WSLディストリビューション化、tarベースの新しいディストリビューションアーキテクチャによるインストール容易化とエラーメッセージ改善、IntuneとMicrosoft Entra ID統合によるゼロトラストセキュリティ強化、そして新規ユーザー向けスタートガイド追加といった企業向けセキュリティ機能強化とディストリビューション改善が実施されました。

devblogs.microsoft.com

AI読み上げソフトAivisSpeechによるレシピ動画作成

新世代AI読み上げソフトAivisSpeechは、Style-Bert-VITS2とHeyGenアバターを組み合わせ、レシピ動画を簡単に作成できることを示した記事です。AivisSpeechは高精度な日本語読み上げと直感的な操作が特徴で、ボイスクローニングも可能です。オープンソースのStyle-Bert-VITS2も活用でき、作者が故人の妻の声を再現したTTS作成事例も紹介されています。記事ではAivisSpeechの商用サービスや他のオープンソースソフトとの比較も行われ、その優位性が示されています。

www.techno-edge.net

89歳現役プログラマー若宮正子さんの活躍と仕事への考え方

89歳の世界最高齢プログラマー、若宮正子さんが、エクセルアートやスマホアプリ開発で活躍し、週2~3回の講演会のため全国各地へ出張するなど、現役世代顔負けの多忙な日々を送っている様子が紹介されています。自身でスケジュール管理や交通手段の手配も行い、多忙ながらも健康維持のために仕事が重要だと語る若宮さんの生き様が語られています。

president.jp

コードレビューにおける効果的な質問の重要性

LINEの開発者がコードレビューにおけるコミュニケーションの課題を解説した記事で、早期リターン削除のレビューコメントが、質問と要求の曖昧さを招いた事例を通して、レビューコメントにおける要求、提案、質問の明確な区別と、それぞれの表現における注意点(要求や提案には利点の説明、質問には不明点の明示)を説明し、コメントへのタグ付け([Request]、[Suggestion]、[Question]など)を推奨しています。

techblog.lycorp.co.jp

TypeScript開発におけるモジュラーモノリスアーキテクチャ導入事例

Sansan Tech Blogの記事では、秋山氏がTypeScript開発においてモジュラーモノリスアーキテクチャを導入した事例を紹介しており、DBテーブル専有、レイヤードアーキテクチャ維持、ESLintルール活用といったモジュール分割方針、TypeScriptとESLintを用いた具体的な導入ステップ、リードタイム改善などの成果と今後の展望について解説しています。保守性向上による開発生産性向上とビジネスへの好影響にも触れられています。

buildersbox.corp-sansan.com

Apple Mac mini (2024) 修理マニュアル日本語版公開

Appleが、M4およびM4 Proチップを搭載した新型Mac mini(2024)の日本語版修理マニュアルを公開しました。このマニュアルでは、Thunderbolt 4/5ポートやモジュール式SSDといったハードウェア構成の詳細、ユーザーによるSSD交換やアップグレード方法などが解説されています。 さらに、iMac(24インチ、2024)とMacBook Pro(14/16インチ、2024)の修理マニュアルも日本語化されたため、これらの製品の修理やメンテナンスを行う際に役立ちます。

applech2.com

Visual Studio Code拡張機能「GitHub Pull Requests」レビュー

Visual Studio Code拡張機能「GitHub Pull Requests」は、GitHub上のIssueとPull RequestをVisual Studio Code上で管理できる機能を提供します。Issueからのブランチ作成、Pull Requestの作成、マージといった一連の作業をIDE内だけで完結できるため、開発効率の向上に繋がります。さらに、TODOコメントからIssueを作成する機能も備えており、よりスムーズな開発ワークフローを実現します。一部の設定に慣れが必要な部分もありますが、GitHubを利用した開発において便利な拡張機能と言えるでしょう。

dev.classmethod.jp

Playwrightによるアクセシビリティツリーのスナップショットテスト

PlaywrightのAria snapshotsを用いたアクセシビリティツリーの比較によるスナップショットテストは、従来のDOM構造比較に比べ、内部構造変更によるリファクタリングの影響を受けにくく、アクセシビリティツリー(スクリーンリーダーなどが利用する情報)を比較することで、ソフトウェアの外部からの振る舞いの変化を検知できるため、より堅牢なテストを実現します。

azukiazusa.dev

Kaggle関連書籍紹介:初心者向けから中上級者向けまで

Qiitaの記事で、Kaggle関連書籍を初心者向けと中上級者向けに分類し、各書籍の概要、価格、ページ数、執筆者などを詳細に紹介しています。初心者向けには基本的な内容から解説された書籍、中上級者向けには高度なテクニックや実戦的なノウハウを解説した書籍が挙げられており、Kaggleでの成功を目指すデータサイエンティストにとって役立つ書籍の情報が網羅されています。

qiita.com

Modular Monolith Monorepo戦略:シンプルさを保ちながらモノレポのメリットを最大化

newmo社の坂本ゆい氏による発表資料で、モノレポ導入における「モジュールモノリス」というアプローチが解説されています。モノレポとモジュールモノリスの概念、導入の背景、One Version Ruleの実践方法、内部UIコンポーネント開発におけるデザインドキュメント、コミュニケーション設計、テスト戦略、そしてpnpmカタログを用いたOne Version Ruleの維持方法などが具体例と共に説明されており、モノレポ導入における誤解の解消と開発効率向上を目指しています。

speakerdeck.com

フロントエンド自動テスト入門:StorybookとVitestによる効率的なUIテスト

Storybook 8.3で追加されたVitest統合機能により、フロントエンドアプリの自動テストが容易になった事例が紹介されています。VitestでStorybookのPlay Functionを実行可能になり、Playwrightやhappy-domなど様々なブラウザ環境でのUIテストが容易になり、CI環境への対応も容易になります。これにより、ストーリーのメンテナンス性向上、テスト実装の学習コスト削減、実装品質向上に繋がったと報告されています。Storybookをテスト環境としても活用できるようになった点が大きな利点です。

tech.mirrativ.stream

サイバーエージェントAmebaデザインシステム「Spindle」解説

サイバーエージェントのAmebaデザインシステム「Spindle」を題材に、デザイントークン、アイコン、コンポーネントといった構成要素と、Figmaを用いた開発プロセスを解説しています。Spindle導入による開発効率3倍向上事例や、メンテナンスコスト、標準化、学習コスト、組織への周知といった構築における課題、そしてFigma Dev Mode活用によるワークフロー改善計画といった今後の展望も示されています。

speakerdeck.com

Next.jsとNuxt.jsの混在環境構築:iframeを用いた解決策

LayerX社がNext.jsへの移行において、既存のNuxt.jsアプリケーションとNext.jsアプリケーションを共存させる必要性に迫られ、Module Federationなどの手法を検討した結果、iframeを用いた解決策を採用しました。その過程で、iframeを用いた際のURL同期、ページ遷移制御、タイトル同期といった課題への対策と、ページ遷移制御を強化するためのnext-navigation-guardライブラリの作成についても詳細に解説しています。

speakerdeck.com

Amazon Bedrock Prompt Optimization実践ガイド

AWSの最新機能であるAmazon Bedrockのprompt optimization(プレビュー版)を用いて、チャットボット作成におけるプロンプト最適化を検証した記事です。プレイグラウンド、boto3、Streamlitを用いた3段階の検証過程、プロンプト最適化が英語のみサポートで利用可能リージョンも限定されている点、Streamlitアプリによる最適化前後のプロンプトと回答の比較、1日10個、アカウント単位で100個という利用制限などが詳細に記述されています。

qiita.com

IT業界における「できます」「できません」発言に関する考察

IT業界における「できます」という言葉の信頼性に関する考察と、営業や管理職の言動、そして熟練プログラマの姿勢について、開発現場における問題解決の難しさや現状維持の危険性、さらに営業の役割とプログラマの能力との関係性などを題材に論じています。熟練プログラマの「できます」の少なさが問題発生の一因であるという指摘も含まれています。

anond.hatelabo.jp

エンジニア向けドキュメント作成入門書:ITシステム開発エンジニアが一生困らないドキュメント作成の基本

ソシムより発売された書籍「ITシステム開発エンジニアが一生困らないドキュメント作成の基本」は、イラスト付きで分かりやすく、要件定義書、設計書、リリースノートなど様々なドキュメント作成を網羅したITエンジニア向け入門書です。テクニカルライター仲田尚央氏による実践的な知識に加え、ChatGPT活用法なども紹介し、ドキュメント作成に苦手意識を持つエンジニアでも効率的にドキュメントを作成できるようサポートします。

www.socym.co.jp

エンジニア1年目向け技術書選書

Webエンジニア4年目の著者が、エンジニア1~2年目向けに、コードの書き方、Web技術全般、セキュリティ、ネットワーク、フロントエンド(JavaScript、React、Next.js、TypeScript)、バックエンド(SQL、API設計)、インフラ(AWS入門など)、知的生産術、開発生産性向上といった幅広い分野を網羅した技術書や参考書を分野別に紹介しています。

qiita.com

LLMエージェント開発におけるAgentic Design Patterns

ログラスのエンジニアによるLLMエージェント開発に関する記事で、Agenticワークフローを用いた設計パターンを解説しています。従来の一回のプロンプト方式よりも、複数ステップのAgenticワークフローの方がLLMの性能向上に効果的であることを、翻訳タスクにおける事前調査、ドラフト作成、リファインメント、校正の4段階のプロセスで実証しています。また、Reflection、Tool Use、Planning、Multi-agent collaborationの4つのAgentic Design Patternを紹介し、それらを組み合わせることで高度なLLMエージェント構築が可能になることを説明しています。

speakerdeck.com

ペアーズにおけるLLM活用事例:AIOps実現に向けた取り組み

ペアーズ社SREチームとAIチームが連携し、LLM(大規模言語モデル)を活用した開発・運用効率化(AIOps)に取り組んでおり、障害対応報告書自動作成Botや開発質問対応LLM ChatBot、GitHubプルリクエストレビューでのAIによるコーディング規約チェックなどを導入、データソース充実やLLMOps基盤連携によるAIOpsの好循環を目指しています。

speakerdeck.com

地方自治体システム標準化・ガバメントクラウド勉強会レポート

第3回自治体システム標準化・ガバメントクラウド勉強会レポートでは、地方自治体のガバメントクラウド導入における課題としてコスト削減効果の算出、全体像把握の困難さ、他自治体とのデータ連携の難しさなどが挙げられています。一方、導入メリットとしてはシステム標準化による業務効率化やボリュームディスカウントによるコスト削減の可能性が期待できる一方、コスト試算の難しさ、海外クラウド利用による経済安全保障上の懸念、技術・データ・運営主権の確保といったリスクも指摘されています。現状では自治体ごとにシステムがバラバラで連携が困難なため、共通システム構築が課題となっており、ハンズオン研修による理解促進や自治体主体のシステム設計・運用イメージの明確化が解決策として提案されています。

qiita.com

Microsoft.Extensions.VectorData入門:ベクトルストア操作のための抽象化レイヤー

Microsoft.Extensions.VectorDataは、様々なベクトルストアを統一的に扱うための.NETライブラリで、QdrantなどのベクトルデータベースへのCRUD操作を簡素化します。Semantic Kernelから派生したこのプレビュー版ライブラリを用いて、.NET Aspire、Ollama、Qdrantを使ったサンプルアプリケーションと、ローカル環境でのベクトル検索アプリ構築手順が解説されています。

zenn.dev