タグ

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

  • 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

  • livedoor Techブログ : ライブドア流自作サーバ

    livedoorポータルサイト等のインフラを担当している片野です。 今回は若干いまさら感がありますが、弊社にて運用している自作サーバをご紹介します。 (検証機以外は弊社内で組み立ててないので、正確には自作してないんですがw) ■背景 去年は特に自作サーバが盛り上がっていましたし、早い段階で「うちも作るか!」という展開はあったんですが、弊社では以下のような事情もあり、着手していませんでした。 ・自社データセンタでの運用なため、その他顧客と運用が大きく変わるようなサーバを投入すると運用が煩雑になる。 ・ポータルのサービスだけでも3000台近いサーバがあり、規模的にも運用に手がかかるサーバを入れるのは非現実的。 ・ボリュームメリットが出せるため、コスト面での自作メリットはそれほど大きくない。 ・そもそも自作で間に合う台数じゃないw (人的な)運用コストや調達コスト面ではあまりメリットがないのです

  • livedoor Techブログ : Arduinoで事業部長を監視しCiao!

    こんにちは、最近はモバイル向け新規サービスの開発を担当している栗原です。 今回のTechブログではMAKE系の話をご紹介したいと思います。 フィジカルコンピューティングとは 皆さんは『フィジカルコンピューティング』という言葉を御存知でしょうか。フィジカルコンピューティングとは、既存のパーソナル・コンピュータのグラフィカル・ユーザー・インターフェイス(ウインドウ,マウス,アイコンなど)を超えて、私たちの生活環境によりそった身体的なコンピュータのあり方を模索する研究の動向のことを言い(出典:はてなキーワード)、最近ではそれらの研究や実験を簡単に実現するための便利なハードウェアがいくつも存在します。 代表的なハードウェアとしては、ArduinoやGainerやFunnelなどがあります。これらは単純な入出力を供えた拡張可能な基板となっており、適当な電子部品をつなげることにより様々なことを実現でき

  • livedoor Techブログ : 壊れない機械でよかった

    こんにちは、ネットワーク事業部ネットソリューション部の増田 順です。 私はデータセンターや、回線サービス、レンタルサーバ等々、主にインフラの設計から運用までを担当する部署におります。色々なインフラに携わってきましたが、今回は今年で5年目を迎えましたlivedoor Wirelessについてとりあげたいと思います。 livedoor Wirelessとは? livedoor Wirelessとは2005年12月に開始された公衆無線LANサービスで、 山手線内に2200個のアクセスポイントを設置して802.11bgの無線LAN環境を提供しています。この屋外に設置した2200個ものアクセスポイントを4年以上運用してきた間には色々な苦労がありました。 サービスが開始されるまでの道のり 具体的なサービスのイメージが決定してから、サービスインするまでにはざっくりあげてみただけでも、下記のような工程があ

  • livedoor Techブログ : mod_rewrite マニアックス

    こんにちは。開発部の池邉です。 既に色んなところで発表していますが、ライブドアではWebサーバとして殆んどのサービスでApacheを使用しています。 Apache の特徴として、モジュールによる機能の追加、挙動の制御があります。その中でもよく利用されていながら、深く使っていくとハマりどころや謎の機能の多いモジュールとして mod_rewrite があります。Apacheの公式サイトでも以下のように書かれている事からも、家でもその点については認めているという事でしょう。 今回はそんな mod_rewrite のちょっとマニアックな拡張方法について紹介したいと思います。 Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. 変数を利用したプログラム

  • livedoor Techブログ : アドオンした事がない人が15分間でFirefoxアドオン開発

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

  • livedoor Techブログ : emacs lisp で細かい作業を高速化して仕事の速度を数倍にする

    こんにちは。ネットサービス事業部開発グループの amano です。 最近eclipseなどのIDEが流行しているって聞くのですが、当でしょうか。もし当ならemacsやviのような洗練されたエディタを未来に残すためにも、現在使用している人が自らのノウハウを公開する記事を書かねばならないと思います。 さて、仕事柄テキストの整形をすることが頻繁にあるのですが、膨大な量のログなどを整形するときはperl、awkなどでフィルターを書きます。しかし、ほんの数行のテキストにちょっとした加工をしたいときperlで加工処理を書いて実行するというのは、あまり適切ではない場合があります。 例えば、下記のようなcsvがあるとします。 ID, NAME, RUBY, ADDR 0, 雷部どあ夫, らいぶどあお, 東京都 1, 雷部どぁ子, らいぶどぁこ, 島根県 2, 雷部怒亜蔵, らいぶどあぞう, 鳥取県 3

  • livedoor Techブログ : 全文検索エンジン lucene(ルシーン) を使ってみた

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

  • livedoor Techブログ : キーボードについて

    こんにちは、昨年の11月に入社しました、佐藤です。 私が日頃仕事で使用してます、kinesisというキーボードを紹介したいと思います。 出会い emacsを使用した時、小指が痛くなってきて、 一人寂しくたたずんでた私を見かけた先輩が紹介してくれたのが、 初めての出会いです。 お椀型の流線型な形、適度な反発力なキータッチ…etc 私の一目惚れでした。 主な特徴 完璧に左右分離していて自然とホームポジションが強制されます。 実は私、このキーボードとお付き合いする前、タッチタイピングができませんでした。 しかし、このキーボードを使用し始めた途端、普通のキーボードでもタッチタイピングができるようになりました。(JIS配列キーボード除く) タッチタイピングの練習用キーボードとしてもお薦めです。 デフォルトでCtrlキーが親指で押す位置にあります。emacsを使用している人には使い勝手が良いかと思いま

  • livedoor Techブログ : svkでもう少し攻めてみる

    こんにちは、ブログ担当のfaultierです。ついこの間(1月1日!)入社したばかりの新米エンジニアですが、これからガリガリ、いやバリバリ頑張って行きますので、どうぞよろしくおねがいします。 前回の記事で紹介されているように、ブログチームはSubversionを使った開発体制に移行したことで、大分開発ペースを上げることが出きました。ですが、「もっと攻めたい!まだ行ける!」と言う方もいるでしょう。そんなあなたのために今日紹介させていただきますのがこちらのツール、svkです。 svkって何さ? Subversionを分散リポジトリのバージョン管理システムのように使うツールです。リモートのリポジトリをローカルにミラーリングして、開発時はそれを操作することができるようになります。なんで?それ何がいいの?おいしいの?それが実はおいしいんです。 こまめにコミットできる、する癖がつく バージョン管理シス

  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

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

  • livedoor Techブログ : MySQL Proxy を試してみました

    こんにちは。金子です。 先日、社内勉強会で MySQL Proxy を取り上げました。その際まとめた資料を、一部加筆修正して公開します。 最初にお詫び 大元の文章を書いたのが 2007 年の 7 月なので、内容が少し古いです。これを書きながら最新版をチェックアウトしてきて再検証したかったのですが、レポジトリがダウンしていて最新のソースコードを入手できませんでした。なので、一ヶ月前のリビジョン(rev.116) 時点でのソースコード + 二週間くらい前にレポジトリを覗いたときの記憶のみで書いており、いろいろ間違っているおそれがあるので、みなさん是非自分でコンパイルして試してみてください(注意!ただでさえつながりにくいので、このエントリを全部読んで一週間後にまだ MySQL Proxy のことを覚えていた人だけレポジトリにアクセスしてくださいね) 気の早い人向けの結論 まだ実践投入するには厳し

  • livedoor Techブログ : tcshの設定どうしてますか?

    こんにちは、栗原です。 皆さんは、どんなシェルを使っていますか? 私は、昔からtcshを愛用しています。 どのシェルでも同様の事が言えると思いますが、シェルは設定項目が多いために自分が思うベストの設定にするまでかなりの時間がかかります。 しかし、特殊な設定を除いて、ほぼ普通の人であれば設定するであろう共通の設定というのもあり、それらを一から精査し設定するのはけっこう面倒な作業ですよね。 そこで今回は、私が愛用しているtcshにおける普通は誰もが設定するであろう設定をまとめた設定ファイルを提供しているサイトをご紹介します。 その名も「.tcshrc」。sourceforge.netプロジェクトの一つです。 名前がそのまんまですね。 このサイトは見るとわかりますが、Latest Version 1.6.0がリリースされた2004年以降まったく更新されていません。こんな昔の.tcshrcの設定

  • livedoor Techブログ : Hyper Estraier で検索

    はじめまして。ライブドアの山です。 弊社は最近 CGMコンテンツに注力しています。 データがたまってくると、ユーザーが必要な情報をすばやく得られるように検索機能を実装する必要がでてきます。 各コンテンツそれぞれで検索機能を実装しているのですが、mysql から直接引いたり、Namazu や SUFARY などの検索エンジンもかなり使ったりしています。 今回は某コンテンツの検索エンジンとして使用している HyperEstraier のちょっとした導入方法をご紹介します。 HyperEstraier は平林幹雄さんが開発された検索エンジンで、次のような特徴があります。 * インデックスを使った高速な検索ができます。 * 大量の文書のインデックスを短時間で作成できます。 * N-gram方式による漏れのない検索ができます。 * 形態素解析とN-gramのハイブリッド機構で検索精度を向上させます

  • livedoor Techブログ : Advanced Emacs for development.

    こんにちは、油井(abui)です。 プログラマにとって欠かすことができないアプリケーションの一つとしてエディタの名をあげることができます。このエディタというものはいわゆるコンピューター上の檜舞台であり、Perlなどで書かれたプログラムはもとより、日語で書かれた文章、または何らかのソフトウェアをよりよく利用するために用いる設定ファイルなど、ほぼ全てのものがここでいうエディタを介して生産されています。プログラマが常用するエディタとしてよく知られているのが「vi(vim)」と「Emacs」となりますが、私は常日頃から「Emacs」を愛用しています。そこで今回はアプリケーション開発における「Emacs」に施している自分自身の工夫点をご紹介したいと思います。 Emacsの特徴の一つとしてその拡張性の高さをあげることができます。そしてその拡張は「Elisp(Lisp言語の方言)」というプログラム言語

  • livedoor Techブログ : coLinux あれこれ

    はじめまして。ライブドアで開発をやっておりますにぽたんと申します。 すいません。なんか書けって言われてスッカリ忘れてまして、書き忘れてました。 唐突ですが、皆さんは coLinux って使ってたりしますか? 私は主に開発する環境を coLinux + debian という環境に置いてあります。 のですが、昔は TAP や WinPcap とかを使って、ややこしい設定をチマチマやって coLinux からネットに接続していましたが、会社で接続したり、自宅から接続したりすると、どうもうまく認識してくれなかったりして、その都度 coLinux を再起動させたりしていましたので、非常に面倒でした。 最近の coLinux には SLiRP というネットワークインターフェースがあって、以前はとても不安定でしたが今ではかなり安定して接続することが可能なので、最近はもっぱら SLiRP にしています。

  • livedoor Techブログ : テクノロジーセミナーご来場いただきありがとうございました。

    テクノロジーセミナー終了しました! お忙しい中、多数の方にご参加いただきありがとうございました。 はてなの開発、運用のお話しはライブドア開発陣にとっても非常にいい刺激になりました。 はてなの開発/運用について はてな 伊藤様 Technologies for UI ライブドア ma.la ディスカッション はてな伊藤様 ライブドア池邉 2社の開発運用体制について 社内で流行しているツール、ソフト等について 来年のサービスの予定等 質疑応答 伊藤様の資料はこちらで公開されています。 弊社発表の資料はこちらにアップいたしました。~ 「セミナー」カテゴリの最新記事 < テクノロジーセミナーのご案内WEB+DB PRESS Vol.37 >

  • 1