タグ

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

  • livedoor Techブログ : 自家製 #isucon2 のつくりかた

    こんにちは、tagomorisです。ISUCON2 というイベントで主にレギュレーションを考えたりベンチマークツールを作ったりしていました。普段はNHN Japan ウェブサービス部というところで働いています。 先日ISUCON2は幸いにも大好評のうちに終了しましたが、このお題および関係する話題をぜひ多くの人にも知っていただきたい! というかこのまま捨てるとかちょっともったいない! ということもあり、作業対象のアプリケーションコード、およびベンチマークツール一式を公開しています。 このエントリでは、これを用いて一式を動作させ、ご家庭でもISUCON2を再現できるよう、いくつかの手順をご説明していきます。ぜひみなさんも楽しいISUCON2ライフを満喫してください。 ざいりょう ソースコード一式 http://github.com/tagomoris/isucon2 ISUCON2開催時のコ

  • livedoor Techブログ : #isucon2 参加者・関連エントリまとめ

    最終更新 2012/11/20 9:56 見つけ次第まとめていきます。 掲載されていないエントリを見つけた場合は @941 までご連絡いただけると助かります。 ■参加者レポート ・isucon2に参加してきました #isucon2 - しるろぐ ・#isucon2 に参加してきたよ! | netmark.jp ・isucon #2へ参加してきました - I sort my thought... ・#isucon2 で優勝してきました - 酒日記 はてな支店 ・#isucon2 で惨敗してきました - かるぱねるらすたいる ・Perl歴半年の3人が #isucon2 に参加してディフェンディングチャンピオンを倒そうと思った話 - kenjiskywalker no memo ・isuco2に参加してきました! - koichi222のブログ ・チームルンバとして #isucon2 に参加して

  • livedoor Techブログ : Titanium最前線

    こんにちは!こんにちは!もしかしてこんばんは! 開発部のあぶいです。 今回は、Appcelerator社が提供しているTitanium Mobileについて最近の事情も踏まえてお話させていただきます。 Titanium MobileとはTitanium MobileとはJavascriptによってiOSもしくはAndroidのアプリを作ることができる開発環境のことです。触れ込みとしては一つのソースでiOS・Androidの両方で動かすことができるとありますが、実際は片方でしか使えないメソッドがあったりするので内部で分岐させながらクロスプラットフォーム対応させているのが現実のようです。 よく比較される製品としてPhoneGapがありますが、見た目に関わる部分をHTML5+CSS3で作ることを前提にしているPhoneGapと比べてTitanium Mobileではレイアウト・ロジックを含め全て

  • livedoor Techブログ : wikipediaのデータや顔文字辞書からmecabのユーザ辞書を作成するフレームワーク

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

  • livedoor Techブログ : ライブドアでは毎週水曜がノーエンジニアデーになりました

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

    penalty
    penalty 2011/04/21
    ここ大事:『夏に向けて計画停電があるかも知れないため、その予行練習も兼ねています。』
  • livedoor Techブログ

    株式会社データホテルの伊勢です。 2013年3月10日(日)に開催されました 第4回 NHN テクノロジーカンファレンス の発表資料と動画を公開致します。 今回のテーマは「ザ・データセンター」ということで、データセンターに特化したカンファレンスになりました。 ご登壇頂きました皆様、ご参加頂きました皆様、どうもありがとうございました。 スピーカーの皆様(と)の写真です。 それでは、以下 第4回テクノロジーカンファレンスの開催ログとなります。 まとめも是非ご覧下さい。http://togetter.com/li/469205 「Open Compute Project Japan設立の背景と経緯」 鵜澤幹夫氏 (Mikio Uzawa)氏 Agile Cat 、OCP Japan 副座長 「データセンターの不思議運用テクニック」〜 機械にやさしい高密度実装TIPS 〜 菊池之裕氏 ブロケード

    penalty
    penalty 2011/02/09
    これ倒れたらどっかにメール送るアプリにしたらいいんじゃ
  • livedoor Techブログ : 社内のスマフォ開発用ライブラリの管理方法を公開しちゃいます!

    こんにちは!こんにちは! 最近JavaやObjective-Cで開発をしていて、やっぱりPerlって使いやすい言語なんだなぁと改めて感じている栗原です。 #と言いつつもJavaもObjective-Cも好きだったりします。 今回は「スマフォのライブラリなどの管理をどげんかせんといかん」とCTOに言われたために考えた、弊社のスマフォ開発チームが行なっているAndroidiPhoneそれぞれの社内用ライブラリやスニペットの管理方法についてご紹介したいと思います。 ソースの管理方法 まずソースの管理についてですが、現在弊社のスマートフォン系のアプリはGitを使って管理しています。 通常のアプリも含めて「android」と「iphone」というプロジェクトを作成し、その中でそれぞれのプラットフォーム毎にリポジトリを作成しています。 以下のようなイメージですね。 git://example.com

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

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

    penalty
    penalty 2010/05/26
    処理リクエスト数/Wattって考え方は目から鱗でした
  • 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. 変数を利用したプログラム

    penalty
    penalty 2010/01/27
    mod_rewriteをCで拡張
  • livedoor Techブログ : emacs lisp で細かい作業を高速化して仕事の速度を数倍にする

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

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

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

  • livedoor Techブログ : perl で WebDAV

    こんにちは。山です。 最近弊社では、ファイルやディレクトリの管理を今更ながら WebDAV 経由で行うことが増えてきました。 WebDAVとは、 WebDAVは、Webサーバに対して直接ファイルのコピーや削除を行ったり、ファイル所有者や更新日時などのファイル情報を取得・設定する機能といった分散ファイルシステム※Wikipedia より引用 のことです。 WebDAV の一番の利点としてはシンプルであるということではないでしょうか。 HTTPをベースに機能拡張したプロトコルで、URI によるリソースの管理ができるので扱いが容易です。 今回は基的な WebDAV の設定と perl でシンプルなWebDAVクライアントを作成し、ディレクトリ作成/リソースの作成を行ってみます。 ▼WebDAV の設定 では実際に WebDAV の設定をしてみます。 Apach のインストール Apache2

  • livedoor Techブログ : livedoor Blog のニューススクロールが重い件

    こんにちは。ブログ担当の nabokov7 です。 今日は、このブログの右上 ↑ にも表示されている、ニュースをスクロールさせる js の処理が重かったのを軽くしました、という話です。 livedoor Blog 開発日誌の方に書いても良かったのですが、多少技術的な話もあったのでこちらに。 問題は、Firefox で、特に長いページ (例: http://blog.livedoor.jp/ld_directors/ ) を閲覧している際に CPU使用率が異常に高くなる、というものでした。 前からある程度問題は認識していたのですが、Firefox 使用、長いページ、など、ある程度条件が重ならないと再現しなかったこともあり、btsの優先度はあまり高く設定されていませんでした。 が、気付くとこちらで問題に挙げられていたり、ついには二列向こうの同僚のところでも実害が発生している様子。 ちょ、エント

  • livedoor Techブログ : ターミナルでプレゼンテーション

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

  • livedoor Developers Blog:チケット駆動開発の研究と実践 - livedoor Blog(ブログ)

    こんにちは、そろそろ花粉のシーズンが近づいてきて戦々恐々としている金子です。 今年も花粉対策グッズの CM に注目しているのですが、花粉鼻でブロックがいいんじゃないか?と思っています。 花粉症のくしゃみ鼻水は、人が辛いのはもちろんですが周囲にとっても気分の良いものではありませんよね。エチケットとしても花粉対策は怠らないようにしたいものです。 チケットついでに今回はチケット駆動開発の話をします。想定読者は Trac をリポジトリブラウザとして利用しているがチケットは使ったことがない人です。Trac、 Issue Tracking System という用語に馴染みのない方は、それぞれ関連リンクを用意しましたのでそちらをご覧ください。 以下、僕の経験に基づき「チケット駆動開発とは何か」「何が目的か」「どう実践したか」「結果が出たか」についてレポートします。だいたいここ二週間くらい、チームではな

  • livedoor Techブログ : 公開わたしのスクリプト 〜ログの読み方編〜

    do$です。 えーと。まずこの美しくないスクリプトを晒します。(特に読まなくてOK!) #!/usr/local/bin/perl -w # <***/> use strict; my $access_log = '/usr/local/apache/logs/access_log'; my %mail_header = ('Return-Path' => 'return@example.com', 'From' => 'from@example.com', 'To' => 'to@example.com', 'Subject' => 'FooBar-test', 'X-FooBarLog' => 'TEST'); my %cgis; my $line_s; my $line_e; my $all_line; my %status_code; my $log_str_500; { ## h

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

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

  • livedoor Techブログ : 自宅で個人でラジオ放送を楽しみましょう!

    お久しぶりの洲崎です。 前回は技術ネタではなかったので今回は開発ネタです。 livedoorにはねとらじとゆー いわゆるネットラジオのコンテンツがあるのをご存知でしょうか。 (トップページから飛ぶにはコンテンツ一覧→楽しむ→ネットラジオ) 今年2008年の1月頃に 同コンテンツの担当スタッフが一新されまして私もその中の一人です。 概ね3名で運営しています。(デザイナーさんなどを除けば) 一人はディレクターさん 一人はサーバー側のエンジニアさん 一人はクライアントアプリのエンジニア(私)です。 簡単ではありますがタイトルの通り インターネットラジオ放送の簡単な仕組みの説明と クライアントアプリ(放送する方)の開発に触れてみます。 ■ネットラジオの仕組み インターネットのラジオなので 実際のラジオのように音声が電波で飛んでいくわけではありません。 IPでのデータの送受信になります。 では通信す

  • livedoor Techブログ : Flashでサムネイル表示を作ってみた〜

    こんにちわ 検索系開発を行っているミナイです。 今回は、クローラーについて語ろうと思います。 とは、言うものの最近はバックエンドのシステムという ログを眺めてどうのこうのだったりする開発にも飽き飽きして いまして。。。上長に、「Flashやりた〜い」と甘えた声を発し、 無理やり検索系開発チームに居るにも関わらず Flashに浮気をしています。なので、やっぱりFlashについて語ります。 Flashといっても週刊誌のアレではなくてですね。。。蛇足ですね。(つづりが違うじゃん。) Flashと言うかまあ、FlexSDKで開発しているのでFlashじゃないわ けですがいいんです。言語はActionScript3だったりしますが その辺りも特記することもないですし。総称してFlashにしますw デザイナーさんが作った画像素材は、CS3で作られていますしね。 もともと、私は某ゲーム会社のレースゲーム

  • livedoor Techブログ : livedoor Blog モバイルのサーバ構成

    こんにちは、栗原です。 今回はlivedoor Blog モバイルのサーバ構成についてご紹介しようと思います。 日でも最大規模のブログサービスのモバイルサイトがどのようなサーバ構成で稼動しているのか、またその構成を構築していく上で苦労した点や今後どのようにして行こうと考えているかについても説明できたらと思います。 サーバ構成 まずは現在のlivedoor Blog モバイルの内部構成について簡単に説明したいと思います。 livedoor Blog モバイルでは、大きく分けて5種類のサーバ群が稼動しています。 リバースプロキシ + アプリケーションサーバ ユーザが携帯からブログを閲覧した際にページを生成してレスポンスを返すサーバ群になります。現状はApache(リバースプロキシ)とApache + mod_perl(アプリケーション)を1台のサーバに同居させた形で稼動しており、台数は全部で