Luup Developers Blogのフィード

https://zenn.dev/p/luup_developers

電動キックボードや小型電動アシスト自転車など、電動マイクロモビリティのシェアサービス「LUUP」を展開するLuupのテックブログです。Zenn Publication利用中 【エンジニア採用中】recruit.luup.sc

フィード

記事のアイキャッチ画像
【イベント】モビリティ業界のエンジニア向けLT会「Mobility Night」の第1回を開催しました!
Luup Developers Blogのフィード
はじめにこんにちは!@tsuboyan です!Luup でiOSエンジニアをしています。モビリティ業界のエンジニア向けLT会「Mobility Night」の第1回を開催しましたので、その様子をふんわりとお伝えしたいと思います! Mobility Night とは 概要Mobility Night は、モビリティ業界に関連した企業や団体などのソフトウェアに関連する技術や知見について共有し、業界を盛り上げていくための勉強会です。今回は、クローズドで開催した前回に続く、第1回目のイベントとなりました。キャンセル待ちが発生するほど多くの方々にご参加いただき、大変盛況でし...
16日前
記事のアイキャッチ画像
GitHub Actionsでブラウザ表示のスクリーンショットを撮る
Luup Developers Blogのフィード
背景フロントエンド開発では、実装したWebページがどのように表示されているのか確認したい場面があると思います。最近では、vue-cli-service serve や nuxi dev などのフレームワークを使うことで、手元で簡単にホスティングが可能になり、ホットリロードで変更を用意に確認できます。一方でプロダクトによってはスマホサイズやPCサイズの両方の表示を確認する必要があったり、多言語対応をしたりすると1ページずつ確認していく作業は手間がかかります。そこで GitHub Actions で様々なパターンのスクリーンショットを撮影するように実装します。 準備ステップ...
1ヶ月前
記事のアイキャッチ画像
技術発信をあきらめない
Luup Developers Blogのフィード
こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の25日目の記事です。こんにちは。株式会社Luup CTOの岡田(@7omich)です。気付けば11月も最終週となり、1か月前倒しで始めたこの Advent Calendar も無事最後の記事を迎えました。私がいまから頑張ってこの記事を完成させることができれば、めでたく今年もアドカレは完走となるわけです。こういった発信活動に時間を見つけて取り組んでくれるメンバーに感謝をしつつ、このタイミングでこれまでを振り返り、私や周りのメンバーが悩んだことや決め...
1ヶ月前
記事のアイキャッチ画像
Amazon SESを使ったメール転送の仕組みの構築と文字化け対策
Luup Developers Blogのフィード
はじめにメールインフラの構築は、時に開発者にとって困難に直面するタスクです。その困難は、DNS設定や文字コード、もしくはメールボリュームの管理などがいろいろあります。本記事では、Amazon Simple Email Service (SES)を利用したメール転送システムの実装と、日本語メールを扱う上での文字コード問題への対処法について記載します。 要件以下の要件を満たすメール転送の仕組みを構築することでした:高速かつ信頼性の高いメール転送日本語メールの正確な処理費用対効果の良いソリューション管理負荷の少ない小さめのソリューションそこでClassmethodさ...
1ヶ月前
記事のアイキャッチ画像
たのしいPLCプログラミング
Luup Developers Blogのフィード
※この記事は Luup Advent Calendar 2024 の 23 日目の記事です。IoT チーム業務委託エンジニアの山口です。本記事では PLC のプログラミングについてご紹介します。 はじめに朝のエレベーター、自動改札、自動ドア、コンビニに並ぶ工業製品、私たちの周りには数えきれないほどの自動化システムが働いています。これらを制御しているのが PLC(Programmable Logic Controller)です。制御に特化したコンピュータである PLC は、過酷な環境下で 24 時間 365 日の連続運転に耐える高い信頼性を備えており、各メーカーがそれぞれの特徴を...
1ヶ月前
記事のアイキャッチ画像
検証時の不具合起票について
Luup Developers Blogのフィード
こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の22日目の記事です。 はじめにこんにちは、QAチームのかすみです。今回はLuupのQAチームの不具合の扱い方についての記事です。 使用ツールQAをするにあたって切り離せないものがあります。不具合管理です。スプレッドシートやJIRA、Redmine、Backlogなど起票ツールは星の数ほどありますが、うちのチームではGitHubを使っています。理由として他チームとのやり取りがほぼGitHubメインで、ストレスなくやり取りができる為です。...
1ヶ月前
記事のアイキャッチ画像
Cloud FunctionsでのOpenTelemetryの活用検証
Luup Developers Blogのフィード
こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の21日目の記事です。こんにちは。SREチームの岡谷です。LuupではCloud Run Functions(以下、CF)がバックエンドの主なインフラとなっています。そのなかで同期的に行う必要のない重い処理をPub/Subを経由して非同期実行する場合があります。その時の連携のメジャーパターンとしてCF -(Pub/Sub)-> Pub/Sub Triggerd CFというパターンがあります。このようなメジャーパターンの連携ですが、普通にしてい...
1ヶ月前
記事のアイキャッチ画像
Cloud Run Jobsで定型作業を自動化してみた
Luup Developers Blogのフィード
※この記事は、Luup Developers Advent Calendar 2024の20日目の記事です。こんにちは。IoTチームのYuxiです。今日は Google Cloud Run Jobs を使って、反復的な定型作業をどう効率化したのかをお話しします。開発者として、「面倒な作業をいかに楽にするか」に情熱を燃やす日々ですが、今回もその一環です。 背景と課題IoTチームでは、以下のような「やりたくないけど必要」な定型作業があります。 1. SORACOM通信量の手動集計毎月、SORACOM の API から SIM のステータスと通信量を手動で取得してレポートを作...
1ヶ月前
記事のアイキャッチ画像
社内で少数派のWindows利用者がおすすめするツール5選
Luup Developers Blogのフィード
こんにちは!実は私、Luupでは少ないWindows派です。MacBookを持ち歩く同僚たちの中で、Windowsを愛用している変わり者です(笑)。「なんでWindowsなの?」とよく聞かれますが、社内のWindowsトラブル対応のために重宝しているという理由があるためです。また、プライベートではSteamのゲームをするためWindowsに慣れているためでもあります。ただし、業務でWindowsの機能をがっつり使うというよりはLinuxのように使い、たまにWindowsの機能を使うというような使い方をしています。今回は、そんな私が日々の開発で重宝している便利ツールを5つほどご紹介...
1ヶ月前
記事のアイキャッチ画像
「"君は見ているが観察していない"で考えるインシデントマネジメント」という題で登壇しました
Luup Developers Blogのフィード
はじめにLuupのSREチームに所属している、ぐりもお(@gr1m0h)です。この記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の18日目の記事です。11/9に広島県で開催されたオープンセミナー2024@広島に登壇しました。本内容は、Luupでの取り組みとはほぼ関係ありません。「インシデント対応において必要な力」についての個人的な整理です。事例として一部Luup SREチームで行っている取り組みを取り上げています。https://osh.connpass.com/event/324736/登壇...
2ヶ月前
記事のアイキャッチ画像
運用を支える内製システム開発の優先度をどう考えるか — モビリティシェアリングサービスにおける実践例
Luup Developers Blogのフィード
社内システムの優先度をどう考えるか — Luupにおける実践例こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の17日目の記事です。 はじめに本記事では、システムの優先度付けの考え方や判断基準について、実例とともにご紹介します。Luupでは、日々のバッテリー交換や車両の修理を支えるフィールドオペレーション部、ハードウェア部、カスタマーサポート部など、多岐にわたる部署から寄せられる開発要望に対して、限られたリソースで対応していく必要があります。そのため、私たちが特に大切にしている優先度決定...
2ヶ月前
記事のアイキャッチ画像
Widget Extensionで起きたバイナリサイズの肥大化
Luup Developers Blogのフィード
※この記事は LuupのCM放映に合わせた「少し早いAdvent Calendar」 の16日目の記事です。こんにちは。iOSエンジニアの山手です。普段は公共交通関連のiOSアプリ開発に携わり、Luupでは業務委託としてiOSアプリの機能改修や品質改善のお手伝いをさせていただいています。今回は、LUUP iOSアプリに発生したバイナリサイズの肥大化問題についてご紹介いたします。 LUUP iOSアプリのマルチモジュール構成についてLUUP iOS版アプリでは、Swift Package Managerを用いたマルチモジュール構成を採用しています。マルチモジュール構成への移行は...
2ヶ月前
記事のアイキャッチ画像
Luupにおけるデータ活用の品質を担保するために取り入れたこと
Luup Developers Blogのフィード
こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の15日目の記事です。 はじめにこんにちは。Data Groupの小林(@mizkino) です。Luupにおけるデータ活用とそれを支えるデータ基盤についてお話しします。近年、多くの企業でデータの信頼性をいかに担保するかが大きなトピックとなっています。データの収集から加工、分析、そして意思決定への活用まで、各フェーズでの品質管理の重要性が認識され、様々な取り組みが行われています。Luupも例外ではなく、データパイプラインにおける品質管理の仕組...
2ヶ月前
記事のアイキャッチ画像
conftestを使った権限変更のブロックについて
Luup Developers Blogのフィード
この記事は、LUUPのTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の14日目の記事です。こんにちは、SREチームの髙橋です。今回は、RegoとConftestで実現するTerraformのポリシーチェック自動化についてご紹介します。 はじめにインフラコードの管理において、適切な権限管理とポリシーの徹底はセキュリティーを守る上で非常に重要です。そこで、柔軟なポリシー定義ができるRegoと、自動テストを行うConftestを用いることで、コードに対する一貫したポリシーチェックを実現できます。今回の記事では、RegoとC...
2ヶ月前
記事のアイキャッチ画像
Waroomを使ったバックエンドのオンコール対応
Luup Developers Blogのフィード
こちらの記事は、「Luup Developers Advent Calendar 2024」の13日目の記事です。こんにちは。Luup Serverチームの原です。LUUPでは、土日祝日にユーザー体験を損なわせないことを目的として、バックエンドのシステムで発生したインシデントを迅速に復旧する取り組みを行っております(以降はオンコールと呼びます)。この記事では、実際のオンコール対応の進め方について、Waroomを中心としたアーキテクチャに触れながら紹介していきます。 オンコール対応のためのシステムアーキテクチャオンコール概要図オンコール観点でのLUUPのバックエンドのシステ...
2ヶ月前
記事のアイキャッチ画像
Androidの Vector Drawable をGitHubでプレビューできるようにする
Luup Developers Blogのフィード
はじめにこちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の7日目の記事です。(公開が数日遅れました)こんにちは、Luup Androidチームの河原です。GitHubでは、画像のプレビュー機能があり、一般的な画像形式(PNG、JPG、GIF、PSD、SVG) の画像をGitHubのWeb上でプレビューすることができます。(2024/11/07時点の情報)pngファイルの差分の様子この機能はレビューをする際などにとても便利なのですが、Androidで扱えるVector画像のファイル形式であ...
2ヶ月前
記事のアイキャッチ画像
Luup Serverチームの開発生産性向上の取り組み:ZodとOpenAPIの共存 & 生成AIの活用
Luup Developers Blogのフィード
こちらの記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の12日目の記事です。こんにちは! Luup Serverチーム所属の安元です。私たちServerチームでは、開発の効率と品質を向上させるためにさまざまな取り組みを行っています💪 その一環として、APIドキュメントの整備に関してZodとOpenAPIを共存させる方針を採用しました。また、生成AIの利用を通じて、開発者体験の改善にも取り組んでいます。この記事では、その具体的な取り組みについてサンプルコードとともに紹介します。 ZodとOpenAPIの共...
2ヶ月前
記事のアイキャッチ画像
モバイルアプリの新バージョンのパフォーマンス劣化に気付くための仕組み
Luup Developers Blogのフィード
はじめにLuupのSREチームに所属している、ぐりもお(@gr1m0h)です。この記事は、LUUP のTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の11日目の記事です。LUUPでは、iOS、Androidのアプリを2週間単位でリリースしています。つまり、2週間単位で新しいバージョンが利用できるようになるのですが、新しいバージョンが前バージョンよりも著しくパフォーマンスが悪くなっているかを早期に検知する必要があります。今回は、これを検知するためにDatadogを使ってアラートをPdMと調整しながら作成したので、これ...
2ヶ月前
記事のアイキャッチ画像
社内向けオペレーションアプリをFlutterで開発している話
Luup Developers Blogのフィード
この記事はLuup Advent Calendarの10日目の記事です。こんにちは、モバイルアプリエンジニアの大瀧です。今回は、Flutterで開発されている社内向けオペレーションアプリについてご紹介します。 OPSアプリの概要LUUPでは日々ユーザーが快適に使えるよう、車両のバッテリー交換や故障車両の改修やメンテナンス・ポートの設置など様々なオペレーション作業が裏側で行われています。それらを支えるためのツールとして社内向けにオペレーションアプリを開発しています。主に以下の機能があります。メンテナンス・バッテリー交換・故障修理が必要な車両情報の可視化車両の偏りがある地域...
2ヶ月前
記事のアイキャッチ画像
Cloud Tasks キューで遅延プッシュ通知を実装した話
Luup Developers Blogのフィード
こちらの記事は、LUUPのTVCM放映に合わせた一足早い「Luup Developers Advent Calendar 2024」の9日目の記事です。 はじめにこんにちは。Luup Serverチーム所属の井上です。突然ですが問いを発します。Q. サーバー(GCP上)からiOS/Androidアプリへ送るプッシュ通知を、ユーザーの行動から一定時間遅延させるには…?A. Cloud Tasks キュー でscheduleDelaySeconds を指定するとキューイングを遅延させることができるよ!タスクを受け取った側でプッシュ通知を送信しよう!…ということをお伝えするた...
2ヶ月前