タグ

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

  • OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング

    Merpay Advant Calendar 2020、23日目の記事は、趣味で認証認可をやっている @nerocrux が送りいたします。 最近 GNAP という認可プロトコルのワーキンググループドラフトが出ていて頑張って細かく読みましたので、(次回はいい加減に仕事でやってることについてお話しますが)今回はその GNAP について紹介させてください。 GNAP とはなにか? GNAP は Grant Negotiation and Authorization Protocol の略で、認可のプロトコルです。Justin Richerさんという方を中心に策定しています。作者によると、GNAP の発音は げなっぷ になります。 認可(Authorization)プロトコルと言えば、OAuth 2.0 (RFC6749) が広く知られ、運用されています。GNAP は OAuth 2 の後継とし

    OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング
    takc923
    takc923 2020/12/23
    読み方、昔は なっぷ だったみたい / "The suggested pronunciation of GNAP is the same as the English word "nap", a silent "g" as in "gnaw" https://tools.ietf.org/id/draft-hardt-xauth-protocol-08.html
  • Automatically measure your clothes on a smartphone with AR | Mercari Engineering

    Hi, I’m Yuanqin Lu, a machine learning engineer from the Image Search team in Mercari Japan. Mercari always tries to improve the experience for customers by helping them fastly put up items, easily find items, and conveniently buy items. In order to do so, product managers and engineers are working together on lots of Proof of Concepts (PoCs). Although not all of those PoCs will be released in Mer

    Automatically measure your clothes on a smartphone with AR | Mercari Engineering
    takc923
    takc923 2020/11/02
  • 「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング

    メルペイ エキスパートチームの@tenntennです。稿は Merpay Tech Openness Month の11日目の記事です。 「プログラミング言語Go完全入門」の期間限定公開のお知らせでも書いたように、メルペイでは、社外の方向けにGopher道場という体系的にGoを学べる場を無償で提供してきました。Goの普及を目的にこれまでに8回開催し100人以上の方に参加していただきました。 また、Gopher道場の動画や資料はGopher道場 自習室として誰でも利用できるようになっており、現時点で300名以上の方が利用されています。 Gopher道場の資料のベースになっている「プログラミング言語Go完全入門」は、2020年7月31日までの限定公開になっていましたが、日より公開期限を撤廃し、完全公開することになりました。 また、日8月31日から始まる「Online Summer Int

    「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
    takc923
    takc923 2020/08/31
  • メルペイでのSpannerとの戦いの日々 | メルカリエンジニアリング

    こんにちは、メルペイのバックエンドエンジニアの @kazegusuri です。 メルペイではメインのデータベースとしてGoogle Cloud Spannerを利用しています。 マイクロサービスによっては秒間数千リクエストをSpannerで処理しています。 いかにSpannerをスケールできるようにして安定させられるかが会社全体として重要になっています。 記事では数ヶ月間戦ってきたSpannerのレイテンシが高くなる問題とその解決法について紹介したいと思います。 社内への調査報告も含めて書いているため、かなり詳細で長い内容になっています。 なおこの問題の大部分はGoSpannerを使ったときにだけ発生する問題のため、Javaなどの他の言語では該当しない可能性があります。 CreateSession問題 ここで紹介しなくても良いくらい基的なところですが、CreateSessionが非常

    メルペイでのSpannerとの戦いの日々 | メルカリエンジニアリング
    takc923
    takc923 2019/04/21
    先人が落とし穴を埋め立てて行ってくれるのありがたい
  • Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング

    はじめに メルペイ エキスパートチームのtenntennです。 メルカリグループでは、毎週金曜日にGo Fridayという社内勉強会を開催しています。 毎週やっているとそれなりに知見が溜まってくるので、定期的に”こぼれ話”としてブログを書こうという話になりました。 今回の記事では、先日のGo Fridayで話題にあがった非公開な機能を使ったテストについて扱いたいと思います。 なお、Goにおけるテストの手法やテストしやすいコードの書き方については、GopherCon 2017でも発表があったmitchellhさんの”Advanced Testing with Go”(スライド/動画)が参考になります。テーブル駆動テストやテストヘルパーなど非常に勉強になるので、まだ見たことのない方はぜひスライドや動画をご覧ください。 TL;DR Goのテストではテスト対象とテストコードを別パッケージにできる

    Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング
    takc923
    takc923 2018/11/20
  • 社内の面倒な手作業は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にやらせようーーノンプログラマーでも業務自動化ができるツールを導入してみて
    takc923
    takc923 2017/12/23
  • US版Mercariのリニューアルと今後 (サーバサイド)

    この記事はMercari Advent Calendar10日目の記事です。昨日は@syu_creamのメルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜でした。 日はUSサンフランシスコのサーバサイドエンジニア@deme0607が、今年2017年にリニューアルしたUS版Mercariのサーバサイドについてご紹介します。 現在のアーキテクチャ Brand new US Mercari (Android 編)でもご紹介したように、US版Mercariは今年、より一層USマーケットにフィットしたアプリを提供しUSでの成長を加速すべく、大きなリニューアルが実施されました。前述の記事はAndroidアプリのリニューアルに関するものですが、iOSアプリやAPIサーバも同様にリニューアルしています。 以下の図は、リニューアル後のUS版Mercariのサーバサイドアーキテクチャです。 ここでは

    US版Mercariのリニューアルと今後 (サーバサイド)
    takc923
    takc923 2017/12/10
  • オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング

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

    オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング
    takc923
    takc923 2017/11/20
  • 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 が最小完全ハッシュ関数であることの証明 | メルカリエンジニアリング
    takc923
    takc923 2017/08/29
  • 竹迫 良範氏がメルカリの技術顧問に就任 セキュリティ分野の体制強化 | メルカリエンジニアリング

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

    竹迫 良範氏がメルカリの技術顧問に就任 セキュリティ分野の体制強化 | メルカリエンジニアリング
    takc923
    takc923 2017/08/16
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
    takc923
    takc923 2017/06/23
  • プログラマーの三大美徳 その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
    takc923
    takc923 2017/03/30
    「なんでマスターすぐ死んでしまうん?」
  • 未来のCSSを先取るHoudiniとは?それは魔法である!

    こんにちわ、メルカリアッテでFront-end Developerをしている@t32kです。 メルカリではセミナー参加補助制度があり、それを利用して海外カンファレンスに参加してきました。今回は11/30 ~ 12/01、オーストラリア・メルボルンで開催されたCSS/JSConf Australia 2016に行ってきたので、そのレポートを書きたいと思います。 今回はその中でも、CSSConfでのBarak Chamo氏が講演した内容が非常に興味深かったので紹介します。 Hey presto, CSS! 今日はお話する内容は魔法についてです。どのように自分が定義したCSSをブラウザ上で利用可能にするのかという魔法です。 その前に、魔法ではないこれまでのCSSについて振り返ってみましょう。日には『珍道具』と呼ばれるものがあります。とても素晴らしい技術ですが、ちょっとオーバーエンジニアリングに

    未来のCSSを先取るHoudiniとは?それは魔法である!
    takc923
    takc923 2016/12/20
  • プログラマーの三大美徳 | メルカリエンジニアリング

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

    プログラマーの三大美徳 | メルカリエンジニアリング
    takc923
    takc923 2016/06/30
    mixiのエンジニアブログで開発環境について書いて誰もついてこれなかったもりもとさんメルカリ行ってたのか。
  • WEB+DB PRESS にてメルカリSREチームによる大規模インフラ運用の連載が始まります | メルカリエンジニアリング

    SREチームの @kazeburo です。2016年4月23日(土曜日)に発売される WEB+DB PRESS Vol.92より、メルカリSREチームメンバーによる連載が開始されます。 gihyo.jp 連載1回目は @kazeburo が書かせていただきました。 連載タイトルは「大規模インフラ運用最前線 〜 増え続けるデータをどう処理し、活用するか」となります。ユーザからの大量のリクエストを受ける大規模Webサービスでは、そのレスポンスを構築する過程で膨大な量のデータを生み出し、処理しています。メルカリも例外ではなくサービスが急成長する中で増え続けるデータをどのように扱い、常にパフォーマンスよくリクエストに応えるかが常に課題となっています。さらに今では、大量のデータを分析したり、機械学習に活用することで新しい価値を生み出すことがWebサービスの発展に欠かせなくなってきています。 連載の1

    WEB+DB PRESS にてメルカリSREチームによる大規模インフラ運用の連載が始まります | メルカリエンジニアリング
    takc923
    takc923 2016/04/23
  • 1