タグ

ブックマーク / dsas.blog.klab.org (48)

  • Pythonで@deprecatedというデコレータを用意する : DSAS開発者の部屋

    @deprecatedというデコレータがあれば、 ## そろそろ削除したい関数があるとき @deprecated def unsupportedfunc(): nanika ## foo から bar に関数名を変えるとき def bar(): nanika foo = deprecated(bar) とできて便利です。 このdecoratorの実装例が、Cookbookに載っていました <http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/391367> Cookbookのコメント欄にもありますが、stacklevelを設定することで、deprecatedな関数を呼んだのがどこかを調べることができます。 warnings.warn("Call to deprecated function %s." % func.__name__

    Pythonで@deprecatedというデコレータを用意する : DSAS開発者の部屋
    Wacky
    Wacky 2008/07/02
  • (速報)SWF SpecificationがOpenになりました : DSAS開発者の部屋

    以前、「SWFファイルフォーマットとライセンス 」で、SWFのファイルフォーマット仕様書の利用許諾に、SWFファイルを読み込むプログラムを作成してはいけないと書かれていることを紹介しました。 今日、Adobeから「Adobe and Industry Leaders Establish Open Screen Project」というプレスリリースがあり、その中に以下の一文がありました。 - Removing restrictions on use of the SWF and FLV/F4V specifications ということで、SWFの仕様書を制限無しに読むことが可能になったようです。 他にも、Flash Playerの移植レイヤが公開され、Flash Playerを移植してもライセンス料が取られなくなる等が発表されているようです。私もまだ流し読みしかしていないのですが、とても大き

    (速報)SWF SpecificationがOpenになりました : DSAS開発者の部屋
  • KLab勉強会#4の資料を公開します : DSAS開発者の部屋

    3/28に開催した、第4回KLab勉強会の資料を公開します。 『DSASのやりくり - MATRIXの秘密と効率的なシステム管理の関係』 〜 ひろせまさあき (KLab株式会社) 発表資料 (PDF, 661 KB) 動画: 前編、後編 (Ustream.tv) 『オープンソースなシステム管理フレームワーク Func』 〜 宮下 剛輔(株式会社paperboy&co.) 発表資料 (PDF, 753 KB) 動画 (Ustream.tv) たくさんの方にお越しいただきありがとうございました。 おかげさまで、懇親会も含め盛況のうちに終わり、とても楽しい時間を過ごすことができました。 近いうちに第5回も開催したいと思っています。 勉強会の内容や参加募集など、決まり次第このブログでアナウンスしますので、今後も購読していただければと思います。

    KLab勉強会#4の資料を公開します : DSAS開発者の部屋
    Wacky
    Wacky 2008/04/05
    『DSASのやりくり - MATRIXの秘密と効率的なシステム管理の関係』『オープンソースなシステム管理フレームワーク Func』
  • ErlyWeb:Erlangで書かれたWebフレームワーク : DSAS開発者の部屋

    ErlyWebはErlangで書かれたウェブのフレームワークです。ErlyWebはErlangのウェブアプリケーションであるYaws上で動作します。 Yawsを使用するだけで、Erlangで動作するWebアプリケーションを作成することができますが、ErlyWebを使うと、より柔軟なテンプレート機能(ErlTL)や、MySQLやErlangのmnesia(まだα版らしい)などのデータベースへのORマッパ機能 (ErlDB)、appmodを利用してURLパスによって実行されるアプリケーションの作成が行えるようになります。 これからErlyWebについて3回に分けて紹介していきます 第1回:ErlyWebのインストール Windowsへのインストール手順を紹介します。 第2回:ErlyWebのテンプレートを使ってみる ErlyWebのテンプレートシステムを使って見ます。 第3回:ErlyWebで

    ErlyWeb:Erlangで書かれたWebフレームワーク : DSAS開発者の部屋
    Wacky
    Wacky 2008/03/02
    ErlyWebはErlangで書かれたウェブのフレームワークです。ErlyWebはErlangのウェブアプリケーションであるYaws上で動作します。
  • mod_mod: Apache module を動的にコンパイルして実行する Apache module : DSAS開発者の部屋

    現在 WEBアプリケーションの開発言語といえばいわゆる Light Weight Langage が主流の様な気がしますが、C言語で WEBアプリケーションを書きた いと思った時、どのような方法があるでしょうか。一つはコンパイルした実行 オブジェクトを CGI として呼び出す方法、もう一つは apache module を書く という方法があると思います。 CGI の場合プロセス起動のオーバーヘッドがありますが apache module の 場合非常に高速です、にも関わらず apache module による WEB アプリケーショ ンの開発があまり流行っていないのはやはり、コード変更の度にコンパイルし なければならない事と、反映の際に apache を再起動しなければならない事が 原因ではないかと思います。 そこで、apache module っぽい C言語のコードをサーバー上で動的に

    mod_mod: Apache module を動的にコンパイルして実行する Apache module : DSAS開発者の部屋
    Wacky
    Wacky 2008/01/23
    apache module っぽい C言語のコードをサーバー上で動的にコンパイルし、実行する apacheモジュール mod_mod を作りました。
  • SWFファイルフォーマットとライセンス : DSAS開発者の部屋

    今回は、SWFを弄るときに必ず理解しておかないといけない、ライセンスに関する注意点をまとめてみます。 まず、公式なSWFファイルフォーマットの資料として、Adobe Systems Inc. (以降、Adobe) が"SWF and FLV File Format Specification" (以降、公式仕様)を公開されています。 (http://www.adobe.com/licensing/developer/) この公式仕様の利用許諾が "SWF and FLV File Format Specification License Agreement" になるのですが、この中に次のような文があります。 3. Restrictions a. You may not use the Specification in any way to create or develop a runti

    SWFファイルフォーマットとライセンス : DSAS開発者の部屋
    Wacky
    Wacky 2008/01/15
  • Erlang で memcached を作ってみました。 : DSAS開発者の部屋

    先日、こちらの Erlang の世界ではmemcachedとか要らない を興味深く読ませて頂きました。 たしかにクライアント側も Erlang で書かれている場合、例えばキャッシュサー バーにアクセスを行う WEB アプリケーションも Erlang で書かれていれば Erlang のプロセス間通信を使用することで簡単にキャッシュサーバを実装する ことが出来そうです。しかし、WEB アプリケーションなど、全てのシステムを Erlang で書くにはまだ私にとって勇気が要る事なので TCP/IP で memcache プ ロトコルを喋る Erlang 版 memcached を作ってみました。 その名も ememcached です。 % ememcached.erl -module(ememcached). -export([start/0, ememcached/1, process_comm

    Erlang で memcached を作ってみました。 : DSAS開発者の部屋
    Wacky
    Wacky 2008/01/08
  • Python で OpenID の認証サーバーを動かしてみました : DSAS開発者の部屋

    あるサイトで OpenID の使用を検討していて、備忘録をかねてブログにまとめててみようと思い記事にしてみました。 OpenID の基的な用語説明と、OpenID 2.0 で新たに取り入れられた仕様についてまとめてみました。また、Python OpenID Library で用意されているサンプルのサーバーを動作させる方法について紹介してみたいと思います。 OpenIDに対応したサイトでユーザー登録したユーザーには、OpenID用のID(identifier:識別子)が割り当てられます。 ユーザー登録やパスワード管理などの機能を持たないサイトでは、ユーザーにこのOpenID用のIDを入力してもらい、 OpenIDの仕組みを使って安全にIDの認証と使用の認可の確認を行うことができます。 ユーザーは、認証サーバ側で認証機能を持たないサイトで、自分のアカウントが使用されることを許可する必要があ

    Python で OpenID の認証サーバーを動かしてみました : DSAS開発者の部屋
    Wacky
    Wacky 2007/12/26
  • DSAS開発者の部屋:KLab勉強会#3の資料を公開します

    11/2に開催した、第3回KLab勉強会の資料と音声を公開します。 『DSASのここんとこ - ネットワークブート編』 〜 安井 真伸 (KLab株式会社) 発表資料 (PDF, 302 KB) 音声 (MP3, 39592 KB) 『Erlang による高可用システムの構築』 〜 濱野 司 (KLab株式会社) 発表資料 (PDF, 148 KB) 音声 (MP3, 30,202 KB) たくさんの方にお越しいただきありがとうございました。 おかげさまで、懇親会も含め盛況のうちに終わり、とても楽しい時間を過ごすことができました。 このまま、第4回、第5回と続けていければいいなあと思っています。 勉強会の内容や参加募集など、決まり次第このブログでアナウンスしますので、今後も購読していただければと思います。

    DSAS開発者の部屋:KLab勉強会#3の資料を公開します
    Wacky
    Wacky 2007/11/16
    『DSASのここんとこ - ネットワークブート編』 『Erlang による高可用システムの構築』
  • DSAS開発者の部屋:repcached 1.0をリリースしました!

    repcached初の公開バージョンとなる1.0を公開しました。 http://lab.klab.org/modules/mediawiki/index.php/Repcached (日語) http://repcached.lab.klab.org/ (英語) repcachedとは、memcachedに以下の機能を追加するプロダクトです。 アクティブ/バックアップ構成での自動的なフェイルオーバ 無停止のフェイルバック 「キャッシュサーバなのに冗長構成って必要なの?」と思うかもしれませんが、そのあたりの開発動機も含め、インストール方法などのドキュメントは上記のプロジェクトページにありますのでご覧くださいませ! 追々、このブログでも活用事例を紹介していきたいと思っています。

    DSAS開発者の部屋:repcached 1.0をリリースしました!
    Wacky
    Wacky 2007/11/14
  • DSAS開発者の部屋:Windows用フリーウェア「HttpLogger」を公開します

    2013-12-24: お知らせ ソフトウェアの所作がプログラム開発時の意図とは異なるケースをこの間に何件かご報告頂いています。ソフトウェアは公開以来ご好評を頂いており、最新の環境へ追従すべく可能な限りの保守を継続してきましたが、現時点では新たに調査・改訂を行う目処が立っておりません。そのため、大変残念ですがソフトウェアの公開を一時的に停止させて頂きます。ご利用者の皆様におかれましては何卒宜しくご理解・ご了承下さいますようお願い致します。 2012-11-15: お知らせ 以下の問題に対応したテスト版パッチモジュールを公開します。 HttpLogger を有効にした状態で Windows 8 (32bit / 64bit) 初出の Internet Explorer 10 を起動するとエラーが発生する。 この版には先日パッチを公開した「Firefox 12 以降での動作不良に関する修

    DSAS開発者の部屋:Windows用フリーウェア「HttpLogger」を公開します
    Wacky
    Wacky 2007/11/06
  • DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します

    Linuxロードバランサ構築・運用ノウハウ』を公開します! これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。 一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、 サーバ負荷分散一般についてのはなし Linuxでロードバランサを作ってみる ロードバランサを冗長化 といった構成になっています。 みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください! 第1章 サーバ負荷分散概論 特集のはじめに なぜサーバ負荷分散をするのか? サーバ負荷分散の実現方法 ロードバランサのいる構成 ロードバランサはなにを元に分散す

    DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します
    Wacky
    Wacky 2007/10/09
    一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、
  • DSAS開発者の部屋:Winsock API をフックする際に注意すべきこと

    ■ はじめに このブログにはこれまでに何度か Win32 API のフックに関する記事を書いてきました。 API フックを行うには通常のプログラミングとは少し異なる知識と技法が必要となることもあって 記事の大半は技術的な話題が中心でしたが、今回は題に入る前にちょっと別の視点で考えてみることにします。 そもそも、「API をフックする」とはどういうことでしょう? また、それによって一体なにができるのでしょう? API をプログラムの中から呼び出すことによって その機能を実現しています。 たとえば、画像の表示や音楽の再生、ファイルの読み込みや保存、メールの送受信や Web サーバへのアクセス、 こういった普段何気なく利用している機能は、最終的には Windows API を利用しています。 言い換えれば、API をまったく使わずに Windows プログラムを作成するのはきわめて難しいことな

    DSAS開発者の部屋:Winsock API をフックする際に注意すべきこと
  • DSAS開発者の部屋:Vista で動くプログラムを書くために 〜UAC編〜

    ■ はじめに 今年(2007年) 1 月末にマイクロソフト社が発売した Windows Vista は今なお様々な話題を集めています。 発売から半年余を経た現在、普及率はまだあまり高くありませんが、現在主流の Windows XP は 販売もサポートも次第にフェードアウトしてゆく運命にあり、今後 Windows 用プログラムの開発を行う際には Vista での動作に留意する必要があります。 Vista 初出の仕様のうち、一般のアプリケーション開発者にとって最も重要なものは次の二点と言えるでしょう。 UAC (ユーザアカウント制御) による管理ユーザ権限の抑制 JIS2004 対応に伴う日語文字セットの拡張 随所で取り沙汰されているように、旧バージョンの Windows や他のプラットフォームとの間でテキストデータをやりとりする 上で後者は悩ましい話題です。しかし、前者への考慮が不十分なプ

    DSAS開発者の部屋:Vista で動くプログラムを書くために 〜UAC編〜
    Wacky
    Wacky 2007/10/06
  • DSAS開発者の部屋:Win32 プログラムのデバッグTips (1)

    ■ はじめに ひとつのプログラムを完成させるまでには、多くの場合「デバッグ」という作業が必要です。 まったくバグのないプログラムを一気に書き上げるのは難しいことですから、 プログラミングの際には実行時のエラーを見つけやすくするための工夫が必要ですし、 実際にエラーが発生した場合にはできるだけ手際よく対処したいものです。 デバッグを行う上での最初の目標である「原因の特定」を効率的に行うための ツールや流儀はプラットフォームや使用言語により一様ではありませんが、 ここではネイティブな Windows プログラムをデバッグする上で役に立つ小技をいくつかとり上げてみたいと思います。 今回は、自作のプログラムの実行中にプロセスが異常終了する状況において、 問題箇所を手早く探すための方法のひとつをご紹介します。 記事では Microsoft Visual C++ を開発環境と想定しています。 どうやら

    DSAS開発者の部屋:Win32 プログラムのデバッグTips (1)
  • KLab勉強会#2の資料を公開します : DSAS開発者の部屋

    6/22に開催した、第2回KLab勉強会の資料と音声を公開します。 『DSASのあそこ - ストレージサーバ編』 〜 ひろせまさあき (KLab株式会社) 発表資料 (PDF, 1,333 KB) 音声 (MP3, 17,593 KB) 『VIVERのいろいろ』 〜 古橋 貞之 (筑波大学) 発表資料 (PDF, 6,784 KB) ぐりぐり動く対話的プレゼンテーション - 通常版 (QuickTime, 5,146 KB) ぐりぐり動く対話的プレゼンテーション - 高解像度版 (QuickTime, 24,420 KB) 音声 (MP3, 11,411 KB) たくさんの方にお越しいただきありがとうございました。 おかげさまで、懇親会も含め盛況のうちに終わり、とても楽しい時間を過ごすことができました。 さてさて、ちょっと気が早いですが、第3回も開催したいと思っています。 勉強会の内容や参

    KLab勉強会#2の資料を公開します : DSAS開発者の部屋
    Wacky
    Wacky 2007/06/26
  • 「DSASのあれこれ」の資料を公開します : DSAS開発者の部屋

    そのときの発表資料と音声を公開します。 発表資料(PDF 1532KB) 音声(MP3 57350KB) ※音声はボリューム最大にしないと聞こえないかもしれません・・ごめんなさい ※資料はPDFに変換しているのでアニメーションがありません・・ごめんなさい 内容は DSASの設計思想 かたっぱしから冗長化 NICを冗長化してみよう L2SWを冗長化してみよう WEBサーバを冗長化してみよう ロードバランサも冗長化しよう メンテナンス性を重視したネットワーク構成 VLANの紹介 タグVLANの紹介 LinuxでもタグVLAN DSASの構成 フロントエンドサービス向けサーバ群の特徴 マスタサーバの特徴 Webサーバの特徴 こんな感じになっています。 おかげさまで多くの方にご参加いただき、盛況のうちに終了することができました。 懇親会もとても楽しかったです。 今回の反省点としては、、 「あれこれ

    「DSASのあれこれ」の資料を公開します : DSAS開発者の部屋
    Wacky
    Wacky 2007/04/03
  • LVSロードバランサの作り方について雑誌記事を書きました! (WEB+DB PRESS Vol.37) : DSAS開発者の部屋

    特集2 Linuxロードバランサ構築・運用ノウハウ 第1章 サーバ負荷分散概論 第2章 LVSで実現するロードバランサ 第3章 ロードバランサの冗長化 第4章 負荷分散システム運用のコツ このブログの過去のエントリ、 こんなに簡単! Linuxでロードバランサ (1) こんなに簡単! Linuxでロードバランサ (2) こんなに簡単! Linuxでロードバランサ (3) 高トラフィックに対応できるLinuxロードバランサを目指して〜LVSをNATからDSRへ をより詳しく丁寧に説明し、加えて運用のコツについても書いた感じに仕上がっております。 LVSやkeepalivedについて書かれた雑誌記事はあまり見かけないので、参考になるのではないかと思います! あとですね、この連載の内容に関連した「とあるもの」を後日プレゼントする予定です。準備ができたらこのブログで告知しますのでお楽しみに〜

    LVSロードバランサの作り方について雑誌記事を書きました! (WEB+DB PRESS Vol.37) : DSAS開発者の部屋
    Wacky
    Wacky 2007/02/24
    Linuxロードバランサ構築・運用ノウハウ
  • DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識

    ■ はじめに 前回の記事では Windows のイベントをフックする方法についてお話しましたが、特定の Windows API 呼び出しををフックするにはどうすればよいでしょう? それを考えるためには、まずどのような仕組みでプログラムが API を呼び出だしているのかを調べておく必要がありそうです。 ご存知の通り、Windows API は、所定の Windows プログラムから呼び出すことの可能なエクスポート関数として OS 環境の DLL(Dynamic Link Library) 群に格納されています。そして、あるプログラムの実行に必要な API を含む DLL は、実行ファイル起動時の初期化時にプロセスへリンクされ、その後は所定の API を透過的に呼び出すことができるようになります。 DLL をプロセスへリンクするには、実行形式をビルドする際に所定のインポートライブラリをリンクし

    DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識
    Wacky
    Wacky 2007/02/08
    特定の Windows API 呼び出しををフックするにはどうすればよいでしょう?
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
    Wacky
    Wacky 2006/12/31