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

  • コード品質を上げるために凝集度解析ツールをGo言語で自作した話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog みなさんこんにちは。Yahoo!広告 ディスプレイ広告エンジニアの安部です。広告配信システムの開発を担当しています。 私がいるチームでは、レガシーシステムのモダン化に取り組んでいます。新しいシステムでは処理速度や書き易さの点からGo言語を採用しています。 新しいシステムでは、品質を担保するためにソフトウェアメトリクスをCIで監視しています。メトリクスの算出にはgolangci-lintを使っています。golangci-lintが算出するメトリクスには循環的複雑度などがあります。 今回は、golangci-lintが計測していない凝集度に着目しました。記事では凝集度の解説に加え、静的解析ツールの開発と導入など、凝集度をCI監視のメ

    コード品質を上げるために凝集度解析ツールをGo言語で自作した話
    tmatsuu
    tmatsuu 2024/02/25
    golangci-lintは循環的複雑度の算出が可能。ほう
  • Yahoo! JAPAN Tech Conference 2022 を開催します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Developer Relationsの高藤です。 Yahoo! JAPAN のエンジニアやデザイナー、データサイエンティストなどさまざまなクリエイターが発表・講演を行う技術カンファレンス「Yahoo! JAPAN Tech Conference 2022」を2月に開催します。 Yahoo! JAPAN は「UPDATE JAPAN~情報技術のチカラで、日をもっと便利に。」をミッションに掲げ、メディア、コマース、決済、広告など、幅広い領域でサービスを提供しています。それぞれの領域の取り組みは、デザイン、フロントエンド、バックエンド、データサイエンティスト、データアナリスト、クラウド、機械学習など、多種多様な技術を持つ

    Yahoo! JAPAN Tech Conference 2022 を開催します
    tmatsuu
    tmatsuu 2021/12/29
    2月3日と2月4日、オンライン開催。無料だが申し込み必須。
  • EOLを迎えたSensuがPrometheusに託した、2万台規模のIaaS監視

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーのクラウドプラットフォーム部に所属している北田、馬場、高橋です。 私たちのチームは社内向けに IaaS 環境を提供しており、その品質を管理・維持するために監視システムを導入しています。 システムの部分的な障害や冗長性などを監視する目的で、私たちはこれまで Sensu を使っていましたが、その EOL をきっかけに Prometheus へ移行することにしました。 この記事では、Sensu の移行先として Prometheus を選んだ理由、Prometheus を利用した監視システムの構成、そして、Prometheus を導入した際の工夫などを紹介します。 ヤフーの IaaS 環境の監視状況 私たちのチームが社

    EOLを迎えたSensuがPrometheusに託した、2万台規模のIaaS監視
    tmatsuu
    tmatsuu 2021/12/25
    SensuがEOLになってるの(使ってなかったから)知らなかったけど、後継のSensu Goに置き換えられたのね。ついでにSumo Logicに買収されていたことを知る。
  • Kubernetesで管理するヤフーの次世代IaaS基盤

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーの相良と言います。クラウドプラットフォーム部で、ヤフーの次世代IaaS基盤を検討しています。 12月24日、クリスマスイブの日の記事では、ヤフーの次世代IaaS基盤の取り組みをご紹介したいと思います。最初に次世代IaaS基盤の取り組み背景をご紹介し、検証・評価中のKubeVirtという技術について、IaaS基盤の代表的ソフトであるOpenStackと比較することで、その特徴を説明します。最後に、大規模環境を扱うヤフーならではの課題についても触れたいと思います。 なお、記事では2020年12月時点の最新版(v0.36.0)のKubeVirtを前提にご説明します。 ヤフーの次世代IaaS基盤の取り組み ヤフーで

    Kubernetesで管理するヤフーの次世代IaaS基盤
    tmatsuu
    tmatsuu 2021/01/10
    KubeVirt興味深いな。IaaSのレイヤーもk8s、その上のCaaSもk8sとなると相互作用でいろいろ捗りそうだがそこは混ぜてはいけない一線なんだろうか。
  • 大規模オンプレミスなヤフーのサーバーインフラの裏側 ~ サーバーインフラエンジニアの視点

    物理サーバーの評価 物理サーバーを導入する前にヤフーでは、必ずサーバーの評価を実施します。 評価項目は大まかに分けると下記です。 物理運用性の評価 パフォーマンスの評価 自社ツールの動作を評価 ヤフーの評価で特徴的なのは「物理運用性」の評価だと考えています。 オンプレミス環境で運用しており、物理作業の「簡単さ」「分かりやすさ」も全体の工数へ影響するため、注意している点です。 ラッキングレールの評価 ボタン、インジケーターの評価 他の評価にボタン、インジケーターの評価があります。 データセンターの中で物理サーバーに対して物理的な作業する際には、 持ち込める物、参照できる情報が限定されています。 また、大量のサーバーがある中でピンポイントで作業する必要があるため、 現地作業者が目視で直感的に、かつリモートから作業指示者と認識を共有しやすいことが重要です。 下記はボタン評価の際に注意しているポイ

    大規模オンプレミスなヤフーのサーバーインフラの裏側 ~ サーバーインフラエンジニアの視点
    tmatsuu
    tmatsuu 2020/12/29
    最近はクラウドばかりで物理サーバを触る機会もめっきり減ってしまった。わいわい
  • MySQLのレプリケーション設定で起きたトラブルの原因とその解決策

    そのため、binlog_formatの設定を合わせるため問題が起こったのsourceサーバーをSTATEMENTにして対処したところ、今度は更新処理で以下のようなエラーが出ていました。 ERROR 1665 (HY000): Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.これによりsourceに書き込む

    MySQLのレプリケーション設定で起きたトラブルの原因とその解決策
    tmatsuu
    tmatsuu 2020/08/02
    「MySQLのInnoDBではbinlog_formatをSTATEMENTに設定する時は、トランザクション分離レベルをREPEATABLE READに設定しないとエラーになるような仕組みが導入されています」知らなかった。MIXEDだとどうなんだろ。同じかな。
  • Bonfire Backend「業務におけるwebサービスのパフォーマンス改善」

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは!Bonfire Backend運営の松です。 12月5日に弊社のコワーキングスペースLODGEにてBonfire Backendを開催しました! Bonfire Backendとは、サーバーサイド技術にフォーカスした情報共有を定期的に行う勉強会/交流会イベントです。 前回はBonfire "API"という名前でしたが、より広いテーマを扱えるようBonfire "Backend"と名前を変えての開催です! 目まぐるしく進化を続ける技術や市場環境との向き合い方について共有することで、新しい知見や発見を得たり技術交流の輪を広げたりすることのできる場を目指しています。 テーマ「業務におけるwebサービスのパフォーマンス改善」

    Bonfire Backend「業務におけるwebサービスのパフォーマンス改善」
    tmatsuu
    tmatsuu 2019/01/06
    あとで
  • ヤフー発の OSS 、Multiple-Dimension-Spread(MDS)の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。 ヤフー株式会社 データ&サイエンスソリューション統括部データプラットフォーム部データデリバリー部の井島&大戸です。 今回は、ヤフー株式会社(以下ヤフー)が OSS として公開したカラムナストレージファイルフォーマットの Multiple-Dimension-Spread について、開発の背景を交えて紹介します。 Multiple-Dimension-Spreadとは Multiple-Dimension-Spread(以下MDS)はヤフーが開発したカラムナストレージフォーマットです。 大規模なデータを蓄えておく仕組みを湖として捉えたものをデータレイクといいます。 MDS はデータレイクにデータを保存、利

    ヤフー発の OSS 、Multiple-Dimension-Spread(MDS)の紹介
    tmatsuu
    tmatsuu 2019/01/06
    良さそう。OSS期待
  • 量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog

    この例は規模が小さく、ちょっと頭で考えてれば答えがわかってしまうかもしれません。けれど、巨大なホテルだとしたら頭で考えるのが難しそうです。とにかくこの問題例をアニーリングマシンで解いてみることにします。 問題を量子アニーリングマシンで解くときは基的に次のような流れに沿って解きます。 (1) 問題の抽出(2) 量子アニーリングマシン (イジングモデル) へのマッピング(3) アニーリングの実行(4) 解の解釈 (1) 問題の抽出 まずは、対象の問題を量子アニーリングで解くことのできるようにできる限りシンプルな問題に切り出すことが必要です。 この問題は実はグラフ頂点彩色問題に帰着させることができます。 グラフ頂点彩色問題とは、任意のグラフ G=(V,E) と色総数 K が与えられたとき、すべての頂点を、隣接する頂点 (すなわち、辺で接続されている頂点) が同色にならないという制約下でK色に塗

    量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog
    tmatsuu
    tmatsuu 2019/01/03
    なるほどわからん
  • 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 のスライドを公開します
    tmatsuu
    tmatsuu 2018/02/01
    あとで
  • The open big data serving engine:VESPAの紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。メディアカンパニープラットフォーム開発部サーチテクノロジー部の朴と申します。 2017年9月にOath(Verizon社で、Yahoo, AOL等50以上のテクノロジーとメディアを運営する子会社)からVESPAがOSSとして公開されました。VESPAは検索エンジンを代表とした大規模なデータをハイトラフィック状況下で高速に配信できるビッグデータサービングエンジンです。実はYahoo! JAPANでもメディア、コマース、広告を中心とした多くの検索システムでVESPAを長年採用しており、この度Apache License 2.0のOSSとして公開されました。 Yahoo! JAPANでの利用事例 VESPAを利用

    The open big data serving engine:VESPAの紹介
    tmatsuu
    tmatsuu 2017/10/01
    昔聞きに行った勉強会でyahooの人がvespaに言及してた気がする。めでたい
  • Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog インフラエンジニア見習いの森です。これまで数年ほどサーバーサイドエンジニアとして開発ばかりをしてきた人が最近インフラエンジニアになりました。 3月末に開催された Go Conference 2017 Spring で開発チームの後藤から弊社で開発・運用している AWS S3 互換の分散オブジェクトストレージ Dragon についての発表がありました。 Goでヤフーの分散オブジェクトストレージを作った話 私は Dragon の運用を担うチームに所属しており、稿ではその業務の中で発生したトラブルシューティングについて紹介したいと思います。 分散オブジェクトストレージ Dragon で発生していた課題 Dragon で gorout

    Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング
    tmatsuu
    tmatsuu 2017/06/10
    いい経験してる。素晴らしい
  • Yahoo! JAPAN Tech Conference の資料を公開します #devsumi

    2月16日に Yahoo! JAPAN Tech Conferenceを開催しました。 当日は、7つのセッションにのべ1600名以上の方にご参加いただき、盛況のうちに幕を下ろすことができました。たくさんのご来場、ありがとうございました。 ここでは、一部を除き当日使用したスライドを公開します。ぜひご覧ください。 【16-A-1】「データテクノロジースペシャル」Yahoo! JAPANにおけるメタデータ管理の試み スピーカー:吉野 彰真

    Yahoo! JAPAN Tech Conference の資料を公開します #devsumi
    tmatsuu
    tmatsuu 2017/03/20
    あとで
  • Yahoo! JAPAN社内ISUCON「Y!SUCON」の問題をGitHubに公開しました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Y!SUCON運営チームです。 前回に引き続き、2回目の社内ISUCONを開催いたしました。 前回はpixiv社内ISUCONの問題をお借りさせていただきましたが、今回はオリジナル問題を作成し、名前も「Y!SUCON」にリニューアルしました。 作成した問題、ベンチマーカー、ポータルサイトのソースコード及びそのプロビジョニングをGitHubに公開しております。ぜひご活用ください。 https://github.com/yahoojapan/yisucon 問題を作ってみて 今回初めてISUCONの問題を作ってみて、問題・ベンチマーカーを作る難しさを思い知りました。 ベンチマーカーのシナリオが不足していたり推測されやすいも

    Yahoo! JAPAN社内ISUCON「Y!SUCON」の問題をGitHubに公開しました
    tmatsuu
    tmatsuu 2017/03/18
    早速試してるがportalのプロビジョニングでnodejs周りが上手くいかない。なんでやー
  • ハイパフォーマンスでスケーラブルなメッセージングシステム: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の紹介
    tmatsuu
    tmatsuu 2016/11/06
    ほう
  • 社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 「Usenix FAST 16」というカンファレンスにおいて「Environmental Conditions and Disk Reliability in Free-cooled Datacenters」という論文が発表されたのはご存じでしょうか。 こちらの論文はフリークーリング方式におけるデータセンターがハードウエアに与える影響を調べた論文です。 内容については省略しますが、この中で特筆すべき項目として、気温の高さや気温変化よりも湿度の高さがディスク故障の最も大きな要因であると述べられています。 弊社の社内クラウド環境においてもあてはまるのか確認してみたというのが記事の要旨です。 データセンター環境について まず

    社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。
    tmatsuu
    tmatsuu 2016/05/10
    hou
  • サーバの電力消費傾向とピークカットの取り組み

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog サイトオペレーション部の杉(@keyaki)です。 サーバの導入検証や、インフラ関連ツールの開発・運用を担当しています。 今回は、データセンターの電力問題に対する取り組みをご紹介します。 ラックの不足と電力容量 ヤフーでは、増加し続けるデータの処理と格納のために、毎月多くのサーバを購入しており、設置場所が慢性的に不足している状態となっています。プレハブデータセンターの発想で建てられた白河データセンター3号棟など、ヤフーのスピード感に対応した新規のデータセンターの建設も行っていますが、既設のデータセンターについても有効利用を図っていく必要があります。 既設のデータセンターを活用する場合でも、新規のデータセンターを建設する場合でも

    サーバの電力消費傾向とピークカットの取り組み
    tmatsuu
    tmatsuu 2016/04/03
    ピークカット機能付UPSってバッテリーのヘタリが早いとかないんだろうか。気になる。Jenkinsのように柔軟設定が可能なcrondほしいね。sleepでいけるんだけど。
  • Developers Summit 2016 「Yahoo! JAPAN Tech Conference」の資料を公開します #devsumi

    Developers Summit 2016 「Yahoo! JAPAN Tech Conference」の資料を公開します #devsumi こんにちは。 2月18日にDevelopers Summit 2016において、「Yahoo! JAPAN Tech Conference」を開催しました。 当日は、7セッションに述べ1,600名を超える来場者にお越しいただき、盛況のうちに幕を降ろすことができました。たくさんのご来場、ありがとうございました。 一部を除き、各セッションの資料を公開しています。ぜひご覧ください。 「Yahoo! JAPAN Tech Conference」 Yahoo! JAPANが考える、テクノロジーITエンジニアの未来 藤門 千明

    Developers Summit 2016 「Yahoo! JAPAN Tech Conference」の資料を公開します #devsumi
    tmatsuu
    tmatsuu 2016/03/15
    たくさんあった。あとでゆっくり
  • ブラウザー・WebViewが利用できないデバイスの課題とOAuth 2.0 Device Flow

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ID連携黒帯 倉林 雅(@kura_lab)です。 昨年の「知っておきたい7つのID連携実装パターン」に続き今年も23日を担当することになりました!祝日も記事を投稿いたします! 今年のAdventCalendarも「Yahoo! JAPANを支える技術」をテーマとしていますが、今回は少し先の未来をみすえて今後Yahoo! JAPANを支えることになるかもしれない新しい技術についてご紹介しようと思います。 すでにPCやスマホ上で認証を行いサービスを利用することは普通になりつつありますが、今後はテレビゲーム機、ビデオカメラなどのデバイスでも認証や決済を利用したサービスが増えてくると思われます。Identity Provi

    ブラウザー・WebViewが利用できないデバイスの課題とOAuth 2.0 Device Flow
    tmatsuu
    tmatsuu 2016/01/09
    これ、PAM認証にも応用できそうだな。URLはQRコードで表示。
  • キャッシュシステムのオリジンサーバアクセスの効率化と 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
    tmatsuu
    tmatsuu 2015/12/28
    このあたりはVarnishで学んでgrace愛用してる。RFC5861知らなかった。キャッシュが失われる件、今はreloadならmallocでも失わないはず。nginxはメモ