Engineer's Digest

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

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

2024年のCSS新機能まとめ

2024年に追加されたCSSの新機能をまとめた記事で、field-sizinginterpolate-sizeといったプロパティによるJavaScriptの削減、details要素を用いたアコーディオン実装の容易化、anchor-positioningによる位置調整の簡素化、スクロールバーのカスタマイズやスクロールイベントの強化、さらに@property::backdroplight-dark()関数といった開発者体験を向上させる機能などが解説されています。

coliss.com

ObsidianとCursorを使ったメモ管理術

WebエンジニアがObsidianとCursorを組み合わせた効率的な情報管理手法を紹介しており、GitHubとの連携による高速なモバイルメモ環境、AWS S3を用いた画像管理、KindleハイライトやWebクリップ記事のObsidianノートへの自動生成、Zettelkasten方式のノート構成とタグ検索、そしてCursorを使ったAnkiデッキ作成自動化による学習効率向上について解説しています。

note.com

SSDストレージ容量不足の原因究明

2TBのSSDの空き容量が77GBまで減少した原因を、ストレージ解析ソフト「GrandPerspective」を使って調査した事例です。解析の結果、Xcode、Unity、Android Studio関連ファイル、特にiOSビルドファイル(447GB)やUnity関連ファイル(280GB)などが大きな容量を占めていることが判明し、シミュレータデータや古いXcodeバージョンの削除なども有効な対策として示唆されています。

zenn.dev

70点主義による業務効率化開発

ニーリー社の月極駐車場サービス「Park Direct」のオペレーション効率化事例として、頻度が高く型化された業務に焦点を当て、完璧な自動化ではなく「70点」の機能でリリースし、段階的開発とフィードバックループによる改善を繰り返すことで、開発リソースを有効活用し、ビジネスサイドとの連携による柔軟な開発とスムーズなリリースを実現した事例が紹介されています。料金変更機能を例に、Jiraを用いた手動タスク対応を含む具体的な開発プロセスも解説されています。

nealle-dev.hatenablog.com

Amazon Cognitoを用いたOAuth2/OIDC認可フロー

Amazon Cognitoを用いたOAuth 2.0/OIDC認可コードフローのハンズオン記事で、curlコマンドのみを用いて、認可エンドポイント、トークンエンドポイント、リソースエンドポイントの役割を理解し、認可コード取得、アクセストークン取得、リソース取得の手順を詳細に解説しています。state、code_challenge、nonceパラメータを用いたセキュリティ向上についても説明されており、アプリケーションコードを書かずにOAuth 2.0/OIDCの認可フローを学ぶことができます。

qiita.com

IT技術者の自由な働き方とサイバー攻撃リスク

副業希望のIT技術者を標的にしたサイバー攻撃について、日本経済新聞の記事が報じています。偽の求人オファーを通じて仮想通貨などが盗難される被害が発生しており、北朝鮮のハッカー集団の関与が疑われています。コロナ禍による働き方の変化や、エンジニア獲得競争の激化が、セキュリティリスクを高めている要因の一つとして指摘されています。

www.nikkei.com

DMMビットコイン流出事件と北朝鮮系ハッカー集団

DMMビットコインから約480億円相当のビットコインが不正流出する事件が発生し、事業は廃止、顧客資産は移管済みです。米国の分析会社チェイナリシス社の調査により、北朝鮮系ハッカー集団によるサイバー攻撃と断定され、ミキサーサービスなどを用いた資金洗浄が行われたとされています。その手法は北朝鮮の典型的なものと一致する点が複数確認されました。

www3.nhk.or.jp

OpenSearch運用半年で得たノウハウ

株式会社askenがOpenSearchを半年運用した経験に基づき、セキュリティ強化のためのVPC内配置とアクセス制御、高可用性を実現するための3AZ構成やスタンバイAZ、マスターノード導入、パフォーマンスに大きく影響するシャードとレプリカの設定、そして安定運用のためのJVMメモリ監視とメモリ負荷管理(40-60%以下維持)といったノウハウを紹介しています。

tech.asken.inc

Linuxサーバセキュリティ監視プラクティス

Linuxサーバのセキュリティ監視方法を解説するシリーズ記事の第1弾として、主要なログソースであるauth.log/secure.log、auditd、Sysmon for Linuxを紹介し、特に多くの検知ルールで使用されているauditdとSysmonについて、ログの取り込み方法、ログ容量、Splunkを用いた設定例を具体的に示しています。次回の記事ではauditdとSysmonの設定・チューニング方法について解説予定です。

qiita.com

企業における私物USB接続のセキュリティリスク

企業のPCへの私物USB接続によるセキュリティリスクと、それに伴う情報漏洩の危険性、そして社員教育の現状とITリテラシー向上・厳格なセキュリティ対策の必要性について解説しています。

togetter.com

Vectorオンラインソフト作者向けホームページサービス終了

Vector社の長年続く無料ホームページサービスが、12月20日をもって終了しました。約20年に渡り、アプリ開発者向けに5MBの無料ストレージを提供してきた同サービスは、無料ホームページ開設手段が少なかった当時、多くの開発者にとって貴重な存在でした。2016年11月より新規受付は停止されており、今回のサービス終了は既定路線でしたが、長年の利用者にとっては大きな影響となります。アプリのダウンロードには影響ありませんが、サービスに掲載されていたホームページ情報は消失するため、該当する開発者はコンテンツの移行を検討する必要があります。

forest.watch.impress.co.jp

フリーイラストレーターの社員証忘れによるセキュリティインシデント

フリーイラストレーターのBaOneさんが、会社に社員証を忘れてしまいセキュリティインシデントが発生したという出来事が話題になっています。BaOneさんはFF14、ホロライブ、ブルーアーカイブなどを趣味にしていると公表しており、そのツイートに関連してインシデントが報告されました。社員証の紛失によりセキュリティ上のリスクが生じたことを受け、多くのユーザーが社員証の適切な管理の重要性を指摘し、BaOneさんも自身のミスを謝罪、今後は社員証をバッグに入れると述べています。この出来事をきっかけに、改めて社員証管理の重要性が再認識されました。

togetter.com

ThinkPad X230のWebカメラLED制御に関する脆弱性

2014年開発のThinkPad X230において、Ricoh R5U8710 USBカメラのSPI通信を介してGPIO B1ピンを利用することで、WebカメラのLEDを点灯させずにカメラを動作させる脆弱性が発見され、そのハッキング手法が解説されています。 この手法は「Lights Out」と呼ばれ、WebカメラのLEDを消灯した状態でも秘密裏に撮影を行うことが可能です。

www.itmedia.co.jp

PowerShellコマンドの実行ファイル化に関する事例

Windowsサーバー構築のリーダーが、PowerShellコマンドをメモ帳で書き、拡張子をEXEに変更して実行ファイルと誤解していた事例を紹介しています。改行コードの混在によりエラーが発生しており、8年目の経験を持つリーダーのITスキル不足が問題視されています。PowerShellスクリプトは.ps1拡張子を使用するのが一般的で、.bat.exeは適切ではありません。正しくは、PowerShellスクリプトを.ps1で保存し、PowerShellから実行する必要があります。

togetter.com

若手とベテランエンジニアのスキルと思考法の違い

記事「若手エンジニアとベテランエンジニアの違い」では、若手エンジニアが業務全体像の把握に苦労するのに対し、ベテランエンジニアは問題を論理的に分解し必要な情報を探せる点を解説しています。若手は経験を積むため、インプットを増やし、頭の中でイメージを構築する必要があり、安易に手を動かすのではなく、まず理解を優先し、思考枠組みを作ることで成長を加速させられると結論づけています。

togetter.com

AIデータセンター増加による電力不足リスク

AIの急増によるデータセンターの電力需要が北米で深刻な電力不足リスクを高めており、今後5~10年で米大陸の半分以上で停電の可能性があるとされています。特に中部地域では化石燃料発電所の廃止による電力損失が115GWに達する見込みでリスクが高いです。発電所廃止と再生可能エネルギーへの移行が電力不足の一因となっており、安定的な電力供給確保のためには原子力発電所の維持・新設やエネルギー政策の見直しが必要とされています。各国は再生可能エネルギーへの投資や政策検討を進めて電力需要増に対応しようとしています。

gigazine.net

UnityとDifyを使ったAIエージェント作成方法

弁護士ドットコム社員がUnityとDify、ChatdollKitなどを活用し、音声による質問にWeb検索で回答するAIエージェントを開発した事例が紹介されています。Brave Search、Firecrawl、OpenAI API、Azure音声サービスなどを組み合わせ、アバターシステムとAIオーケストレーションシステムを構築することで、個人でも高度なAIエージェントを作成できることを示しています。

creators.bengo4.com

コストと開発体験を両立するfeature環境の運用

ニーリー社は、開発環境におけるコストと開発体験の両立を目指し、GitHub Actions、AWS Step Functions、Slack通知を活用したfeature環境の自動化を実現しました。PRのラベルによってフロントエンド、バックエンド、データベースの環境を自動的に制御することで、開発効率の向上、手動操作に伴う課題の解消、コスト削減、そして権限管理の改善に成功しています。本手法では、バックエンドとフロントエンドの連携を柔軟に設定でき、環境構築における柔軟性と効率性を両立させています。

nealle-dev.hatenablog.com

インテルの低価格帯GPUの発売と市場への影響

インテルが発売した低価格帯GPU「Arc B580/B570」が性能と価格のバランスの良さから好評で品薄状態となっており、AMDとNVIDIAが寡占するGPU市場に競争が生まれる可能性が出てきました。約4万円という価格と大容量VRAMが特徴で、IntelのGPU市場再参入は価格低下や技術革新への期待を高めています。

www.gizmodo.jp

最新の生成AI技術とその進化

スタンフォード大学とGoogle DeepMindが開発した、人の判断を85%の精度で再現する「分身AI」や、トヨタが車両デザインに活用するなど、既に多くの企業で生成AIが導入されている現状、そしてChatGPT以降の生成AIの急速な普及と、対話型以外のAIエージェントへの開発シフト、業務効率化によるライフサイエンス分野での活用事例などを紹介しています。

president.jp

Blueskyの本人確認システムの脆弱性となりすまし事件

Blueskyの本人確認システムにおけるドメイン名を利用したなりすまし事件で、著名人の名前のドメインを取得し、本人になりすましてドメインの買収を要求する脅迫行為が発生しました。被害者にはコラムニストのConor Sen氏らが含まれ、犯人はBluesky上に偽アカウントを作成していました。Blueskyはなりすまし対策を強化すると発表していましたが、事件発生後も脆弱性が残っており、ドメイン認証システムのセキュリティ対策の遅れが問題視されています。

gigazine.net

mixi2アプリで使用されているFlutterパッケージの紹介

mixi2アプリの開発においてFlutterと様々なパッケージがどのように活用されているのかを解説した記事です。状態管理にriverpod、ルーティングにgo_router、フォントにgoogle_fonts、エラー監視にBugsnag、多言語化にslangといったパッケージが使用されており、画像・動画処理、UI部品、ローカルデータ管理など幅広い機能をカバーするパッケージ群の採用事例が紹介されています。さらに、サーバーサイド開発におけるDartの可能性についても言及し、gRPCやshelfといったライブラリの使用例にも触れています。

www.memory-lovers.blog

ChatGPT Searchの無料開放とGoogle検索への影響

OpenAIがChatGPT搭載の検索エンジン「ChatGPT Search」を無料ユーザー向けにパソコンとモバイルで公開しました。近年、Google検索の質の低下が問題視される中、ChatGPT Searchは有力な対抗馬として注目を集めていますが、信頼性の高い情報源を学習データとして使用しているものの、情報源の正確性検証において誤答が多数確認されており、精度の向上に課題が残されています。AI検索への関心の高まりと同時に、不安を感じているユーザーも多い現状が示唆されています。

www.gizmodo.jp

ソフトウェアアーキテクチャ設計に関する書籍紹介

米久保剛氏による書籍「アーキテクトの教科書」の概要を紹介する記事で、ソフトウェアアーキテクチャの設計と学習方法を体系的に解説しており、アーキテクトの仕事、ソフトウェア設計、アーキテクチャ設計・実装、品質保証、学習方法の6章構成で、アーキテクチャの定義、アーキテクトとテックリードの違い、役割分担、アーキテクチャ設計における上位目的の明確化の重要性などを説明しています。

www.docswell.com

キャッシュヒット率とシステムパフォーマンスの関係

キャッシュヒット率が1%変化するとシステムパフォーマンスに大きな影響を与えることを、キャッシュアクセスをシミュレートした実験で検証しました。実験結果では、キャッシュヒット率99%と98%の場合で処理時間に約2倍の差があり、ストレージティア間の速度差が大きいほどキャッシュヒット率向上によるパフォーマンス改善効果も大きくなることがわかりました。また、ヒット率が50%程度であれば、ストレージティアの速度比はコストパフォーマンスを重視して選んでも良いという結論を得ています。

zenn.dev

C#における文字列最適化手法

C#における文字列操作のパフォーマンス最適化手法について解説しており、string型の不変性によるオーバーヘッドをSpan<T>ReadOnlySpan<char>string.Create()StringBuilderDefaultInterpolatedStringHandlerなどを用いて解決する方法、UTF-8の直接操作、GetAlternateLookUp()による高速な辞書ルックアップなどを紹介しています。

annulusgames.com

Suicaのウォークスルー改札導入計画と課題

JR東日本が検討中のウォークスルー改札は、超広帯域無線(UWB)技術を用いたタッチレスシステムで、Suicaとの連携や不正利用防止が課題となります。位置情報と連携することで、改札のない駅での精算も可能となる計画ですが、他社が導入を進めるオープンループ(クレジットカード決済)への対応は消極的で、外国人観光客への利便性低下が懸念されています。

www.watch.impress.co.jp

AIによるコード生成とプログラミング言語の将来展望

AIによるコード生成ツールの普及により、ChatGPTなどのツールを用いた簡単なアプリ開発や、AI機能搭載のノーコード/ローコードツール(Google AppSheet、Microsoft Power Appsなど)の登場、そしてGitHub Sparkによる自然言語からのアプリ作成機能発表などから、将来的にはAIがコード生成の中心となり、人がコードを書く機会が減少し、プログラミング言語がXMLのように補助的な役割に変化する可能性が示唆されています。AIによるコード生成の加速は、人がコードを見る機会の減少にも繋がる見込みです。

xtech.nikkei.com

大規模写真データ削除における並行・並列処理とAsync処理

アンドパッドのエンジニアが、建設業向けサービスにおける膨大な写真データの削除効率化を目的として、メモリ消費を抑えるストリーム処理とスループット向上のための並行処理を組み合わせた手法について解説しています。並行処理と並列処理の違い、IOバウンドなバッチ処理への並行処理の適合性、そしてRubyにおけるマルチプロセス、マルチスレッド、ファイバーの3手法の比較検討と、ファイバー(Async)を用いた具体的な実装例とその効果についても詳細に記述されています。

tech.andpad.co.jp

IUUQTシステムの開発、テスト、評価に関する記録

記事ID483「組織に自動テストを書く文化を根付かせる戦略(2024冬版)」は、IUUQTシステムに関する開発、テスト、評価に関するログ、メモ、評価データから構成され、動作速度、保守性、リソース使用率、信頼性、忠実性といった評価指標を用いて、システムの改善を図るための戦略を提示した記事です。記事には日付やバージョン番号といった情報が含まれ、様々なコードや記号、英単語が使用されていますが、それらの詳細な意味は不明瞭です。

speakerdeck.com