タグ

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

  • Web パフォーマンスのための HTML 最適化 | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の2日目は @1000ch (id:hc0001) がお送りします。この記事は2019年11月16日に福岡で開催された Frontend Conference Fukuoka 2019 のセッション、HTML Optimization for Web Performance の書き起こし記事です。 docs.google.com なぜ HTML の最適化が重要なのか 先日公開された Chromium Blog: Moving towards a faster web をご覧になられたでしょうか。Google は Web ページのパフォーマンスの重要性を様々な形で啓蒙してきましたが、この記事では Chrome のもとになっている Chromium に、Web ページのパフォーマンスをブラウザ UI として表示する機能を追加し、ユーザーが

    Web パフォーマンスのための HTML 最適化 | メルカリエンジニアリング
  • 数字で振り返るMercari Engineering Blogの1年間 | メルカリエンジニアリング

    こんにちは。メルカリEngineering Officeの@yasu_shiwakuです。この記事は、Mercari Advent Calendar 2022 の2日目の記事です。 記事では、技術情報の発信をおこなっているMercari Engineering Blogの定常的な計測を実施した経緯と、Engineering Blogを通じたここ1年間のおおまかな技術広報活動について振り返っていきます。 Engineering Blogについて Mercari Engineering Blogとは、メルカリのエンジニア組織が技術情報の発信(技術広報活動)をおこなっているプラットフォームの一つです。 技術情報の発信という文脈では他にもYouTubeチャンネル やDev Twitterなど、開発者向けの情報発信をおこなっているチャンネルはいくつかありますが、2015年に開始したMercari

    数字で振り返るMercari Engineering Blogの1年間 | メルカリエンジニアリング
  • Building secure web apps using Web Workers | Mercari Engineering

    Security is paramount for our users, and we at mercari strive to provide a snappy and safe platform. We recently introduced an additional layer of defence by adding Web Workers to secure the access token. It now protects the users from various kinds of attacks, including token theft from Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), prototype pollution, zero-day npm package vulner

    Building secure web apps using Web Workers | Mercari Engineering
  • ユニットテストのガイドラインを作成しました | メルカリエンジニアリング

    この記事は Merpay Tech Openness Month 2022 の15日目の記事です。 はじめに こんにちは。Credit Design Teamでバックエンドエンジニアをしている@tanaka0325です。主にメルペイスマート払いの開発をしています。 この記事では、先日私のチームで作成したユニットテストのガイドラインについて紹介します。 課題 現在私が担当している「メルペイスマート払い」のマイクロサービスは、もともと「メルカリ月イチ払い」として提供されていたコードを流用し、新規要件となる機能を追加して作られたマイクロサービスです。 マイクロサービス化するにあたり、「メルカリ月イチ払い」にあったデータはマイクロサービスリリース後に随時マイグレーションをする方針になったので、既存のデータをマイグレーションしつつ、定額払いなどの新規機能を追加してきました。メルペイスマート払いのマイ

    ユニットテストのガイドラインを作成しました | メルカリエンジニアリング
  • レガシーなシステムとの向き合い方 | メルカリエンジニアリング

    はじめに はじめまして、@takashi-kun です。 自分が所属するチームでの連載企画 "Blog Series of Introduction of Developer Productivity Engineering at Mercari" 、今回はメルカリが成長を続けている中で多くのレガシーな技術と私達 Core SRE チームがどのように向き合っているか具体例を基に紹介します。 突然ですが、「レガシーな技術」と聞いて何を思い浮かべるでしょうか? 古いミドルウェアを利用している、昔の言語で書かれている、オンプレ環境を利用している、などなど、いろいろな定義が浮かぶと思います。 メルカリは事業スピードの加速に伴いシステムが日々拡張/拡大されていくため、「owner/maintener ともに存在しないシステム」が少なからず存在します。owner も maintener もいない中でシ

    レガシーなシステムとの向き合い方 | メルカリエンジニアリング
  • ソウゾウのソフトウェアエンジニア選考ガイドを公開しました | メルカリエンジニアリング

    こんにちは。ソウゾウのソフトウェアエンジニアの@naopr です。 ソウゾウでは、10/7にメルカリShopsの格提供を開始しました! これを機にサービス開発を今まで以上に加速するため、より多くのエンジニアにソウゾウのことを知っていただこうと思いソフトウェアエンジニアの選考ガイドをGitHub上で公開することとしました。 https://github.com/mercari/souzoh-recruitment/blob/master/guide_software_engineer.md このエントリでは、選考内容の公開に至った背景と思い、公開にあたってこだわった点をお伝えできればと思っています。 公開に至った背景と思い 9月にソウゾウが開催したTech Talkにご参加いただいたエンジニアの方とカジュアル面談をする機会があったのですが、その中で「コーディングテストはどのような内容を何ヶ

    ソウゾウのソフトウェアエンジニア選考ガイドを公開しました | メルカリエンジニアリング
  • Search API v2 を作った話 | メルカリエンジニアリング

    はじめに こんにちは、メルカリJP の Search Backend チームの otter です。 今回は、BFF的役割を担っている Search API のインターフェースを version 2 として刷新したときの課題や改善した点について紹介したいと思います。 API が持っていた課題 ご存知の方も多いと思いますが、メルカリではサービス全体としてマイクロサービスアーキテクチャによる開発を採用しています。 Search API もモノリシックな API からマイクロサービスとして切り出されたもので、iOS やAndroid などのクライアントとの後方互換性を担保するため、API のインターフェースや仕様はそのまま移行されました。 そのため、サービス面では柔軟に新たな施策に対応するのが難しかったり、システム面では各マイクロサービスで共通化されるべき、エラーハンドリングやページネーションがメ

    Search API v2 を作った話 | メルカリエンジニアリング
  • メルカリShops のフロントエンド | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer の hiroppy です。「連載:「メルカリ Shops」プレオープンまでの開発の裏側」 の最後は、Web フロントエンドの紹介をしたいと思います。メルカリ Shops は既存のメルカリアプリの中に独立した Web アプリケーションとして動いています。記事では、どのようなライブラリを選定し、どのようにアーキテクチャを設計してきたかを解説します。 なぜ Web なのか? アプリの上で動いているのであれば、WebView ではなくても良いと感じる人はいると思います。今回採用した 1 つの理由としては、リリースが柔軟な点が挙げられます。iOS/Android の両方に対して開発サイクルを早めることが可能であり、また機能追加やバグ修正が容易です。どのように WebView で動いているかについては、6 日目のメルカリ Shops のため

    メルカリShops のフロントエンド | メルカリエンジニアリング
  • 新しいメルカリ Web の話 | メルカリエンジニアリング

    @1000ch です、今回は新しいメルカリ Web について書きます。この大きなプロジェクトのリリースは、多くの人の多大なる貢献によって成されたものです。そのプロジェクトの立ち上がりから今日まで、リードする役割でプロジェクトを見てきた一部始終を記録するべく書きます。 メルカリにおけるレガシーなソフトウェア ソフトウェアは生モノとよく言われますが、古くなったソフトウェアとどう付き合っていくかは、どの開発組織も抱えている、あるいはいつかはぶつかる課題なのではないかと思います。多くの方々に利用して頂くためには大規模なソフトウェア群を開発し運用する必要があります。しかし、はじめから全てを見越して完璧なアーキテクチャを構築するのは不可能であり、それをビジネスの成長に耐えうるものにソフトウェアを成長させていくのがエンジニアリングの責務です。 2013 年にスタートしたメルカリに於いても例外はなく、急速

    新しいメルカリ Web の話 | メルカリエンジニアリング
  • 画像検索システム再設計のお話 | メルカリエンジニアリング

    こんにちは。メルカリの画像検索チームでTech Leadをしています葛岡です。 今回は、メルカリのMLシステムの中で一、二を争う複雑なシステムである画像検索の基盤を再設計し、経済的にも技術的にもみんなが幸せになったお話をしたいと思います。 画像検索ってなぁに? その名の通り、画像をベースに視覚的に似ている商品を検索する機能です。この機能は2年ほど前にリリースされていて、すでにiOSバージョンのメルカリではご利用いただけます。 当時のシステムはブログ記事になっているので、ご確認ください。 再設計?なにそれ?おいしいの? さてこの機能を支えるシステムですが、当時開発されて以来、大きな再設計などは特になく、つい最近まで運用されていて、画像検索やその他のメルカリサービスでも内部的に呼ばれていて、プラットフォーム的な立ち位置を担っていました。 画像検索は定期的に新しい画像インデックスを構築するのです

    画像検索システム再設計のお話 | メルカリエンジニアリング
  • 「プログラミング言語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完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
  • マイクロサービスにクリーンアーキテクチャを採用する上で考えたこと | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の19日目は、Backendエンジニアチームの @toshinao がお送りします。 新しくマイクロサービスを立ち上げる機会があり、クリーンアーキテクチャをベースにしました。クリーンアーキテクチャはバックエンド・フロントエンド・アプリなど様々な場所で採用されています。ただ、確固たる方法というのは無く、みな試行錯誤しているのでは無いでしょうか。この記事では、クリーンアーキテクチャを取り入れる上で考えたことを紹介したいと思います。 マイクロサービスを作ったことがない人や、今までいくつか作ってきたけどより良い設計について考えている人の助けになれば幸いです。 はじめに メルペイのバックエンドは主にGoGoogle Cloud PlatformGCP)で開発を行っていますが、各マイクロサービスをどう実装していくかは概ね各チームに委ねられてい

    マイクロサービスにクリーンアーキテクチャを採用する上で考えたこと | メルカリエンジニアリング
  • 1