タグ

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

  • 高次元ベクトルデータ検索技術「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公開
    yuiseki
    yuiseki 2020/08/23
  • 24時間で漫画みたいにニュースを読めるアプリを開発した話

    先日アスクル/一休/PayPay/ヤフー/ZOZOテクノロジーズで共同開催した、企業内ハッカソンイベント「Internal Hack Day」参加者からの寄稿記事を紹介します。 イベントについてはこちらをご覧ください。 こんにちは。ヤフー株式会社 新卒エンジニアの池田 です。 先日、開催された社内ハッカソンイベント「Internal Hack Day」に同期と一緒に参加してきました! 初めてハッカソンに参加するメンバーも多いなか、オンラインでアプリ開発に取り組みました。そのような状況で、何を作ったのか、どう工夫してハッカソンに取り組んだのかについてまとめました。 チーム構成 私たちは入社前から仲の良かったヤフーの2020新卒の4人で参加しました。全員エンジニアで各メンバーのスキルやバックグラウンドは以下のようになっています。たまたまですが、iOSと機械学習に精通したメンバーが多かったため、

    24時間で漫画みたいにニュースを読めるアプリを開発した話
  • End-to-End音声認識の計算量を削減した話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、音声処理黒帯(黒帯はヤフー内のスキル任命制度)の藤田です。今日のブログでは、音声認識技術の研究開発におけるヤフーの最新の取り組みを紹介します。 特に、近年注目されているTransformerという手法に基づく、End-to-End音声認識の計算量を削減した研究を紹介します。この研究は、難関国際会議IEEE ICASSP2020に投稿し、採択されました。また、arXivでプレプリントを公開しています。そして、ESPnetというEnd-to-Endモデルのツールキット上でソースコードも公開しています。興味のある方はぜひ、こちらもご参照ください。 音声認識で用いられるEnd-to-Endモデルとは? 音声認識技術は音声をテキ

    End-to-End音声認識の計算量を削減した話
  • 地図上の位置情報を扱うには? Geohashの応用と「災害マップ」機能の裏側

    また、近隣の区画は似た文字列で表現できることから、あるGeohashの区画の隣の区画は簡単に計算で求めることができます。 災害マップでの配信対象エリアの決めかた そのため、このGeohashを使って、区画を1つの単位としてユーザーの投稿を集計することとしました。そして、1区画内で所定の数の投稿が集まり、危険と判断された投稿が閾値を越えると、その区画はいつもと違う異常な状況が発生していると判定します。 ある区画を異常と判定したら、その区画から周囲の区画を計算し、プッシュ通知の対象とすることで、周囲のユーザーに対して危険を知らせることができる仕組みとしました。 今回は台風などの水害をターゲットとしてうまく機能するようにパラメータを設計しました。 一般的に避難や災害の備えをするのに2〜3時間が必要と言われているため、危険が迫るであろう地域をそこから逆算してプッシュ通知の対象としました。 そして、

    地図上の位置情報を扱うには? Geohashの応用と「災害マップ」機能の裏側
    yuiseki
    yuiseki 2020/05/06
  • ジョブ渋滞に機械学習でたちむかってみた 〜 広告レポート改善事例 #機械学習

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフー広告 ディスプレイ広告の植木です。代理店様や広告主様に向けた広告効果のレポート機能のバックエンド開発を担当しています。 先日、 Yahoo! JAPAN Tech Conference 2019 in Shibuyaにて「YDNレポートジョブ渋滞に機械学習でたちむかってみた」というタイトルで、処理待ち時間を改善する取り組みの経緯について発表してきましたのでその内容をご紹介します。 取組みに至った経緯 レポート作成は数秒で終わるものもあれば、数時間に及ぶものまであるため、作成処理と作成リクエスト受付WebAPIとを分離し、Message Queueを用いた非同期の仕組みを採用しています。 特定の広告アカウント(広告

    ジョブ渋滞に機械学習でたちむかってみた 〜 広告レポート改善事例 #機械学習
  • NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! 山下郁矢です。2018年新卒で入社し、現在はNoSQLデータベースエンジニアとして働いています。 サービスを作るにあたってデータベースは必要不可欠ですよね。ヤフーでは100を超えるサービスで毎日生み出される膨大なデータを、データベースを用いてリアルタイムで蓄積し、運用管理しています。 今回は、その中でも利用規模の大きい、NoSQLデータベースの1つであるApache Cassandraを皆様に知ってもらうべく、ヤフーでどのようにして利用されているのかをお伝えしたいと思います。 NoSQLの立ち位置 Cassandraについてご紹介する前に、NoSQLについて軽く説明します。 NoSQLデータベースは一般的に非RDBM

    NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術
  • CtoCフリマアプリの作り方 (バックエンド編) 〜6カ月間のPayPayフリマ開発を支えた設計〜

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、PayPayフリマバックエンド開発の三宅です。 今回、YJTC2019-shibuyaにてPayPayフリマのバックエンド設計について話して来ましたので内容を紹介したいと思います。 記事ではセッション前半のバックエンド部分をメインに紹介させていただきます。よろしくおねがいします。 PayPayフリマとは PayPayフリマはフリマに特化したサービスとして10月7日にiOS版をリリースしました。PayPayの名前がつく通り、PayPayを利用してフリマの商品をかんたんに購入でき、買い手から価格の相談をできる機能などが特長です。 また、ヤフオク!とも連携し、ヤフオク!に出品されている固定価格商品の一部もユーザー体験に変わ

    CtoCフリマアプリの作り方 (バックエンド編) 〜6カ月間のPayPayフリマ開発を支えた設計〜
  • 大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します

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

    大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します
  • 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 で作り変えたお話
    yuiseki
    yuiseki 2019/12/03
  • ヤフーのフロントエンドと Node.js の関係性

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。今期から Web フロントエンド領域で黒帯を務めることになりました伊藤(@koh110)です。 普段は情報システム部に所属しチャットなど内製基盤の開発・運用をしつつ、Node.js 言語サポートチームとしてサーバサイド TypeScript の活用や、SSR(Server Side Rendering)、BFF(Backends For Frontends)のチューニング支援なども行っています。 ヤフーには Node.js と JavaScript の言語サポートチームがあります。Node.js サポートチームは主にバックエンドとして、JavaScript サポートチームはフロントエンドとして、それぞれ JavaSc

    ヤフーのフロントエンドと Node.js の関係性
  • 逐次的単語分散表現学習ツール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の技術
  • UICollectionViewでレスポンシブUIを実現するためのコードをOSSとして公開しました - Yahoo! JAPAN Tech Blog

    こんにちは、iOSアプリ黒帯の林(@kazuhiro494949)です。 先日、ヤフーのiOSアプリ内で利用されているコードを一部切り出してOSSとして公開しました。 https://github.com/yahoojapan/UICollectionViewSplitLayout このOSSを使うと、リストやグリッドで表示されているデータを画面サイズに合わせてレスポンシブに並べることができます。 iOSのユニバーサルアプリ1で上記のようなデザイン要件を受け、既存の仕組みでは実現することが難しかったため開発しました。記事では、その技術的な課題を解説し、解決策としてのOSSを紹介したいと思います。 UICollectionViewとUICollectionViewLayout はじめに、UICollectionViewというiOSアプリ開発において重要なクラスのひとつを簡単に説明します。

    UICollectionViewでレスポンシブUIを実現するためのコードをOSSとして公開しました - Yahoo! JAPAN Tech Blog
  • ヤフーにおけるJava事情を軽くご紹介します

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

    ヤフーにおけるJava事情を軽くご紹介します
    yuiseki
    yuiseki 2019/03/05
    ジャバッ
  • 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 Tech Blog

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

    量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog
  • ヤフー株式会社における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
  • 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 のスライドを公開します
  • Objective-Cで書かれた5年もののiOSアプリを徐々にSwiftへ置き換えている話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ヤフーでiOSアプリを開発している林です。 私が関わっているYahoo!ショッピングでは、iOSアプリをObjective-CとSwiftの混在状態で開発しています。今年の6月末からこのスタイルに切り替え、新規で書くコードは原則Swiftを使い、徐々にObjective-Cで書かれたコードを減らしている状況です。一方で完全にObjective-Cのコードを捨てることは現実的でないとも考えており、混在状態がこの先もしばらく続く想定でいます。 Yahoo! JAPANのアドベントカレンダー14日目は、この形に至った経緯・開発の進め方・そこから得られた知見を共有したいと思います。 プロジェクトが動き出すまでの経緯 Yahoo

    Objective-Cで書かれた5年もののiOSアプリを徐々にSwiftへ置き換えている話
    yuiseki
    yuiseki 2017/11/16
  • ヤフーの分散オブジェクトストレージ 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 について
  • Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング

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

    Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング