TECH PLAY

Sky株式会社

Sky株式会社 の技術ブログ

621

テスト業務におけるプロジェクトマネージャーは、短期納期の高い品質水準やメンバー間の品質のばらつきなど、多くの課題に直面します。本記事では、PMBOKの12の原則の中から「品質をプロセスと成果物に組み込む」という考え方に焦点を当て、テストプロジェクトで品質を確保するための具体的なポイントを解説します。プロジェクト初期からの品質目標の共有や、プロセス改善の重要性を学びます。
Sky株式会社は、AWS Marketplaceで提供されるサードパーティ製ソフトウェアを柔軟な条件で再販できる「AWS Channel Partner Private Offers (CPPO)」プログラムの認定パートナーとなりました。調達・支払いの一本化や、ITガバナンスの強化を支援します。
3D点群を扱う際の座標変換の概要について、世界座標系と車体座標系の例を挙げて説明します。自動運転で車体座標系に変換する理由や、平行移動行列・回転行列を用いた具体的な変換式、PythonのOpen3Dによる実装例も紹介します。
Terragruntは、TerraformのコードをDRY(Don't Repeat Yourself)に保ち、複数環境の管理を簡素化するラッパーツールです。本記事では、terragrunt.hclによる設定の共通化、tfstate管理の自動化、dependencyブロックによるモジュール間の依存関係定義など、TerragruntがTerraformの運用課題をどのように解決するのかを解説します。これにより、インフラコードの保守性と再利用性を高め、効率的なインフラ管理を実現する方法を紹介します。
ブラウザ拡張機能にはPCのアプリケーションやファイルへ直接アクセスできない制約があります。本記事では、この制約を安全に乗り越えるための公式技術「Native Messaging」と、その仲介役として中心的な役割を担うPC上のプログラム「Native Messaging Host」の仕組み、そしてファイル連携やアプリケーション連携といった具体的な実現例について解説します。
フィジカルAI(Physical AI)の基本概念と、それがもたらす開発方法の変化について解説します。テスラの事例を交えながら、フィジカルAIが物理世界でタスクを実行する技術であることを説明し、ロボット開発の標準プラットフォームであるROS(Robot Operating System)が、自律化の向上やデジタルツインの活用といった形で、今後どのように進化していくかを考察します。
AIペアプログラマー「GitHub Copilot」は、SwiftUIやJetpack ComposeのUIコード生成、BaaS/SDK連携の簡略化など、モバイルアプリ開発を劇的に高速化します。本記事では、その4つの具体的メリットと、プラットフォーム理解の欠如や特有の脆弱性といった、モバイル開発特有の4つのリスクと課題について解説します。
Webアプリ開発のCI/CD構築で選択肢となるAWS CodePipelineとGitHub Actionsについて、どちらを使うべきか解説します。開発体験を重視するならGitHub Actions、AWS統制やエンタープライズ要件を重視するならAWS CodePipelineという結論のもと、導入のしやすさ、セキュリティ、コスト、拡張性の4つのポイントで両者を比較し、それぞれの特徴を整理します。
SKYPCEにおけるAWS LambdaからAmazon RDS for SQL Serverへのアクセスでは、Parameter Storeのスロットリングが課題でした。本記事では、この課題の解決策として、Parameter Storeのクォータ増加やLambdaの環境変数といった他のアプローチと比較し、最終的にお手軽なglobal変数を用いた接続情報のキャッシュ方法を選択した経緯とその実装例、注意点について解説します。
開発の最終工程で行う従来の品質保証(QA)は、リリースのボトルネックとなりがちです。この課題を解決する鍵として、開発初期から品質を組み込む「DevSecOps」と、テストを高度化・自律化する「AI」の活用について解説します。DevSecOpsのシフトレフトやAIによるテスト自動化が、セキュアで高品質なソフトウェアを迅速に開発し、競争力を高める鍵となります。
AI駆動開発、特に「仕様駆動開発(Spec Driven Development)」の実践的なアプローチを、1つの機能開発を例に解説します。AIの挙動を正確に制御するため、プロジェクトの憲章となる`AGENT.md`を作成。その後、複数のAI(Copilot/Claude/Gemini)に仕様書作成とクロスレビューをさせ、設計の密度を高める手法を紹介。この「設計の密度」が、AIによる実装の品質や手戻りの少なさに直結することを、具体的なTipsと共に明らかにします。
SDV(Software-Defined Vehicle)時代における自動車の品質保証として、サイバーセキュリティ監査の重要性を解説します。国際法規(UN-R155/156)で義務化された背景、プロセス監査と製品監査で確認される内容、基盤となるISO/SAE 21434などの規格、推奨される資格について紹介。TARA(脅威分析)を起点とし、セキュリティ要求を設計段階から組み込むなど、監査に耐えうる製品開発の5つの重要な観点を説明します。
WebRTCをテーマにした連載の最終回として、運用フェーズで重要となるパフォーマンス品質の測定と監視手法を解説します。WebRTCが提供する getStats() APIを用いた統計的分析と、Chromeのデバッグ機能 webrtc-internals によるリアルタイム監視の2つの方法を紹介。特に画面共有アプリケーションで重要となるフレームレート、解像度、CPU負荷などの観点や、確認すべき具体的なStats項目、 clumsy を用いたネットワーク劣化テストの実践的な確認方法にも触れます。
業務で利用される便利なフリーソフトウェアの裏に潜む、ライセンスやセキュリティ上のリスクについて解説します。非公式サイトからのダウンロードや、意図しない外部通信機能の搭載といった具体的な危険性を指摘。SKYSEA Client Viewの「Webアクセスログ」や「想定外TCP通信ログ」などの機能を活用し、フリーソフトウェアの導入や利用状況を管理・監視することで、これらのリスクを低減する方法を提案します。
インフラエンジニア、特にオンプレミス経験者に向けて、Infrastructure as Code (IaC)がもたらす大きなメリットを解説します。IaCは単なるコード化技術ではなく、「技術継承」「品質向上」「ドキュメント問題の解決」を実現する強力な武器です。レビュー文化の醸成や“動く設計書”による運用の効率化など、チームの資産として技術を継承し、ビジネス価値を高める方法を紹介。最初のツールとしてTerraformを推奨する理由も説明します。
Webシステム開発におけるバグの温床となりがちなデータの「型」のズレを防ぐ設計思想、「End-to-End Type Safety(E2E型安全)」について解説します。単一の真実のソース(SSoT)や境界での実行時検証といった基本思想から、TypeScript環境でtRPCとZodを用いた具体的な実装例までを紹介。システム全体で「型=契約」を守ることで、開発体験と品質を同時に高めるアプローチを説明します。
Webシステム開発におけるバグの温床となりがちなデータの「型」のズレを防ぐ設計思想、「End-to-End Type Safety(E2E型安全)」について解説します。単一の真実のソース(SSoT)や境界での実行時検証といった基本思想から、TypeScript環境でtRPCとZodを用いた具体的な実装例までを紹介。システム全体で「型=契約」を守ることで、開発体験と品質を同時に高めるアプローチを説明します。
Linuxのセキュリティを強化する仕組み「SELinux(Security-Enhanced Linux)」について解説します。サーバーやコンテナのセキュリティ強化、アプリケーションの分離といった活用シーンを紹介し、`sestatus`や`setenforce`コマンドを使った状態確認・モード変更の具体的な方法を説明します。また、SELinuxが有効な場合にアプリケーションの動作に与える影響と、ポリシーを適切に設定・調整して問題を解決するチューニング方法についても触れます。
複数ステップの処理を自律的に行うことで注目される生成AIエージェントについて、LangChainのフレームワーク「LangGraph」を用いた実装初めの一歩を解説します。LangGraphは処理をグラフで可視化でき、挙動が予測しやすい点が特徴です。本記事では、これを使って「シンプルなタスク管理AI」を構築する手順を、Pythonのサンプルコードと共に具体的に紹介し、エージェント開発の基本を学びます。
データベースでNULL値を扱う際に問題となる「3値論理」について解説します。従来の真偽(True/False)に未知(Unknown)が加わることで、SQLクエリがエンジニアの想定外の挙動を引き起こすことがあります。PostgreSQLの具体的な例を用い、NULL許容列に対する比較処理で発生する問題と、`IS NULL`や`COALESCE`関数を使った正しいデータ取得方法を紹介し、NULL値の適切な扱い方の重要性を説明します。