タグ

ブックマーク / techblog.yahoo.co.jp (51)

  • 3rd-party JavaScript のリスク対策に CSP(Content Security Policy)を活用する

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、プラットフォームエンジニアの中山です。 Web サイトにはしばしば 3rd-party JavaScript を導入することがあります。たとえば Web 解析ツール、いいねボタンのような SNS 連携機能、広告掲載や効果測定目的のコードスニペットなどは多くの Web サイトで導入されています。 その一方で 3rd-party JavaScript は Web サイトを閲覧するユーザーに対して悪影響を及ぼしかねないため、導入とあわせたリスク対策も必要となります。 そこで、今回は Content Security Policy(以降 CSP)を活用した 3rd-party JavaScript のリスク対策について、ヤフー

    3rd-party JavaScript のリスク対策に CSP(Content Security Policy)を活用する
  • クラウドネイティブ環境におけるJavaチューニングの進め方 〜 20,000rpsをさばく超PayPay祭の事例

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング統括部の川口です。 記事では、2022年2月から3月にかけて開催された超PayPay祭の事例をもとに、クラウドネイティブ環境におけるJavaチューニングの進め方について解説します。 記事の内容は2022年6月19日に開催された、JJUG 2022 Springで発表した内容をベースにしています。 Yahoo!ショッピングにおける超PayPay祭は高負荷 超PayPay祭は全国のPayPay加盟店とオンラインショップでお得に買い物をお楽しみいただける大規模キャンペーンです。Yahoo!ショッピングにおいても、PayPayポイントがもらえるキャンペーンなどさまざまなお得な施策が実施されます。超PayPay

    クラウドネイティブ環境におけるJavaチューニングの進め方 〜 20,000rpsをさばく超PayPay祭の事例
  • JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 IDソリューション部の都筑です。 新卒2年目で普段はYahoo! ID連携のサーバーサイド、iOSのSDKの開発などを担当しています。 今回は最近ユーザーやデバイスの認証で用いられる”JSON Web Token(JWT)”についての解説と、Yahoo! JAPANと他社の活用事例を紹介したいと思います。 JWTとは? JWTとはJSON Web Tokenの略称であり、属性情報(Claim)をJSONデータ構造で表現したトークンの仕様です。 仕様はRFC7519(外部サイト)で定められています。 特徴として、署名、暗号化ができ、URL-safeであることなどが挙げられます。発音は"ジョット"です。 JWTと関連す

    JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用
  • 表示速度を飛躍的に向上させるHTML/CSS最新仕様「content-visibility」「Lazy loading」「contain」をコード付き簡単解説

    これまではJavaScriptを用いて実装するしかありませんでしたが、ついにimgやiframe要素であればloading="lazy"を付与するだけで、簡単に実装できます。 <!-- 画像に適用する場合 --> <img src="pic.png" alt="画像の詳細" loading="lazy"> <!-- iframeに適用する場合 --> <iframe src="external.html" loading="lazy"></iframe>画面外では読み込みが発生しないので、必要になった時(画面内に要素が入りそうになった時)に読み込みが発生するのでパフォーマンスが向上します。 また画像についてはsrcsetを用いたレスポンシブな画像に対しても指定できますし、picture要素を用いてfallback形式でも記述できます。 <img src="normal.png" srcse

    表示速度を飛躍的に向上させるHTML/CSS最新仕様「content-visibility」「Lazy loading」「contain」をコード付き簡単解説
  • 社内勉強会で専門的技術力を高めるには

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog サイトオペレーション部に所属している大津と申します。普段CDNとNode.jsサポートの仕事をしていて、第9代黒帯(ヤフー内のスキル任命制度/ネットワーク・セキュリティ)に任命していただいています。1 先日ヤフー社内で黒帯LT会が開催されました。お題目は事前に指定された「専門的技術力を極めるための極意」ということで、10分ほど話をしました。しかし、これまでみたいにセミナールームで大勢の前で話すわけではなく、最近代わり映えしない自宅デスクからのオンラインLTは、正直勝手が違いました。時間配分もミスって中途半端に終了です。と思いきや数日前、このYahoo! JAPAN Tech Blog担当者から「いやー、よかったですよ。そのネタ書

    社内勉強会で専門的技術力を高めるには
  • 大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します

    OEM系→ODM系にシフトした背景ですが、1つは 価格競争力 です。 インフラにおいてプライスは重要な指標です。 また昔と今でヤフーのサーバーの買い方に違いがある事もポイントになっています。 昔のヤフーは、いろいろな部門が、いろいろな構成のサーバーを、いろいろなタイミングで購入していました。 この結果、納期面で有利なOEMを第一選択肢としていました。 またいろいろな構成のサーバーが入る事を考慮した結果、自営保守ではカバーしきれない範囲も多く、ベンダーが提供するサポートに依存している部分もありました。 しかし最近では 自社クラウド環境の普及により、決まった部門決まった構成決まったタイミングで購入するように になってきたため、 納期に関して余裕を持ったスケジューリングができるようになりました。 またクラウド環境で利用できるサーバーはかなりハイスペックなため、価格の数%の違いも大きなビジネスイン

    大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します
  • GPS不要の屋内ナビゲーション手法をR&Dした話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして。CTO室R&D部の鈴木と西と申します。よろしくお願い致します。 R&DとはResearch & Developmentの略で、Wikipediaによると "研究開発(けんきゅうかいはつ、英語: Research and development、R&D)とは、特定の対象を調査して、基礎学問の研究や、目的に応じた応用研究の模索、将来的に発展する技術などの試験を行い、技術的な優位を得るための活動である。" という意味だそうです。 私たちが所属する部はヤフーのさまざまなサービスが抱える課題や業界が注目する領域に対し、各メンバーの専門的見地から研究と開発を行い得られた手法や知見をサービスに還元することを目指しています。 今回わ

    GPS不要の屋内ナビゲーション手法をR&Dした話
  • Yahoo! JAPAN トップページを Atomic Design と React・Redux・TypeScript で作り変えたお話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはお久しぶりです。岡部和昌(@kzms2)と申します。 今回お話しする内容はタイトルでほぼ全部述べているのですが、PCYahoo! JAPAN のトップページを 2019 年 10 月 1 日に刷新、主に開発環境をアップデートした経緯と採用した技術に関してのお話です。 見た目に関しては特に大きな変化はなかったので、気が付かなかった方も多いのではないでしょうか? なぜ刷新したか Yahoo! JAPAN トップページは 2008 年 1 月 1 日に大規模なリニューアルを行いました。その頃からある程度の改修はあったものの、基的にはコードの継ぎ足しで修正を加えている状態でした。 (参照;Yahoo! JAPAN トップ

    Yahoo! JAPAN トップページを Atomic Design と React・Redux・TypeScript で作り変えたお話
  • メルカリ・ヤフー・ZOZO開発者が語る「画像検索」の最前線!  Bonfire Data & Science #1 イベントレポート

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 祝! データサイエンス領域で初めての Bonfire!! そんな記念すべき初回のイベントレポートを書かせていただきます、Yahoo!ショッピングでサイエンス領域を担当している東孝信です。 Bonfire Data & Scienceは、データとサイエンスに関わる人たちが情報共有できる勉強会/交流会です。 今後も定期的に開催される予定ですので、興味のある方は第2回以降もぜひチェックしてください! さて、第1回のテーマは「画像検索」です! 最近EC系のサイトで類似画像検索が出来るようになったけどどうやってるの? 画像検索のモデルってどうしてるの? 画像検索のインフラはどうしてるの? 私たちの会社でも画像検索を用いたサービスを構築できる

    メルカリ・ヤフー・ZOZO開発者が語る「画像検索」の最前線!  Bonfire Data & Science #1 イベントレポート
  • 圧縮効率のよいカラムナフォーマット 〜 Yosegi や ORC のエンコード方式調査

    初めまして、2019年8月にヤフーのデータプラットフォームチームのインターンシップに参加した山添です。今回はインターンで検証を行ったカラムナフォーマットにおけるエンコーディング方式について紹介します。ブログでは、特に数値型のエンコーディング方式について、データ圧縮率への効用を確認します。 カラムナフォーマットとは 昨今のデータ社会では、ログデータや購買データ、位置情報データなどさまざまなデータがものすごいスピードで生み出されています。企業ではそのような大規模なデータを蓄えておく必要があります。 私たち学生の間で最も親しみのあるファイルフォーマットは、JSON や CSV などのテキストフォーマットだと思います。これらのフォーマットは、データ保存時にスキーマを必要としない、人間からの可視性が高いなどの利点がありますが、データの圧縮効率が低いことや、処理性能の低さなどのデメリットもあります。

    圧縮効率のよいカラムナフォーマット 〜 Yosegi や ORC のエンコード方式調査
  • 環境のモダン化で、サービスに集中して開発ができている話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーでワイキューを開発している石井、松です。 今回はワイキューの開発の流れを追いながら、ヤフーのもつプラットフォームを利用した開発スタイルの紹介をします。 ワイキューとは? 賞金山分け型のエンタメライブ番組です。毎日21時から配信しており、全問正解した人で賞金を山分けできます。 問題のジャンルが幅広いのが特徴で、クイズだけでなく、間違い探しや多数決などもあり、 毎晩芸能人や YouTuber などをゲストに呼んでワイワイ楽しい番組を作っています。 ワイキューを取り巻く技術 そんなワイキューですが、いろいろな技術を組み合わせてサービス提供しています。 (カッコ内は利用している特徴的な技術やフレームワーク) 数千ユーザ

    環境のモダン化で、サービスに集中して開発ができている話
  • 逐次的単語分散表現学習ツールyskipの技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPAN研究所の鍜治です。記事では、4月18日に公開されたオープンソースの単語分散表現学習ツールyskipに実装されているアルゴリズムincremental SGNSについて解説したいと思います。 単語分散表現の学習ツールとしてはword2vecなどが有名ですが、incremental SGNSは、そのword2vecに実装されている単語分散表現学習アルゴリズムの1つであるskip-gram model with negative sampling (SGNS)を、逐次学習可能な形に拡張したものになります。 Skip-gram model with negative sampling (SGNS) まずはincr

    逐次的単語分散表現学習ツールyskipの技術
  • ヤフーにおけるJava事情を軽くご紹介します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。第8代黒帯〜プログラミング言語(Java)〜 の森下と申します。 ヤフーでは、最近はJavaで書かれたさまざまなOSSの利用や貢献がされていたり、サービス開発でもJavaが使われることが増えてきているなど、社内でのJava利用が拡大してきています。 その背景には、ヤフーにおける標準言語の一つとしてJavaが位置付けられていることや、システムが大規模になるにつれて静的型付けやコンパイルなどできっちり作れるという利点が活きてくる点、また社内で利用できるPaaS環境(Pivotal Cloud Foundry)でもSpring Bootベースのアプリケーションがサポートされていて親和性があるといったことからだと思い

    ヤフーにおけるJava事情を軽くご紹介します
  • Callback を撲滅せよ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。言語サポート(Node.js)チームの伊藤(@koh110)です。 Node.js v10 も10月にLTSとなり async/await によるフロー制御は当たり前のように利用されるようになってきました。JavaScriptの非同期処理は async/await から覚える人も今後増えていくでしょう。今回はそんな非同期処理について、社内での事例を交えて記事を書いていこうと思います。 index Promise 化がなぜ重要なのか ユーザーに promisify をさせる落とし穴 Road to Promise まとめ Promise 化がなぜ重要なのか ちょうど3年前のアドベントカレンダーで、今後はいろいろなモジュー

    Callback を撲滅せよ
  • Yahoo! JAPANのセキュリティ責任者(ISM)についての紹介と本年最後のご挨拶

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、認証技術黒帯 倉林 雅(@kura_lab)です。 年末、クリスマスをいかがお過ごしでしょうか。私はこの年末はIDや認証のことを考えながら仕事とプライベートで国内外を飛びまわっています。 平成最後の年末ということで節目となりますが、私自身もYahoo! JAPANに新卒入社して9年近くが経とうとしています。 2011年入社時はPCに加えてガラケーのサービスを展開しており、スマートフォンの普及と共にWebからアプリへと注力領域も変化してきました。 今年に入ってからはネットを強みとしていたYahoo! JAPANがリアルを意識した様々な取り組みを始めています。 そんな時代の中、2018年は私自身もいろいろな変化がありました

    Yahoo! JAPANのセキュリティ責任者(ISM)についての紹介と本年最後のご挨拶
  • ヤフー株式会社におけるWebフロントエンドの技術選定 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPAN Tech Advent Calendar 2018の6日目を担当します、Webフロントエンドエンジニアをやっている向井(@sakito)です! 今回はヤフー株式会社でWebフロントエンドエンジニアがどのような取り組みを行なっているのかをお伝えします。 ヤフーの組織体制 Webフロントエンドエンジニアの取り組みを紹介する前に、ヤフーがどのような組織体制なのか紹介します。 冒頭画像のようにヤフーではカンパニー制度を取り入れており、それぞれのカンパニーにサービスを開発する事業部があり、この事業部単位でデザイナーやエンジニア、そのほかにもさまざまな職種の方が所属し、サービスごとで日々開発に取り組んでいます。

    ヤフー株式会社におけるWebフロントエンドの技術選定 - Yahoo! JAPAN Tech Blog
  • 高次元ベクトルデータ検索技術「NGT」のGo APIとサーバ機能のOSS公開

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 検索技術の森と申します。 先日、高速な近傍探索を実現するソフトウエアであるNGT(Neighborhood Graph and Tree)とそのPython用インターフェースを公開しております。それに引き続いてgongtとngtdを公開しました。 アプリケーション開発を想定して開発にGo言語、サーバプロトコルとしてHTTPとgRPCを採用しました。Go APIとしてgongtとHTTP/gRPCサーバ機能を提供するngtdを公開しましたので、近似ベクトル検索エンジンのアプリケーション開発が容易になることを期待しております。 前回のPython用インターフェースの時に使ったgensimを使い、gRPCPythonから登

    高次元ベクトルデータ検索技術「NGT」のGo APIとサーバ機能のOSS公開
    kjw_junichi
    kjw_junichi 2018/05/24
    “密ベクトル検索”
  • Bonfire API #1 ~ヤフー、メルカリ、Gunosy、LINEの課題と解決策~

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! Bonfire API運営の出水です。 2月1日(木)に弊社のコワーキングスペースLODGEでBonfire API #1を開催しました! Bonfire APIとは、APIやサーバーサイド技術にフォーカスした情報共有を定期的に行う勉強会/交流会イベントです。 目まぐるしく進化を続ける技術や市場環境との向き合い方について共有することで、新しい知見を得たり技術交流の輪を広げたりすることのできる場を目指しています。 テーマ「APIの役割の多様化」 Bonfire API第1回のテーマは「APIの役割の多様化」です。 海外進出によるリージョンの多様化や開発者向けAPIの公開に伴う利用者の多様化などの課題にどう対応しているか

    Bonfire API #1 ~ヤフー、メルカリ、Gunosy、LINEの課題と解決策~
  • 高次元ベクトルデータ検索技術「NGT」のpythonライブラリ公開のお知らせ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 検索技術の菅原です。 以前にこのTech Blogで紹介されたNGT(Neighborhood Graph and Tree)という高速な近傍探索を実現するソフトウエアのpython用インターフェースが公開されました。python機械学習のライブラリが多く公開されており、より手軽にNGTを組み合わせて使うことができるでしょう。 そこで今回はword2vecのベクトルを近傍探索する実践的な内容を紹介します。word2vecを扱うライブラリとしてgensimを使用します。word2vecやgensimの詳しい説明は省略しますが、分からなくてもpythonの文法を知っていれば理解できると思います。今回使用した環境はMacBo

    高次元ベクトルデータ検索技術「NGT」のpythonライブラリ公開のお知らせ
  • Yahoo! JAPAN Tech Conference 2018 のスライドを公開します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPAN Tech Conference 2018 を1月27日に開催しました。多くの方にご参加いただき、大盛況のうち終了することができました。ありがとうございました。 当日のスライドを公開しました。 基調講演 Shape the Future - through the Power of Technology Room A A-1 データセンターネットワークの取り組みと大規模サーバインフラの戦略 A-1 データセンタネットワークの取り組み (村越 健哉) A-1 大規模サーバインフラの戦略 (藤見 和英) A-3 Yahoo! JAPANを支える開発基盤 PaaS A-3 Yahoo! JAPANを支える開発

    Yahoo! JAPAN Tech Conference 2018 のスライドを公開します