TECH PLAY

Luup

Luup の技術ブログ

184

この記事はLuup Advent Calendarの12日目の記事です。 データエンジニアリングチームとサーバーチームの t-kurimura です。 今回はアプリ開発に欠かせないユーザーの行動ログ分析において、実装漏れや仕様の認識不足によるログ欠損を防ぐためのアイデアをご紹介します。 背景課題 行動ログの分析までの過程で以下のような問題が起きたことはありませんか? 分析のためのイベントの実装をし忘れてしまっている イベントの実装が特定のパターンでのみ送られないようになっていて分析・調査・修正に時間を要する 実装したイベントの形式がデータチームの認識と異なっている このようにイベ
アバター
※この記事は、Luup Advent Calendar の11日目の記事です。 最初に こんにちは、Luup SREチームの峯岸です。 今回はLuupのSREチームにて行っている「SLI/SLOの導入」への取り組みについて記載したいと思います。 LuupのSREチーム紹介で記載しているように、SREチームはインフラ品質や信頼性を高めることを目的に動いております。 その中のミッションの1つに「組織全体へのSLI/SLOの導入」があり、その導入に向けてSREチームは日々奮闘しております。 そこでLuupとしてSLI/SLOの導入に向けて、Datadogの利用を検討しました。 この記事では
アバター
※この記事は、Luup Advent Calendar の11日目の記事です。 最初に こんにちは、Luup SREチームの峯岸です。 今回はLuupのSREチームにて行っている「SLI/SLOの導入」への取り組みについて記載したいと思います。 LuupのSREチーム紹介で記載しているように、SREチームはインフラ品質や信頼性を高めることを目的に動いております。 その中のミッションの1つに「組織全体へのSLI/SLOの導入」があり、その導入に向けてSREチームは日々奮闘しております。 そこでLuupとしてSLI/SLOの導入に向けて、Datadogの利用を検討しました。 この記事では
アバター
この記事はLuup Advent Calendarの10日目の記事です。 はじめに こんにちは、Luupのサーバサイドチームに業務委託でジョインしているrendaman0215です。 日々開発を進めていくなかでプロジェクトが大きくなっていくにつれ依存パッケージが増えていきますよね。 我々のチームでもnpmパッケージの更新検知や脆弱性への対応に以下のような課題を持っていました。 脆弱性や更新を誰かが定期的にチェックする必要がある バージョンアップを行う際、リリースノートを確認しつつ慎重に行う必要がある アップデートしないと最新の機能が使えない そのため依存関係更新ツールを導入し、b
アバター
この記事はLuup Advent Calendarの10日目の記事です。 はじめに こんにちは、Luupのサーバサイドチームに業務委託でジョインしているrendaman0215です。 日々開発を進めていくなかでプロジェクトが大きくなっていくにつれ依存パッケージが増えていきますよね。 我々のチームでもnpmパッケージの更新検知や脆弱性への対応に以下のような課題を持っていました。 脆弱性や更新を誰かが定期的にチェックする必要がある バージョンアップを行う際、リリースノートを確認しつつ慎重に行う必要がある アップデートしないと最新の機能が使えない そのため依存関係更新ツールを導入し、b
アバター
この記事は、Luup Advent Calendarの9日目の記事です。 こんにちは。Data Engineeringチームの河野(@matako1124) です! 最近データカタログを導入したのですが、ツールの選定方法と実装方法についてご紹介したいと思います。結論から言うと、Luupでは社内ドキュメントとしてNotionをどの部署も使用しているため、Notionをデータカタログとして使おうという選択にしました。 注意 執筆に当たり細心の注意を払っておりますが、不十分な説明や誤りがある可能性もございます。 記事内で紹介しているコードは部分的なものであり、参考程度にご参照ください。
アバター
この記事は、Luup Advent Calendarの9日目の記事です。 こんにちは。Data Engineeringチームの河野(@matako1124) です! 最近データカタログを導入したのですが、ツールの選定方法と実装方法についてご紹介したいと思います。結論から言うと、Luupでは社内ドキュメントとしてNotionをどの部署も使用しているため、Notionをデータカタログとして使おうという選択にしました。 注意 執筆に当たり細心の注意を払っておりますが、不十分な説明や誤りがある可能性もございます。 記事内で紹介しているコードは部分的なものであり、参考程度にご参照ください。
アバター
この記事はLuup Advent Calendarの8日目の記事です。 こんにちは、QA(Quality Assurance)チームです。 ほかの方々の記事ではtechな内容でしたりLuup特異な内容で執筆されていますが、 QAチームの記事が初なので今日はチームの体制・業務のご紹介となります。 最後までご覧いただけたら嬉しいです。 QAチームの体制とスプリント内の活動 QAチームの体制? アプリのローンチ開始~チーム結成前までは開発者間でテストまたはレビューをしていましたが、より素早く安全で確実に稼働するサービスをユーザーへ提供できるよう 2021年7月よりLuupにQAチームが
アバター
この記事はLuup Advent Calendarの8日目の記事です。 こんにちは、QA(Quality Assurance)チームです。 ほかの方々の記事ではtechな内容でしたりLuup特異な内容で執筆されていますが、 QAチームの記事が初なので今日はチームの体制・業務のご紹介となります。 最後までご覧いただけたら嬉しいです。 QAチームの体制とスプリント内の活動 QAチームの体制? アプリのローンチ開始~チーム結成前までは開発者間でテストまたはレビューをしていましたが、より素早く安全で確実に稼働するサービスをユーザーへ提供できるよう 2021年7月よりLuupにQAチームが
アバター
※この記事はLuup Advent Calendarの7日目の記事です。 こんにちは、Luupの松本です。 今日は、機械学習のちょっと変わった使い方について、Luupでの実例を用いて簡易に紹介します。機械学習というと、モデリングをして予測結果を出し、それを活用して初めて価値が出ると言われることがあります。基本的に多くのケースでその認識は正しいのですが、機械学習の副産物を活用することにより、予測結果を活用することなくかつ容易にビジネス上の価値を出せることがあります。機械学習の基礎を少し理解していることが前提になりますが、それ以上の深い知識は必要ありません。 機械学習を使ったインサイトの
アバター
※この記事はLuup Advent Calendarの7日目の記事です。 こんにちは、Luupの松本です。 今日は、機械学習のちょっと変わった使い方について、Luupでの実例を用いて簡易に紹介します。機械学習というと、モデリングをして予測結果を出し、それを活用して初めて価値が出ると言われることがあります。基本的に多くのケースでその認識は正しいのですが、機械学習の副産物を活用することにより、予測結果を活用することなくかつ容易にビジネス上の価値を出せることがあります。機械学習の基礎を少し理解していることが前提になりますが、それ以上の深い知識は必要ありません。 機械学習を使ったインサイトの
アバター
こんにちは IoT チームの田中です。 この記事は Luup Advent Calendar の 6 日目の記事です。 LUUP 車両の通信は SORACOM SIM を利用していて、SORACOM API を使って通信状況や稼働状況などを30分程度の間隔で定期的に記録するようにしています。 どのようにデータを記録して、そのデータをどう活用するかは、まだまだ試行錯誤の段階のため、プロトタイピングしやすいように Node-RED というローコードツールを GCP の中につくって SORACOM API からの SIM 情報取得を定期的に動かしています。 今日はこの仕組みの紹介と、いろいろな
アバター
こんにちは IoT チームの田中です。 この記事は Luup Advent Calendar の 6 日目の記事です。 LUUP 車両の通信は SORACOM SIM を利用していて、SORACOM API を使って通信状況や稼働状況などを30分程度の間隔で定期的に記録するようにしています。 どのようにデータを記録して、そのデータをどう活用するかは、まだまだ試行錯誤の段階のため、プロトタイピングしやすいように Node-RED というローコードツールを GCP の中につくって SORACOM API からの SIM 情報取得を定期的に動かしています。 今日はこの仕組みの紹介と、いろいろな
アバター
この記事はLuup Advent Calendarの5日目の記事です。 LUUPサーバーチームのt-kurimuraです。 この記事ではLUUPのサーバーのレポジトリのひとつで実装されている画像に対するバリデーションをご紹介します。 背景 LUUPではキャンペーンなどユーザーへお知らせする際にバナーなどで画像素材を利用します。 これら画像はサーバー上にアップロードされアプリ側へURLを渡す形で表示されます。 この画像の容量が大きいと表示に時間がかかったり、縦横比が指定どおりでないと表示崩れを起こしたりして、デザイン時の意図した表示なりません。ただそれらのルールがデザイナーとエンジニア
アバター
この記事はLuup Advent Calendarの5日目の記事です。 LUUPサーバーチームのt-kurimuraです。 この記事ではLUUPのサーバーのレポジトリのひとつで実装されている画像に対するバリデーションをご紹介します。 背景 LUUPではキャンペーンなどユーザーへお知らせする際にバナーなどで画像素材を利用します。 これら画像はサーバー上にアップロードされアプリ側へURLを渡す形で表示されます。 この画像の容量が大きいと表示に時間がかかったり、縦横比が指定どおりでないと表示崩れを起こしたりして、デザイン時の意図した表示なりません。ただそれらのルールがデザイナーとエンジニア
アバター
※この記事はLuup Advent Calendarの4日目の記事です。 以前、あるBLEデバイスを操作するAndroidアプリを開発するのに、肝心のBLEデバイスの実機が入手できないということがありました。そこで通信仕様の資料を元にESP32でダミーのBLEデバイスを作ってみたところ、よい感じに動いてくれたので事なきを得たのでした[1]。 ESP32は安価で入手性もよく、Arduinoで手軽にプログラムを開発できるという利点があります。 本記事では、ESP32を使った簡単なBLEデバイスの作成例をご紹介します。 ところで、ハーラル1世という10世紀のデンマークの王様に、神経の死んだ歯が
アバター
※この記事はLuup Advent Calendarの4日目の記事です。 以前、あるBLEデバイスを操作するAndroidアプリを開発するのに、肝心のBLEデバイスの実機が入手できないということがありました。そこで通信仕様の資料を元にESP32でダミーのBLEデバイスを作ってみたところ、よい感じに動いてくれたので事なきを得たのでした[1]。 ESP32は安価で入手性もよく、Arduinoで手軽にプログラムを開発できるという利点があります。 本記事では、ESP32を使った簡単なBLEデバイスの作成例をご紹介します。 ところで、ハーラル1世という10世紀のデンマークの王様に、神経の死んだ歯が
アバター
※この記事はLuup Advent Calendarの3日目の記事です。 こんにちは。 この記事ではIoTチームから、LuupのIoT、とりわけMQTTに関連するアーキテクチャの改善事例について紹介します。 MQTTにまつわる問題いろいろ Luupでは通信プロトコルにMQTTを用いた車両(下図の Device )を使用しています。 このMQTTを用いた通信に関していくつか問題点がありました。 変更前のアーキテクチャでのフロー 車両から解錠や施錠の状態変化を受け取るためにMQTT BrokerをSubscribeするためのVMが必要 (⑤⑥) MQTT BrokerにID/PASS
アバター
※この記事はLuup Advent Calendarの3日目の記事です。 こんにちは。 この記事ではIoTチームから、LuupのIoT、とりわけMQTTに関連するアーキテクチャの改善事例について紹介します。 MQTTにまつわる問題いろいろ Luupでは通信プロトコルにMQTTを用いた車両(下図の Device )を使用しています。 このMQTTを用いた通信に関していくつか問題点がありました。 変更前のアーキテクチャでのフロー 車両から解錠や施錠の状態変化を受け取るためにMQTT BrokerをSubscribeするためのVMが必要 (⑤⑥) MQTT BrokerにID/PASS
アバター
Luup Developers Advent Calendar の2日目の記事です。 こんにちは、Luup Developers Blog 編集部の堀内(@shinya_h)です。 この記事では下記の内容について記載します。 なぜ Developers Blog を始めようと思ったのか Developers Blog を始めて実感したこと 今年注目度が高かった記事 今後の課題 なぜ Developers Blog を始めたか Luup のエンジニアは「街じゅうを「駅前化」するインフラをつくる」をミッションに 「いかに早く、これからの日本に必要な新しい交通インフラをつくるか」を実現
アバター