タグ

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

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

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

    数百GBのデータをMySQLからBigQueryへ同期する | メルカリエンジニアリング
    progrhyme
    progrhyme 2018/06/28
    BQの更新制約を鑑み、BQの分析関数を使ったマージにより差分同期の仕組みを作った
  • Visual Studio Live Share を使ってペアプロをしています - Mercari Engineering Blog

    こんにちは、フロントエンドエンジニアの @nullpoo です。 今回は、最近パプリックプレビューとなった Visual Studio Live Share を使ってペアプログラミングをしたことをきっかけに気づいたことについて紹介したいと思います。 ドメイン知識の共有や作業効率の向上、他のエンジニアがコードを書く方法など、様々な気づきがありました。 Visual Studio Live Share とは Visual Studio Live Share はMicrosoftが発表した、Visual StudioやVisual Studio Code上でネットワークを経由しリアルタイムでコードの編集やデバッグを行うための拡張機能です。 詳しくは下記公式ページを参照してください。 www.visualstudio.com 実際に作業を行っている様子をキャプチャしてみました。 共同編集の様子 共

    Visual Studio Live Share を使ってペアプロをしています - Mercari Engineering Blog
    progrhyme
    progrhyme 2018/06/27
    よさそう
  • 社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 | メルカリエンジニアリング

    こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA)で、自動化をぶりぶりしている tadashi0713 です。 私は普段、テスト自動化・CI / CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 以前はQA-SETでしたが、AQAになったことにより、よりチーム全体での自動化を推進していきます。 メルカリでは、去年からZapierという自動化ツールを導入し、社員がより簡単に業務自動化に取り組めるようにしています。 導入した背景や、簡単なワークフローの作り方、実際に社内でどう使われているか、などについては下記の記事をご覧ください。 tech.mercari.com 現在では、 ノンプログラマー含め250名以上のメンバーが、400以上のワークフローを作成 し、日々の作業を自動化しています。 また社内のエンジニアも、

    社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 | メルカリエンジニアリング
    progrhyme
    progrhyme 2018/06/13
  • 自動E2Eテスト結果をビューティフルなレポートにまとめてTestRail連携してみた | メルカリエンジニアリング

    こんにちは。メルカリで自動化&品質保証グループ(Automation & QA Group:通称AQA)のエンジニアリングマネージャをぶりぶりしている@daipresentsです。 AQAは、従来のQAではなく、自動化を駆使した「完全自動化時代のQA」を目指すグループとして活動しています。その道のりはなかなか険しいのですが、じわりじわりとメンバーも増え、社内でも「自動化」というキーワードが広がってきました。 この記事では、テスト自動化でとても大切なポイントとなる、テスト結果をまとめたビューティフルなレポートのノウハウを共有させていただこうと思います。 継続的システムテスト 現在、メルカリAQAでは、「継続的システムテスト」の実現に取り組んでいます。ここでいう継続的システムテストとは、365日24時間、ずーーーっと自動化されたE2Eテスト(レグレッションテストとも言える)を実行することを指し

    自動E2Eテスト結果をビューティフルなレポートにまとめてTestRail連携してみた | メルカリエンジニアリング
    progrhyme
    progrhyme 2018/06/08
  • Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri | メルカリエンジニアリング

    Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri こんにちは、メルカリのAQA(Automation & Quality Assurance)チームで、自動化をぶりぶりしている tadashi0713 です。 私は普段、QAテストの自動化・CI/CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 今回は、社内の分析クエリを簡単に検索・共有できるSlack Commandを最近作ったので、それについてご紹介したいと思います。 実装した背景 弊社のBI(Business Intelligence)チームでは現在、過去の分析クエリをGitHub上に蓄積しています。 分析クエリを蓄積することによって、その知見をBIチームメンバーだけではなく、社内で分析に興味のあるメンバーに共有することが可能です。 http

    Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri | メルカリエンジニアリング
    progrhyme
    progrhyme 2018/05/16
  • メルカリの3つのValueで取り組むインシデント対応 | メルカリエンジニアリング

    TL;DR こんにちは、SRE の @masartzです。 メルカリには Go Bold、 Be Professional、All for One という3つの行動指針(Value)があります。今回はこれらのValueを元にメルカリでインシデント対応をどのように行っているかを紹介します。 インシデント対応とは エントリでは、いわゆるハードウェアやネットワークなどのインフラにおける不具合や故障だけでなく、プロダクトひいては会社活動全般における非日常的な状況に対する対応をインシデントと定義して進めます。 何をやっているか インシデント対応は、障害の発生から根解決までの過程で大きく2つの段階に分けられます。 障害発生から一旦の収束まで 発生した障害を監視システムなどで検知します あらかじめ用意された専用のSlackチャンネルに共有し、対応を開始します 状況の把握と早期の復旧に務めます 機能の

    メルカリの3つのValueで取り組むインシデント対応 | メルカリエンジニアリング
    progrhyme
    progrhyme 2018/04/12
    Slack上で障害振り返り会か
  • 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 | メルカリエンジニアリング
    progrhyme
    progrhyme 2017/08/21
    k8sのデプロイに特化したワークフロー的タスクランナーかな。便利そう
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

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

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
    progrhyme
    progrhyme 2016/02/02
    光速だ。
  • ハイパフォーマンス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 | メルカリエンジニアリング
    progrhyme
    progrhyme 2015/11/25
    参考になる。
  • 1