タグ

ブックマーク / tasukuchan.hatenablog.com (14)

  • ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する - グニャラくんのグニャグニャ備忘録@はてな

    Linuxには、ftraceというトレーサがあります。 カーネル内の全関数タイムスタンプつき呼び出し履歴などを、それなりに高速に取得できます。 詳しくは、@ITにある以下の記事をどうぞ。 http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch10a.html http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch03a.html ためしにftraceを使ってみました。2010年5月時点にて、Debianでの使用方法をメモします。 Debianの現行testingにおいて、kernelのftrace機能は無効とされています。ftrace機能が有効かどうかは、以下の操作で確認できます。 # mount -t debugfs nodev /sys/kernel/debug # cat

    ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する - グニャラくんのグニャグニャ備忘録@はてな
  • インターネットを活用した、ひきこもりのための株式会社の創り方

    この度、株式会社wktk(ワクテカ)という法人を設立いたしました。 30歳の誕生日に何か面白いコトをやろう!と思い立って、2週間くらいで法人設立にこぎつけました。あ、会社勤めは辞めてないし、辞めるつもりもないですよ、念のため。僕の勤め先は、そういうところに融通が利くところなのです。起業を促進してます。うんうん。 株式会社の作り方と、基的な開業準備について、「ひきこもり気質でインターネット大好きな人」向けに情報を公開します。 世の中には、会社設立のガイドがあふれかえっています。重複することを書いても仕方ないので、や他のサイトに載っていない情報を主に書いていきます。情報は2010年4月現在のものです。 前提条件 一人発起で、代表取締役のみの株式会社を東京都xx区に設立する。 .co.jpドメインを取得する。 公告方法を官報にしつつ、財務諸表のみをWebページに載せて官報掲載代を節約する。

    インターネットを活用した、ひきこもりのための株式会社の創り方
  • どーしてもFTPサーバを立てなければいけない時に使う、使い捨てFTPサーバ - グニャラくんのグニャグニャ備忘録@はてな

    「最近ブログ書かないんですか?」と客先で聞かれることがあったので、生存確認の意味でブログを書いてみたいと思います。 FTPといえば、最近着目を浴びたプロトコルですね。FTPは、そもそもセキュアではないプロトコルです。追い撃ちをかけるように、FTPクライアントがローカルに保存したパスワードを盗むコンピュータウイルスが発生しました。ローカル保存されたパスワードが盗まれたことについては、FTPというプロトコル自体の責任ではありません。しかし、世間でのFTPの印象は悪くなったようです。僕も、普段はFTPを使うことはありません。 しかし、外部の方とやりとりする場合に、「どどどーーしてもFTPじゃないとヤダー!!!」と言われるケースがあります。そのような場合、FTPサーバを必要なときのみだけ起動するという方法を取ることができます。具体的には、以下のような方法ですね。 ファイルの受け渡しをしたいという連

    どーしてもFTPサーバを立てなければいけない時に使う、使い捨てFTPサーバ - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2010/04/21
    これはナイス
  • Web+DB press Vol.50にkey-valueストアの記事を書きました! - グニャラくんのグニャグニャ備忘録@はてな

    いまさらながら告知ですが、WEB+DB press Vol.50にて、key-valueストア入門という記事を執筆させていただきました。やっほーい!皆さんも、Software Design 2009年5月号が売り切れたくらいのイキオイで、100冊くらい買うといいと思います。 WEB+DB PRESS Vol.50 作者: 杉山貴章,羽生章洋,川口耕介,青木靖,鶴岡直也,長野雅広,森田創,伊藤直也,武者晶紀,ミック,高林哲,栗原傑享,米林正明,小飼弾,角田直行,橋正徳,はまちや2,久末隆裕,Junio C Hamano,グニャラくん,やまだあきら,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2009/04/24メディア: 大型購入: 24人 クリック: 235回この商品を含むブログ (95件) を見る ま、執筆中は毎日「死にたい、あー死にたい」とつぶやいていたの

    Web+DB press Vol.50にkey-valueストアの記事を書きました! - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2009/05/20
    いろいろ堪能させていただきました^q^
  • ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな

    Twitter mongrelP: @tasukuchan グニャラくーん、ニコ百の鯖がEeePCという話が持ち上がってますがただの監視用ですよね(しんぱいそうなめでみている) http://twitter.com/mongrelP/status/1524183917 ニコニコ大百科のアーキテクチャについてメモしておきます。 当は、このネタでRuby Kaigiに申し込もうと思ったけど、すっかり忘れていたのでエントリを起こしておきます。Rubyあんま関係なかったし。 全てのリクエストを受付、セッション情報も保持するEeePC 次世代サーバプラットフォーム EeePC ニコニコ大百科宛ての全てのリクエストは、全てEeePCに送られます。 実物の写真を載せておきます。 EeePCは2台稼動しており、1台はホットスタンバイです。 EeePCは、SSDとUPSを備えた次世代サーバプラットフォーム

    ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな
  • memcachedを時刻巻き戻りに強くしてみる - グニャラくんのグニャグニャ備忘録@はてな

    昨日のダサい失敗エントリが注目を集めているようで恥ずかしいお… 今後ダサい失敗で困らないために、memcachedのパッチを書いてみようと思った。 時間が巻き戻った瞬間に障害が出るのはしょうがないけど、 巻き戻ったあとにその影響が残り続けるのは嬉しくない。 昨日起きた現象を考えるに、 「memcached内部での時間は、絶対時間で保持しているのではなく起動時間からの相対時間で保持されている」のだろう、と予想していた。実際そうみたい。 current_timeという変数に、現在の起動時間からの相対秒が記録されている(set_curent_time())。 realtime()では、各種コマンドで与えられるexptimeを起動時間からの相対秒に変換している。 #define REALTIME_MAXDELTA 60*60*24*30 typedef unsigned int rel_time_

    memcachedを時刻巻き戻りに強くしてみる - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2008/10/20
    揮発と永続の狭間
  • memcachedを愚弄する1つの方法 - グニャラくんのグニャグニャ備忘録@はてな

    某サービスでセッション情報を保持するために利用している memcached(repcached)に障害が起こった。 ちゃんと追えていないけど、おそらく以下のような原因。他の人がハマらないように。 障害発生まで memcached(repcached)の中には揮発したらそれなりにマズい情報が入っている。 repcachedサーバ2台のOS入れ替えをしていて、1台は再起動が成功した。 1台目のサーバへ2台目のサーバからのレプリケーションが完了したのをstatsのcurr_itemsにて確認した。 よって2台目を再起動するものの、起動しなくなった。 この時点では、1台は生きているから後でデータセンターいこうっと、という気軽な気持ちだった… 現象 生きている1台目のサーバで、以下のような現象が起こった… 値をsetする際に、ある閾値以上のexptimeを指定すると即expireされる。 その閾値は

    memcachedを愚弄する1つの方法 - グニャラくんのグニャグニャ備忘録@はてな
  • Rubyでeventmachineを使って高速にメールを送る - グニャラくんのグニャグニャ備忘録@はてな

    またまた某サービスで、今度はメールを送るという要件が発生。 しかも、ユーザごとに異なった内容を送るというもの。 テンプレートはErubisを使うとして、 メール送信はどのライブラリを使おう。tmailかなぁ? とGoogle検索すると、eventmachineってものがあるらしい。 Rubyから非同期でガンガンSMTPサーバに接続できるようです。ひゃっほい! というわけで、ためしにeventmachineを使って メールを送信するテストコードを書いてみた。 一応並列に20個コネクションを張っている…はず。 テストが怪しいので、ご利用時は検証のこと。 eventmachineの挙動全く理解してねっす。 eventmachineにはSMTP clientだけでなくSMTP serverの実装もあるので、 テスト時にはそれを使うといいと思う。 ちなみに、EM::Protocols::SmtpCl

    Rubyでeventmachineを使って高速にメールを送る - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2008/10/07
    結局、大盛りイけたのかイけなかったのか
  • lighttpdでモジュールを書く際に気をつけること - グニャラくんのグニャグニャ備忘録@はてな

    lighttpdのモジュールを書くことを覚えてしまったせいで、 ついついlighttpdのモジュールで仕事を進めてしまうクセがつきました。 「なんでもおもっど」状態です。 全パスに対するアクセス数をTokyoCabinetに記録したり、 特定のパスに対してはmemcachedから値を取得したり、 Sennaで特定のキーワードにリンクを付与したり、 まあ、やりたい放題です。パフォーマンスも出てます。 ああ毛が立っちゃう。 lighttpdのbufferやarrayを使えば、 メモリリークなどに悩まされることはほぼありません。 意外と安定して開発・稼動できたので正直ビックリしています。 まあ、cookieをパースしたりする便利関数がないので、 そこらへんは根性で書く必要はあります。 どうにかしてくれよ(そろそろ飽きてきた)。 lighttpdのモジュールの欠点は、 ビルドシステムがちゃんとして

    lighttpdでモジュールを書く際に気をつけること - グニャラくんのグニャグニャ備忘録@はてな
  • ニコニコ大百科リリース - グニャラくんのグニャグニャ備忘録@はてな

    ニコニコ大百科という、ニコニコ動画版Wikipediaとも説明すべきサイトをリリースしました。 5/25 25:25:25公開という設定になっております。 社会人になってから、初めての外部向けWebサイト構築がこれだよ! ミドルウェア開発が業(?)なので、 ミドルウェアばっかりに凝ってしまいました…あはは… lighttpd ruby(ほとんどのロジック、Pythonにしとけばよかった… FastCGI経由) MySQL(DBサーバ) Senna(自動キーワードリンク) repcached(セッション保持用memcached、EeePCでLVS frontと一緒に動いている) Tritonn(検索) libeventのevhttp(API用Webサーバ) Varnish(API用WebサーバのHTTPアクセラレータ) 他にも、各ページの閲覧数ランキングのために、Tokyo Tyrantを

    ニコニコ大百科リリース - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2008/05/26
    ええええww【repcached(セッション保持用memcached、EeePCでLVS frontと一緒に動いている)】
  • PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな

    [追記]id:hetimaに指摘された、32bitアーキテクチャでの問題を修正。大感謝。 携帯電話からのWebアクセスゲートウェイのIPアドレスから、 携帯キャリアを判別したい場合がある。 通常は、id:tokuhiromによる Net::CIDR::MobileJP(WWW::MobileCarrierJP)を使うといいと思う。 DSAS開発者の部屋:携帯ゲートウェイのIPアドレス帯更新を効率的に確認する方法 http://d.hatena.ne.jp/tokuhirom/20071207/1196989588 YAMLが出力されるので、さまざまな環境で利用ができるよ! 今回、PHPで携帯キャリアを判別したいと思ったんだけど、 PHPYAMLを読んでその中身をすべて検査するなんてやだいやだい! と沸き立つような強い衝動が。 というわけで、cidr-mobilejpというPythonスク

    PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2008/02/19
    CIDR IPアドレス
  • グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな

    今週末は2つの勉強会に参加・発表させていただきました! ステキな発表の場を設けていただいてありがとうございます!! 両方ともActionScript/Flashについて(?)の発表です。 それぞれ発表資料を公開させていただきます。 Flash + JavaScriptでmemcachedと直接通信 @ さかとくカンファレンス ActionScript3上で、Socketを用いてmemcachedとの通信を行うモジュールを書きました。 さらに、そのモジュールをJavaScriptから呼べるようにしました。 get/setしかサポートしてないですし、 全体的に設計とコーディングが小汚いです。 ちょっと恥ずかしいけど、 CodeReposにアップしているので適当に直してもらえると嬉しいです… プログラム体・発表資料は以下に置いております。 CodeReposのレポジトリパス 発表資料(PDF

    グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2008/01/27
    徹夜で歌い上げるお姿を想像してじわっときました
  • 同好の士を発見! - グニャラくんのグニャグニャ備忘録@はてな

    今日の懇親会では、ファンKLabを結成することが出来て感無量。 是非細々と活動を続けていきましょう!>会員のみなさん 土曜日も飲み会だ。 井戸のように深い胃袋だったらいいんだけど、 もうさすがに飲みすぎな予感。 ええ加減、休肝日を設けないと。。。 そして、Tシャツに悪い言霊の言葉を書いちゃった。 素敵なメンバーによる素敵な言葉の中で浮いてた。 後に残る記念品だし、冗談でも良くないね。反省中です…

    同好の士を発見! - グニャラくんのグニャグニャ備忘録@はてな
    hirose31
    hirose31 2007/12/21
    ファンKLabww/会員番号1番はikebeさん/おくればせながら初活動に気がつきましたっ!11
  • Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな

    Memcachedの添え物として扱われている(ような気がする) libeventちゃんカワイソウ。 libevent というわけで、libeventとsennaを使って COOKIEによるセッション維持機能がついたWebサーバを書いてみた例。 (Sennaは単なるハッシュライブラリとして使っています。) mainを書き下すと、 Senna初期化 libevent初期化 httpd機能開始 URIごとにハンドラ関数を設定 イベントをガンガン処理 といった感じ。 Cでこれくらいの長さだったら、 妥当だと思います。 バグがありそうだし、セッション変数の種も適当だけど、 気にするなってことで。 実用にはならないけど、サンプルの1つとしてどうぞ。 LLな言語のインタプリタなんかを抱え込むと面白いのかもね。 #ifdef WIN32 #include <winsock2.h> #include <wi

    Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな
  • 1