ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

LiteLLMを利用したAI活用基盤を紹介します

AI

はじめに 記事を開いていただきありがとうございます。サーバサイドエンジニアのオーです。 今回は「LiteLLMを利用したAI活用基盤」をテーマに「システム構築例」と「運用面のメリット」を簡単に紹介します。 LDIでは、業務生産性の向上の一環としてAIの導入…

ご当地からあげクンをできるだけ簡単に2種類買いたい。エリア限定商品の空間解析

こんにちは、データ分析チームのIです。今回はご当地からあげクンのお話をさせていただきます。 1. ご当地からあげクン 2. 最短距離の探索と計算 3. 最短店舗探索の実行 4. からあげクンが2種類買える最短距離の店舗 4.1 東北と首都圏 4.2 首都圏と中部 4.3 …

【Android】startActivityForResultとonActivityResultのdeprecated対応

はじめに startActivityForResultとonActivityResultとは? deprecatedの内容と置き換え方法 置き換えのメリット 遷移元画面の結果受け取り処理の可読性向上 ActivityResultContractによる返り値の型の強制 最後に はじめに Androidエンジニアの篠本(ささも…

【Android】GlobalScopeの置き換え対応

はじめに GlobalScopeとは? GlobalScopeがdelicate扱いに 対応方法 最後に はじめに Androidエンジニアの篠本(ささもと)です。 今回、delicate(取り扱い注意)のGlobalScopeをwithContext(NonCancellable)に置き換えまして、そのご紹介をさせていただきます…

【Android】getSerializableやgetParcelableのdeprecated対応

はじめに getSerializableとgetParcelableとは? deprecatedの内容 対応方法 最後に はじめに Androidエンジニアの篠本(ささもと)です。 今回は、AndroidのgetSerializableやgetParcelableなどで発生しているdeprecated対応についてご紹介させていただきます…

スマホアプリ自動テストフレームワークのShiratesを画像認識技術で改良しました

プロジェクトディベロップメント部の仙波です。 スマホアプリ用自動テストフレームワーク Shirates(シラテス) を画像認識技術を活用して改良しました。 メジャーアップデートです。macOSで利用できます。 github.com 旧バージョンが抱えていた問題 Shirate…

Swift 6のTyped throwsを活用する型安全なエラーハンドリング

はじめに iOSエンジニアの申です。今回はエラーハンドリング時に発生した問題とTyped throwsの活用についてご紹介させていただきます。 発生した問題とその原因 エラーが返される可能性がある関数を実行した際にエラーが発生した場合、そのエラーをハンドリ…

生成AIで単体テストシナリオを作成!プロンプトで工夫したことなどご紹介

AI

ローソンデジタルイノベーション(LDI)のiOS/Android開発リーダーの阪口です。 LDIでは、アプリ開発スピードの向上のため、生成AIを活用した作業効率化を実施中です。 今回は施策の一つである、生成AIで単体テストシナリオ作成を実施した例をご紹介させていた…

DiffableDataSourceで表示が更新されない? Hashable実装の落とし穴

はじめに SectionIdentifierTypeとItemIdentifierTypeをHashableに準拠させる上での注意点 【注意点】Hashable実装の落とし穴:表示内容の変更が反映されないケース 理由の解説と解決策 理由 解決策 最後に はじめに こんにちは、ローソンデジタルイノベーシ…

HTMX 入門しました - 編集画面編

LDIで開発担当しているOKです。 前回に続き HTMX を使った事をやっていきます。 今回はコンテンツの一覧を表示・編集・削除ができる画面を HTMX を交えて作っていきます。 完成するとこんな感じのページになります。 編集画面完成形 ディレクトリ構成 実装一…