ブックマーク / engineering.mercari.com (81)

  • メルカリ ハロ アプリの技術スタックの紹介 | メルカリエンジニアリング

    こんにちは。メルカリ ハロでSoftware Engineerをしている @atsumoです。連載『Mercari Hallo, World! -メルカリ ハロ 開発の裏側-』の第5回を担当します。 メルカリ ハロではメルカリアプリ内にある「はたらくタブ」とは別にクルー向けのアプリ(ストアで「メルカリ ハロ」と検索してみてください)を用意しています。記事では、アプリ版のメルカリ ハロで使用している技術とその選定理由、さらにリリースまでの開発の進め方などを踏まえてご紹介したいと思います。 この記事で得られること メルカリ ハロのアプリの技術スタック その技術選定の理由と効果 開発の進め方とヒント 技術スタック メルカリ ハロ アプリで使っている技術スタックをいくつかピックアップして紹介できればと思います。 フレームワーク: Flutter 第2回の記事の中のメルカリ ハロのモバイルアプリの

    メルカリ ハロ アプリの技術スタックの紹介 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2024/06/12
  • メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング

    こんにちは。メルカリ ハロのSoftware Engineer (Engineering Head)の@napoliです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の2回目を担当させていただきます。 2024年3月上旬にメルカリ ハロという新しいサービスが公開されました。メルカリ ハロは好きな時間に最短1時間から働ける「空き時間おしごとアプリ」です。 この記事ではメルカリ ハロを作るにあたり、どういった技術スタックやアーキテクチャを選定したのか、さらにその背景と意思決定をご紹介したいと思います。 この記事で得られること メルカリ ハロで採用されている技術スタックやアーキテクチャの全体像 その意思決定の理由とプロセス これから新規サービスを立ち上げるうえでのヒント 主な技術スタック メルカリ ハロで利用されている主な技術スタックは以下のとおりです。 バッ

    メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2024/05/29
  • LLMを活用した大規模商品カテゴリ分類への取り組み | メルカリエンジニアリング

    こんにちは、メルカリの生成AIチームで ML Engineer をしている ML_Bear です。 以前の記事[1]では商品レコメンド改善のお話をさせていただきましたが、今回は、大規模言語モデル (LLM) やその周辺技術を活用して30億を超える商品のカテゴリ分類を行なった事例を紹介します。 ChatGPTの登場によりLLMブームに火がついたということもあり、LLMは会話を通じて利用するものだと認識されている方が多いと思いますが、LLMが有する高い思考能力はさまざまなタスクを解決するためのツールとしても非常に有用です。他方、その処理速度の遅さや費用は大規模なプロジェクトでの活用にあたっての障壁となり得ます。 記事では、こうしたLLMの課題を克服するためにさまざまな工夫を施し、LLM及びその周辺技術のポテンシャルを最大限に引き出して大規模商品データのカテゴリ分類問題を解決した取り組みについ

    LLMを活用した大規模商品カテゴリ分類への取り組み | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2024/04/12
  • メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング

    こんにちは。メルコインのバックエンドエンジニアのiwataです。 この記事は、Merpay Advent Calendar 2023 の23日目の記事です。 私はいまメルコインのCoreチームに属しています。Coreチームでは主にお客さまからの暗号資産の売買注文を受け付ける部分のマイクロサービスを開発運用しています。 メルコインではCI環境としてGitHub Actions self-hosted runnerを使用しています。またCIだけでなく、さまざまな自動化のためのワークフローの構築もこの環境を用いて実行しています。この記事では私の所属しているCoreチームにおいてGitHub Actions上に構築しているオートメーションについて紹介したいと思います。 PR-Agent PR-AgentはOpenAI APIを使って、PRのコードレビューなどを自動化してくれるActionです。La

    メルコインにおけるGitHub Actions活用術 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2023/12/24
  • 【書き起こし】1週間リリースを支えるAndroid自動テスト運用のその後 – Kenta Takahashi / Shintaro Miyabe【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング

    Merpay & Mercoin Tech Fest 2023 は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知ることができるお祭りで、2023年8月22日(火)からの3日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「1週間リリースを支えるAndroid自動テスト運用のその後」の書き起こしです。 @kenken:それでは、「1週間リリースを支えるAndroid自動テスト運用のその後」について発表します。 簡単に自己紹介をします。 @kenken:メルペイAndroidチームの@kenkenと申します。2021年5月にメルペイへ入社しました。現在はメルペイのあと払いをはじめとした、与信領域の機能開発やリグレッションテストの自動化などを担当しています。 @shinmiy:

    【書き起こし】1週間リリースを支えるAndroid自動テスト運用のその後 – Kenta Takahashi / Shintaro Miyabe【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2023/10/30
  • テストコードの改革を進めている話 | メルカリエンジニアリング

    はじめに この記事は、Merpay Tech Openness Month 2023 15日目の記事です。 こんにちは。メルペイ加盟店精算チームのバックエンドエンジニア@r_yamaokaです。 今日は現在自分がリードして取り組んでいるテストコードの改善について紹介したいと思います。 抱えている課題 私が所属している加盟店精算チームのマイクロサービスは加盟店さま向けサービスとして欠かせないものであり、メルペイ最初期から存在するサービスです。他のマイクロサービスにあまり無い特徴として多数のバッチ処理を行っている点が挙げられます。 お客さま(メルペイユーザー)がお店で行った決済は、一定の頻度で集計し決済手数料を差し引いた上で加盟店さまの銀行口座へ振り込むことになります。 最終的な振込金額を算出するまでの流れとしては 個々の決済金額のリコンサイル(会計マイクロサービスとの金額照合) 日次集計 締

    テストコードの改革を進めている話 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2023/06/29
  • SOLID原則に従って行うリファクタリング実践 | メルカリエンジニアリング

    この記事は、Merpay Advent Calendar 2022 の21日目の記事です。 こんにちは。メルペイBackendエンジニアのfivestar(@fivestr)です。 記事では「SOLID原則」と呼ばれる設計原則に沿って実際に行ったリファクタリングについて、メルペイの「あと払い」サービスの開発現場事情を踏まえながらご紹介していきます。 あと払いの歴史とコード負債 私が所属するCredit Designチームではメルペイの「あと払い」や「メルペイスマートマネー」といった与信サービスの開発を行っています。中でも「あと払い」はメルカリが2017年にリリースした「メルカリ月イチ払い」を前身とする歴史の長いプロダクトであり、単純な機能追加だけでなく、設計上大掛かりな変更を伴う修正を繰り返しながら今日まで成長してきました。 例えば、あと払いをメルカードの決済・清算のバックエンドとして統

    SOLID原則に従って行うリファクタリング実践 | メルカリエンジニアリング
  • GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング

    この記事は、Merpay Advent Calendar 2022 の15日目の記事です。 こんにちは。メルペイのvvakameです。 最近、社内向けにGraphQL Client Architecture Recommendationというドキュメントを書きました。社内のiOS/Android、そしてバックエンドのエンジニア向けにGraphQLをやるならこの辺りの条件を満たしておかないと恩恵を感じられなくなっちゃうかもよ、と伝えるためのものです。嬉しいことに、今までに100名弱の人たちがこのドキュメントを閲覧してくれたようです。 これをAdvent Calendarで公開するために、ちょっと調整したものがこの社外版です。 すでにGraphQLをやっているけどあまり便利じゃないな…なんでだろ?とか、これから導入したいんだけど何を気をつけるべきかな…と考える時の材料にしてください。 併せて、

    GraphQL Client Architecture Recommendation 社外版 | メルカリエンジニアリング
  • ユニットテストのガイドラインを作成しました | メルカリエンジニアリング

    この記事は Merpay Tech Openness Month 2022 の15日目の記事です。 はじめに こんにちは。Credit Design Teamでバックエンドエンジニアをしている@tanaka0325です。主にメルペイスマート払いの開発をしています。 この記事では、先日私のチームで作成したユニットテストのガイドラインについて紹介します。 課題 現在私が担当している「メルペイスマート払い」のマイクロサービスは、もともと「メルカリ月イチ払い」として提供されていたコードを流用し、新規要件となる機能を追加して作られたマイクロサービスです。 マイクロサービス化するにあたり、「メルカリ月イチ払い」にあったデータはマイクロサービスリリース後に随時マイグレーションをする方針になったので、既存のデータをマイグレーションしつつ、定額払いなどの新規機能を追加してきました。メルペイスマート払いのマイ

    ユニットテストのガイドラインを作成しました | メルカリエンジニアリング
  • メルカリShops の技術スタック、その後 | メルカリエンジニアリング

    こんにちは。ソウゾウのSoftware Engineer(CTO)の@suguruです。連載:メルカリShops 開発の裏側 Vol.2の1日目を担当させていただきます。 去年、2021年に開始した メルカリShopsの技術スタック についての記事を書きましたが、今回はリリースまでに採用した技術スタックが、半年通してどのようにアップデートしてきたかを共有したいと思います。 ローンチ時に採用した技術が、実際の運用でどのように変遷したのかを共有することで、技術スタックを考える際の何らかの参考になれば幸いです。 monorepo メルカリShops ではサービスに必要なコードを1つに集約する monorepo を採用しています。リリース後半年たってコード量はかなり増えてきましたが、monorepo に対する満足度は非常に高く、うまく機能しています。 サービス全体の見通しが良くなることと、すべての

    メルカリShops の技術スタック、その後 | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2022/02/08
  • メルカリの検索基盤の変遷について | メルカリエンジニアリング

    ※この記事は、"Blog Series of Introduction of Developer Productivity Engineering at Mercariの一環で書かれています。 はじめに こんにちは、メルカリ、サーチインフラチームのshinpeiです。今回はメルカリの検索基盤の裏側について、そのアーキテクチャ変遷について書こうと思います。2018~2021年の4年間で、大きく3回、変化をしました。設計の段階では希望と期待にあふれているアーキテクチャでも、問題は後からやってきます。設計には良し悪しがあり、変化することで知見を得ながら、改善を続けています。え、これだと危ないのでは?、、あぁ、やはりそうなるのね。などと、ご笑覧いただければ幸いです。 前回までのお話 メルカリの検索は、創業時から、Solrをベースにしたシステムで組まれてました。その変遷はこちらのスライドにまとめてあ

    メルカリの検索基盤の変遷について | メルカリエンジニアリング
  • メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング

    Merpay Advent Calendar 2021 の 8 日目はメルペイフロントエンドチーム の @tanakaworld がお送りします。 はじめに メルペイは金融サービスであり、品質の維持・向上に日々取り組んでいます。フロントエンドチームでは、約 2 年前からリグレッションテストの自動化に取り組み始め、直近の 1 年間はインテグレーションテストの自動化にもチャレンジしてきました。記事ではメルペイフロントエンドチームに於けるテスト自動化の方針とその全体像について振り返ってみたいと思います。 フロントエンドプロダクトに関わるテストは次のものが挙げられます。これらをひとつずつ順番に見ていきたいと思います。 ユニットテスト インテグレーションテスト シナリオテスト リグレッションテスト テストの種類とそのカバレッジ対象 1. ユニットテスト ユニットテストは Jest を用いて、主に

    メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング
  • 評価の満足度を劇的にあげた秘訣。Continuous Feedbackのすすめ | メルカリエンジニアリング

    誰向けの記事? EM(Engineering Manager)の方に向けた記事です。 ただ、一般的な評価者全般にあてはまる内容を書いているので、評価を行う方なら誰でも参考にできると思います。 評価をする側ではないけど、どんな気持ちで自分のマネージャーが評価しているのか知りたい!といったエンジニアの方にも楽しんでいただけるかもしれません。 要約 メルカリエンジニア組織で、評価の負荷を削減しつつ、品質をあげるために、「Continuous Feedback」という仕組みを導入しました。 Continuous Feedbackは、通常よりも高い頻度でフィードバックを行うことで、負荷分散や、フィードバックサイクルの高速化などをはかる手法です。 導入した結果、評価に対する満足度や、評価を自身の成長に使えてると感じるようになったメンバーがとても増えました。現在では多くのEMの方が、評価に利用してくれて

    評価の満足度を劇的にあげた秘訣。Continuous Feedbackのすすめ | メルカリエンジニアリング
  • メルペイのクライアントエンジニアリングの話 | メルカリエンジニアリング

    この記事は、Merpay Advent Calendar 2021 の 5 日目の記事です。 @1000ch です。最近はメルペイのエンジニアリング部門にて、Android・iOS・Web を含むクライアントエンジニアリング全般を担当しているので、その話をします。 メルペイクライアントサイドの責務 メルペイのクライアントサイドはどのような領域を担当しているのか、俯瞰してみます。メルカリグループには、C2C マーケットプレイスを担うメルカリ、金融決済事業を担うメルペイ、メルカリ Shops を担うソウゾウ、フットボールクラブを運営する鹿島アントラーズ、暗号資産事業を担うメルコイン、物流事業を担うメルロジがあります。 一口に金融決済事業のクライアントサイドと言っても非常に様々で、いわゆる「iOS と Android のメルカリアプリのうち決済に関わる機能実装」だけで完結するほど単純ではありませ

    メルペイのクライアントエンジニアリングの話 | メルカリエンジニアリング
  • モブプログラミングを導入し、チーム一丸となってタスクに取り組むようになった話 | メルカリエンジニアリング

    はじめに メルペイ ML Platformチームの@ysk24okです。この記事は、 Merpay Advent Calendar の4日目の記事です。 記事では自チームにモブプログラミングを導入し、チーム一丸となってタスクに取り組むようになった話を共有します。 モブプログラミングとは モブプログラミング(以下モブプロ)とは、モブプログラミング・ベストプラクティスでは「3人以上の人々が1台のコンピューターの前に座って協力しながら問題を解決していくこと」と定義されています。Hunter Industries社のWoody Zuill氏が2015年頃からカンファレンスなどで発信しはじめたことで世の中に広まっていったと言われています。 モブプロでは1人のタイピストとその他のモブに分かれ、10分でタイピストを交代します。その他のモブは基的にコードは書かず、問題解決のためのアイデアをタイピストを

    モブプログラミングを導入し、チーム一丸となってタスクに取り組むようになった話 | メルカリエンジニアリング
  • 拡大し続ける開発組織の生産性を向上させるメルカリのクライアントCI/CDチーム #TeamInterview | メルカリエンジニアリング

    CI/CD(継続的インテグレーション/継続的デリバリー)は、ソフトウェアを素早く開発し、お客さまに素早く価値を届けるために必要不可欠です。バックエンドやフロントエンド、それぞれの技術レイヤーにおいてCI/CDが必要ですが、この記事はモバイルアプリやWebにおけるCI/CDを提供するクライアントCI/CDチームにスポットを当てます。 今回はクライアントCI/CDチームの@y-kazamaと@kaito、@thiそして@aha-oretamaにインタビューを行いました。現在の業務とこれからの取り組み、そしてチームが実施してきたユニークな取り組みについて話を聞いています。組織が大きくなる中でもエンジニアの生産性を低下させないように取り組む、彼らの思いをご覧ください。 聞き手はEngineering Officeの@afroscriptです。 クライアントCI/CDチームのメンバーについて — ま

    拡大し続ける開発組織の生産性を向上させるメルカリのクライアントCI/CDチーム #TeamInterview | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2021/11/26
  • ソウゾウのソフトウェアエンジニア選考ガイドを公開しました | メルカリエンジニアリング

    こんにちは。ソウゾウのソフトウェアエンジニアの@naopr です。 ソウゾウでは、10/7にメルカリShopsの格提供を開始しました! これを機にサービス開発を今まで以上に加速するため、より多くのエンジニアにソウゾウのことを知っていただこうと思いソフトウェアエンジニアの選考ガイドをGitHub上で公開することとしました。 https://github.com/mercari/souzoh-recruitment/blob/master/guide_software_engineer.md このエントリでは、選考内容の公開に至った背景と思い、公開にあたってこだわった点をお伝えできればと思っています。 公開に至った背景と思い 9月にソウゾウが開催したTech Talkにご参加いただいたエンジニアの方とカジュアル面談をする機会があったのですが、その中で「コーディングテストはどのような内容を何ヶ

    ソウゾウのソフトウェアエンジニア選考ガイドを公開しました | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2021/10/09
  • メルペイのシステム運用とPlaybookの共通管理への挑戦 | メルカリエンジニアリング

    こんにちは、メルペイでSREとして従事している @myoshida です。この記事は Merpay Tech Openness Month 2021 の8日目の記事です。 SREチームはお客さまへよりよいサービス利用体験を提供するため、日々様々な改善活動に取り組んでいます。その活動の一環としてPlaybookの概念を導入し、運用者の運用負担を減らす取り組みを始めました。今回はそのことについて説明してみたいと思います。 概要 メルペイではアプリケーションエンジニアとSREの双方がオンコール制度のもと運用に携わっています。 運用の悩みは様々ですが、そのうちの1つに手順書の取り扱いがあります。 どこに置くべきか、更新はされているのか、何を書けばいいのか、どの場面でどの手順書を利用すればよいのかというような悩みはどこの現場でも少なからず存在すると思います。 そこで、Playbookと呼ばれる体系的

    メルペイのシステム運用とPlaybookの共通管理への挑戦 | メルカリエンジニアリング
  • メルペイのQA Engineerがやっていること | メルカリエンジニアリング

    はじめまして。メルペイのQA Engineerのsatomasaです。 記事では私がメルペイのQA Engineerとして日々意識していることや取り組んでいることについて、紹介させていただきます。 特に特別なことはやっていないのですが、メルペイのQA Engineerが普段どんなことをやっているか少しでも伝われば幸いです。 メルペイのQAチームについて メルペイのQAチームのメンバーはそれぞれ各プロダクトチームに所属し、日々業務を行っています。 メルペイでのQA活動については特に決まったやり方はありません。 所属しているチームの特性も違うので、メンバーそれぞれが自分なりのやり方を考えながらQA活動を行っています。 miisanさんやtakamaさんも記事を書いていますので、ご覧いただければと思います。 私はメルペイの社内向けの管理画面を開発するチームに所属しており、 PM、Backend

    メルペイのQA Engineerがやっていること | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2021/08/21
  • エンジニアの体験を改善する | メルカリエンジニアリング

    Merpay Advent Calendar 2020 の16日目は、メルペイ Android チームの yhanadaが担当します。 著者のメルカリ/メルペイでのAndroidエンジニアとしてのキャリアは、12月でちょうど4年になりました。チーム内での役割としては、通常の機能開発以外に、DEX(Developer EXperience)改善というプロジェクトで、リファクタリングを行ったり、ルールを考えたり、不要なものを取り除いたり、などエンジニアの負担を減らす活動を行っています。 つまりDEX改善の対象となるのは、リファクタリングなどのコード改善だけではなく、時に他チームとの交渉や調整など組織的な部分もエンジニアリングの対象に含まれます。 記事では、このDEX改善活動の紹介を行うとともに、過去のブログ記事「マルチモジュールなプロジェクトにおける画面遷移の実装」での残課題であった、マルチ

    エンジニアの体験を改善する | メルカリエンジニアリング
    tsumuchan
    tsumuchan 2020/12/16