タグ

2021年8月26日のブックマーク (9件)

  • メルカリShops のフロントエンド | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer の hiroppy です。「連載:「メルカリ Shops」プレオープンまでの開発の裏側」 の最後は、Web フロントエンドの紹介をしたいと思います。メルカリ Shops は既存のメルカリアプリの中に独立した Web アプリケーションとして動いています。記事では、どのようなライブラリを選定し、どのようにアーキテクチャを設計してきたかを解説します。 なぜ Web なのか? アプリの上で動いているのであれば、WebView ではなくても良いと感じる人はいると思います。今回採用した 1 つの理由としては、リリースが柔軟な点が挙げられます。iOS/Android の両方に対して開発サイクルを早めることが可能であり、また機能追加やバグ修正が容易です。どのように WebView で動いているかについては、6 日目のメルカリ Shops のため

    メルカリShops のフロントエンド | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
    なかなか複雑な構成をがんばってやっててすごい
  • All for Oneでたのしいおさわりかいをするよ! | メルカリエンジニアリング

    こんにちは。ソウゾウのQA Engineerの@____rina____です。連載:「メルカリShops」プレオープンまでの開発の裏側の12日目を担当させていただきます。 ソウゾウではメルカリShopsの開発の取り組みひとつとして、ソウゾウ全員でメルカリShopsのおさわりかいをしています。 おさわりかいってなに? 開発中のサービスを社内のメンバーが操作し改善事項などをフィードバックするミーティングのことを、ソウゾウでは「おさわりかい」と呼んでいます。ドッグフーディングやスプリントデモにも似ていますが、基的に開発環境を操作すること、完了の定義などの終了条件を決めていないこと、そして開発のメンバーだけでなくCEOも含むソウゾウの全員が参加して時間を決めて実施していることがこの会の特色です。 ソウゾウのおさわりかいは、毎週金曜日の夕方に1時間開催しています。 どうなったの? プレリリース前に

    All for Oneでたのしいおさわりかいをするよ! | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
    "user-tkoolにはめちゃくちゃ助けられています! " いい話だ…
  • メルカリShopsのML立ち上げ奮闘記 | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer の @wakanapo です。連載:「メルカリShops」プレオープンまでの開発の裏側の 11日目を担当します。 メルカリShops唯一の ML (Machine Learning) 担当メンバーとして、メルカリShopsへのML導入を推進しています。まだ、絶賛立ち上げ中ではありますが、これまでの歩みについてお話します。 序章 私は、2019年4月に新卒入社以降メルカリJPの写真検索機能を中心に担当していました。当時写真検索はリリースされたばかりの機能だったので、バグの修正やシステムの改善を担当していました。その中で次のような課題を感じるようになりました。 写真検索のシステムは、継続的に出品された画像を検索に加える必要があるという特性から非常に複雑なものでした。またその indexing から serving までの Pipeli

    メルカリShopsのML立ち上げ奮闘記 | メルカリエンジニアリング
  • メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング

    ソウゾウの Software Engineer をやっています、@mookjp です。 8/10 の記事「メルカリShopsの技術スタックと、その選定理由」では、メルカリ Shops のアーキテクチャについて、その全体像を紹介しました。 この記事では、そのうちの BFF(Backend for Frontend) レイヤとして用意した GraphQL サーバについて、NestJS を使った実装例を交えて紹介します。 GraphQL とは GraphQL サーバ周辺の構成 NestJS とは GraphQL Module NestJS で Code First なスキーマ定義をする Object types の定義 Query と Mutation の定義 GraphQL スキーマの生成 スキーマの Breaking Change (破壊的変更)を防ぐ DataLoader を使って Bat

    メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング
  • メルカリ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 開発体験記 | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
  • メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング

    こんにちは!ソウゾウの Software Engineer の @dragon3 です。 連載:「メルカリShops」プレオープンまでの開発の裏側の8日目を担当させていただきます。 この記事では、メルカリShops 開発において、日々バリバリに利用されている CI/CD 環境と Pull Request 毎のデプロイ環境について紹介します。 CI/CD 環境 メルカリShops では、CI/CD (テスト・ビルド・デプロイ)やその他自動化のために GitHub Actions を使っており、ほとんどのワークフロー・ジョブを Self-hosted runners で実行しています。 Self-hosted runners は、専用の VPC ネットワーク 内の GCE インスタンス上で動かしており、Managed Instance Group 等を使い、そのプロビジョニングや起動・停止等は

    メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
    いい話だ… めっちゃ色々な機能使い倒しているなぁ
  • メルカリShopsはマイクロサービスとどう向き合っているか | メルカリエンジニアリング

    こんにちは。ソウゾウのSoftware Engineerの@napoliです。連載:「メルカリShops」プレオープンまでの開発の裏側の3日目を担当させていただきます。 メルカリShopsではマイクロサービスアーキテクチャによる開発を採用しています。ここではメルカリShopsではどのようにマイクロサービスと向き合っているかを紹介させていただきます。 メルカリShopsのマイクロサービス群 メルカリShopsはざっくりと、図のような形でマイクロサービス群が構成されています。 Frontendがひとつ、Backend For Frontend(BFF)がひとつ、そして(執筆時点で)約40ほどのBackendサービスが、それぞれが独立した実行環境で稼働しています。 BackendはShop(ショップ)、Product(商品)、Order(注文)、Payment(決済)といったドメインごとに独立し

    メルカリShopsはマイクロサービスとどう向き合っているか | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
  • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
    vvakame
    vvakame 2021/08/26
    いい話だ
  • 事業価値とエンジニアリング・リソース効率性とフロー効率性 / Business Value and Engineering

    2021年度リクルート エンジニアコース新人研修の講義資料です

    事業価値とエンジニアリング・リソース効率性とフロー効率性 / Business Value and Engineering
    vvakame
    vvakame 2021/08/26
    リクルートすごいなぁ