タグ

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

  • 「プログラミング言語Go完全入門」の期間限定公開のお知らせ | メルカリエンジニアリング

    メルペイ エキスパートチームの@tenntennです。 メルペイでは、社外の方向けにGopher道場という体系的にGoを学べる場を無償で提供してきました。Goの普及を目的にこれまでに7回開催し100人以上の方に参加していただきました。 自社でもGoを基幹技術として使っている背景があり、今後もGoコミュニティへの貢献は継続していきます。しかしながら、新型コロナウイルス感染症の状況を踏まえて直近のGopher道場開催を見合わせています。 Goを学ぶ場を提供することでGoに触れる方を増やしたいと考えている筆者にとっては、 開催できないことが非常に残念です。そこでエキスパートチームでは違う形で学ぶ場を提供できないかと考え、Gopher道場で使用している資料のベースになっている「プログラミング言語Go完全入門」を期間限定で公開することにしました。 bit.ly bit.ly 追記 3/18:PDF

    「プログラミング言語Go完全入門」の期間限定公開のお知らせ | メルカリエンジニアリング
    masudaK
    masudaK 2020/03/18
    素晴らしい!ぜひご活用ください!
  • フロントエンドチームのCircleCI設定を紹介します | メルカリエンジニアリング

    フロントエンドチームのSET(Software Engineer in Test)の @urahiroshi です。 メルカリのフロントエンドチームは、JavaScriptを中心とした技術を用いてメルカリのWebサイトやアプリ内WebViewの開発を行っています。 私はチーム内のSETとして、開発環境の構築やトラブルシューティング、CI・運用ツールの導入やビルド・デプロイ処理の修正などを主に行っているのですが、今回は私たちが利用しているCircleCIの設定についてご紹介したいと思います。 CircleCIでは以下のようなタスクを実行しています。 Lint ユニットテスト ビルド・デプロイ Storybookのデプロイ npmパッケージのpublish 脆弱性検知 各タスクの詳細について、順に記述していきます。 1. Lint コードに対してLintツールを走らせます。 最近のプロジェクト

    フロントエンドチームのCircleCI設定を紹介します | メルカリエンジニアリング
    masudaK
    masudaK 2018/08/20
    うらやまさん!!
  • SETチームの設立背景と次世代のSETに向けて | メルカリエンジニアリング

    はじめに SET(Software Engineer in Test)でエンジニアをやっている@masudakと申します。メルカリのSETチームは2016年10月に設立されたのち、ローカル開発環境やQA環境の構築、UIテストの自動化、フロントエンドやマイクロサービスなど各領域内において「開発生産性とプロダクト品質の向上」による取り組み等、様々な業務を行ってきました。 しかしながら、まだSETは馴染みない職種であると思われるため、この記事ではSETの設立背景やその未来像を紹介しようと思います。 SETという職種ですが、いくつかの会社で設立されており、GoogleのSETチームでは、新機能やパフォーマンスを上げるための業務を行うよりも、コードの品質やテストのカバレッジに注目した職種であるとされており、加えて単体テストのフレームワークを作りテストの記述が用意になるような共通基盤の作成も担っている

    SETチームの設立背景と次世代のSETに向けて | メルカリエンジニアリング
    masudaK
    masudaK 2018/06/14
    SETの設立背景や展望について書いてみました〜、興味ある方いましたら是非ご連絡下さい!ご飯でも行きましょう!!
  • 量子コンピューティングを使ったMercari Professional Internshipをはじめます!

    量子コンピューティングを使ったMercari Professional Internshipをはじめます! Research & Advanced Tech Author: kimurashunya はじめに メルカリでは「世界で戦うために、まずは、世界を見てきてください。」というメッセージのもとUS・UKに100名の学生を派遣する Mercari BOLD InternshipやSXSW (サウス・バイ・サウスウエスト)に参加できる、Mercari BOLD Scholarshipといった制度があります。 この度、BOLD Internship, BOLD Scholarshipに続き、「世界で戦うために、新しい技術を使って、世の中に新しい価値を生み出す」ことを支援するインターンシップ Professional Internshipを始めます! Professional Internsh

    量子コンピューティングを使ったMercari Professional Internshipをはじめます!
    masudaK
    masudaK 2018/04/09
    量子コンピューティング興味ある方是非是非〜
  • PHPStanで始めるPHPのための静的解析 #phperkaigi

    こんにちは。最近メルペイに異動になった @hiraku です。 2018年3月10日(土)に、PHPerKaigi 2018というイベントで登壇してきました。「PHPStanで始める継続的静的解析」ということで、メルカリで使用しているPHPStanというツールについて解説しました。 phperkaigi.jp 発表内容を短くまとめると メルカリではPHPStanというツールをCIフローに組み込み、PHPコードの静的解析を行ってコードの信頼性向上に努めています。 PHPStanはautoloadファイルを解釈し、一部のコードを実行することで解析の高速化を行っており、よくできています。 とはいえ、PHPに対して可能な解析に限界はあるので、テストも合わせて行っていきましょう。 大事なのは、品質向上のアプローチが用意され、心配せずにリリースできることです。 autoloadを認識するということ ス

    PHPStanで始めるPHPのための静的解析 #phperkaigi
  • 社内の面倒な手作業はZapierにやらせようーーノンプログラマーでも業務自動化ができるツールを導入してみて

    社内の面倒な手作業はZapierにやらせようーーノンプログラマーでも業務自動化ができるツールを導入してみて QA Author: tadashi-nemoto0713 これは Mercari Advent Calendar 2017 22日目の記事です。 こんにちは、メルカリのQA-SETチームで自動化をぶりぶりしている tadashi0713 です。 前回は業務自動化の1つとして、Seleniumを使ったブラウザ操作自動化についてご紹介しました。 tech.mercari.com コメントや反応を見ますと、最近はRPA(Robotic Process Automation)をはじめとした業務自動化に関心が高い印象を受けました。 メルカリでは1ヶ月ほど前にZapierというツールをTeam Planで導入しました。 zapier.com このツールを使って、社員がより簡単に業務自動化ができ

    社内の面倒な手作業はZapierにやらせようーーノンプログラマーでも業務自動化ができるツールを導入してみて
  • Mercari BOLD Scholarship をはじめる話 | メルカリエンジニアリング

    この記事は Mercari Advent Calendar 2017 20日目の記事です。昨日は @_hitima の「Mercari Web版 に Workbox で Service Worker を導入する話」でした。日は研究開発組織の @ikkou が Mercari BOLD Internship に続く新しい企画 Mercari BOLD Scholarship をはじめる話をします。 メルカリにジョインするきっかけとなった xR(VR/AR/MR) のことや、研究開発組織については、この記事が公開される翌々日に メルカリ新研究開発組織オープニングイベント が開催されるので、そこから段々と明らかにしていく予定です。 はじめに メルカリでは、世界で戦うために、まずは、世界を見てきてください。というメッセージのもと、US・UKに100名の学生を派遣する Mercari BOLD I

    Mercari BOLD Scholarship をはじめる話 | メルカリエンジニアリング
    masudaK
    masudaK 2017/12/20
    羨ましすぎる。色んなイベントに参加できるので、興味ある学生いたら、是非ご紹介ください〜
  • 次世代Continuous DeliveryプラットフォームであるSpinnakerを体験してみよう! - Mercari Engineering Blog

    次世代Continuous DeliveryプラットフォームであるSpinnakerを体験してみよう! Mercari Advent Calendar 2017 の17日目は SET(Software Engineer in Test)チームの @masudak がお送りします。 Spinnakerの登場 みなさんの会社では、どうやってサービスのデプロイを行っていますでしょうか。手で温かみのある配布しているという方もいるかもしれませんし、scp/rsyncでデプロイ、シンボリックリンクを駆使してデプロイ、botを使ってデプロイなど、色々な方法があるでしょう。 @deeeetが tech.mercari.com に書いたように弊社ではマイクロサービスのデプロイを少しずつSpinnakerに寄せています。 RED/BLACKデプロイや、承認フローの追加、カオスモンキーなど数多くのマイクロサービ

    次世代Continuous DeliveryプラットフォームであるSpinnakerを体験してみよう! - Mercari Engineering Blog
    masudaK
    masudaK 2017/12/17
    弊社エンジニアブログ17日目の記事を書きました!少しずつ知名度があがってきたSpinnakerを題材に書いてみました。是非参考にして頂き、フィードバック頂ければと思います〜
  • メルカリチャンネルにおけるFirebaseの利用例 | メルカリエンジニアリング

    Mercari Advent Calendar 2017 の16日目は@sota1235がお届けします。 この記事では私のチームが開発しているメルカリチャンネルでFirebase Realtime Databaseを使うにあたり行っている工夫をご紹介します。 同じ文脈の話を今年のPHPカンファレンスでも発表したのですが、この記事ではその時お話できなかったもう少し細かい工夫を4つ紹介したいと思います。 Realtime Databaseへのリクエストを間引く Realtime Databaseは非常に高トラフィックな通信を捌くことができます。 とはいっても無尽蔵にデータ更新処理をしたり読取処理をできるわけでは当然ありません。 メルカリチャンネルでは以下のように多くの用途にRealtime Databaseを利用しています これらを全て素直にRealtime Databaseに書き込むとすぐに

    メルカリチャンネルにおけるFirebaseの利用例 | メルカリエンジニアリング
  • メルカリの分析チームとは?その全ての疑問にひとつひとつ答えます | メルカリエンジニアリング

    この記事はMercari Advent Calendar 6日目の記事です。 メルカリのBIチームのアナリスト/マネジャーの @hikaru が、メルカリの分析チームの事情についてお送りします。 ※ BIチーム…メルカリ内の分析を一手に担うチーム。Business Intelligenceチーム。 この記事について イベントやカジュアル面談などでメルカリの分析チームの内幕についてよく聞かれる質問があります。 いえ、それどころか場合によっては社内であまり一緒に仕事する機会がない方々からも、チームに関して質問されることがあります。 ※ カジュアル面談…メルカリでは、社内のポジションに興味ある方にオフィスに来ていただいて1on1でざっくばらんに話す会を頻繁に行っています。 正直、分析チームというのは外部から何をやっているか見えづらい面もあるため、理解できます。 よく頂く質問としては、 組織的なこ

    メルカリの分析チームとは?その全ての疑問にひとつひとつ答えます | メルカリエンジニアリング
    masudaK
    masudaK 2017/12/06
    すごい丁寧に書かれてる
  • 技術書を作るための技術スタック | メルカリエンジニアリング

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

    技術書を作るための技術スタック | メルカリエンジニアリング
  • メルカリの今年1年間の機械学習の取り組みとこれから

    これはMercari Advent Calendar 2017 の2日目の記事です。 昨日は @stanaka の分散ファイルシステムはブロックチェーンの夢を見るか でした。 今回は@Hmj_kd が、メルカリの機械学習の取り組みや機械学習エンジニアの今年行ってきた活動のいくつかをご紹介したいと思います。 以下、一部にて機械学習をMLと略します。 この1年間で機械学習で取り組んだこと 私が入社したのは2017/01で、社内では二人目の機械学習エンジニアでした。 その当時は speakerdeck.com にあるように、プロダクトにMLに関するものはありませんでした。 現在は、チーム全体でマネージャも含めて約10人ほどの組織になり、活発に実験や開発が行われています。 いくつかを列挙しますと - 商品出品時の価格推定とサジェスト - 一部カテゴリについて商品タグの推定 - 商品出品時のカテゴリ

    メルカリの今年1年間の機械学習の取り組みとこれから
    masudaK
    masudaK 2017/12/02
    ほんとこの領域面白い。来年はもうちょっと深く関わって、色々やりたいなー。
  • 主要データベースの増え続けるdisk容量の対応事例

    こんにちは、SRE の @masartzです。 今回は最近取り組んだ、メルカリの主要データベースの容量削減のお話をしようと思います。 TL;DR 主要データベースの容量を20%以上削減しました どういう状況だったか? 何をしたか? メルカリでは2017年11月現在、出品数は1日100万件を超えています。 なので、単純に日々多くのデータが増えていっています。 そのためデータベースのスケーリングは常に検討し、取り組まなければならない課題です。 今回扱ったデータベースはいくつかあるデータベースの中で商品テーブルを持つ、メルカリの主要データベースになります。 増え続けるデータに対応するための、テーブル分割を変則的な形で対応したのでその過程を紹介します。 前提:データベース分割方法 メルカリのデータベースには 会員情報や商品情報など、基要素となるデータから、通知やお知らせメッセージなど付加的な機能

    主要データベースの増え続けるdisk容量の対応事例
    masudaK
    masudaK 2017/12/01
    淡々と書かれてるけど、この規模で普通にやっててすごい。
  • 分散ファイルシステムはブロックチェーンの夢を見るか | メルカリエンジニアリング

    今年からメルカリでもMercari Advent Calendar 2017と称してAdvent Calendarを始めることとなりました。 初日は id:stanaka / @stanaka がロンドンよりお届けします。 分散ファイルシステムという言葉を聞くと、トラウマを刺激され、うっと頭を抱える人も多いかと思います。私もその一人で、以前にPBクラスまではいかずとも数TBのHDDを数百台並べたシステムのお守りをしたことがあり、日々壊れ続けるHDDに負荷に悲鳴を上げるメタデータDBなどネタには困らない状況でした。そういう時にAWS S3を触ると、「ああ、これは天国だ..」ともはや過去には戻れない思いをしたものです。 最近では分散ファイルシステムを運用しているところもめっきり減っていて*1もう過去の分野かな、と思っていたのですが、ここ数年で「ブロックチェーン x 分散ファイルシステム」という

    分散ファイルシステムはブロックチェーンの夢を見るか | メルカリエンジニアリング
    masudaK
    masudaK 2017/12/01
    分散ファイルシステム絶対運用したくないけど、まさかブロックチェーンの影響で勃興する可能性あるとは。また色々ストレージも進化しそうだなー。
  • メルカリQA-SETチームが進めているテスト自動化についての質問まとめ | メルカリエンジニアリング

    こんにちは。メルカリでQA-SETチームのマネージャ兼自動化エンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 先日開催された Mercari Tech Conf 2017 において、自動テストのデモ展示を担当させていただきました。当日は多くの方にお越しいただき、スマホアプリの自動化への関心は大きいのかなぁと感じております。 この記事では、テスト自動化についてよく質問されたことをまとめてみたいと思います。どの現場も同じように悩んでおり、試行錯誤している点も似ていたので、ノウハウとして残れば幸いです。 Q. どんな技術をつかってアプリの自動化をしているのですか? A: AndroidはAppium(Ruby) を使っています。 Gemが豊富なので以下のようなGemを使って実装を効率化しています。 # Gemfile sample gem 'appiu

    メルカリQA-SETチームが進めているテスト自動化についての質問まとめ | メルカリエンジニアリング
  • メルカリ社内ドキュメントツールの Crowi を Kubernetes に載せ替えました | メルカリエンジニアリング

    最近、SRE になった @b4b4r07 です。今回は、直近のタスクだった社内アプリを Kubernetes に載せ替えた話をします。 前置き メルカリでは全社的 1 に Crowi という Markdown で書ける Wiki アプリケーションをナレッジベースとして採用しています。 site.crowi.wiki 以前は、プロダクトチームは Qiita:Team、コーポレート系は Google Sites と言った具合に、各部署ごとに異なるドキュメントツールを使っていました。これではよくないと、エンジニアに限らず誰でも書きやすく参照しやすい Wiki のようなサービスが必要とされ、Crowi の採用に至りました。 まずはみんなに使ってもらうために広めていこうと、試験的に導入が始まったため、今回の移行話までは 1 台の EC2 インスタンスにアプリケーションサーバと Nginx、Mongo

    メルカリ社内ドキュメントツールの Crowi を Kubernetes に載せ替えました | メルカリエンジニアリング
  • Knuth multiplicative hash が最小完全ハッシュ関数であることの証明 | メルカリエンジニアリング

    こんにちは!サーチチームの @metal_unk です。普段はサーバーサイドエンジニアとして、メルカリの検索を改善する仕事をしています。 メルカリには Be Professional Day という「普段できないことをやろう」をテーマとする日があり、その日は業務に直接関係のないことや、普段は手をつけられないリファクタリングなどがされます。Be Professional Day の様子はこちらで紹介されています。 tech.mercari.com わたしは今回の Be Professional Day で、Knuth multiplicative hash が最小完全ハッシュであることを証明しました。このブログはその証明についての記事です。 「普段できないことをやろう」という Be Professional Day では、証明もアリです。 Knuth multiplicative hash

    Knuth multiplicative hash が最小完全ハッシュ関数であることの証明 | メルカリエンジニアリング
  • 「技術をアウトプットするところに技術は集まる」ソウゾウ エキスパートチームの役割

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

    「技術をアウトプットするところに技術は集まる」ソウゾウ エキスパートチームの役割
  • メルカリQA-SETチームが考えているQAやテストの未来のはなし | メルカリエンジニアリング

    こんにちは。メルカリの自動化エンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 今年のはじめに、QAエンジニアとSET(Software Engineer in Test)で構成される「QA-SETチーム」が誕生しました。現在は、そのチームのマネージャも担当しています。今回はQA-SETチームで目指している「メルカリでのQAやテストの未来」をご紹介させていただきます。 メルカリでは、上の図のようにプロジェクトごとに開発チームが分かれています。 それぞれの開発チームには、プロジェクトを実現するために必要な人材が集まっており、アジャイルの文脈だと職能横断型チーム(Cross-FunctionalTeam)になっています。これによって、開発に不要なセクショナリズムがなくなり、自然にプロジェクトに集中できる環境になります。 QAエンジニアもそれぞれのプロジ

    メルカリQA-SETチームが考えているQAやテストの未来のはなし | メルカリエンジニアリング
    masudaK
    masudaK 2017/08/18
    所属しているチームの紹介記事です。自動化を進めつつ、どうしたらよりよい品質を保てるのか本気で取り組んでおります。テストとか自動化好きな方いたら、是非ご飯でも行きましょう〜
  • 竹迫 良範氏がメルカリの技術顧問に就任 セキュリティ分野の体制強化 | メルカリエンジニアリング

    こんにちは、エンジニアの cocoiti です。 竹迫 良範氏が8月1日付けでメルカリの技術顧問として就任したことをお知らせいたします。氏には、主にセキュリティ分野の体制強化にご尽力いただきます。 これまでもメルカリではセキュリティの取り組みとして、内部のエンジニアによる調査検証体制や、外部会社の調査を行っていました。今回、急成長するサービスや社員数増加に対応するため、セキュリティ分野の内製エンジニアの採用強化や、社内のエンジニアの体系的なセキュリティスキルの向上など、非連続的な成長が急務と考え、セキュリティ及び技術マネージメントに造詣の深い竹迫氏を技術顧問としてお迎えすることとなりました。 竹迫氏は現在、ゼクシィやスタディサプリなどを運営する株式会社リクルートマーケティングパートナーズにおいて内製開発エンジニア組織の体制強化と人材育成でご活躍されています。また対外活動として長年セキュリテ

    竹迫 良範氏がメルカリの技術顧問に就任 セキュリティ分野の体制強化 | メルカリエンジニアリング