タグ

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

  • ソースコードリーディング(head,tailコマンド編)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ショッピング担当の吉野です。 今回はタイトルの通り、headコマンドとtailコマンドのソースコードを読んでいきたいと思います。 ■はじめに 皆さんご存じの通り、headコマンドはファイルの先頭からn行(バイト)を出力し、 tailコマンドはファイルの末尾からn行(バイト)を出力するコマンドです。 ほかにもパイプの入力に使ったり、[tail -f]でログファイルの出力監視に使ったりと、 UNIXを使う上では欠かせないコマンドと言えるでしょう。 headとtailは見た目の動作は似ているようですが、ソースコードの中は結構違います。 さっそく見ていきましょう。 <headのソースコード> http://www.

    ソースコードリーディング(head,tailコマンド編)
  • キーフレーズ抽出API の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、日語処理技術部の阿久津剛之です。 Yahoo!デベロッパーネットワークにて、キーフレーズ抽出APIを公開しましたので紹介します。 キーフレーズ抽出APIとは、与えられた文章から、その文章を特徴づける重要な部分(キーフレーズ)を抽出し、独自の算出方法により点数付けを行って返すAPIです。 例えば、「東京ミッドタウンから青山一丁目駅まで歩いて15分かかります」という文章をキーフレーズ抽出APIに与えると、 「東京ミッドタウン」「青山一丁目駅」「15分」 という結果が返ってきます。 ここで、「青山一丁目駅」に注目してみましょう。 「青山一丁目駅」は、日形態素解析APIを用いて解析すると、 青山 / 一 / 丁目 / 駅

    キーフレーズ抽出API の紹介
  • APIとの通信効率をよくする実装例(2) 簡易キャッシュ

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

    APIとの通信効率をよくする実装例(2) 簡易キャッシュ
    kesnke
    kesnke 2009/04/13
  • lsコマンドをハックしてみよう

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

    lsコマンドをハックしてみよう
    kesnke
    kesnke 2009/03/25
  • 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
    kesnke
    kesnke 2009/03/10
  • 日本語係り受け解析APIとマッシュアップ

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

    日本語係り受け解析APIとマッシュアップ
    kesnke
    kesnke 2009/03/09
  • 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
    kesnke
    kesnke 2009/02/24
  • MySQLによるデータウェアハウス構築

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のWangです。 データウェアハウス(以下DWH)という言葉になじみのない方は検索していただいたほうがよいかもしれません。 検索するのがめんどい、という方は、かみ砕いた表現ができなくて恐縮ですが、 基幹系システムから抽出したデータを目的をもって再構成し、 使用可能な状態に保管されたデータの集合体、とお考えください。 オークションでは、具体的には出品、入札、落札などのトランザクションデータや、 それをいろいろな単位で集計したデータなどが該当します。 ここでいう単位というのはたとえば、日ごと、週ごと、月ごとや、以前の記事でも紹介されている カテゴリといったものになります。 こういったデータは、運用、運営、

    MySQLによるデータウェアハウス構築
    kesnke
    kesnke 2009/02/10
  • 1