タグ

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

  • shredを6倍速くしてみた : DSAS開発者の部屋

    HDDをshred(※)していて、おそいなー と思ったので、高速化してみました。 ※shred: HDDにランダムな値を書いたり特定のビットパターン書いたりして、データを復元し難くするツール shred は -n でパス数を指定できて、-n 3くらいにすると3パスともランダムなデータの書き込みになります。 coreutils-6.9では、デフォルトでこの乱数は/dev/urandomからとってきているのですが、非常に遅いです。 試しにddで/dev/urandomの速度を計ってみると、 root:~# dd if=/dev/zero of=/dev/null bs=1M count=128 128+0 records in 128+0 records out 134217728 bytes (134 MB) copied, 0.0409313 s, 3.3 GB/s root:~# dd

    shredを6倍速くしてみた : DSAS開発者の部屋
    endor
    endor 2018/08/06
  • 負荷分散環境でブラウザキャッシュが効かないときは - ETagの解説 - : DSAS開発者の部屋

    ETag とはなんぞやというと、Apache が返すレスポンスヘッダのひとつで、 HTTP/1.1 200 OK Date: Mon, 24 Jul 2006 06:18:07 GMT Server: Apache Last-Modified: Wed, 13 Apr 2005 21:48:55 GMT ETag: "3b-60273fc0" ←これ★ Accept-Ranges: bytes Content-Length: 59 Connection: close Content-Type: text/html オブジェクトに付与される属性です。 で、何に使うかというと、ブラウザのキャッシュ管理に使われます。 一度、http://example.jp/index.html にアクセスした後でもう一度(リロードとかで) アクセスすると、ブラウザは最初のリクエストのときに得た ETag の値

    負荷分散環境でブラウザキャッシュが効かないときは - ETagの解説 - : DSAS開発者の部屋
    endor
    endor 2015/10/15
  • カラフル端末で視認性を高める - grepとシェルのプロンプト編 : DSAS開発者の部屋

    このブログに含まれる「DSAS」という文字列をgrepしてみます。 どこに「DSAS」があるのかさっぱりわかりません (^^; grepの結果を| less -p DSASとかに渡せばlessがハイライトして識別しやすくなるのですが、ここはgrepのカラフル機能(--color=auto)を使ってみます。 だいぶ識別しやすくなりました。 ハイライトの色を変更するには、色指定を環境変数GREP_COLORにセットします。指定の形式は前回紹介したlsのdircolorsと同じです。例えば、太字の黄色にしたい場合はこのようにします。 export GREP_COLOR='01;33' あと、毎回--color=autoと指定するのは面倒なので、環境変数GREP_OPTIONSにセットしておきましょう。GREP_OPTIONSにセットしたオプションは、暗黙的に効果を発揮します。 export GR

    カラフル端末で視認性を高める - grepとシェルのプロンプト編 : DSAS開発者の部屋
    endor
    endor 2015/10/08
  • Python で OpenID の認証サーバーを動かしてみました : DSAS開発者の部屋

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

    Python で OpenID の認証サーバーを動かしてみました : DSAS開発者の部屋
    endor
    endor 2015/09/28
  • 並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント : DSAS開発者の部屋

    並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント こんにちは、takada-at です。 Rubyのイベント駆動型ネットワークプログラミングフレームワーク Rev と EventMachine で HTTPクライアントを動かしてみました。 イベント駆動型ネットワークプログラミングフレームワークとは何か説明しだすと難しいですが、一言で言うと、以下のようになります。 # ふつうのフロー駆動型プログラム Net::HTTP.start(host, port){|http| res = http.get(path) #この処理が終わってから } puts "done" #この次の処理が実行される # イベント駆動型プログラム client = Rev::HttpClient::connect(host, port

    並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント : DSAS開発者の部屋
  • Bazaarの紹介 : DSAS開発者の部屋

    私は以前までバージョン管理システムには Mercurial を利用していたのですが、 最近 Bazaar に移行しました。 先日 1.9 がリリースされましたので、これを機に Bazaar を紹介します。 現在、日で一番使われているバージョン管理システムはSubversionだと思うのですが、 最近は分散型のバージョン管理システムがオープンソース界で人気になっていて、Bazaarはその一つです。 分散型バージョン管理システムの利点はたくさん有るのですが、個人的に便利だと 感じる点は、(1)ネットワークにつながっていなくてもバージョン管理できる、(2)Subversion よりもマージが楽、(3)リポジトリのバックアップが楽、というところです。 分散型バージョン管理システムでよく使われているものに、git, Mercurial (hg), Bazaar (bzr) があります。git

    Bazaarの紹介 : DSAS開発者の部屋
  • Apache 2.3/2.4系に実装中の新機能をちょっと先取りして見てみよう : DSAS開発者の部屋

    (追記: 続編をupしました。設定例と動作検証を行っています。→こちらへどうぞ) Apacheといえば、Webサービスを構築する上でだいたいどこかで必ずお世話になるであろう、HTTPサーバのデファクトスタンダードとして幅広く定着したソフトウェアだと思います。KLabでも各所で運用してお世話になっています。 現在、バージョンは2.2系が安定版(stable branch)となっておりますが、開発版である2.3系が既に並行して公開されているのをご存知でしょうか。新しい機能や技術を取り入れて行く為に2.2系との間の互換性を時に犠牲にしつつ、様々なチャレンジが行われているわけです。将来的にはこのバージョンが2.4系となって新しい安定版として提供されることになるでしょう。 このDSASブログでも、Apache 2.3系で取り組まれている新しい機能について着目し、面白そうなものを一つずつ取り上げながら

    Apache 2.3/2.4系に実装中の新機能をちょっと先取りして見てみよう : DSAS開発者の部屋
    endor
    endor 2010/02/24
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

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

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • 届いたメールの料理の仕方 (1) 〜qmail編〜 : DSAS開発者の部屋

    qmailではdot-qmailと呼ばれるファイルで届いたメールの処理を制御できます。典型的なdot-qmailファイルは、ユーザのホームディレクトリの下の~/.qmailや~/.qmail-XXXですね。 今回は、dot-qmailを使う上で知っておきたいことをTIPSを交えて紹介したいと思います。 例として、kbora@klab.org宛てのメールが~kbora/.qmailに届く場合を考えます。 qmailにはextension addressというものがあり、ユーザ名に続けて「-XXX」を指定することができます。例えば、kbora-oboko@klab.org宛てのメールは、~kbora/.qmail-obokoに届きます。このextension addressを活用すれば、管理者の手を煩わすことなくメールアドレスを増やすことができますね。 では、~/.qmail-inaが無い状態

    届いたメールの料理の仕方 (1) 〜qmail編〜 : DSAS開発者の部屋
  • 低温環境でのHDDの動作 : DSAS開発者の部屋

    あるデータセンターに導入したサーバーの初期セットアップ時に今までに経験したことのないHDDトラブルに見舞われました。今回はそのトラブルの原因究明と解決に至るまでのお話です。 HDDの故障? 7月、新データセンターでの初期セットアップ時にHDDの書き込み速度がやたら遅いディスクがあるという話が出てきました。 話を聞くと1台だけでなく複数台に発生しているとの事です。 その時の測定値は次のような感じでした。 実際の測定値 # dd if=/dev/zero of=/mnt/p0/test bs=1M count=2048 (RAIDカードの0番ポートにあるディスク) 2048+0 records in 2048+0 records out 2147483648 bytes (2.1 GB) copied, 43.8163 seconds, 49.0 MB/s # dd if=/dev/zero

    低温環境でのHDDの動作 : DSAS開発者の部屋
    endor
    endor 2008/09/18
  • Windows用のGrowlもどき、「Whine」をLimeChatから利用する : DSAS開発者の部屋

    先日、ちょっとした事情があって、自分のMacBookをクリーンインストールしていました。 OSの次に迷わずインストールしたいアプリケーションというのは、人それぞれにいろいろあると思いますが、 わたしにとっては「Growl」という通知ソフトもその中のひとつです。 最近ではGrowlのWindows版も開発されはじめたようですね。 WindowsでGrowlを使いたいというニーズはところどころで聞きますし、わたし自身もずっと以前から欲しいと思っていました。 当時は、Windows版のGrowlがなかったので、自分で似たようなアプリケーションを作ってみました。それが今回ご紹介する「Whine」です。 かなりGrowlを意識して作っていて、Growl用のネットワークAPINet::GrowlClientなど)からもメッセージを通知できるようになっています。 今回は、IRCクライアントのLimeC

    Windows用のGrowlもどき、「Whine」をLimeChatから利用する : DSAS開発者の部屋
    endor
    endor 2008/07/07
  • OpenSSH クライアントの proxy -- 踏み台サーバを経由しての ssh : DSAS開発者の部屋

    DSAS のメンテナンスは,基的に ssh を使ったリモートメンテナンスで済んでしまいます.夜中や休日に非常事態が起こったとしても,ネットワーク接続さえ確保できればその場で対応できます.ただ,さすがにインターネットから DSAS に直接 ssh できる様にしておくのは一抹の不安があります.ですので,DSAS への ssh 接続は社内のサーバからのみ許すようにしておいて,外からログインする必要があるときは一旦社内のサーバを経由することにしています. このような形にしている場合,DSAS にログインしようとする際は,一旦社内のサーバに ssh 接続する必要があって,小さなことですが一手間かかってしまいます.できればワンステップで接続できる方法が無いかと思って色々検索してみた(※)ところ,このページで ProxyCommand という設定項目を見つけました(見つけたのがボスの個人サイトなのは

    OpenSSH クライアントの proxy -- 踏み台サーバを経由しての ssh : DSAS開発者の部屋
    endor
    endor 2008/06/17
  • Erlang Webフレームワークでデータベースを分散させる : DSAS開発者の部屋

    ErlangのWebフレームワークであるErlyWebの紹介と、Windowsにインストールする手順を紹介

    Erlang Webフレームワークでデータベースを分散させる : DSAS開発者の部屋
    endor
    endor 2008/04/13
  • ユニバーサルトラックバックシステム : DSAS開発者の部屋

    今日のネタは,思いつきで作ったWebアプリです.どういうものか一言でというと,野良トラックバックを実現するシステムです. 通常,ある URL にトラックバックを送信したいと思っても,送信先のページがトラックバックを受け付ける仕組みを持っていなければ,送信できません.また,自分が管理するページでトラックバックを受け付けたいと思っても,CMS や Blog のシステムなどのような,トラックバック受信をする仕組みを持っていなければなりません. このシステムでは,任意の URL に対するトラックバックを受け入れるためのものです.例えば http://www.klab.org/ にはトラックバックを受信するようにはなっていませんが,このシステムを使えば,http://www.klab.org/ を対象にトラックバックを送信できます.もちろん送信したトラックバックが http://www.klab.o

    ユニバーサルトラックバックシステム : DSAS開発者の部屋
    endor
    endor 2008/02/28
  • 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開発者の部屋
    endor
    endor 2008/02/26
  • サタデーにコードをフィーバーしてきました! : DSAS開発者の部屋

    先週の土曜日(2/16)にウノウさんで開催されたサタデーコードフィーバーというイベントに参加させて頂きました。普段は会社の自分の席でコードを書くことが多いわけですが、やはりメールが気になったりチャットが気になったりと様々な誘惑(?)があって思うように進まない事があります。まあ、家にいても会社にいても誘惑はそれぞれあるわけで、私にとってもっとも集中してコードが書ける環境は、実は通勤途中の電車の中だったりします。(ちなみに、先日公開したrepcachedの大半は電車の中で書いたというのは内緒です(笑) そんなわけで、気分をかえてウノウで趣味の開発してみませんか? のエントリを見た瞬間、迷わずメールを出していました。 ウノウさんといえばPHPというイメージが強かったので、Web系のエンジニアさんが集まると予想していましたが、実際にお話させて頂いた皆さんは当に多種多様で驚きました。「Cで正規表現

    サタデーにコードをフィーバーしてきました! : DSAS開発者の部屋
    endor
    endor 2008/02/26
  • Ant とテキストエディタではじめる Android : DSAS開発者の部屋

    皆様、新年あけましておめでとうございます。今年もよろしくお願いいたします。 さて、The Open Handset Alliance が発表した Android SDK ですが、既に Eclipse + Eclipse Plugin を使用してお試しになられた方もいらっしゃるかと思 います。 私は通常の開発業務で Eclipse を使っているのですが、plugin を入れすぎたせ いか動作が重いので、もっと軽い環境で開発できたらと思ってました。という 訳で Emacsと か vi などのテキストエディタを使って Android のアプリケーション を開発できる方法をご紹介します。 今回ご紹介する方法は以下の環境で行いました。 Mac OS X 10.5 apache ant 1.7.0 Android SDK (android_sdk_darwin_m3-rc22a) java 1.5.0

    Ant とテキストエディタではじめる Android : DSAS開発者の部屋
  • DSAS開発者の部屋:携帯ゲートウェイのIPアドレス帯更新を効率的に確認する方法

    携帯電話各キャリアは、そのゲートウェイのIPアドレス帯域を公開しています。 DoCoMo au SoftBank WILLCOM 携帯ブラウザからのアクセスの場合、このIPアドレスがソースアドレスとなるので、アクセス制御や判別のために使っている方は多いのではないかと思います。 今回は、このIPアドレス帯の更新を効率的に確認する方法についてのお話です。 更新されたかどうかの確認だけならアンテナ系のWebサービスを使えばよいのですが、それだけだと、 どのIPアドレス帯が追加・削除されたのかわかりづらい。 IPアドレス帯のコピペが面倒くさい。 といった不満点があります。 そこでNet::CIDR::MobileJPというPerlのモジュールの出番です。(作者はモバイルファクトリという会社の方のようです) このモジュールには与えたIPアドレスが携帯かどうかを判別する機能があるのですが、次のようにす

    DSAS開発者の部屋:携帯ゲートウェイのIPアドレス帯更新を効率的に確認する方法
  • 1