タグ

ブックマーク / tech.mercari.com (9)

  • 数百GBのデータをMySQLからBigQueryへ同期する | メルカリエンジニアリング

    SRE所属の @siroken3 です。最近はもっぱらパートナー会社様とのデータ連携環境構築を主に、時々プロダクションのMySQL環境と分析基盤との連携インフラの構築が多いです。 記事は、メルカリに出品された過去すべての商品をBigQueryへ同期するにあたって取り組んだ時のお話です。 背景 当社では分析目的などでBigQueryを以前から使用しており、プロダクションのMySQLからBigQueryへデータを同期して分析に活用してきました。特に商品を表すテーブルは重要です。 しかし、後述する課題によりBigQueryにアップロードすることができなかったため、分析用のMySQLDBのスレーブとBigQueryを併用せざるを得ませんでした。とはいえ不便なので以前からBigQueryのみで商品テーブルも分析対象としたい要望がありました。 課題 メルカリでは販売済み商品を物理削除していないため、

    数百GBのデータをMySQLからBigQueryへ同期する | メルカリエンジニアリング
    sotarok
    sotarok 2018/06/28
  • オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング

    今日は、iOSエンジニアの@orakaroです。 iOSエンジニアの皆さん、iPhone Xの対応はいかがでしょうか? メルカリアッテはようやくSwift4/RxSwift4/iPhone Xの対応が落ち着いたところです。 このブログでは、10月11日に開催した Souzoh iOS Talkの中で発表した メルカリ アッテを支えるオートマトンについて、より詳細な内容をお伝えします。 当日のスライドは下記になります。 speakerdeck.com 会員登録フロー 会員登録フローを実装する時に、以下のような基的な機能を実装することがあります。 メールアドレスとパスワードで登録できること メールアドレスとパスワードでログインできること Facebookで認証(登録、ログイン)できること パスワード再発行できること さらに、メルカリ アッテのようにセカンドパーティーのアプリなら、メルカリ連携

    オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング
    sotarok
    sotarok 2017/11/17
  • メルカリのQAエンジニアがテスト自動化に挑んだ話 | メルカリエンジニアリング

    はじめまして!QAエンジニアのkinoshです。 みなさんは「自動化」と聞いて、どんな期待をしますか? 生産性アップ?高い品質?スピード?いろいろな期待があると思います。 現在メルカリQAでは、繰り返し行われる部分や、機械のほうが得意な部分をどんどん自動化して、節約できた時間を、人間しか見つけられない作業(不具合を探索したり、仕様からリスクを洗い出したり)に使っていこうと日々奮闘中です。 この記事では、最近私が主導で進めたテスト自動化について、自身が学んだ知見などを共有いたします。 進んでいた自動化 メルカリにはQA-SETチームというものがあり、QAエンジニアとSET(Software Engineer in Test)が同じチームで品質を支えています。それぞれの役割については以下の記事をご確認ください。 tech.mercari.com リグレッションテストに関しては、全体の件数の約3

    メルカリのQAエンジニアがテスト自動化に挑んだ話 | メルカリエンジニアリング
    sotarok
    sotarok 2017/11/14
    QA!
  • SpinnakerによるContinuous Delivery | メルカリエンジニアリング

    SREの@deeeetです。 新しい機能を素早くリリースしフィードバックを得てすぐにPivotの決定を行う、もしくはリスクを抑え小さな改善を継続的に行うContinuous Deliveryはソフトウェア開発において非常に重要です。 メルカリではこのContinuous DeliveryのためのPlatformにSpinnakerを採用し始めました。現在は主にkubernetes(k8s)へのコンテナアプリケーションのDeployに利用しており、既にいくつかの番アプリケーションがSpinnakerによりDeployされています。 記事ではなぜSpinnakerを採用したか、Spinnakerとは何か、実際にメルカリでどのようにSpinnakerを使っているか、について簡単な紹介をします。 kubernetes上でのDeploy問題 k8sへのコンテナイメージのDeployは非常に簡単で

    SpinnakerによるContinuous Delivery | メルカリエンジニアリング
    sotarok
    sotarok 2017/08/21
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

    はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
    sotarok
    sotarok 2016/02/01
    hiraku++ / Be Professional Day の取り組みについても触れられていますが、そんなこともやってます!
  • Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング

    Site Reliability Engineering Teamの@cubicdaiyaです。今回はSlackのライトなお話です。 SlackのAttachments SlackにはIncoming WebhooksやWeb APIでメッセージを投稿する際、ペイロードにAttachementsと呼ばれる情報を含めることでメッセージを装飾できる仕組みがあります。 これを利用すると例えばメッセージにタイトルを付けたり、 用途に応じてカラーリングするといったことができます。(画像はイメージです。実際のアラートメッセージとは異なります。) 上記の場合、障害が発生したら赤、復旧したら黄緑で色分けしています。このようにAttachementsを利用することでSlackへ投稿するメッセージを分かりやすく装飾することができます。 メルカリでのAttachementsの利用例 メルカリでのAttachme

    Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング
  • ハイパフォーマンスngx_lua | メルカリエンジニアリング

    Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ

    ハイパフォーマンスngx_lua | メルカリエンジニアリング
  • Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング

    Site Reliability Engineering Team(通称SRE)の@cubicdaiyaです。最近チーム名が変わりました。 今回はConsulを利用して複数台のnginxサーバのTLSセッションチケットを自動更新する仕組みについて紹介します。 TLSセッションチケットは簡単に言うとTLSのセッション情報を暗号化してクライアント側に保存することで HTTPS通信時に行われるTLSハンドシェイクの手順を省略してネットワークレイテンシを削減するための仕組みです。(詳細については一番下の参考情報を御覧ください) 似たような仕組みとしてTLSセッションキャッシュがありますが、こちらはセッション情報をサーバ側に保存します。 HTTPS通信ではTCPのハンドシェイクに加えてTLSのハンドシェイクが必要になるのでHTTP通信よりもネットワークのレイテンシが大きくなりますが、 これらの仕組み

    Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング
    sotarok
    sotarok 2015/11/16
    SRE ... !
  • Slackプロキシサーバ〜slackboard〜を利用したメルカリのSlack活用法 | メルカリエンジニアリング

    最近原稿の締め切りが追いかけてくる夢をよく見る@cubicdaiyaです。今回はその逃避の一環として定番のチャットツールであるSlackのメルカリでの活用法について紹介します。 メルカリでのSlack活用 多くのエンジニア組織がそうであるようにメルカリではSlackを単なる社内チャットに留まらず、所謂ChatOps的な用途にも活用しています。 たとえばメルカリではサーバの監視のためにZabbixを利用していますが、bot ack allとSlackで入力すると現在起きているすべての障害をAcknowledgedな状態にできます。 さらに、bot test masterとSlackで入力するとAPIサーバのテストが走ります。 さらにさらに、bot helloとSlackで入力すると自宅からでも出勤したことにできます。 なお、この時はうるう秒に備えて自宅で待機していたのでした。 ほかにもSla

    Slackプロキシサーバ〜slackboard〜を利用したメルカリのSlack活用法 | メルカリエンジニアリング
    sotarok
    sotarok 2015/07/06
    bokko先生による slackboard の紹介!
  • 1