エコモットのエンジニアによる

IoT・AI技術や働き方についてのブログ

審査待ちで障害対応が止まる前に。iOSの特急審査を正しく使う。

Tech blog

こんにちは!
クラウドソリューション開発部の大川です。

「アプリが起動直後にクラッシュします」
「ログインできません」

リリース直後にこんな連絡が来たとき、修正コード自体は30分で書けたとしても、App Storeに公開されるまでには App Review(審査) を通過する必要があります。
この「待ち時間」こそが、障害対応における最大のボトルネックです。

今回は、その切り札である Appleの「App Reviewの優先処理をリクエスト」(通称:特急審査) について、申請手順と「使うべきでないケース」、そして そもそも使わずに済ませるための備え を紹介します。

続きを読む

『エンジニアのための「伝わる」コミュニケーション術|相手の行動を変える教え方6つのコツ』

Tech blog

こんにちは!クラウドソリューション開発部の今野です!

突然ですが、後輩への指導やチーム内での仕様説明で「なぜか上手く意図が伝わらない…」と頭を抱えたことはありませんか?
実はエンジニアの業務において、「人に教える・伝える力」はコードを書く技術と同じくらい重要です。

今回は他者への教え方について、少しでもナレッジが共有できればと思います。

 

誰かに教える時に、「なんか上手く伝わらない…」と思ったことはないでしょうか。

プロジェクトで新たにアサインした方がいる場合、情報量の多い内容をどうやってわかりやすく伝えるのか。

 

図や具体例を出しても良いでしょう。

ですが、図や具体例はわかりやすく伝える「手段」であるため、相手の状況や求めていることを伝える側で理解していないと、「話が伝わらない」ということになってしまいます。

私自身も悩むことがよくありました。どうやったらわかりやすく教えられるだろうか、腑に落ちるような教え方は…?

今も模索中ですが、大切だなと思うことをまとめておきたいと思います。(自分の備忘録としても)

続きを読む

ビルド不要!#PlaygroundでXcodeの3Dプログラミングを効率化

Tech blog

こんにちは!デバイスソフトウエア開発部の斎藤です。
エッジAIシステム開発と、iOSアプリケーション開発を担当しています。

普段はiPad ProのLiDARセンサーやARKit/RealityKitを活用したAR機能の開発に携わっているのですが、ARアプリや3Dグラフィックの開発において、地味にストレスになりがちなのが「3D空間の数学ロジック(ベクトル計算や回転計算)のデバッグ」です。

  • 「2つのエンティティの相対角度の計算、符号逆になってないかな…?」

  • 「レイキャストで取得した法線ベクトルから回転クォータニオンを作る計算、思い通りの向きになるか確かめたい」

こういった小さな計算ロジックを確かめるためだけに、毎回実機ビルドを走らせてカメラをデスクにかざすのは、開発効率の観点から見ても非常にもったいない時間ですよね。

そこで今回は、Xcode 26で登場した「#Playground マクロ」を活用し、プロダクションコード内で3D数学ロジックを即座にインライン検証・デバッグする開発ワークフローをご紹介します!

続きを読む

コード不要!GeminiでJSTQB問題集を作ってみた

Tech blog

みなさん、こんにちは!CLS開発部の寺谷です。
最近は暑くて夜に寝付けない日が続いていますね。もう少しで秋の気配も感じられるようになるかと思いますので、体調管理には気をつけたいところです。

さて、資格勉強の暗記や問題演習って、同じテキストを何度も回しているとどうしても飽きてきちゃいますよね。

そこで今回は、GoogleのAIサービス「Gemini」のGenerative UI(動的UI生成機能)を活用し、「JSTQB Foundation Level (FL)」の自分専用Web問題集を作ってみた話を共有します!

環境構築ゼロ、無料プランでサクッと動きますので、資格勉強中の方はぜひ試してみてください。

続きを読む

【Mac】システムデータが重い原因は?CLIツール「ncdu」で安全に容量を削減する方法

Tech blog

こんにちは!

クラウドソリューション開発部の今野です!

突然ですがMacでアプリ開発をしている方、このようなダイアログを一度は目にしたことがないでしょうか?

「お使いの起動ディスクはほとんど一杯です。」

「キャアァァァーーー」

 

…。何を削除したら良いの?

まあ、色々なストレージ消去ツールが出回っているわけなのですが…。とは言っても、色々ありすぎてどれがおすすめなのかわからないと思います。

また、アプリ開発の場合、消しても消しきれない「システムデータ」はよくある話のため、それも含めて削除できたらと思います。アプリ開発者の方必見です。

続きを読む

API設計のQAを劇的に減らす!仕様書作成4つのルール

Tech blog

こんにちは!クラウドソリューション開発部の北島です。

ソフトウェア開発では、仕様書を用意していても、実装段階で確認事項が次々と発生することがあります。

特に API 設計においては、仕様の解釈違いや共通ルールの不足によって、QA が想定以上に増えやすくなります。

本記事では、プロジェクト運用中に発生した実際のAPI設計に関する QA 40件(Backlog履歴)をBacklog AIで分析し、どのような確認が多く発生していたのかを整理しました。

「仕様書はあるのに実装者からの質疑応答が止まらない…」という現場の悩みを解消するため、設計段階で整えておくべき4つの共通ルールチェックリストをご紹介します。

(※本記事ではQAを「実装前後に発生した確認事項・質疑応答」として扱います)

今苦しんでいる人、これから実装をおまかせする人の手助けになればと思います。
続きを読む

道路をお手軽診断!Miruroadでひび割れ損傷箇所を「診る」!

製品・サービス

こんにちは! デバイスソフトウエア開発部の平尾です。 皆様は道路の「ひび割れ」について、じっくりと考えたことはあるでしょうか? 歩いているときや車で走行しているとき必ず目にするものではありますが、あまり気に留めずに通り過ぎてしまう方が多いのではないでしょうか。私も「Miruroad(ミルロード)」の開発に携わるまでは、その深刻さをあまり気に留めていませんでした。 実は、ひび割れは単なる「見た目の劣化」ではありません。放置すると、以下のような事態に陥ってしまうのです。 →ひび割れが発生 → 雨水が浸入し路盤以下の層が損傷 → 表面だけを修繕(表層等切削オーバーレイ)しても早期劣化 → 路盤からの打換え措置が必要(費用増大) このように、ひび割れは早期発見と適切な診断が不可欠ですが、広大な道路網を全量目視で点検するには膨大なコストと人員を要します。 そこで誕生したのが、走行しながら容易にひび割れ箇所を特定できる道路劣化AI 監視ソリューション『Miruroad(ミルロード)』です。 「Miruroad(ミルロード)」の概要については下記の記事でも紹介しているので、合わせてご確認ください! 日々の走行を価値ある道路データに!エッジAIで道路を可視化するMiruroad 走行するだけでAIが「道路の穴」を自動マッピング!Miruroadのポットホール検知機能とは? 本記事では、Miruroadの「ひび割れ診断機能」についてご紹介させていただきます。 続きを読む

IoCとは何か? 〜「作る」だけでなく「呼ぶ」「片付ける」も〜

Tech blog

SpringBoot

(前回記事「なぜSpring BootはDI(依存性の注入)を使うのか?」の続きです)

前回は、密結合・疎結合の違いから始まり、DI(依存性注入)がなぜ必要なのか、そしてSpringのDIコンテナ(IoCコンテナ)がどのように依存関係を自動で解決してくれるのかを解説しました。

今回は、その「DIコンテナ」のさらに奥にある設計思想――IoC(Inversion of Control/制御の逆転)について、できるだけやさしく見ていきます。

実は、DIはIoCを実現するための手段のひとつです。ざっくり言うと、DIは「必要な部品を外から渡す仕組み」、IoCは「オブジェクトの生成やフレームワークからの呼び出しの主導権をフレームワークに渡す考え方」です。SpringのDIコンテナは「IoCコンテナ」とも呼ばれます。

ただし、IoCが逆転させるのは「オブジェクトの作り方」だけではありません。 コンテナが管理するBeanでは、生成・初期化・破棄をフレームワークに任せられます。また、イベントやWebリクエスト、スケジュール実行などのフレームワークの入口では、処理を呼び出すタイミングもフレームワークが管理します。

続きを読む

VitestとSupertestによるExpress APIテストの実践

Tech blog

みなさん、こんにちは!クラウドソリューション開発部の寺谷です。
7月に入り、北海道もいよいよ夏本番という気温になってきましたね。暑い日に飲む冷たい炭酸水は最高ですが、お腹を壊さないように体調管理には気をつけていきます!

Vitestというと、ViteやReactと一緒に使うフロントエンド向けの印象が強いかもしれません。ですが、今回触ってみて「バックエンドのAPIテストでもかなり使いやすい」と感じました。

この記事では、カレンダーアプリのバックエンドAPIを例に、VitestとSupertestを使ってExpress APIのテストを書いた話を紹介します。
続きを読む