capistranoには、以下のコマンドを実行する事で、メンテナンスページを用意する機能があります。 コマンドを実行すると、デプロイ先のサーバ上で、shared/system/maintenance.html が生成されます。 shared以下のディレクトリは、public/の下にシンボリックリンクが作成されるので、 結果としてpublic/system/maintenance.htmlが準備される事になります。 しかし、capistranoがやってくれるのはここまでなので、 maintenance.htmlが存在した場合にそれを表示するようにするように、 Webサーバを設定する作業は自分でやる必要があります。 mod_railsとかでその辺まで面倒みてくれる感じになっていると楽なんですけどね。 その設定については、Apacheを使っている場合は以下のような感じにすればOKです。 1 R
TopHatenarとHatenarMapsのシステム構成が、バージョンアップの度に複雑化してきて、自分でも把握しづらくなってきたので、整理する意味で図を作ってみました。 図に示したように、HatenarMapsは、S2RMIを使ってTopHatenarと協調動作しています。はてなダイアリーとはてなブックマークに関するデータをクロールしているのは、TopHatenarの側です。HatenarMapsの側では、TopHatenarのService層をS2RMI経由でコールして、集計済みのはてブ情報を取得し、クラスタリング処理の後にポリゴンを計算しています。その他、HatenarMaps上でコメントビームの表示等がリクエストされる度に、TopHatenarをコールしています。よって、HatenarMaps側のDBには、基本的にポリゴンデータしか入っていません。 以下、図中に出てくるフレームワー
開発マシンからGmailにメールが届かなくなっていた ローカルの開発用マシン(うちの場合はMac OS X)からGmailにメールを送信できなくなっていました。 /var/log/mail.log のメールログを見てみると、 The IP you’re using to send mail is not authorized 550-5.7.1 to send email directly to our servers. Please use the SMTP 550-5.7.1 relay at your service provider instead. Learn more at 550 5.7.1 http://mail.google.com/support/bin/answer.py?answer=10336 ふむ。SMTP 550-5.7.1 ってなんだろう。とりあえず指定され
Red5をインストールしてみよう 前回(http://www.thinkit.co.jp/article/152/1/)は、FlashでのストリーミングをキーワードにFlashクライアントとサーバー連携の技術的な概要と、それを可能にするオープンソースによるサーバーであるRed5について説明しました。今回は実際にRed5をインストールして動かしていきます。 Red5はOSFlash.org(http://osflash.org/red5)からダウンロードします。2008年10月の現時点では最新版はバージョン0.8のリリース候補版ということになっています。安定版とされているもので最新はバージョン0.7ですので、今回はバージョン0.7を選択します。 Red5はそれ単体で動くスタンドアローン型と、Tomcatなどと連動させて動かすWAR型との2つのタイプがあります。とりあえず試すという場合には、自
こちらを参考にさせてもらい、Remedieを入れてみる。 Remedieを使い始めたので、さっそく手順をまとめました。 Gitのインストール http://code.google.com/p/git-osx-installer/ からインストーラを落として実行。普通に完了。 Terminalが上がっていたので再起動させて $ which git /usr/local/git/bin/git でインストールされたことを確認。 Remedieのインストール ホームディレクトリで以下を実行。 $ git clone git://github.com/miyagawa/remedie.git いくつかメッセージが出て問題なく完了。/Users/ユーザ名/remedie が出来上がる。 CPANからPerlモジュールを入れる。 参考サイトのとおりに手作業ではじめて見たけれど、鬼のように時間がかかりそ
サイト閉鎖のお知らせ 1999年12月6日に開設した本サイトですが、開設から20年を迎えたのを機に閉鎖いたします。 ここ5,6年は更新できていませんでしたが、長らくご愛好いただきありがとうございました。
Web開発者や、システム管理者であればSSHを良く利用していることだろう。よく使うものはすぐに呼び出せると便利だ。Windowsで簡単に呼び出すための仕組みと言えば常駐だ。 標準のPuttyではその機能はないが、拡張したPuttyを紹介したい。 今回紹介するオープンソース・ソフトウェアはPuTTY Tray、タスクトレイに常駐するPuttyだ。 PuTTY Trayは二つのアプリケーションに分かれている。一つはSSHクライアントであるPutty.exeだ。これは標準のPuttyに最小化した時にタスクトレイに格納され、そこからセッションの複製などを可能にしている。 もう一つはPuttyを呼び出すためのpageant.exeだ。これはタスクトレイにだけ表示され、そこから新しいセッションを作成したり、保存してあるセッション情報を呼び出すことができる。キーファイルの追加もできる。 他に、Putty
春の伊予国漫遊記。松山・今治と愛媛の魅力を満喫してきました。 法事を兼ねて愛媛観光へ 2024年のGWは、毎年恒例の名古屋帰省ではなく自宅でゆっくり過ごしておりました。というのも、4月に法事のため愛媛・松山に親族大集合というイベントがありまして、そちらをGWの旅行代わりにしたという理由です。法事は日曜日の予定ということ…
Catalyst::Plugin::Session では、デフォルトではセッションの有効期限は $c->config->{’session’}{’expires’} の値に固定です。 ですので、「次回からログインを省略する」のようなオートログイン機能を実装するには、セッションの expires を動的に変更する必要があります。 これは、C::P::Session::DynamicExpiryを使ってremember meに紹介されている、Catalyst::Plugin::Session::DynamicExpiry を使えば可能で、セッションと Cookie と両方の有効期限を変更してくれるので、 オートログイン無効の場合、ログイン状態は一定時間、ブラウザを閉じてもログイン維持 オートログイン有効の場合、ログイン状態は半永久的、ブラウザを閉じてもログイン維持 という仕様が実現できます。し
memcachedサーバへのアクセスモジュールは数ありますが、一般的にはlibmemcachedが使われる事が多いと思います。 Perlにおいても Cache::Memcached Cache::Memcached::Fast Cache::Memcached::libmemcached Memcached::libmemcached と数種類存在し、一般的に使用されるlibmemcachedのラッパインタフェースであるCache::Memcached::libmemcachedが使われる事が多い様に思います。 libmemcachedに関しては、以前Windowsへのポーティングを行い、オフィシャルへのパッチ送付も行いました。 成果物としてはcodereposに置いてあります。オフィシャルからもリンクを張って頂けるようになりました。 さらにCache::Memcached::Fastにつ
と id:ikasam_a にわがまま言ったら Catalyst::Request::REST::ForBrowsers ってのを教えて貰ったよ。 オーバーロード POST って何だよって方は、 統一インターフェイスと PUT and DELETE tunneled POST パターン - masaki@catalyst - Catalystグループ ROA と Catalyst - masaki@catalyst - Catalystグループ とか読むと幸せになれると思います。 使い方 MyApp にて、こんな感じにしときます。 package MyApp; use strict; use warnings; use Catalyst::Runtime '5.70'; use Catalyst::Request::REST::ForBrowsers; ### 中略 __PACKAGE__
Windows 10 の入ったディスクのバックアップが clonezilla で外形的にできることがわかった Posted on Jun 27, 2020 Windows10 が載ってるディスクに破壊的な変更加える前にバックアップしたくて、SystemRescueCd で clonezilla 使ってディスクまるごとイメージ化した(内部的には partimage が使われてる?)。 でこれ、レストアしたら起動する状態まで持っていけるんかな? すんごく不安だ。。。 — woremacx (@woremacx) June 15, 2020 systemrescuecd に同梱されている clonezilla を使ってまるまる取った Windows 10 のバックアップが戻せるか不安で仕方なかったので、VirtualBox に戻せるか試した。 そもそもなぜ clonezilla を試したかったの
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
cl.pocari.org - Subversion で作業コピーの URL を変更する方法サーバ側の都合で Subversion のリポジトリの場所を変更した場合,その作業コピーでは元の URL にアクセスできなくなります. 例えば,リポジトリを file:///repos から file:///new-repos に移動した場合,以下のようなエラーになります. svn: No repository found in 'file:///repos' これを解決するには,新しい作業コピーをチェックアウトしてもいいのですが,svn switch を使って,URL を書き換えてしまう方法もあります. これを読んで、なるほどーと感心しつつ。TortoiseSVN でできないの?と思って調べてみた。 リポジトリのあるフォルダで右クリック-[TortoiseSVN]-[再配置] で URL の変更が
ウレタン系高反発マットレスでよく言及されるのが密度です。それを頑張って分かりやすく説明してみます。
かなりながーいエントリになる予定なので,結論だけ最初に書くとこんな感じ. この話題については自分も あとで書く と言って書いてなかったので書いてみますよ。2006年の下期にもなってコネクションプーリングかよというツッコミもありそうですが、あとで書くといったら書くの。あとで読むといったら読む。 普通「コネクションプーリング」と言ったら、主に二つの役割があると思います。話を簡単にするためにウェブアプリケーションに限定して言及します。 ウェブアプリケーションから DB への接続を開けっ放しにして、接続に必要とされるオーバーヘッドをカットして双方の負荷を下げる。 ウェブアプリケーションと DB への接続を「使いまわす」ことで、同時接続本数を節約する。 というもの。 mod_perl で DB と接続維持するとコネクション数増えて云々という話は主に前者のみについての話になります。Apache::DB
話してないけど、資料はあるので公開しまっする。 Customization of DBIC::Schema::Loader 概要 開発中にスキーマに変更が発生して、make_schema_at()を何度も叩く際に困ることと、Schema::Loaderで比較的意図した通りにSchema, Tableクラスを生成する為に、こんな風にするといいおって内容です。 せっかちな人向け こんな感じ。 内容の解説はプレゼン資料を見てくだしあ。 #!/usr/bin/perl use strict; use warnings; use FindBin; use File::Spec; use lib ( File::Spec->catfile( $FindBin::Bin, qw/.. lib/ ), File::Spec->catfile( $FindBin::Bin, qw/.. schema/ )
1. リアルサーバ側にもグローバルIPを振る必要がある(IPが少ないところは結構きついかも). リアルサーバでは、VIPをループバックインターフェースにIP aliasすればいいので、リアルサーバの数だけグローバルIPアドレスを消費するってことはないような。(誤読してるかも ただ、この方式だと、VIPの数だけいちいちリアルサーバにIP aliasして回らないといけないので、わりと大規模(VIPがたくさんある or リアルサーバがたくさんある)だとめんどくさいことこの上ない。 で、リアルサーバでこんなiptablesのルールを設定すれば、IP aliasしないでDSRできそうというのが主題。 VIP=10.1.1.0/24 iptables -t nat -A PREROUTING -d $VIP -j REDIRECT多分、これでいけると思うんですけどちと自信なし。検証 and 詳しい説明
2008年02月22日23:30 カテゴリLightweight Languages perl - モジュールと%INC うむむ、ちょっとload averageが高い日日が続いたせいか、久々に熱が。 こういう時にはこういうあまり心身を使わないネタを。 Perl モジュールのありかを調べる perlwhere - Tociyuki::Diary モジュールのパスをてっとり早く見つけるには、コア・モジュールの Module::Build::ModuleInfo が便利です。 Module::Buildがコア入りしたのは5.10からなので、他の方法を紹介しつつ、特殊変数%INCの紹介などを。 まず、モジュールのありかを手っ取り早く調べる方法としては、 % perldoc -ml が使える。PODが含まれてなくてもOK。 しかし、中級以上の perl monger を目指すのであれば、%INCの
Perl のモジュールを ubuntu の apt などのようにディストリビュータのパッケージ管理ツールと CPAN を併用してインストールしていると、あちこちのディレクトリにモジュールのファイルが分散してしまい、ソースを読みたいときに探すのがめんどくさく感じます。そんなとき、モジュールのパスを調べるコマンドが欲しくなります。激しく車輪の再発明のような気がしてならないのですが、ざっとググって見つからなかったのでエントリにしておきます。 モジュールのパスをてっとり早く見つけるには、コア・モジュールの Module::Build::ModuleInfo が便利です。 #!/usr/bin/perl use strict; use warnings; use Module::Build::ModuleInfo; for (@ARGV) { my $module_info = Module::Bu
ユーザ登録とかでロボット等でのスパム登録を防止したりって用途に使われているアレです。こんなヤツ。 最近はブログのコメントとかのスパム防止でもよく見かけます。まずは基礎知識。このような画像で認証を行うことを Captcha っていいます。wikipedia の情報を引用すると、 CAPTCHA(キャプチャ、"Completely Automated Public Turing test to tell Computers and Humans Apart"; コンピュータと人間を区別する完全に自動化された公開チューリングテスト)は チャレンジ/レスポンス型テストの一種で、ユーザが人間であるかどうかを決定する計算処理に使われる。この用語はカーネギーメロン大学のLuis von Ahn、マヌエル・ブラム、Nicholas J. Hopper、IBMのJohn Langfordによって2000年に
もういくつ寝ると 今年のはじめにやりたいことリストを作った。今見たら50項目あるリストのうち25個が達成済みだった。ちょうど半分やりたいことをやったということだ。私にしてはまあまあの結果だと思う。満足。 やりたいことリストにあるもののうち、「〜を食べたい」系は概ねクリアし…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く