タグ

ブックマーク / labs.unoh.net (6)

  • ウノウラボ Unoh Labs: Emacsでソースコード解析

    週末に眼鏡と財布が壊れて踏んだり蹴ったりなbokkoです。 最近、週末に他の人が書いたソースコードを解析したりして遊んでいるのですが、 今回はその際によく使っているツールについて紹介したいと思います。 moccur-edit.el これはソースコードを全体を検索する際によく使っています。 findとgrepをパイプでつなぐだけでも十分な気がしますが、 moccur-grep-findとmoccur-grep-gotoを組み合わせて使うと、 すぐさま該当箇所にジャンプできたりするので、楽々検索できます。 また、moccur-edit.elにはほかにも複数のファイルに散らばっているキーワードを 1つのバッファ上で編集できるなど非常に強力な機能が備わっているので、 Emacsを使うなら必ず入れておくのがオススメです。(tramp経由でmoccur-grep-findを実行するとすご

    zatsubun
    zatsubun 2007/12/17
    moccur-edit.el を調査する
  • ウノウラボ Unoh Labs: daemonsで簡単デーモン

    komagataです。 mongrelを入れるときに一緒に入るdaemonsというライブラリが気になったので調べてみました。 daemonsは大まかに、サーバープログラムをstart/stop/restartなどのおなじみのやり方で操作できるようにするラッパーの機能とプログラム中で使って自分のプロセスをデーモンにする機能があるそうです。 引数を出力し続けるプログラムをデーモンにしてみたいと思います。 puts_arg.rb: #!/usr/bin/env ruby loop do puts ARGV.inspect sleep(1) end 実行結果。 $ ruby puts_arg.rb a b c ["a", "b", "c"] ["a", "b", "c"] ["a", "b", "c"] (略) これにdaemonsを使ってラッパーを用意します。 puts_arg_control.

  • ウノウラボ Unoh Labs: BTSとテストケース管理システムを連携させる

    こんにちは!やまもと@テスト番長です。 最近TEF(Testing Engineer's Forum)-ソフトウェアテスト技術者交流会 の有志によって日語化されたTestLinkというオープンソースのテストケース管理ツールがあるのですが、同じくオープンソースのBTSであるMantisと連携させる方法が紹介されています。 TestLinkとバグ管理システムMantisの統合http://swproject.g.hatena.ne.jp/keyword/TestLink%e3%81%a8Mantis%e3%81%ae%e7%b5%b1%e5%90%88 BTSは導入していても、テストケースは管理されていないか、Excelなどでリストを編集しているケースは非常に多いと思います。 テストケース管理システムは使い慣れないと煩雑に感じる反面、ある程度以上テスト項目を洗練させるには是非導入したいツ

  • ウノウラボ Unoh Labs: 携帯のエラーメールの種類

    harukiです。 メールを送信するサイトの場合、メールアドレスのクリーニングは定期的に行うべきです。 そのためにはエラーメールを解析しなければなりません。 そこで、エラーメールの種類をまとめてみました。 SMTPエラー 存在しないメールアドレスや、正しい形式でないメールアドレスの場合は、 DoCoMo,au,SoftBankの3キャリアともSMTPエラーになります。 例として、以下の条件でメールを送信したとします。 From: sender@example.com Return-Path: bounce@example.com To: アドレス@docomo.ne.jp MTAにより異なりますので、ここではPostfixを例にします。 Postfixではmultipart/reportのメールがbounce@example.comに届きます (※ 必要な情報のみに省略しています

  • ウノウラボ Unoh Labs: PHPで書かれたwebサービスを高速化する2

    前回のエントリPHPで書かれたwebサービスを高速化するでは高速化のレベルのうち、最初の2段階「ハードウェアによる高速化」「ソフトウェアによる高速化」について書きました。 今回は第2弾として「プログラムの工夫による高速化」について書きたいと思います。 - DBへのアクセスは自分で抽象化する DBへのアクセスを高速化するためには、チューニングを行ったり複数台構成にするわけですが、 広く使われているPear::DBとかadodbは複数台構成のDBに接続することを考慮されていません。 Pear::DBやadodbはバックエンドに使って、ラッパークラスを作るようにしましょう。 - 更新系クエリと読み出し系クエリのユーザを分ける これは高速化とは関係ないんですが、ぜひ実行してもらいたいので書きました。 複数台構成のサーバにアクセスするときは更新系クエリはマスターに発行して、 読み出し系クエ

    zatsubun
    zatsubun 2006/06/15
  • ウノウラボ Unoh Labs: PHPで書かれたwebサービスを高速化する

    尾藤正人です。 アクセス数の多いコンシューマ向けの web サービスは、処理速度がかなり重要になってきます。 応答速度が遅いと使用しているユーザにとってストレスになりますし、 処理に時間がかかればサーバに対する負荷も高くなります(厳密に言うと違う)。 そこでウノウではいろいろな工夫をして処理速度の高速化を行っています。 一口に高速化といってもいろいろな要素がありますが、大きく分けて3つの段階があります。 ・ハードウェアによる高速化 ・ソフトウェアによる高速化 ・プログラムの工夫による高速化 しかし、これら3つは独立ではなく、互いに影響しあっているので完全に分けて考えることはできません。 それぞれがどのような部分に影響を与えているのか、ちゃんと理解してチューニングすることが大事です。 ただし、高速化するときに忘れていけないのが、高可用性です。 いくら高速に動作しても安定して動作し

    zatsubun
    zatsubun 2006/06/15
  • 1