タグ

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

  • OSS 分散近似近傍密ベクトル検索エンジンVald~導入と活用事例~

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ベクトル検索技術は、画像や音声などのオブジェクトデータを、機械学習モデルなどを利用してベクトルで表現し、ベクトル間の距離を計算することで、類似するベクトルを検索する手法です。 高次元ベクトルの類似検索では計算量が増加することから、kNN(k-Nearest Neighbor)ではなくANN(Approximately Nearest Neighbor)が広く利用されています。検索で利用できるデータ形式は、ベクトルへの変換が可能であれば、テキスト、画像、音声、動画、バイナリなどさまざまなデータを利用できます。 ベクトル検索は、類似画像検索はもちろんのこと、レコメンデーションやデータ解析にも利用できます。ヤフーでも、後述する「Yaho

    OSS 分散近似近傍密ベクトル検索エンジンVald~導入と活用事例~
    yojik
    yojik 2023/03/09
  • 今は、もう、動かない、その User-Agent 文字列

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、広告エンジニアの中山です。 唐突ですが、みなさまの Web アプリケーションに User-Agent 文字列を参照する処理はありますか? User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.1234.56 Safari/537.36例えば User-Agent 文字列を解析して内容に応じて制御を分岐させたり、機械学習の特徴量として用いたり、さらには一般に悪しきユースケースとされていますが IP アドレスと組み合わせて fingerprinting に活用する … と

    今は、もう、動かない、その User-Agent 文字列
    yojik
    yojik 2022/12/19
  • ヤフー式新人研修 〜 フルオンラインでエンジニア研修を作った話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部で技術研修の設計・運営をしている酒井です。 ヤフーでは新入社員が配属後も業務で協力しあえるよう、同期同士の関係構築を研修のゴールのひとつとしています。しかし昨年は、新入社員の研修をフルオンラインで行ったために、そこに課題が残ってしまいました。今年は、いかに関係構築ができるよう改善できるか? がポイントの1つでした。 この記事では、2021年4月から6月にかけて実施した2カ月半の研修での工夫を、カリキュラム内容と新入社員の声もまじえて紹介していきます。よかったら最後までお付き合いください! 【目次】 狙いと課題 研修の流れとカリキュラム コミュニケーションのために工夫したこと 新入社員と運営が、ともに作る

    ヤフー式新人研修 〜 フルオンラインでエンジニア研修を作った話
    yojik
    yojik 2021/09/27
  • フロントエンドから取り組むデザインシステムの改善 #UI

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、フロントエンドエンジニアの近藤です。Yahoo! JAPANのスマートフォンのウェブトップページのフロントエンド開発業務と、社内で利用されているデザインシステムの開発に携わっています。 近年、デジタルプロダクトを持つ多くの企業で、デザインシステムが活用されています。デザインシステムには、ビジュアルとしてのデザインの規定だけでなく、実際のプロダクトに利用できるUIライブラリやコンポーネントライブラリなどが含まれます。そのため、デザインシステムの構築にはデザインとエンジニアリングの両方の力が不可欠です。 記事では、私が開発に携わっているデザインシステム「Riff」の紹介とともに、フロントエンド部分におけるデザインシステム

    フロントエンドから取り組むデザインシステムの改善 #UI
    yojik
    yojik 2021/08/26
  • 社内システム特化なデザインシステムのメリット 〜 ヤフー社内のデザインシステム紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーで社内システムを担当しているデザイナーの伊藤、今河です。 前半では社内システムをデザインするデザイナーの環境と事例紹介を取り上げました。 後半では、私たちが運用しているデザインシステム「SAYA」について詳しくご紹介します。 SAYAとは SAYAとは、主に社内エンジニアが開発で使用するシステムのために作られたデザインシステムのひとつです。 多様なテーブルの表示形式や豊富なフォームパーツ、高情報量に対応する省スペースオプションの提供など、システム特有のUIにフォーカスし、社内エンジニアにとって最適なユーザビリティーを実現します。 ヤフーの従業員なら誰でも利用できるよう、デザインデータとコード、およびロゴデータなど

    社内システム特化なデザインシステムのメリット 〜 ヤフー社内のデザインシステム紹介
    yojik
    yojik 2019/08/29
  • 社内システムをデザインするやりがい ~ デザイナーの環境と事例紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーで社内システムを担当しているデザイナーの森川です。 ヤフーのデザイナーと言えば、Yahoo!ニュースやYahoo!ショッピングのデザインを最初に思い浮かべると思いますが、ヤフーには、社内システムを作っている部署(システム統括部)があり、13名のデザイナー(2019年8月現在)が所属しています。 性質上、表に出ることが少ないため、今回は社内システムを作っているデザイナーについて前半、後半の2回に分けて紹介したいと思います。 前半:社内システムをデザインするやりがい ~ デザイナーの環境と事例紹介(この記事) 後半:社内システム特化なデザインシステムのメリット 〜 ヤフー社内のデザインシステム紹介 ヤフーの社内シス

    社内システムをデザインするやりがい ~ デザイナーの環境と事例紹介
    yojik
    yojik 2019/08/22
  • IoTを活用して飲食店の空席情報を可視化した時の話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめての○○特集1目の記事です。 こんにちは、ヤフーでIoTの仕事をしている佐藤公宣です。 数年前からIoTというキーワードを見たり聞いたりする機会が増えましたね。5Gが普及したら、世の中のIoT化にいっそう拍車がかかると思います。ところで、よく使われているこの"IoT"とは、いったいなんなのでしょうか?今回はこれからIoTを始めてみようという方に向けて、ヤフーが実施したIoTを使った実証実験の例を交えながら、基からお話ししたいと思います。 IoTってなに? "Internet of Things"の頭文字を取ったIoT(アイ・オー・ティー)は、さまざまなモノがインターネットで相互につながり、情報を共有し、制御し合う状態や、

    IoTを活用して飲食店の空席情報を可視化した時の話
    yojik
    yojik 2019/06/13
  • Apache IgniteとApache Sparkの統合による大規模データ処理における機能拡張や処理能力の向上

    Apache Igniteは、Apache Sparkと同様にインメモリ技術を活用した高耐障害性分散データ処理プラットフォームです。 しかし、Apache Sparkは非トランザクション(バッチ)的な分析を処理の対象をしている一方、Apache Igniteはリアルタイム処理に優れ、非トランザクションとACIDトランザクション的な処理を両方サポートします。 この2つのプラットフォームを組み合わせて使うことには大きなメリットがあり、2つの統合のための機能がApache Igniteには早期開発段階から導入されました。 稿では、Apache Ignite + Apache Sparkの統合はどういう風に実現されたか、既にSparkを使ってデータ処理を行うシステムへIgnite導入のメリットについて説明します。 はじめに Apache Ignite(以下、Ignite)は、メモリを中心に据えた

    Apache IgniteとApache Sparkの統合による大規模データ処理における機能拡張や処理能力の向上
    yojik
    yojik 2019/02/22
  • おつかれさま、MYM 〜僕とMYMのフロントエンド戦争〜 - Yahoo! JAPAN Tech Blog

    部屋への入室は招待かURL欄に部屋名を直接入力で可能です。もし入力した部屋が存在しなかった場合、新規に部屋が生成されます。 非公開設定はいらないのではないか、とよく言われるのですが「入室を拒んでいるわけではないが検索を汚したいわけではない」という日人的なニーズを満たしていて僕は気に入っています。先の記事で数字が載っていた通りMYM上には部屋が全部で15万ほど存在しますが、この公開設定のおかげかこれだけの部屋数になっていても検索性をあまり損なっていません。 ヘビーに利用するユーザーであれば数百を超える部屋に入室するのは当たり前で、2000をオーバーすることも珍しくはありません。例えば僕は1000部屋以上入室しています。 > document.querySelectorAll('.list-myroom li').length 1109ぱっとこの数字だけ聞くと、まともに処理できる量を超えてい

    おつかれさま、MYM 〜僕とMYMのフロントエンド戦争〜 - Yahoo! JAPAN Tech Blog
    yojik
    yojik 2018/12/25
  • 量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog

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

    量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog
    yojik
    yojik 2018/12/15
  • Spring Boot + GraphQLでAPIを作成してみよう! - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、コマース福岡開発部で金融サービスのバックエンドを担当しているチョ ジョンミンと申します。 「Yahoo! JAPAN Tech Advent Calendar 2018」に寄稿させていただく機会をいただきましたので、前から興味のあったGraphQLAPIを実装してみました。記事では、GraphQLの概要とAPIの作り方を紹介します。 ターゲット 記事は、次の読者を想定して書かれています。 GraphQLに興味はあるが、作成した経験がない方 Spring BootでGraphQLAPIを作成してみたい方 目次 利用している技術 GraphQL概要 GraphQLのメリットとデメリット GraphQLのA

    Spring Boot + GraphQLでAPIを作成してみよう! - Yahoo! JAPAN Tech Blog
    yojik
    yojik 2018/12/10
  • ハイパフォーマンスでスケーラブルなメッセージングシステム: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の紹介
    yojik
    yojik 2016/10/14
  • 分散プログラミングモデルおよびデザインパターンの考察

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 写真:アフロ データ&サイエンスソリューション統括部、データインフラ部、今野です。 早速ですが、今月開催の「Developers Summit 2016 (以下、デブサミ2016)」で当方が登壇する運びとなりました。気がつけば、前回の記事「分散システム処理モデルに関する動向について」から随分と日がたってしまいましたので、今回は、より広範囲な内容を整理してみたいと思います。 デブサミ2016の当方の講演テーマは「温故知新」です。今回は、このテーマにもつながる話題として、クラウド環境の代表的な分散プログラミングモデルやデザインパターンについて、一般的な考察をしてみたいと思います。 古典的なプログラミングモデルによる分類 まず最初に

    分散プログラミングモデルおよびデザインパターンの考察
    yojik
    yojik 2016/02/17
  • 分散システム処理モデルに関する動向について(MapReduceからBorgまで)

    詳細については後述しますが、MapReduceの処理モデルは、上記の通り各区分ごとにそれぞれ単純化(限定)されたモデルであったと言えます。 また、MapReduceの関数プログラミングおよびグラフ的な特徴も合わせて以下に整理してみます。 関数プログラミング的な特徴 MapおよびReduceフェーズは、それぞれ関数型プログラミングのMapおよびReduce処理をモデル化したものです。MapReduceは、参照透過性がある純粋な関数処理と言えます。参照透過性とは入力により出力が一意に決まる性質のことです。言い換えればMapReduceの処理は、大域などの処理に影響する外部の環境は持たず、内部的にも静的な一時変数などの状態も持たないことを意味します。 純粋な関数処理は複数の処理が同時に実行されても他の並列に動作している処理の状態には左右されないため、この参照透過性は並列化に向いている性質がありま

    分散システム処理モデルに関する動向について(MapReduceからBorgまで)
    yojik
    yojik 2015/06/10
  • アイデンティティ管理とその動向

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPAN 研究所の五味です。 アイデンティティ管理とは、ネット社会における利用者個人やその個人に関わる情報を適切に保護しながら活用する技術の総称です。従来は、AAA(Authentication、Authorization、Auditing、それぞれ、認証、認可、監査)に関わる基盤技術でしたが、近年ではネットワークの発展に伴い、ドメインをまたがる分散システムにおけるデータ連携のための基盤技術と位置づけられてきています。そこで、稿では、特に、ID連携に関する以下のような話題について説明いたします。 ID連携とは ID連携モデル ID連携の応用 ID連携トラストフレームワーク ID連携トラストフレームワーク アイデア

    アイデンティティ管理とその動向
    yojik
    yojik 2015/04/07
  • 分散システムの一貫性に関する動向について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog システム統括部アーキテクト室 今野です。 昨年は、Twitter,Facebookを始めとするクラウド各社で新規の分散システム開発のプロジェクトが相次いで発表された年でした。これらの新しい分散システムを開発する理由や、その背景にあるものは何なのでしょうか? 今回は、昨年末に開催された高信頼性分散システム系の国際学会であるSRDS 2014[1]の発表内容に関連する論文の話題も踏まえて、昨今のクラウド各社の分散システムの動向について整理してみます。 分散システムにおけるクラウド各社の動向 近年の分散データベースの世界では、AmazonのDynamo[2]やFacebookのCassandra[3]などを代表とする結果整合性(Eve

    分散システムの一貫性に関する動向について
    yojik
    yojik 2015/04/06
  • 知っておきたい7つのID連携実装パターン

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ID連携担当のくら(@kura_lab)です。 みなさんはYahoo! JAPANのWeb APIや認証、エンドユーザーの属性取得APIを実装したことがありますか。これらを利用するためにはYahoo! ID連携を用いてアクセストークンの取得やログインの実装が必要になります。単にアクセストークンの取得、ログインの実装といってもWebアプリ、ネイティブアプリにおいていろいろなパターンがあります。 SDKを用いる場合ほとんど意識せずに実装もできますが、提供するサービスのUXやシステムの環境に合わせてより最適な実装をするためには、それぞれの特徴を理解し適切なパターンを選択する必要があります。 Yahoo! ID連携はOAuth

    知っておきたい7つのID連携実装パターン
    yojik
    yojik 2014/12/24
  • 爆速でわかるjQuery.Deferred超入門

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。これまで、JavaScriptで非同期処理を書く上での問題として、コールバック地獄やエラー処理に例外が使えないことなどを解説してきました。 これらの問題に対処するライブラリの1つであるjQuery.Deferredに関して、もう少し丁寧に解説いたします。なお、jQueryのバージョンは記事執筆時点の最新である、1.9.1を想定しています。 jQuery.Deferredとは jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。使いこなすことで、以下のような効果が見込めます。 非同期処理を連結

    爆速でわかるjQuery.Deferred超入門
    yojik
    yojik 2013/08/22
  • 日本語係り受け解析APIとマッシュアップ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog サービス統括部のS・Kと申します。 前回お送りしました「日形態素解析APIとマッシュアップ」に続きまして、Yahoo! JAPANが提供するWeb APIの中でも難解であろう「日語係り受け解析API」を前回と同様、皆様のマッシュアップにお役立ていただけるようなじみの薄い自然言語処理用語の解説と共に分かりやすくお伝えできればと思います。 まずは、前回のおさらいです。 形態素解析は日語の文を言語として意味を成す最小単位の「形態素」に分ける解析処理でした。そして、日形態素解析APIは「形態素」に分け、合わせて「品詞」情報が取得できましたね。 係り受け解析は、その形態素解析処理を元にさらに一歩踏み込んだ情報の解析をします。 そ

    日本語係り受け解析APIとマッシュアップ
    yojik
    yojik 2012/10/23
  • APIとの通信効率をよくする実装例(2) 簡易キャッシュ

    こうして見ると、仮に5分程度ライムラグがあってもさほど影響が無いものが多い、つまり毎度APIに問い合わせるのが無駄とも言えないでしょうか。(毎度通信すべきはなのは、上の表では「高」の部分のみ)。 そこで、APIから取ってきたデータ(XML)を少しの時間だけとっておくのはどうでしょう?(リアルタイム性が高いものや検索結果については毎度通信し、それ以外のものはキープしておき再利用)アクセスしてきたAさん、Bさん、Cさん・・・誰が見ても同じ内容ならなおさらみんなでシェアできれば、通信の数もそれにかかる時間も減るはずです。 このように一定時間データを溜めて再利用するシステムや行為を、キャッシュ(cache ※1)といいます。 どんな言語でも、こんな流れのロジックが書ければ実現できるでしょう。 if ( とっておいたXMLが賞味期限切れ ) { 捨てる; } if ( とっておいたXMLがある )

    APIとの通信効率をよくする実装例(2) 簡易キャッシュ
    yojik
    yojik 2009/04/10
  • 1