タグ

ブックマーク / blog.livedoor.jp/techblog (21)

  • mod_rewrite を利用したリバースプロキシ環境の作り方 - livedoor Blog(ブログ)

    こんにちは、 最近愛用のMacbookが外観も中身もボロボロになってきて悲しいkyannyです。 ライブドアでは、画像やCSSファイルやjavascriptファイルなどの静的なコンテンツを配信するウェブサーバとウェブアプリケーション体が稼働するアプリケーションサーバを別々のホストで運用する、いわゆるリバースプロキシ環境を構築しています。今回は、このリバースプロキシ環境の作り方を解説します。 リバースプロキシとは リバースプロキシとはプロキシサーバの一種で、クライアントに対してファイアウォールの中にあり外部のネットワークから直接アクセスできないサーバへのアクセスを提供する機能です。これ以外にも、複数のバックエンドサーバを用意して負荷分散をしたり、プロキシサーバでキャッシュを併用することでバックエンドサーバへのリクエストを減らしたりと、様々なシーンで活用できるため、大規模なウェブサイトを構築

    nilab
    nilab 2019/12/16
    「ProxyPassReverseディレクティブは、アプリケーションサーバのレスポンスがリダイレクトだった場合に効果を発揮します」
  • livedoor Techブログ : 鉄道情報APIをロケタッチでリリースしましたのお知らせ

    にどめまして!前回の住所正規化 APIが好評なようで花粉症が吹き飛んでいた Yappo です。 さて、今回は表題の通り鉄道情報 APIをリリースしたのお知らせです。 鉄道情報 API ってなに? 日国内の鉄道路線や鉄道駅を検索する事が出来る API です。 例えば、路線一覧や山手線の駅一覧を JSON 形式で簡単に取得出来ます。 基的にはデータソースとして駅データ様のデータを利用しているため、基的には駅データの仕様に準拠していますが、ロケタッチ独自の情報を付与したデータを返しています。 使い方 使い方は簡単で、前回の住所正規化 API のように単純に GET リクエストを飛ばすだけで良いです。 例えば山手線の全駅リストを Perl で書きたい場合には以下のように書きます。 use strict; use warnings; use 5.016; use JSON; use LWP::

    nilab
    nilab 2012/07/12
    livedoor Techブログ : 鉄道情報APIをロケタッチでリリースしましたのお知らせ
  • livedoor Techブログ : 住所正規化APIをロケタッチでリリースしたよ!1

    LINEPC から使えるようになって、自社サービスなのに wktk しながらハックしてた大沢Yappo和宏です。こんにちわ。初めましての人は初めましてね。 今回は、先日ロケタッチの API に、住所正規化 APIを追加したので簡単な紹介をします。 ロケタッチ API って何? ロケタッチ API は、ロケタッチのユーザーデータ、スポットデータ、チェックインデータ等にアクセスできる API です。 OAuth2 で実装されているので、どのような言語からも利用しやすくブラウザだけで完結するような JavaScript アプリケーション等にも気軽に導入する事が出来ます。 Perl の世界だと Amon2 という Web Application Framework の認証プラグインとしてAmon2::Auth::Site::Loctouchが CPAN にあるので、これを使うと簡単にロケタッ

    nilab
    nilab 2012/03/29
    個人差がある住所表記を一定のルールに沿って正規化してJSONで返すWeb API。住所データを元にした巨大な正規表現で処理。 / livedoor Techブログ : 住所正規化APIをロケタッチでリリースしたよ!1
  • livedoor Techブログ : livedoor グルメの DataSet を公開

    櫛井です。 以前 livedoor clip のデータを学術研究用に公開しましたが,おかげさまで,たまに発表等で livedoor clip という名前が引用されているのを見かけるようにもなり感慨深い限りです。 さて,今回は第二弾としまして,livedoor グルメのデータをまとめてダウンロード & 利用可能にしようと思います。 今回はいろいろと余裕がなかったため 豪華なイラスト付きページが用意できませんでした livedoor clip のデータとは違い,定期アップデートはされません。2011年4月22日の時点のデータのみとなります ...が,なにかしら皆様の研究のお役に立てればと思います。 よくありそうな質問と答え ライブドアグルメのユーザですが,自分の個人情報が公開されちゃうってこと?困ります! 公開されるのは,もともとライブドアグルメのサイトで誰でも見れるようになっている情報だけで

    nilab
    nilab 2011/05/23
    livedoor Techブログ : livedoor グルメの DataSet を公開
  • livedoor Techブログ : wikipediaのデータや顔文字辞書からmecabのユーザ辞書を作成するフレームワーク

    突然ですが,mecabの辞書 (mecab-ipadic) をデフォルトのまま使って,mecab意外と使えねぇとか文句言ってる悪い子はおらんかね? mecab-ipadic は比較的お行儀のよい日語をベースに作られているので,そのままでは web上の口語文体のテキストはうまく扱えないことがあります。来は教師データを用意し,学習させるといった手法を使うのが正攻法だと思いますが,とりあえず名詞を充実させるだけでも実用度はだいぶ上がるでしょう。 人間の話す言語には,動詞の語幹や名詞には日々新しく語彙が増えるけど,助詞や活用のルールは簡単には変化しない,という特性があります。特に「いま最もつぶやかれている単語ランキング」といった集計をするような場合は,名詞の範囲の切り出しさえ間違えなければそれなりの結果を出せることも多いのです。 ただ,辞書への単語追加はここにある通り簡単にできるのですが,単語

    nilab
    nilab 2011/05/17
    mecab-dic-overdrive! 適切な単語生起コストを自動的に推測してユーザ辞書ファイルを生成。 / wikipediaのデータや顔文字辞書からmecabのユーザ辞書を作成するフレームワーク
  • livedoor Techブログ : decision tree (決定木) でユーザエージェント判定器を作ってみる

    アクセスログのユーザエージェント(UA)からブラウザを判別するのって,みんな何使ってますか? 自分が作ったアクセス解析システムでは HTTP::BrowserDetect と HTTP::MobileAgent にそれぞれ独自パッチをあてたものを使っています。これらはルールベースの判定器なので,新しいブラウザや新種の bot が登場するたびに手作業でルールを追加し,パッチを作って配布するという作業が必要になります。 この更新作業が大変面倒くさくて対応が遅れがちになるので,「このUA文字列はこのブラウザですよ、という例を大量に与えたら、自分で勝手に判定ルールを学習してくれるようになったら便利なのになぁ」と思い,decision tree (決定木)を使ってみることを思い立ちました。 目標は, "Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1

    nilab
    nilab 2011/05/16
    Perl の AI::DecisionTree / livedoor Techブログ : decision tree (決定木) でユーザエージェント判定器を作ってみる
  • livedoor Techブログ : ライブドアでは毎週水曜がノーエンジニアデーになりました

    こんにちは、櫛井です。 ライブドアの開発部ではエンジニアを対象にフレックス制度を導入しており 11:00〜16:00がコアタイムとなっています。そして、先週から新たに 「ノーエンジニアデー」というのを導入してみたところ、なかなかうまく いっているようなのでご紹介したいと思います。 ※試験的な導入のため今後も続けるかは現時点では未定です 内容としては、毎週水曜は自宅作業を推奨しコアタイムの間は いつでも連絡つくようにPCの前にいることが条件で、必要があれば 都度出社してくださいという運用です。節電対策というのもありますが 夏に向けて計画停電があるかも知れないため、その予行練習も兼ねています。 いつもは沢山のエンジニアがいる開発部ですが、水曜はこうなります。 わりとスカーン!としていて、CTOだけがポッツーン! 「人がいないところの電灯ついてるじゃん!」というツッコミがありそうですが 省電力な

    nilab
    nilab 2011/04/28
    「自宅作業を推奨しコアタイムの間はいつでも連絡つくようにPCの前にいることが条件で、必要があれば都度出社してくださいという運用です」ライブドアでは毎週水曜がノーエンジニアデーになりました
  • livedoor Techブログ : NHNグループ合同エンジニア勉強会をやりました

    こんにちは、開発部に所属しながらも開発しない櫛井です。普段はイベントとかやってます。 ディレクターブログはよく書きますが、Techブログは初登場です。宜しくお願いします。 さて、ライブドアは今年の4月からNHN Japanのグループに入ったわけですが、今回は開発現場の エンジニア達が集まって合同勉強会を行いましたのでその様子を紹介しつつスライドも公開したいと思います。 今回は大崎のNHN Japan社にあるカフェスペースにて行いました。ざっと見渡したカンジ、100人くらい 入ってました。オフィス全体は、私が以前に書いたNHN Japan株式会社 に行ってきた!で詳細に紹介して おりますのでよかったらご覧ください。いいところです。 今回は、NHN Japan、NAVER、ライブドアの3社からそれぞれ2名ずつ LTっぽいカンジで発表を行い、ライブドアからは以下の2つを発表しました。 それぞれ

    nilab
    nilab 2010/07/29
    livedoor Techブログ : NHNグループ合同エンジニア勉強会をやりました
  • livedoor Techブログ : 変な CAPTCHA だっていいじゃないか にほんじんだもの

    こんにちは。開発のシニアスペシャリストをやっております、通称「にぽたん」こと谷口公一です。 私たちが日頃使っているネット上のサービスで、web 上のフォームの最後等に「ここに書かれている文字を入力してください」のように、絵に描かれた文字を目で読み取って入力するよう求められる場合があります。 言うまでもありませんが、これは通称「キャプチャ (CAPTCHA)」と呼ばれているもので、画像データは、人間ならそれを肉眼で認識して入力が行なえますが、機械には少し難しくなるため、フォームに文字を入力しているのが、機械ではないことを判定するためにこういう仕組みが存在します。 世の中にある CAPTCHA は、やたらと字がグチャグチャで読み取るのが非常に困難なケースもあります。 これは当然、安易に、白地に黒い文字を書いたような単純な画像を CAPTCHA に用いれば、それを解読するシステムは簡単に開発出来

    nilab
    nilab 2010/01/31
    livedoor Techブログ:変な CAPTCHA だっていいじゃないか にほんじんだもの:「表示色を変える ドットや線などの不規則なノイズを加える フォントを数種類使う 文字の表示位置を揃えない 文字をひねる」「Imager で CAPTCHA を作って
  • livedoor Techブログ : フリーソフトと貢献について - Zither -

    みなさん、はじめまして。 ネットワーク事業部 事業企画の嶋倉です。 今回は僕にとってのフリーソフトとその貢献について書いてみました。 初めの一歩 初めて自分のパソコン(計算機)を手に入れたのは、もう随分と前の話です。上野のヨドバシカメラで確か30万ぐらい出したような記憶があります。東芝のノートブックでしたが中にはMS-DOSが入っていました。 当時の世の中はまだPC98が主流で、典型的なDOSVのダイナブックは動かせるソフトが少なく、歯がゆい思いをしたものです。そもそも何で自分のパソコンを手に入れたかなんですが、当時勤めていた会社ではヒューレット・パッカード(以下HP)のワークステーション(以下WS)にてCADを使うことがありました。 ところが小さな会社でしたので、一台しかないこの超高価なWSを使う順番はなかなか回って来ません。しかもそれを管理していた先輩は無知な上にCAD以外の使い方をす

    nilab
    nilab 2009/12/15
    livedoor Techブログ:フリーソフトと貢献について - Zither - - livedoor Blog(ブログ)
  • livedoor Techブログ : アドオンした事がない人が15分間でFirefoxアドオン開発

    こんにちは。ライブドアの駒井です。 つい先日、友人に誘われて半ば強制的に「Firefox Developers Conference 2009」に参加してきました。誘ってきた友人が、当日の急用で北海道に帰る事になり、何故か私1人で不慣れな場に参加してきました。当日優しくしてくれた皆さんありがとうございました。いただいたFirefoxのTシャツも大事にします。 自分の予想に反してとっても有意義な時間となりました。筆者は普段、JavaScriptを全く書きません。C++JAVAがメインです。そんな私でも気軽に楽しめてしまうのがFirefoxアドオンでした。ということで、Firefoxアドオンを作成するための最低構成で、簡易的なアドオンを15分程度で実験的に作ってみたいと思います。 題材を模索中に自社営業部の人から次のようなアドオンがあったらありがたいと聞きました。営業訪問に際して必ず行う下記

    nilab
    nilab 2009/12/15
    livedoor Techブログ:アドオンした事がない人が15分間でFirefoxアドオン開発 - livedoor Blog(ブログ)
  • livedoor Techブログ : 第一回 ライブドア テクニカルセミナー・ログ

    2009年2月27日(金)に開催されました 第1回 ライブドア テクニカルセミナー「Open & Share」の発表資料と動画を公開致します。 プラクティカル Cicindela 中の人による中の人のための、ライブドアブログ公式攻撃マニュアル(抜粋) インサイド livedoor Blog ライブドアのネットワークとトラフィックパターン P2Pコンテンツ配信技術の現状 デジタルコンテンツ配信の法的問題 プラクティカル Cicindela 株式会社ライブドア   井原 郁夫(15分) オープンソースのレコメンデーションエンジン「Cicindela(シシンデラ)」。実際の各種サービスで利用するための工夫と実践向けのプログラム設計手法を公開。 中の人による中の人のための、ライブドアブログ公式攻撃マニュアル(抜粋) 株式会社ライブドア   井原 郁央(5分) 2008年のある事件をケースとした、社

    nilab
    nilab 2009/03/31
    livedoor Developers Blog:第一回 ライブドア テクニカルセミナー・ログ:2009年2月27日:プラクティカル Cicindela:中の人による中の人のための、ライブドアブログ公式攻撃マニュアル(抜粋):インサイド livedoor Blog:ライブドアのネットワ
  • livedoor Techブログ : YAPC::Asia 2008 で発表してきました

    こんにちは。nabokov7 です。YAPC::Asia 2008で発表してきましたので、その資料を公開します。 ライブドアでは、各サービスで共通に使える内部サービスをいくつか独自開発しています。そのうちのひとつが、今回紹介した共通スパムフィルタ「スパムちゃんぷるー」です。ライブドアブログやライブドアwiki、したらば掲示板などのスパム書き込みのフィルタリングを共通化するために開発したものです。 これにより、スパム判定のロジックが一元化され、統計情報、ブラックリスト、ホワイトリストなどが共有できるようになります。また、過去の判定結果から学習する機能もあります。 スパム判定の基準は各サービス、あるいはユーザ毎の設定によっても変わってくるので、判定ロジックはプラグイン形式になっており、判定時にはこれらのプラグインが並列で動作する仕組みになっています。リクエスト時に必要なプラグインを指定し、任意

    nilab
    nilab 2008/10/28
    livedoor Developers Blog:YAPC::Asia 2008 で発表してきました - livedoor Blog(ブログ):共通スパムフィルタ「スパムちゃんぷるー」:各プラグインはそのデータがスパムである確率 (0~1) を計算し:全プラグインの判定結果をまとめて
  • livedoor Techブログ : 全文検索エンジン lucene(ルシーン) を使ってみた

    こんにちは 。 検索 関連 を 担当 して いる やましー です 。 今回は livedoor で提供しているサービスの中の「検索関連」について書きます。 このブログでも過去に何度か取り上げられていますが、livedoor では検索エンジンとして HyperEstraier、lucene、mysql + senna、Namazu、SUFARY などを利用しています。 その中で lucene の利用方法や機能拡張について説明します。 lucene とは Apache Lucene は、Java で書かれた高性能で高機能な検索エンジンライブラリです。全文検索を(特にクロスプラットフォームで)必要とするほとんどのアプリケーションに適している技術です。※ 公式サイトから抜粋 インデックスの作成 lucene は転置インデックス型の検索エンジンなので、ドキュメントを検索するには、まずインデックスの作

    nilab
    nilab 2008/03/15
    livedoor Developers Blog:全文検索エンジン lucene(ルシーン) を使ってみた - livedoor Blog(ブログ) : http + perl などlivedoorでの使い方
  • livedoor Techブログ : ターミナルでプレゼンテーション

    姓と名が顔みたいなことで有名なにぽたんと申します。 なんか毎日毎日スーパーマリオギャラクシー等々で日々多忙を極めているにもかかわらず「Developers Blog 書け!」と無理難題を言われ、パープルコイン集めの手をいったん止め、何を書こうかなと頭を悩ませていたんですが、そういえばすっかり公開するのを忘れていたものがありました。 SoozyConference という技術者向けのカンファレンスがあるのをご存知でしょうか。当初は、組織を問わず、数名のエンジニアだけで話し合って発足した、Web Application Framework について、開発言語を問わずに語り合う会として、弊社会議室での開催を皮切りに発足したイベントです。 回を重ねるごとにそのカンファレンスの知名度も上がり、今では Web Application Framework に限らず、技術ネタを喋りたい人、聞きたい人が一堂

    nilab
    nilab 2008/02/18
    livedoor Developers Blog:ターミナルでプレゼンテーション - livedoor Blog(ブログ) : Term::Presentation : TTYShare
  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

    こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日語版の解説

    nilab
    nilab 2007/10/18
    String::Trigram でテキストの類似度を測る
  • livedoor Techブログ : 底辺からスタート

    皆さんこんにちは洲崎です。 須崎でも州崎もありません。洲崎です。ほんとです。 ライブドアって会社に居ながら Web系に背を向けてクライアントアプリを作りまくってる人です。 孤独です。誰も助けてくれません。軽くです。リアルです。 ツールバーとかクライアントアプリ全般を作ってます。 最近はねとらじのDolphin作ってます。 今日は技術的なお話はしません。できるけどしません。 入社して1年9ヶ月になりますが、この会社で7社目になります。 転職しすぎです。見事なジョブホッパーです。履歴書書くのも大変です。 おもしろい?のでその辺の話を少しまとめてみます。 自分でも忘れそうなので(ぉ ■中学生 中の上くらいの子でした。やれば出来る子でした。でもやりませんでした。 高校を出たらすぐ働きたかったので工業高校へ進学を決めました。 ファミコン世代なのでファミコンっぽいことがやりたかったので 情報処理科と

    nilab
    nilab 2007/10/11
    livedoor Developers Blog:底辺からスタート - livedoor Blog(ブログ) : 会社を渡り歩くプログラマ底辺からライブドアまで
  • livedoor Techブログ : nowaのサーバ構成

    こんにちはスエヒロです。 今回は弊社が提供しているブログサービス「nowa」(ノワ http://nowa.jp)の仕組みをサーバ構成を中心に紹介したいと思います。 nowaでは一般的なブログサービス要素とSNS要素の機能を実装しています。弊社には先行して提供している「livedoor Blog」、「フレパ」といった大規模なサービスがありますので、そちらの開発・運用で問題になった点などを参考にしつつ開発を進めています。具体的にはアクセスによる負荷への対策、データベースの分散化、画像のストレージング、冗長性、スケーラビリティといった点になります。 - ポータル(nowa.jp)、CMS(cms.nowa.jp) のサーバ構成 ポータルページ(nowa.jp)とCMSページ(cms.nowa.jp)は、静的なファイルのリクエストを捌く+動的なコンテンツへのリクエストをプロキシするフロントサーバ

    nilab
    nilab 2007/10/11
    livedoor Developers Blog:nowaのサーバ構成 - livedoor Blog(ブログ)
  • livedoor Developers Blog:オープンソースなPCエミュレータ QEMU - livedoor Blog(ブログ)

    こんにちは。垣内です。 WindowsPCを開発に利用する場合、ローカル開発環境ってどうされていますでしょうか。 代表的なところだとcoLinuxやVMWarePlayer、最近だとVirtualBoxがフリーで公開されています。マイナーかもしれませんが、今回はオープンソースで開発されているQEMUを紹介してみようと思います。 他のエミュレータとは違い、QEMUにはx86以外のArmやPowerPC等のシステムのエミュレートもできます。ですが、今回は開発環境構築と言う事でx86エミュレートのみを紹介します。組み込みのLinux、OpenBlockS、玄箱等の小型LinuxBOXのテストに使う場合にはArm等の環境構築もおもしろいかもしれません。 準備 Windows版のバイナリはQEMU on Windowsからダウンロードします。インストーラーもありますが、ここではZIP版の「qemu-

    nilab
    nilab 2007/08/27
    livedoor Developers Blog:オープンソースなPCエミュレータ QEMU - livedoor Blog(ブログ)
  • livedoor Techブログ : モブログに潜んでいる不具合

    今回はモブログに潜んでいる不具合を紹介してみたいと思います。 モブログと言ってもブログサービスに限った話ではなく、SNS の日記などを携帯から投稿したり、送信するメールに写真を添付してフォトストレージサービスにアップロードしたり、その仕組みは様々なサービスに応用されています。 では、その様々なサービスに潜んでいる不具合の内容からご説明しましょう。 ・件名を「サークルKサンクス」など「全角半角英数全角」としてモブログ。 ・投稿された記事のタイトルが「サークルK サンクス」となる。 「サークルK」と「サンクス」の間に半角スペースが入る。 ・AU、SoftBank の端末ではこの不具合は起こらない。 こんな感じ。 なぜこの不具合が起こるか、を説明する前に RFC2822(822) の Section 2 に目を通しておいた方がよいかもしれません。 とは言うものの、英文で量も少なくないので大事な部

    nilab
    nilab 2007/08/06
    livedoor Developers Blog:モブログに潜んでいる不具合 - livedoor Blog(ブログ) : DoCoMo のメールヘッダのエンコードの仕方