タグ

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

  • Apache Hudi を用いてレコード単位で削除可能なデータレイクを構築した話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。データ統括部でYahoo!広告のデータエンジニアをしている江島です。 記事では、Yahoo!広告のデータ分析環境であるデータレイク上のデータを、Apache Hudi を用いてレコード単位で削除可能にした事例を紹介します。 Yahoo!広告のデータ分析環境 Yahoo!広告における データマーケティングソリューション では、ヤフーの持つ圧倒的な量と質のデータを活用し、消費者理解や広告効果分析を目的としたさまざまな商品を提供しています。 これらの商品を提供するための裏側には広告に関する膨大なログや多種多様なサービスのログを使ってデータ分析機械学習を行うためのデータ基盤が必要です。データマーケティングソリューションで

    Apache Hudi を用いてレコード単位で削除可能なデータレイクを構築した話
  • 新しいHTMLタグportal、Portals機能で変わるWebの遷移体験! CDS2019で紹介されたヤフーの実装例 #UIUX

    新しいHTMLタグportal、Portals機能で変わるWebの遷移体験! CDS2019で紹介されたヤフーの実装例 #UIUX こんにちは。PayPayモールのエンジニア関と、Yahoo!ニュースのデザイナー萩野です。 皆様、突然ですがPortalsをご存じでしょうか。 Portalsとは、新しいHTML要素です。2019年11月11日〜12日にサンフランシスコで開催された「Chrome Dev Summit 2019」(以下CDS)でも紹介されました。 記事では、Portalsが可能にする新しいWebでの体験をご紹介します。 Portalsとは? なにができるの? Webブラウザー上でユーザーにとって良い体験を提供するためには、表示速度の向上が欠かせません。 Portalsを利用すると、画面遷移の体感速度を向上させることが可能です。 まずはこちらの比較動画をご覧ください。遷移先のコ

    新しいHTMLタグportal、Portals機能で変わるWebの遷移体験! CDS2019で紹介されたヤフーの実装例 #UIUX
  • 細かすぎて伝わらないSSL/TLS

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

    細かすぎて伝わらないSSL/TLS
    shimooka
    shimooka 2015/01/21
    細かいと言うより長い
  • PHPUnit コードカバレッジの向上事例を紹介します

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

    PHPUnit コードカバレッジの向上事例を紹介します
  • 爆速でわかる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超入門
  • 震災関連情報として「電力使用状況API」を公開しました。

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!デベロッパーネットワークの鎌田篤慎と申します。 東北地方太平洋沖地震のあと、Yahoo! JAPANはインターネットの力で 被災地域の支援や最新情報の提供を社をあげて実施しております。 現在、弊社のトップページにてお知らせしています「東京電力の電力使用状況」や 効果的な節電と計画停電情報を提供する「節電情報」ページもその一つです。 この活動の一環として、これらのページにて表示している電力使用状況グラフの数値を 「電力使用状況API」としてYahoo!デベロッパーネットワークで公開いたしました。 このWeb APIは東京電力が供給する電力の最大供給量と直近の使用量を取得できます。 電気の供給能力が不足し、大規

    震災関連情報として「電力使用状況API」を公開しました。
  • Hadoopを使いこなす(3)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、R&D統括部の吉田です。 前回と前々回の記事では、Hadoopのカスタマイズポイントを解説しました。 単純な問題に対しては、map関数とreduce関数の組み合わせだけでも、処理を行うことができますが、ある程度複雑な問題に対しては、今までに解説したカスタマイズポイントの活用が重要になるという話でした。 今回は実際のサービスの事例を紹介し、カスタマイズポイントがどう活用されているか紹介したいと思います。 ABYSS ABYSSの事例を紹介しましょう。 ABYSSとは、検索サービスを簡単に構築できる社内プラットフォームのことで、詳しくは以下のTechBlog記事で紹介しています。先日無事に社内リリースされました。 新検索

    Hadoopを使いこなす(3)
  • Hadoopを使いこなす(2)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、 前回のHadoopの記事 に引き続き、MapReduceのカスタマイズポイントを解説していきます。 前回の記事の図や、表などを参照しながら読み進めていただければと思います。 MapperやReducerの流れの制御 Mapperの実行の流れは、デフォルトでは、初期化処理を行った後、map関数を繰り返し実行し、終了処理を行うようになっていますが、この流れ自体を制御することができます。 古いAPIでは、MapRunnerを通じてこの流れを制御できますが、0.20.0からの新しいAPIでは単純にMapperクラスのrun関数をオーバーライドすることで、行えます。 デフォルトのrun関数は以下の通りです。 public vo

    Hadoopを使いこなす(2)
  • Hadoopを使いこなす(1)

    まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed

    Hadoopを使いこなす(1)
  • オープンソースカンファレンスのHadoop講演資料を紹介します

    こんにちは。広報スタッフの楢崎です。 9月10日、11日の2日間開催された「オープンソースカンファレンス2010 Tokyo/Fall」にて、 Yahoo! JAPANはHadoopについて講演させていただきました。多くの方にご参加いただきありがとうございます。 (写真:明星大学・日野キャンパスにて) ここでは、当日講演で使用したプレゼン資料を紹介させていただきます。 ●Hadoop ~Yahoo! JAPANの活用について~ ヤフー株式会社 R&D統括部 角田直行、吉田一星

    オープンソースカンファレンスのHadoop講演資料を紹介します
  • Yahoo! JAPANがOAuthのService Providerになりました!

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、IDプラットフォーム技術の近藤です。 2007年12月4日、OAuth Core 1.0という仕様が策定されてからGoogle、米YahooTwitterなどのサービスプロバイダがOAuthに対応を行い、外部アプリケーションに対してユーザーリソースへのアクセス認可を開始しました。そして2009年7月9日、Yahoo! JAPANもOAuthのサービスプロバイダとしてリソースアクセスの提供を開始しました。 2009年4月下旬にOAuth Core 1.0の仕様にセキュリティ問題があることが発表されました。 Yahoo! JAPANのOAuthはその問題を解決したOAuth Core 1.0 Revision Aという仕

    Yahoo! JAPANがOAuthのService Providerになりました!
  • 1000万画像を1秒以内で検索 VisualSeeker

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 6月10日に公開された、Yahoo! JAPANの研究開発プロダクトのショーケース「Yahoo!ラボ」。 このなかのプロダクトのひとつとしてYahoo! JAPAN研究所が開発した独自の技術「VisualSeeker」について、研究者の岩崎雅二郎さんにお話を聞きました。 ■VisualSeekerとは? --VisualSeekerの機能 一般の画像検索ではテキストを入力して検索しますが、VisualSeekerでは画像自体の特徴に基づいて検索します。以下のように様々な検索が可能なので、場合に応じて適切な検索方法を選択して利用できます。 類似する画像の検索 描いた画像に類似する画像の検索 指定した色に類似する画像の検索 アップロー

    1000万画像を1秒以内で検索 VisualSeeker
  • PHPでのデバッグ方法

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog おひさしぶりです。オークション担当の山崎 賢です。 前回はPHP Serialize についてでしたが、 今回はPHPでのデバッグに関してお話します。 基PHPはインタプリタ(厳密にはPHPは内部で一度コンパイルしていますのでインタプリタとは言い切れませんが) のデバッグではログ埋め込みが手軽です。 しかし、まれにSIGSEGVやSIGBUSなどでPHPスクリプトが落ちることがあり、途方にくれます。 地道にログを埋め込んでいき、箇所を特定するのも手法の1つですが、今回はgdbを用いたデバッグ方法を記載したいと思います。 ■STEP1 まずは、プログラムが落ちることを目的として以下のようなPHP Moduleを作成します。 ・ ・

    PHPでのデバッグ方法
  • 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 はじめに 島津悠樹と申します。Yahoo! JAPANのソーシャルメディア系サービスの開発・ユーザーインターフェース(以下UI)設計を担当しています。私からは「エンジニアにもわかる『ユーザーインターフェース設計』」と題し、エンジニアのみなさまに考え方のヒントとなるようなネタをお届けします。 エンジニアの方々にとって、UI設計は、おもしろそう、けれど、どこかとっつきにくい......、そんな印象を持っておられるのではないかと思います。 私も以前はそう思っていました。ですが、とっつきにくさを理由にUI設計をやらないのはもったいない、という思いで試行錯誤した結果、なんとか、UI設計のお仕事をいろいろ担当させていただくことができるようにな

    エンジニアにもわかる「ユーザーインターフェース設計」
  • lsコマンドをハックしてみよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野です。 Yahoo!ショッピング開発部では新人エンジニア向けにコマンドのソースコードを読むことを奨励しています。 その初期の題材として、lsコマンドがよく挙げられます。 今回は「lsコマンドをハックしてみよう」と題し、lsコマンドについてお話しさせていただきます。 突然ですがエンジニアの皆さん、lsコマンドのソースコードを読んだことはありますか? 読んだことのない方はぜひ一度、目を通しておくことをおすすめします。 意外と知られていませんが、lsはcd,pwdなどのコマンドと違いシェルの組み込みコマンドではありません。 一口にlsと言っても、複数のソースコードが存在します。 代表的なのはGN

    lsコマンドをハックしてみよう
  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • 日本語係り受け解析APIとマッシュアップ

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

    日本語係り受け解析APIとマッシュアップ
    shimooka
    shimooka 2009/03/14
    これは面白そう
  • 10分で作るYahoo! OpenID RP

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部脇阪です。 「OpenID関係の記事を24時間書く」という依頼の元、がんばって何か書こうと思います! OpenID関連の記事ということで、今回はYahoo! JAPANのOpenID対応RPを構築する方法を紹介したいと思います RPって何? RPとはRelying Partyの略で、OpenIDでログインできるサイトのことです。日ではsmart.fm(旧iKnow!)が有名です。 ちなみにOpenIDを発行しているYahoo! JAPANやmixi,livedoorなどのことはOP(OpenID Provider)と言います。今回はOPに関しては取り扱いません。 RPになるメリットって? ユーザーごとに

    10分で作るYahoo! OpenID RP
    shimooka
    shimooka 2009/03/14
    php-openidを使った10分チュートリアル
  • Yahoo!ショッピングにおけるログ設計と監視

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野と申します。 今回は「アプリケーションログの設計と監視」について、実際にYahoo!ショッピングで採用している方法を少し交えながらお話しさせていただきます。 1.ログ設計のポイント ログ設計は、以下のポイントに注意して行うとよいでしょう。 ・ログ出力のポイントが押さえられているか ⇒セッションの始まりと終わり、処理の過程、例外処理の中など。 フローチャートのような処理フロー図があれば、そこにログ出力ポイントを書き込むとわかりやすくなります。 ・出力する情報に過不足はないか ⇒「いつ(システム時間)」「だれが(プロセスID・IPアドレスなど)」 「どこで(パスなど)」「なにをした(実行コマン

    Yahoo!ショッピングにおけるログ設計と監視
  • 1