TECH PLAY

Sky株式会社

Sky株式会社 の技術ブログ

641

メールにファイルを添付する際、上限より小さいサイズなのに送信できない経験はありませんか?その原因は、メール送信時にファイルがテキストデータに変換(エンコード)され、サイズが約1.33倍に増加するためです。本記事では、この「Base64エンコード」の仕組みを解説し、なぜ添付ファイルの実質的な上限サイズが設定値よりも小さくなるのかを説明します。SKYPCEの一斉メール配信機能の事例も交え、電子メールの容量制限に関する注意点を解説します。
AIシステムの品質保証は、従来のソフトウェアテストとは異なるアプローチが求められます。本記事では、品質モデルの国際規格「ISO/IEC 25059」で拡張された「自律性」「自己学習性」「予測性」「公平性」「堅牢性」という5つの新しい品質特性に焦点を当て、それぞれの特性に対する具体的なテストアプローチの考え方を解説します。AIの進化が著しい過渡期において、プロジェクトごとに最適なテストを設計するQAエンジニアの重要性を論じます。
データベースのインデックスは検索性能の要ですが、その「内部断片化」は予期せぬ容量圧迫を引き起こします。本記事では、SQL Server Express EditionでINSERTが突如失敗したトラブル事例をもとに、インデックスの内部断片化がどのようにしてデータベースサイズを肥大化させたのかを解説。断片化を解消するための「再構築」と「再構成」という2つのメンテナンス手法を比較し、それぞれのメリット、デメリット、そしてサービス影響の違いについて具体的に説明します。
PowerShellでは、未初期化変数は$nullとして扱われ、タイプミスなどが原因で意図しない不具合を生むことがあります。本記事では、この挙動を変更し、未初期化変数への参照をエラーとして検出する「Set-StrictMode」コマンドレットの使用方法を解説します。簡単なコード例を交えながら、厳格なチェックを有効にすることで、いかにして潜在的なバグを早期に発見し、コードの堅牢性を高めることができるかを紹介します。
自動運転AI開発において、従来の模倣学習から、AI自らが試行錯誤する強化学習へとシフトする中、高精度なシミュレータの確保が最大の課題となっています。本記事では、その解決策として注目される3DGS(3D Gaussian Splatting)技術を解説。実写映像から3D空間を「小さな雲」の集合体として高速かつ高精度に再構成する3DGSが、自動運転用シミュレータにもたらすメリットや、CARLAなど従来のCGベースシミュレータとの違い、そして最新の研究事例までを紹介します。
JavaでのExcelファイル操作は、帳票出力やデータインポートなど業務システム開発で頻出の要件です。本記事では、Apache POI、FastExcel (旧EasyExcel)、JXLS、FastExcel (dhatim) という4つの主要なJavaライブラリを徹底比較。それぞれのメリット・デメリットを整理し、「多機能だがメモリ消費が大きいPOI」「Spring Bootと相性の良いFastExcel」「帳票特化のJXLS」「軽量高速なdhatim版FastExcel」といった特徴を解説。プロジェクト要件に最適なライブラリ選定の指針を提供します。
QAエンジニアの役割は、単なる「最終チェッカー」ではありません。本記事では、Sky株式会社が考えるQAの役割、すなわちソフトウェアの「品質をつくる」という、より能動的で創造的な仕事について解説します。お客様が本当に望む品質を定義し、ユーザー視点で本質的な不具合を検出し、品質の視点から開発をリードする。そして、開発の上流工程から品質を作り込む「シフトレフト」まで、次世代のQAエンジニアが目指す姿を紹介します。
Webデザインの世界には、ユニークな由来を持つ専門用語が数多く存在します。本記事では、フロントエンド開発の学習中に出会った印象的な用語として「パンくずリスト」「トースト」「ハンバーガーアイコン」「座布団」「アコーディオン」の5つをピックアップ。それぞれの意味と、「ヘンゼルとグレーテル」やトースターなど、その面白い名前の由来を一覧で分かりやすく紹介します。
DBの接続プール枯渇という課題に対し、Amazon ElastiCacheを導入して解決した事例を紹介します。本記事では、ElastiCacheの2つのエンジン(MemcachedとRedis)の基本的な違いを比較しつつ、実際のプロジェクトでMemcachedを採用した経緯を解説。認証トークンのオフロードや、In-Memory DB Cacheパターンを用いたDBアクセスの削減、さらにBulk処理によるElastiCache自身の接続プール枯渇対策など、段階的な改善プロセスと、その結果としてリクエスト処理能力が約3倍に向上した効果を具体的に説明します。
「カードリーダーを接続したのにドライブが表示されない」という問い合わせは、Windowsの「空のドライブは表示しない」設定が原因かもしれません。本記事では、SKYSEA Client View導入時にお客様から寄せられたこの事例をもとに、フォルダオプションから設定を変更し、媒体が挿入されていなくてもドライブアイコンを常に表示させる方法をスクリーンショット付きで解説します。Windowsの仕様による挙動と、その確認・変更手順を紹介します。
HTTPレスポンスヘッダー「Retry-After」の概要と役割について解説します。APIのレートリミット超過やサーバーメンテナンス時に、クライアントへ次回リクエストの適切なタイミングを指示する仕組みと、実装時の注意点を紹介します。
ARMプロセッサのセキュリティ技術「トラストゾーン(TrustZone)」は、1つのCPU上に安全な「セキュアワールド」と通常の「ノーマルワールド」という2つの独立した実行環境を構築します。本記事では、このトラストゾーンが指紋認証や動画配信サービスのDRMといった身近な技術でどのように利用されているかを解説します。また、その構成要素であるCA(Client Apps)、TA(Trusted Apps)、Trusted OSの役割を説明し、セキュアなアプリケーション開発における重要性を紹介します。
Azure Functionsの新しいホスティングプラン「Flex Consumptionプラン」は、「性能」と「コスト」のバランスを両立させたハイブリッドな選択肢です。本記事では、従来の従量課金プランのコールドスタート問題やPremiumプランの高コストといった課題を、この新プランがどのように解決するのかを解説します。各プランの特性を比較し、プロジェクトの目的に応じて最適なプランを「適材適所」で使い分けるための指針を提供します。
生成AIに文字数を指定しても守られないのは、AIが文章を「トークン」という独自の単位で分割・処理するためです。本記事では、このトークンの仕組みを解説し、なぜAIが要約や翻訳のような「意図を汲み取る」作業は得意な一方、文字数カウントのような「厳密さ」が求められる作業は苦手なのかを明らかにします。この仕組みを理解することで、AIへの指示の出し方や結果の解釈がよりスムーズになります。
AIの利用拡大に伴いGPUの効率的な共有が求められる中、NVIDIAのMIG(Multi-Instance GPU)技術が注目されています。MIGは1枚のGPUをハードウェアレベルで複数の独立した「小さなGPU」に分割し、メモリ衝突や性能のばらつきといった課題を解決します。本記事では、MIGの基本概念、リソース分割の仕組み、そして推論APIサーバーや研究開発環境での具体的な活用例を交えながら、そのメリットと注意点を解説します。
ズーム機能を持つUIで「クリック位置がズレる」問題は、座標空間の「viewport」を考慮していないことが原因かもしれません。本記事では、座標を「world」「viewport」「screen」の3層で整理する考え方を解説します。viewportはworld(データ)を書き換えずに見え方だけを変える強力な仕組みであり、この構造を理解することで、ズームやパンの実装における座標変換の問題を解決し、描画処理の役割を明確化できます。
Windowsは更新プログラムのアンインストール用に古いファイルを保管しており、これがディスク容量を圧迫することがあります。本記事では、実際にWindows 10で47GB、Windows 11で5GBの容量を削減した事例を紹介し、「ディスククリーンアップ」と「DISMコマンド」という2つの標準機能を使った削除方法を解説します。特に、DISMコマンドの「/ResetBase」オプションによる強力な削除方法とその注意点、実行時間についても触れます。
生成AIの活用において、期待通りの出力を得るための鍵となる「プロンプトエンジニアリング」。本記事では、その基本概念から、AIを「忖度しない優秀な新人」と捉え、「役割」「目的」「出力形式」「制約」「具体例」という5つの基本原則に基づいた指示の出し方を解説します。これらのテクニックは、AIの性能を最大限に引き出すだけでなく、自身の思考の解像度を上げるトレーニングにもなります。
強いチームを作るための「チームビルディング」の重要性や、筆者のチームで効果があった具体的な手法(マニュアルオブユー、偏愛マップ、KPT)を、その効果と合わせて紹介します。
WinDbgの「!handle」コマンドを使用して、ハンドルの種類や状態を確認する方法を解説します。具体的な事例として、スレッドが待機状態にある原因を特定するプロセスを、コールスタックやサスペンド状態の確認を交えて紹介します。また、全ハンドル情報や種別ごとの一覧表示など、基本的なコマンドの使い方も網羅しています。