タグ

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

  • サプライチェーンセキュリティにおける脅威と対策の再評価 | メルカリエンジニアリング

    ブログの主旨 サプライチェーンセキュリティにおいて既存のフレームワークよりも具象化されたモデルを用いて脅威及び対策を精査することで、実際のプロダクトへのより実際的な適用可能性及び課題を検討した。 具象化されたモデルにおいては「脅威の混入箇所と発生箇所が必ずしも一致しない」という前提に立ち、各対策のサプライチェーンセキュリティにおける位置付け及び効力を検討した。とりわけ、ともすれば無思考的に採用しかねないSBOM等の「流行の」対策に対して、その課題や効果の限定性を明らかにした。 これらの脅威分析に基づき、「サプライチェーンの構成要素に存在する多数の開発者それぞれに対して責任を分散して負わせる」形態のパイプラインを置き換えるものとして、「各構成要素に存在する開発者に対して一定の制約を強制する代わりに、サプライチェーンセキュリティに関するオペレーションを一点に担う中央化されたCIパイプライン」

    サプライチェーンセキュリティにおける脅威と対策の再評価 | メルカリエンジニアリング
  • 【書き起こし】Merpay Tech Talk〜Monorepo開発におけるツール選定〜 #merpay_techtalk | メルカリエンジニアリング

    【書き起こし】Merpay Tech Talk〜Monorepo開発におけるツール選定〜 #merpay_techtalk 2022年4月21日に、メルペイ・メルコインのエンジニアたちによる「Merpay Tech Talk〜Monorepo開発におけるツール選定〜」を開催しました。 Monorepo開発を進めるにあたって、メルコインではNx、メルペイではTurborepoを利用しています。Monorepo開発を導入した背景やツール選定の理由、実際に導入した所感などをご紹介します。 アーカイブはこちら! https://www.youtube.com/watch?v=I0Wxr1JCvhs 登壇者紹介 @tokuda109 / 株式会社メルペイ Frontend Engineer 2019年10月に入社し、クーポン機能のフロントエンド開発を担当後、パフォーマンスやテスト等のフロントエンド

    【書き起こし】Merpay Tech Talk〜Monorepo開発におけるツール選定〜 #merpay_techtalk | メルカリエンジニアリング
  • メルカリShops での monorepo 開発体験記 | メルカリエンジニアリング

    こんにちは!ソウゾウのSoftware Engineerの@ogataka50です。連載:「メルカリShops」プレオープンまでの開発の裏側の9日目を担当させていただきます。 1日目の記事「メルカリShops の技術スタックと、その選定理由」にあった通りメルカリShopsではMonorepoで開発を行なっています。この記事では主にSoftware Engineerとして、DX (Developer eXperience)の観点からPJ初期からMonorepo上で開発を進めていった中で経験したこと感じたことを実際に起きた出来事とともに共有したいと思います。 Monorepoとは Monorepoとは単一のリポジトリに特定のプロジェクトのコードをすべて含めるパターンです。 下記のような利点があると言われています。 コードの可視性 統一されたバージョン管理, Single Source of T

    メルカリShops での monorepo 開発体験記 | メルカリエンジニアリング
  • 未知の脅威に対抗するメルカリのCI再設計 | メルカリエンジニアリング

    この記事は、Mercari Advent Calendar 2022 の3日目および Developer Productivity Engineering Campブログシリーズの一環で、メルカリCI/CDチームのMichael Findlater (@michaelfindlater)が執筆したものです。 ※記事は2022年2月3日に公開された記事の翻訳版です。 ここではメルカリにおける次世代Continuous Integration(CI)システムの実装、そしてそれに向けたいくつかの技術的な取り組みについて解説します。またこの施策の動機とも言える、サプライチェーンアタックがどのようにCI/CDエンジニア達にとって今後より重要になってきたのかについて解説します。 背景 これまでも常にCI/CDパイプラインに対する攻撃は存在していたものの、ここ最近のこのエリアに対しての攻撃の急増は脅威

    未知の脅威に対抗するメルカリのCI再設計 | メルカリエンジニアリング
  • メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング

    Author: @urahiroshi, Engineering manager of Web Platform team 2022年8月4日、メルカリで “web-2” と呼ばれるサーバがシャットダウンされました。これはメルカリWeb版の開発に携わっているチームにとって、一つの区切りとなる出来事でした。 web-2はPHPで記述されたwebサーバで、2015年から https://www.mercari.com/jp/ 配下のコンテンツを配信していましたが、現在では複数のWebマイクロサービスがその機能を担っており、 https://www.mercari.com/jp/ 配下のページは後継となるWebマイクロサービスが配信するページへリダイレクトされています。 メルカリWebのマイクロサービス化に向けた開発が始まり、最終的にweb-2がシャットダウンされるまで、実に4年以上の期間がかか

    メルカリWebのマイクロサービス化、その4年 | メルカリエンジニアリング
  • 技術スタック | メルカリエンジニアリング

    メルカリグループの技術スタック メルカリグループのエンジニアリング組織の技術スタックをご紹介します。サービスやプロダクトに相応しい最適な技術を選定し、チームが自律的に意思決定できるような体制をつくっています。 *最終更新日:2023年2月14日 CategoryTechnology Stack

    技術スタック | メルカリエンジニアリング
  • 5~8人のBackendチーム編成を目指そう | メルカリエンジニアリング

    こんにちは。メルペイ Backendチーム Manager of Managersの @godricです。 この記事は、Merpay Advent Calendar 2021 の25日目の記事です。 メルペイは「信用を創造して、なめらかな社会を創る」をミッションとし、与信事業を中心に黒字戦略に取り組んでいます。また、メルカリグループの新たな成長軸を模索するためのメルコインの暗号資産投資の事業、ソウゾウのメルカリShopsなど様々な新規開発が並行に走っています。どちらもメルカリグループにとって重要な事業戦略で、高い品質を保ちながら最速スピードでサービスをローンチし進化させて、市場で優位性を確保しなければなりません。 メルペイBackendチームの全員がAll for Oneで今までメルカリ、メルペイの高速な成長を支えてきましたが、技術的負債、組織的負債が溜まったことによって様々な課題が出てき

    5~8人のBackendチーム編成を目指そう | メルカリエンジニアリング
  • Datadogを使って感じた、問題調査/対応における変化とその要因 | メルカリエンジニアリング

    はじめに この記事はMERPAY TECH OPENNESS MONTHの4日目の記事です。 こんにちは。株式会社メルペイで backendエンジニアをしている cowsys です。 プロダクト/システムで発生した「問題」をいかにして解決するか。 いかに素早く原因を特定/解消し、正常化させるか。 上記のような「問題の調査と対応」は、backendエンジニアとして持ち続けている、大きなテーマの一つとしてあります。 メルペイの開発で初めてDatadogを利用してみて、このテーマが、大きく前進したような手応えを感じました。 ここでは最もインパクトのあった変化に絞り、どのような変化が起き、それは何によってもたらされたのか。 Datadogの導入事例として、また「問題の調査と対応」を考えるエンジニアとして、感じたこと、考えたことをお伝えできればと思います。 目次 はじめに 目次 利用しているData

    Datadogを使って感じた、問題調査/対応における変化とその要因 | メルカリエンジニアリング
  • メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング

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

    メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング
  • 不具合データの可視化と分析 | メルカリエンジニアリング

    この記事は、Merpay Advent Calendar 2021の24日目の記事です。 こんにちは、メルペイQAエンジニアのEnnです。 今回は、メルペイQAチームで取り組んでいる「不具合データの可視化と分析」について紹介します。 はじめに 「プロジェクトを振り返り、今後の新しいプロジェクトの推進やプロセス改善のために活かして、より良いサービスをお客さまに届けたい!!」というスローガンは、社内のレトロスペクティブで使用されているスライドの最初のページに掲げている内容です。いい振り返りをするために、メンバーとの議論以外に、案件の不具合データ分析や案件進行中の記録などがとても重要だと考えます。プロジェクトの振り返りとして、定性的な感想や意見だけでは足りない部分をQAチームから定量的な指標をフィードバックすることで、より有意義で建設的な振り返りを実施できるように取り組んでいます。 不具合データ

    不具合データの可視化と分析 | メルカリエンジニアリング
  • マイクロサービスにおけるリコンサイルの話 | メルカリエンジニアリング

    この記事はMerpay Advent Calendar 2021 の23日目の記事です。メルペイPayment Platformチームの @foghost がお送りします。 記事は決済システム開発の観点でリコンサイルを通して防ぎたいリスクについて説明した後、メルペイでリコンサイルについての取り組みについてご紹介します。 リコンサイルとは リコンサイルで検索するとwikipediaではリスク管理の手法の1つと書かれています。人間の様々の活動においてミスが必ず発生するので、リコンサイルはそれら活動の結果が期待通りになっているかどうかを再度確認することで、誤差を検知して様々なリスクを回避することができます。 定義だけ説明してもピンと来ない方が多いかと思いますが、実は普段の生活でも広い意味でのリコンサイルが必要となる場面が多いです。例えば以下の売店で買い物するときの流れを考えてみましょう。 お客

    マイクロサービスにおけるリコンサイルの話 | メルカリエンジニアリング
    northlight
    northlight 2021/12/24
    リコンサイルは最低限概念だけは知っておいたほうがよい。
  • 【書き起こし】Scenario-Based Integration Testing Platform for Microservices – 森 健太【Merpay Tech Fest 2021】 | メルカリエンジニアリング

    【書き起こし】Scenario-Based Integration Testing Platform for Microservices – 森 健太【Merpay Tech Fest 2021】 Merpay Tech Fest 2021は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知れるお祭りで、2021年7月26日(月)からの5日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「Scenario-Based Integration Testing Platform for Microservices」の書き起こしです。 森健太氏:それでは、始めさせていただきます。「Scenario-Based Integration Testing Platform for Mic

    【書き起こし】Scenario-Based Integration Testing Platform for Microservices – 森 健太【Merpay Tech Fest 2021】 | メルカリエンジニアリング
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
  • デカ過ぎて固定資産税がかかりそうな GCS 上の古いデータをアーカイブする | メルカリエンジニアリング

    この記事は、 Merpay Tech Openness Month 2020 の 2 日目の記事です。 こんにちは。メルペイ DataPlatform チーム、ソフトウェアエンジニアの @syucream です。 主にメルペイのデータ基盤の開発・運用の業務に携わっております。今回はみんな大好きお金とビッグデータとコスト削減のお話をします。 はじめに 様々なデータを収集して横断的に分析可能にする、いわゆるデータ基盤には少なくないコストが掛かります。「ビッグデータ」という言葉が示すような大量のデータを保存して処理する際には、永続化のためのストレージコストがかかります。この課題は我々メルペイ DataPlatform チームも無関係ではありません。以前の記事で紹介させていただきましたが、我々のデータ基盤はさまざまなマイクロサービスからのデータベースや出力されたログを横断管理できるようにしています

    デカ過ぎて固定資産税がかかりそうな GCS 上の古いデータをアーカイブする | メルカリエンジニアリング
  • バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング

    こんにちは。メルペイで、決済・振込申請のバックエンドソフトウェアエンジニアをしている id:koemu です。 今日は、バッチ処理を行う理由について、考察を深めて設計に活かしていく話をしたいと思います。 はじめに バッチ処理とは、ある決まったタイミングで1つのプログラムが複数のデータを 一括処理 することを指します。この反対の言葉として、オンライン処理があります。オンライン処理とは、お客様の操作を初めとしたイベントをもとに 逐次処理 されるものです。OLTP(Online Transaction Processing)とも言います。 エントリでは、バッチ処理を採用するにあたり、どういったユースケースが適切なのかを整理して、今後のソフトウェアの設計の指針にできることを目指しています。今回は、「バッチ処理を採用するとき」と「バッチ処理の設計」の2つについて取り上げます。 バッチ処理を採用する

    バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング
  • お急ぎ振込の締め処理バッチの事例で見ていく バッチ処理の設計結果 | メルカリエンジニアリング

    こんにちは。メルペイでバックエンドソフトウェアエンジニアをしている id:koemu です。 今回は、前回の記事でお話したことを踏まえ、私が開発を担当して実際に動いているバッチプログラム「お急ぎ振込 締め処理バッチ(以下、締め処理バッチ)」について、述べていきます。 記事では、「締め処理バッチについて」と「前回の記事に照らし合わせてどう設計されているか」の2点に分けて説明します。内容は、特に記載のない限り、記事執筆時点のものとなります。 締め処理バッチについて 事例の話に移る前に、これから説明する締め処理バッチの処理がどのようなサービスを提供するのか、ご案内します。 お急ぎ振込とは お急ぎ振込とは、メルカリの中で売り上げたお金を皆様の銀行口座に出金できる機能の1つです。当初から存在している振込申請機能より早く送金することができ、最短1営業日で出金することが可能です。2017年の夏の終わ

    お急ぎ振込の締め処理バッチの事例で見ていく バッチ処理の設計結果 | メルカリエンジニアリング
  • 1