タグ

2011年1月26日のブックマーク (13件)

  • memcached と libevent – reading memcached(2) : MYH

    何かリクエストを受け付けて処理をして返すという、サーバーでよく行われる処理を考えてみましょう。一度に多数リクエストを受け付けて同時並行的に処理が行えるようにしたい場合、1つのやり方としてマルチスレッド化してあるスレッドで accept(2) しておいて、それを別のスレッド(ワーカースレッド)に振り分け、そのスレッドでは recv(2) / send(2) で通信を行うという方法があります。しかし、その場合スレッド数を超えるリクエストを同時に捌けないという欠点があります。recv はまだデータが来てないという場合には待ちが発生しますので、待っている間そのスレッドは遊んでしまって無駄になってしまいます。スレッドを CPU のコア数より多めに取っておけばそれは回避できますが、スレッド切り替えのオーバーヘッドがかかり、またスレッドを生成出来る個数の上限も合って、あまり多数のクライアントをさばくこと

  • 私が参考にしたAndroidアプリ開発情報をまとめてみました - もとまか日記

    先日、以下の記事で初めて作ったAndroidアプリを紹介しました。 一週間で初めてのAndroidアプリを作ってみました その後、そのアプリをAndroidマーケットで公開してみました。 はてブ閲覧用Androidアプリ「HTBPocket」を公開しました この一連の作業で参考にした記事やサイトについて、「Androidアプリ開発関連情報まとめ」としてまとめてみました。 開発環境構築まず必要になるのが開発環境です。以下はMacの環境構築です。MacAndroid SDKをインストール (Update 2010.05.25) そして以下がWindowsでの環境構築です。私はやったことないのでよく分かりませんが(^^;;世界を目指せ!Androidアプリ開発入門:第2回 Androidアプリ開発のための環境構築 公式の開発情報公式の開発者向けサイトです。Android Developers

  • node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず

    2011年はサーバサイド JavaScript の年! サーバサイド JavaScript命は node.js! ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。 チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。 結構長文になっちゃったので、先に目次置いときます。 node.js のインストール npm (Node Package Mana

    node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
  • 日本語で学べるHTML5関連資料15個まとめ : 二十歳街道まっしぐら

    HTML5について色々と調べてたときに見つけた資料いろいろです。 せっかくなのでまとめておこうかなと思って記事にしました。 「SlideShare」というプレゼン資料共有サイトがありまして、そこから見つけた資料です。 HTML5に関する資料で役立ちそうだなと思ったものを15個ピックアップしました。 日語で書かれているもののみ抜粋。 HTML5の勉強をしようと思う方や、HTML5に興味のある方は是非ご覧ください。 以下に15個のHTML5関連スライドを貼っておきますね。

    日本語で学べるHTML5関連資料15個まとめ : 二十歳街道まっしぐら
  • AWKのススメ - クックパッド開発者ブログ

    はじめまして。インフラチームの菅原といいます。 今年の7月に入社してから、コンソールとにらめっこする毎日を過ごしています。クックパッドのようにアクセスの多いサイトのサーバを扱うことが今まで無かったので、いろいろと勉強になることが多いです。 さて、インフラチームではサーバの状況をモニタリングして、サーバに問題がないかを常に把握するようにしています。そのため日常的にtailでログを追いかけているのですが、そんなときはAWKが非常に便利なことに気付き、最近はかなりAWKにハマっています。 今回は絶賛マイブーム中のAWKの活用例をご紹介したいと思います。 なぜAWKなのか? 残念ながらAWKの知名度はあまり高くないようで、社内でも「なぜRubyでやらないのか?」と聞かれることがありました。僕も入社するまではcutの代わりぐらいにしか使っていなかったのですが、あるときログ出力の整形に使って以来、AW

    AWKのススメ - クックパッド開発者ブログ
  • 梅田望夫 - Musings - ウェブブック『生きるための水が湧くような思考』(梅田望夫著)

    (梅田望夫『シリコンバレー精神』ちくま文庫、2006年8月、文庫のための長いあとがき) 「シリコンバレー精神」とは/そのときグーグルは何をしていたのか/未来を創造する営みが水面下で続けられていた歴史起業家主導型経済にバブルやモラルハザードの発生は必然/「シリコンバレー精神」だけがメカニズムを補強できる/活況を呈したシリコンバレーでまたバブルが起きるか/「シリコンバレー精神」でモノを書く/「二〇〇一年秋から二〇〇六年夏」のこと/その後の私

    nubes
    nubes 2011/01/26
  • ソフトウェア工学とは何か

    ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W. Reeves 氏に,

  • TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

    TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)

  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
  • Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記

    サーバのファイル整理作業をしていたところ…、 間違えてrm -rfしてしまった! ぎゃーバックアップもねー! 長いこと生きてたらこんな経験の1度や2度はありますよね? えぇ、ついさっきやらかしちゃいましたwwオワタwww 速攻「rm 復活」とか「rm 取り消し」とかでググッたねw、したらmcってプログラムのUndelete機能使えばよいって情報が出てくるが、どうやらこれext2じゃないと使えないっぽいぞ…、うちext4だ。 混乱。以下ターミナルのヒストリーより実況。 ## こーいうときはまずあれだ、現場保存! ## まずは今いるパーティションを確認 # df -hT Filesystem Type サイズ 使用 残り 使用% マウント位置 /dev/sdb2 ext4 193G 6.9G 176G 4% / /dev/sdb1 ext3 194M 22M 163M 12% /boot /d

    Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記
  • 機械学習超入門II 〜Gmailの優先トレイでも使っているPA法を30分で習得しよう!〜 - EchizenBlog-Zwei

    最近の論文で The Learning Behind Gmail Priority Inbox D.Aberdeen, O.Pacovsky & A.Slater というのがある。これはGmailの優先トレイで使っている機械学習のアルゴリズムについて解説したもの。というと難しそうな印象があるが、この論文で紹介されているPassive-Aggressiveという手法は実装がとても簡単。なので今回はこれについて解説するよ。 参考資料: Gmail - 優先トレイ Online Passive-Aggressive Algorithms K.Crammer et al. The Learning Behind Gmail Priority Inbox読んだメモ - 糞ネット弁慶 わかりやすい日語解説 機械学習超入門 〜そろそろナイーブベイズについてひとこと言っておくか〜 - EchizenBl

    機械学習超入門II 〜Gmailの優先トレイでも使っているPA法を30分で習得しよう!〜 - EchizenBlog-Zwei
  • 大規模インフラの監視システム その2 | GREE Engineering

    こんにちは。グリーのmdoi(@m_doi)です。 今回は、グリーの監視システムについて説明したいと思います。以前、こちらの記事にて、リソース監視システムの説明をさせて頂きましたが、死活監視やログ監視については語られなかったので、気になっていた方も多いと思います。ということで、今回は、グリーのインフラにおける死活監視やログ監視、アラート通知システムを紹介したいと思います。 何を使っているの? グリーでは、死活監視にNagiosを使用していました。監視システムの中では、かなり有名なソフトウェアですから、監視システムの構築に使用したことがある方も多いのではないでしょうか。プラグインも豊富に存在するので、様々な監視を行うことができます。死活監視は、このNagiosの機能をそのまま利用し、ログ監視は、Nagiosと独自に作成したエージェント及びログフィルタを連携させて行っていました。 全体のシステ

    大規模インフラの監視システム その2 | GREE Engineering
  • MySQL 高速化メモ

    ●はじめに MySQLでSELECT文が遅いと感じたり、INSERT処理だけで1日かかった!なんて事ありませんか? そんな時はページのメモを参考に高速化してみてください。 ちょっとした設定だけで1日かかる処理が数分で終わる(!?)なんて事も。 ぜひお試しあれ。 ●SELECT文の高速化 1.テーブルを分ける。 同じ構造のテーブルをいくつかに分割する。例えば、wordというテーブルがあるとすると、 ja_word,en_wordなど国別に分割したり、word2005,word2006など年月日で分割してみる。 2.テーブルにインデックスを設定する。 create index インデックス名 on テーブル名 (フィールド名); 文字列の場合はインデックスに設定する文字数を指定可能。 create index インデックス名 on テーブル名(フィールド名(要素数)); 私がやってみた感じで

    nubes
    nubes 2011/01/26