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

  • ヤフーのデータパイプライン設計 〜 Kafkaでデータ欠損防止と可用性を両立するために

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーの橘(@moja_0316)です。 私は2018年に新卒でデータ統括部に入社し、データパイプライン領域でエンジニアとして働いています。 今日は皆さんにヤフーのデータパイプラインの役割と、私たちが取り組んだデータパイプラインの信頼性を高める取り組みについてご紹介します。 ヤフーのデータパイプライン ヤフーは検索やEコマース、ニュースをはじめとした多くのサービスを運営しています。それらのサービスが保持するデータは非常に量が多く、かつ価値の高いものです。特に近年はデータソリューションサービスをはじめとして、さまざまなサービスのデータを横断して適切に利活用することで皆様の生活をより便利にする取り組みを多く始めています。

    ヤフーのデータパイプライン設計 〜 Kafkaでデータ欠損防止と可用性を両立するために
  • 大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します

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

    大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します
  • クラスタ数530以上、大規模Kubernetesを運用するエンジニア組織の作り方 #k8s

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog みなさんこんにちは。 システム統括部に所属し、プライベートクラウドのKaaS(Kubernetes as a Service)の担当をしている藤江です。 私は2007年にヤフーに新卒で入社し、会計システムや社内認証システムなどの業務システムの開発・運用経験を経て、2017年4月から今のKaaS運用業務をしています。 現在のプロジェクトではScrumを導入しており、プロダクトオーナーとして働いています。 さて、いきなりですが最初に質問です。Kubernetesというツールを知ってますか? 実際に業務で使っていますか? 去年の1月に開催されたYahoo! JAPAN Tech Conferenceの登壇で、この質問をした時、会場で手

    クラスタ数530以上、大規模Kubernetesを運用するエンジニア組織の作り方 #k8s
  • 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 で作り変えたお話
  • 圧縮効率のよいカラムナフォーマット 〜 Yosegi や ORC のエンコード方式調査

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

    圧縮効率のよいカラムナフォーマット 〜 Yosegi や ORC のエンコード方式調査
  • ヤフー株式会社における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
  • ありがとう、MYM 安らかに眠れ - Yahoo! JAPAN Tech Blog

    特筆すべきはボット数かもしれません。ボットは何らかの操作を自動で行うために作られたプログラムで動作するアカウントなのですが、なんとそのボットの数(14,000)がユーザーの数(18,000)に迫りつつあります。MYMのボットは通常ひとつの部屋にリンクしているため、おそらく同じような機能を持ったボットが大多数だと思われますが、ボット数 14,000 はインパクトのある数字ですね。 興味深い部屋の数々 MYMはこの8年間で計150,000の部屋が生み出されました。業務系・技術系・雑談系を問わず、異彩を放つ部屋は数え切れないほどあります。ここでは数多くの部屋の中でも、ひときわ特徴的な部屋を紹介してみようと思います。 もちろんすべての部屋を把握しているわけではないため、あくまで把握している範囲内での紹介となることをご了承ください。 トピックス編集 Yahoo!ニュース トピックスの編集業務に活用さ

    ありがとう、MYM 安らかに眠れ - Yahoo! JAPAN Tech Blog
  • Node.js+Socket.IOで作る、通信対戦ができるHTML5ゲームシステムの作り方

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!きっず開発担当です。 昨年Yahoo!きっずにてブラウザオンラインゲーム「おしゃべりリバーシ」をリリースしました。 ※おしゃべりリバーシは2015年10月をもってサービス終了しました。ご利用いただきまして、ありがとうございました。 このゲームは、通信対戦部分の通信プロトコルWebSocketを採用し、サーバミドルウェアにNode.js+Socket.IOを採用しました。この結果、ブラウザゲームでありながらマルチデバイスでの対戦を実現しました。 今回は、Node.js+Socket.IOによるWebSocketサーバのシステム構築方法について考慮すべきポイントを、「おしゃべりリバーシ」の実例を紹介しながら説

    Node.js+Socket.IOで作る、通信対戦ができるHTML5ゲームシステムの作り方
  • ヤフーの分散オブジェクトストレージ Dragon について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、データ&サイエンスソリューション統括部所属の後藤泰陽(@ono_matope)です。少し時間があいてしまいましたが、9月19日にお茶の水女子大学で開催された WebDB Forum 2017 において、分散オブジェクトストレージ “Dragon” について講演しました。良い機会なので、エントリでもDragonについてご紹介させていただきたいと思います。 発表資料 WebDB Forumでの発表資料については以下をご覧ください(講演時の内容と一部異なります)。 日語版 Dragonとは? Dragonは、ヤフー・ジャパンで開発された分散オブジェクトストレージシステムです。Amazon S3互換のWeb APIを実装

    ヤフーの分散オブジェクトストレージ Dragon について
  • 高速ファイル/メッセージ転送 K2HFTFUSE の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Technical Yahoo の中谷です。 今回は、Yahoo! JAPANからオープンソースとして公開した高速ファイル/メッセージ転送システムの K2HFTFUSE の紹介をします。 K2HFTFUSEは、確実で高速なファイル/メッセージ転送を低コストで実現するために開発されたシステムです。 K2HFTFUSE(K2Hash File Transaction by FUSE-based file system)とは、FUSE(Filesystem in Userspace)によるユーザースペースでのマウント機能を利用したファイル/メッセージ転送システムです。 K2HFTFUSEは、仮想ファイルシステムを提供し、マウ

    高速ファイル/メッセージ転送 K2HFTFUSE の紹介
    Mint0A0yama
    Mint0A0yama 2016/12/09
    “K2HFTFUSE は、同時公開された基礎ライブラリ/システム(K2HASH, CHMPX)を利用して、fluentdのように簡単に、そしてKafka + Stormのように高速で確実な転送ができないかという試みで開発されました”
  • ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに Pub-Subとは 用語の定義 システム構成 Hello World おわりに 緊急告知 参考 はじめに こんにちは。システム統括部プラットフォーム開発部の栗原と申します。 2016年9月、Yahoo! Inc.からPulsarがOSSとして公開されました。Pulsarは高い配信信頼性/パフォーマンス/スケーラビリティを誇るPub-Subメッセージングシステムです。Yahoo! Inc.において開発され、これまでYahoo! Inc.のメール、ファイナンス、スポーツなど主要サービスにおいて、メッセージを高速かつ消失することなく配信するために利用されて来ました。 Pulsar開発者によって書かれた技術ブログ:Open-

    ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介
  • キャッシュシステムのオリジンサーバアクセスの効率化と Apache Traffic Server

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部プラットフォーム開発部配信プラットフォーム部の大久保諒です。 過去に何度か紹介している通り、ヤフーでは静的コンテンツのキャッシュを行うためにオープンソースの HTTP プロキシサーバである Apache Traffic Server (以下 ATS) を用いて行っています。 Yahoo! JAPAN における HTTP/2 への取り組み ヤフーの画像配信システム(CDN)の紹介 さて、 ATS のような HTTP キャッシュを行うサーバにおいて、短時間である一つのオブジェクトに対する大量の HTTP リクエストが来た際に使用できるキャッシュがない場合、オリジンサーバの負荷が増大する問題が存在します。

    キャッシュシステムのオリジンサーバアクセスの効率化と Apache Traffic Server
  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
  • ヤフーの画像配信システム(CDN)の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog システム統括部プラットフォーム開発部の新部(@osa2be)です。 CDNの運用を担当しています。 先日、知り合いの技術者と話していてヤフーのバックエンドがどうなっているのか興味があると聞かれましたので、社内にいくつかあるCDNのうち2つとIDCフロンティアのサービスをご紹介します。 はじめに ヤフーには多くのサービスが存在していますが、様々な理由により突発的にリクエストが増加することがあります。 そのようなリクエストに対応するためにサービスごとに大きな配信システムを持つことは、インフラの準備や運用工数など高いコストが必要になります。 そのため、共通のCDNを準備して各サービスのサーバ負荷を平滑化しています。 以前は、社外のC

    ヤフーの画像配信システム(CDN)の紹介
  • APIとの通信効率をよくする実装例(1) curl_multi

    こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR

    APIとの通信効率をよくする実装例(1) curl_multi
  • 世界最強のソフトウェアアーキテクト

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! マーケティングソリューションカンパニー(MSC)開発部の小川雄大です。 昨年11月に子会社のクロコスからヤフーに移りまして、現在はヤフーで開発を行っています。みなさまどうぞよろしくお願いします。 MSC開発部では、ヤフーが世界最強を目指してどう取り組んでいくかについて議論する会を毎週開催しています。今回はそこで今年の1月に僕が発表した「世界最強のソフトウェアアーキテクト」について公開したいと思います。 今回はヤフーに入ってはじめての発表ということもありテーマをどうしていくかはかなり悩んだ部分なのですが、テクニックよりもアーキテクトが持つべきマインドを共有することが次につなげていく上で大切になると考えたので、多少抽

    世界最強のソフトウェアアーキテクト
  • 第4回Hack Day Japan開催レポート その1

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 第4回Hack Day Japan開催レポート その1 Tech Blogをご覧のみなさま、こんにちは。メディア開発部の朝日 勝雅です。 普段はバラエティ関連サービスを担当していますが、通常業務と平行してHack Day Japanの実行委員もやっています。 以前Tech Blogにて、 ヤフーのエンジニアはHack Dayでシックハックしてるんよ。 その1 (Yahoo! JAPAN Tech Blog) ヤフーのエンジニアはHack Dayでシックハックしてるんよ。 その2 (Yahoo! JAPAN Tech Blog) といった、ダジャレ要素の強い記事で、Hack Day Japanの第1回~第3回をダイジェスト的にお伝え

    第4回Hack Day Japan開催レポート その1
    Mint0A0yama
    Mint0A0yama 2015/02/23
    mirakuiさんが写ってる気がする
  • 細かすぎて伝わらないSSL/TLS

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 「細かいと言うより長いよね」 はじめに こんにちは。ATS の脆弱性を発見した小柴さんや ATS に HTTP/2 の実装を行っている大久保さんと同じチームの一年目、匿名社員M さんからいじられている新人です。今回ありがたい事に、こういったすごい方々を含めモヒカン諸先輩方より「何か書かないの?」「いつ書くの?」という数々のプレッシャーお言葉をいただきました。 というわけで、SSL/TLS の Session 再開機能に関して書いていこうかと思います。 SSL/TLS は機密性、完全性そして真正性に対して安全な通信を行うための仕組みです。しかし、この仕組みは暗号技術を多用し特に接続において複雑なプロトコルを用い、Client, Se

    細かすぎて伝わらないSSL/TLS
  • PHPUnit コードカバレッジの向上事例を紹介します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、ヤフーメール エンジニアの小沼俊治です。 開発者の皆さんの中には、CIにユニットテストの自動化を導入して、日々開発されるプロダクトの品質維持に務めている方々も多いのではないでしょうか? 私の担当サービスでもxUnitを使ってプロダクトコードにテストコードを作成して、CIツールのジョブで定期的にユニットテストを実行して品質維持に活用しています。 そして、それらテストコードがきちんと品質維持に貢献されていくためには、プロダクトコードのビジネスロジックをどれだけ網羅できているのか? と言う観点が重要になってきます。 その観点の達成状況を確認する指標の1つとして、ユニットテストを実行した時に行われるコードカバレッジ解

    PHPUnit コードカバレッジの向上事例を紹介します
  • テクノロジー組織文化の醸成の記録 - 決済金融カンパニーの取り組み

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog メリークリスマス! 決済金融カンパニーの技術責任者をしております、藤門(@mikanmarusan)と申します。 Yahoo! JAPANとしては初めての試みとなりましたAdvent Calendarですが、みなさんお楽しみいただけましたでしょうか? 私個人としましては、大規模インフラ開発からアプリ開発、さらにはデータサイエンスといった広範囲にわたる技術領域の話を日々眺めることができて、Yahoo! JAPANが挑戦している技術課題の広さと深さをあらためて実感できる、充実したAdvent Calendarになったのかなと思っています。 Yahoo! JAPAN Tech Advent Calendar 2014 も日でいよいよ最

    テクノロジー組織文化の醸成の記録 - 決済金融カンパニーの取り組み