タグ

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

  • メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング

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

    メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング
    koogawa
    koogawa 2024/05/31
    モバイルアプリはFlutter製なのね!
  • メルカリ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 環境 | メルカリエンジニアリング
    koogawa
    koogawa 2021/08/17
    “自動化のために GitHub Actions を使っており、ほとんどのワークフロー・ジョブを Self-hosted runners で実行”
  • Team Topologies in Souzoh | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer / Engineering Manager の@motokieeです。連載:「メルカリShops」プレオープンまでの開発の裏側の4日目を担当します。 4日目は、ソウゾウがどのような体制でメルカリShopsを開発しているかについて、Team Topologiesの解説を交えてお送りします。 はじめに チームの在り方には様々な形がありたくさんの議論が交わされていると思います。自分自身も以前いた会社はもちろん、メルカリに入ってからも旧ソウゾウ、JP(日事業)、メルペイとの関わり合いなど様々なチーム構成を見てきました。 タイトルにあるTeam Topologiesですが、https://teamtopologies.com/ では以下のように定義されています。 ​​Team Topologies is the leading appro

    Team Topologies in Souzoh | メルカリエンジニアリング
    koogawa
    koogawa 2021/08/13
  • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

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

    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
    koogawa
    koogawa 2021/08/10
    “monorepo を構成する上で、ビルドシステムは重要な選択です。メルカリShops では、実績の多い Bazel を採用しました”
  • メルカリCTOが考えるエンジニアの価値 | メルカリエンジニアリング

    Mercari Advent Calendar 2020 の25日目、最終日はメルカリ CTO @suguruがお送りします。 メルカリJPでCTOをやっている suguru です。来年から新生ソウゾウのCTOとして新しいチャレンジをする決意をしました。これを機会に、今までメルカリのCTOとして、エンジニアの価値について思ってきたことを書き残しておこうと思い、この記事を書いています。 なぜエンジニアが必要なのか どの会社でも同じだと思いますし、当然のことでもありますが、エンジニアを採用している理由は、会社を構成するメンバーとして必要な人たちであるからです。CTOとして、エンジニアという存在は、自らの知識、知恵、技能、経験を使い、社会に価値のあるものを生み出すことができる職業だと考えています。 メルカリは「新たな価値を生み出す世界的なマーケットプレイスを創る」をミッションとしています。このミ

    メルカリCTOが考えるエンジニアの価値 | メルカリエンジニアリング
    koogawa
    koogawa 2020/12/30
  • Xcode PreviewsからSnapshotテストを自動生成する | メルカリエンジニアリング

    Merpay Advent Calendar 2020 の6日目は、メルペイiOSチームの kenmaz がお送りします。 こんにちは。merpayのiOSチームのkenmazです。 この記事では「Xcode PreviewsからSnapshotテストを自動生成する」というテーマで、メルペイiOSチームで採用しているiOSアプリの開発スタイルや自動テストについての取り組みの現状、そこで直面した課題、そしてその解決方法について、具体例を交えながら紹介していきます。 背景 Xcode Previewsを用いた開発 メルペイのiOSチームでは、iOSアプリのほとんどのViewやUI部品をコードで記述し、Xcode Previewsを使ってレイアウトの確認を行う、という開発スタイルを採用しています。これによりiOS Simulatorなどを起動することなく、さまざまな状態のViewをXcode上で

    Xcode PreviewsからSnapshotテストを自動生成する | メルカリエンジニアリング
    koogawa
    koogawa 2020/12/09
  • テクノロジーで街なかの ”移動” を変える「メルチャリ」の舞台裏 - Mercari Engineering Blog

    Mercari Advent Calendar 2018 の9日目はメルチャリチーム Androidエンジニアの @wiroha がお送りします。 メルチャリは2018年2月27日にスタートし、現在福岡市内で展開しているシェアモビリティサービスです。 専用の赤い自転車「メルチャリ」の後部に、スマートロックが搭載されており、メルチャリアプリを通じてお客さまが鍵をあけることで利用できます。 記事では、ハードとソフト、システムとリアルを融合させる、実は複雑で奥深いメルチャリの裏側をご紹介します! ハードウェア機能と深く連携するアプリ メルチャリアプリは、自転車や駐輪ポートの情報を地図上に描画して提供しています。主に使う技術は、iOSではApple MapAndroidではGoogle Mapsです。 車体についているQRコードをお客さまが読み込むと、アプリからサーバ、サーバから自転車へとリク

    テクノロジーで街なかの ”移動” を変える「メルチャリ」の舞台裏 - Mercari Engineering Blog
    koogawa
    koogawa 2019/05/16
    “スマートロックとの通信はCloud Pub/Subに集約することで、デバイスごとに通信方式が異なったとしても差異を吸収” なるほどそういう仕組だったのか
  • 2018年のPHPとメルカリ | メルカリエンジニアリング

    Mercari Advent Calendar 2018 の 8 日目は Backend チームの @hidenorigoto がお送りします。 来週末12/15(土)には、PHPカンファレンスが開催されます。メルカリでは、これから開催される3つのPHP系カンファレンスをスポンサーとして支援しています。 PHPカンファレンス 2018 2018/12/15(土) PHPカンファレンス仙台 2019 2019/01/26(土) PHPerKaigi 2019 2019/03/29(金)〜2019/03/31(日) この記事では、メルカリにおけるPHPとの関わり方と、PHPカンファレンスやPHPコミュニティに向けて、メルカリエンジニアからの一言メッセージを紹介します。 メルカリでは現在、システムと組織のMicroservies化を進めています。Microservicesの開発にはGoを選択して

    2018年のPHPとメルカリ | メルカリエンジニアリング
    koogawa
    koogawa 2018/12/08
    ありがとう PHP。特技は or die() です
  • カラクリ メルカリ カウル – iOS版アプリの週1アップデートを支えるAutomationとKarakuri | メルカリエンジニアリング

    Mercari Advent Calendar 2017 の21日目はメルカリ カウルチームのiOSエンジニアの@motokieeがお送りします。 はじめに メルカリ カウルは今年の5月のローンチしたエンタメ専用のメルカリ姉妹アプリです。立ち上げから半年ほどが経過し、日々サービスの改善を続けています。 iOS版メルカリ カウルはこの7ヶ月で30回アップデートしており、ほぼ週に一度はアップデートしていることになります。もちろん規則正しく週1でリリースをしているわけではないのですが、開発サイクルの速さがお分かりいただけるのではないでしょうか。 現在メルカリ カウルのiOS版はほぼ1人で開発をしています(自分の他にもう1人iOSエンジニアはいるのですが、PJの都合上BIがメインの業務となっています)。 少ない人数でも改善を続けることができているのは、メルカリエンジニアの行動指針の1つであるAut

    カラクリ メルカリ カウル – iOS版アプリの週1アップデートを支えるAutomationとKarakuri | メルカリエンジニアリング
    koogawa
    koogawa 2017/12/21
    GASでiTunes Conenctのステータス通知メールをチェックしてるの面白い(自分はIFTTTで無理矢理やってた)
  • https://engineering.mercari.com/entry/2017/12/19/workbox

    https://engineering.mercari.com/entry/2017/12/19/workbox
  • 技術書を作るための技術スタック | メルカリエンジニアリング

    Mercari Advent Calendar 2017の3日目はmhidakaがお送りします。 Advent Calendarで空いてるところに収まったら12月3日は日曜日ということで、エンジニア趣味的な話です。 筆者は技術的なブログや書籍を書くかたわら、技術書のためのイベントなどを開いてます。 技術を追求すること、プログラミング、まとめることが好きでモバイル分野で継続的に書籍を出版しています。 内容はおおむね同人誌作りへ適用している技術の話です。 書籍の作り方は出版社によっても違いますが、紹介する内容と同様の作り方をしている商業書籍もたくさんあります。 ここでは著者の目線から出版業界のテクノロジーをのぞいてみましょう。 作る楽しみと読者の視点 著者がを書く動機は人それぞれですが技術を広めたい、たくさん売れたい、自分の知識をまとめたいなど目的を持って書き始めます。 また一方で書籍の目

    技術書を作るための技術スタック | メルカリエンジニアリング
    koogawa
    koogawa 2017/12/03
    lintいいなぁ。校正してもらいたい
  • 「技術をアウトプットするところに技術は集まる」ソウゾウ エキスパートチームの役割 | メルカリエンジニアリング

    ソウゾウのエキスパートチーム所属の@mhidakaです。今回はソウゾウのエキスパートチームが、どんな活動をしているのか紹介します。 エキスパートチームについて ソウゾウでは「技術アウトプットするところに技術は集まる」という思いから、 稼働の50%以上を技術コミュニティへの貢献や技術の普及に取り組むエキスパートチームが存在します。 私以外に@tenntennが居て、ふたりのミッションにはコミュニティへの貢献も含まれています。 現在、チームは二人で構成されており、メンバーごとに担当する技術分野が違います。 Go/GCPであればGo Conferenceやgolang.tokyoなどを運営している@tenntenn、 AndroidであればDroidKaigiや技術書典などを運営する@mhidakaという役割分担をしています。 エキスパートチームは次のような目的を持って活動をしています。 社内

    「技術をアウトプットするところに技術は集まる」ソウゾウ エキスパートチームの役割 | メルカリエンジニアリング
    koogawa
    koogawa 2017/08/18
    動きやすそう
  • PHPカンファレンス福岡2017に参加してきました #phpconfuk | メルカリエンジニアリング

    こんにちは。@sota1235です。 2017/6/10に開催されたPHPカンファレンス福岡2017にてメルカリからは3人のエンジニア登壇しました。 PHPカンファレンス福岡2017 発表資料 メルカリからは@yui_tang、@hiraku、@sota1235が発表しました。 資料はそれぞれリンクからどうぞ。 PWA+AMPの話 by @yui_tang PHPのエラーと例外再入門 by @hiraku flowで始める型のあるJavaScript by @sota1235 この3つの発表から既に分かる通り、今回のカンファレンスのトークは非常にバラエティに富んでいて面白かったのではないかなと思います。 少し私が発表した内容に触れさせていただくと、Webの最前線を走るにあたって避けて通れないJavaScriptの開発をよりよくするためのツールとしてflowの紹介と実践方法をお話させていただ

    PHPカンファレンス福岡2017に参加してきました #phpconfuk | メルカリエンジニアリング
    koogawa
    koogawa 2017/06/19
  • AltConf 2017に登壇します! | メルカリエンジニアリング

    こんにちは、iOSエンジニアの@kitasukeです。6/5-8にサンノゼで開催されるAltConf 2017に、弊社から自分が登壇します。 AltConfとは AltConfとは、WWDCのチケットの抽選に外れてしまったエンジニア達が有志で開催しているカンファレンスです。WWDCと同じ期間に並行して近くの会場で開催されます。WWDCに外れてもAltConfのために来るiOSエンジニアも居るほどで、参加者の数は1000人弱と大規模なカンファレンスです。今年はWWDCがサンノゼで開催されるので、AltConfも合わせてサンノゼで開催されます。 altconf.com Type-safe API call with Protocol Buffers in Swift このトークではProtocol Buffersについて発表します。 Protocol BuffersとはGoogleによって開発

    AltConf 2017に登壇します! | メルカリエンジニアリング
    koogawa
    koogawa 2017/06/02
  • iOSCon 2017 in LondonでProtocol Buffersについて発表しました | メルカリエンジニアリング

    iOSConとは、iOSやSwiftに関わるエンジニアのためのカンファレンスです。今年は3/30, 31の2日間にロンドンで開催されました。参加者は約200人が集まり、27人のスピーカーがそれぞれLT、セッション、ワークショップ形式で発表します。 skillsmatter.com 全ての発表は聞けませんでしたが、発表内容はかなり楽しめました。Swiftの特性を活かしたアーキテクチャの話や、GraphQLという流行りの技術の話など、自分が知らないこともあり非常に勉強になりました。 来年も開催が決定しているようなので、興味がある方はこちらから詳細を確認してください。 skillsmatter.com 発表内容 「Type-safe Web APIs with Protocol Buffers in Swift」というタイトルで発表しました。当日は著名なスピーカーの方達が聞きに来てくれたのもあっ

    iOSCon 2017 in LondonでProtocol Buffersについて発表しました | メルカリエンジニアリング
    koogawa
    koogawa 2017/05/08
  • プログラマーの三大美徳 その2

    みなさんはプログラマーの三大美徳ってご存知ですか? プログラミング言語Perlの作者である Larry Wall が http://www.perl.com/pub/1998/08/show/onion.html で述べたのが最初とされています。 三大美徳として 怠惰(laziness) 短気(impatience) 傲慢(hubris) があげられています。 怠惰(laziness)については、以前にこちらの記事でお話しました。 tech.mercari.com 今回は 短気(impatience) についてです。 短気(impatience) 優秀なプログラマーが持っている怠惰という美徳は素晴らしいのですが、その反面というか怠惰さゆえに腰が重いときがあります。 そこで短気な面をうまく刺激することでプロジェクトを円滑に進めることが可能です。 メルカリでの例 みなさんもCIにてテストを動か

    プログラマーの三大美徳 その2
    koogawa
    koogawa 2017/03/30
    これは効果ありそうw
  • iOSCon 2017 in Londonに登壇します | メルカリエンジニアリング

    こんにちは、iOSエンジニアの@kitasukeです。 弊社から、@yoichitgyと自分の2名がiOSCon 2017に登壇します! iOSCon 2017 – The conference for iOS and Swift Developers iOSConとは、iOSやSwiftに関わるエンジニアのためのカンファレンスです。 今年もロンドンで開催される予定で、日程は3/30, 31の2日間です。 2014年から開催され、当初から世界的に有名なスピーカーが登壇しています。 skillsmatter.com 発表形式は下記の通りで3種類あります。 ワークショップ(90分) トーク(45分) LT(15分) 今回は両者ともトークでの発表でCfPが採択されました。 簡単に発表内容を紹介したいと思います。 詳しい発表内容はこちらのプログラムを見てください。 Dependency Injec

    iOSCon 2017 in Londonに登壇します | メルカリエンジニアリング
    koogawa
    koogawa 2017/02/22
    kitasukeさん!
  • プログラマーの三大美徳 | メルカリエンジニアリング

    みなさんはプログラマーの三大美徳ってご存知ですか? プログラミング言語Perlの作者である Larry Wall が↓で述べたのが最初とされています。 http://www.perl.com/pub/1998/08/show/onion.html 三大美徳として 怠惰(laziness) 短気(impatience) 傲慢(hubris) があげられています。 今回はそのうち怠惰(laziness)についてお話します。 怠惰(laziness) 怠惰といえば怠け者。怠け者といえば怠け者メガネ。怠け者メガネを使えば誰でも簡単に美徳を手にいれることができます。 この怠け者メガネを使うと視線は前方に向けたまま下方を見ることができます。 来は寝転がってテレビを見るために開発されたようです。 この怠け者メガネを使ったプログラム開発について説明します。 レベル0 怠け者メガネを装着せずに作業します。

    プログラマーの三大美徳 | メルカリエンジニアリング
    koogawa
    koogawa 2016/06/30
    レベル高い
  • Google I/O 2016 現地レポート+モバイル系エンジニアが今すぐ試すべき注目技術まとめ | メルカリエンジニアリング

    こんにちは、Androidチームの @tomoaki_imaiです!今回はシリコンバレーにて5/18 – 5/20の3日間開催された、Google I/O 2016についてレポートします。またGoogle I/Oにて発表された内容から、モバイル系エンジニアがすぐ試すべき注目技術についてもまとめましたので、御覧ください。 目次 Google I/Oとは Google I/Oの構成 (ちょっと脱線)期間中の滞在先/移動 モバイル系エンジニアが今すぐ試すべき注目技術 まとめ Google I/Oとは Google I/OはGoogleが主催する、一番大きな技術カンファレンスです。Googleがその年にリリースする最新技術の発表があり、とても注目度が高いイベントです。また、期間中にはセッションやブース展示を通じてGoogleエンジニアと直接交流し、様々な情報交換が出来ます。 近年はサンフランシス

    Google I/O 2016 現地レポート+モバイル系エンジニアが今すぐ試すべき注目技術まとめ | メルカリエンジニアリング
    koogawa
    koogawa 2016/05/24
    雰囲気伝わってくる
  • USのiOSアプリでApple Payに対応した話 | メルカリエンジニアリング

    iOSエンジニアの@kitasukeです。 USのアプリでApple Payに対応したので、その実装方法やその中で得た知見について紹介します。 背景 USではApple Payに対応しているアプリが徐々に増えています。また実店舗でも使えるところがあり、日常生活でApple Payを目にする機会が多くなっています。USのメルカリアプリでは決済方法としてPayPalとクレジットカードをサポートしていますが、ユーザーの購入体験をより向上するためにApple Payに対応しました。 Apple Payとは Apple Payとは、Appleが提供する簡単で安全な決済サービスです。 サポートされている国は、アメリカ、イギリス、オーストラリア、中国、シンガポールです。サポートされているカードは、指定の銀行やストアから発行されているVisa, MasterCard, American Express,

    USのiOSアプリでApple Payに対応した話 | メルカリエンジニアリング
    koogawa
    koogawa 2016/05/19
    わかりやすい解説!何故か PKPaymentButton に惹かれる