サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
rt.air-nifty.com
環境はCentOS 5.5。参考にしたページは以下のとおり。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/904ldapserver.html http://www.atmarkit.co.jp/flinux/rensai/linuxtips/914user2ldap.html http://www.atmarkit.co.jp/flinux/rensai/linuxtips/915authldap.html http://www.geocities.co.jp/SiliconValley-PaloAlto/9333/ldap.html まずは、openldap-serversをインストールする。 次に、管理者パスワードとアクセス制御の設定を行う。 以上で、slapd(OpenLDAPサーバのデーモン)を起動する準備が整った。おもむろ
Windows対Windowsの環境で、snmpではなくWMIでリモートPCのプロセス一覧を取得する必要が出てきたので、いろいろと調べながらやってみたが、うまく動くまでの下準備のにちょっと苦労したのでメモ。環境と準備手順は以下のとおり。 環境 ・PC1: Windows7 Professional SP1 64bit ・PC2: Windows7 Home Premium SP1 64bit (いずれもワークグループに所属、ドメイン参加なし) 準備手順 ※いずれも、プロセス一覧を問い合わせる相手側のPCの設定です。 Windowsファイアウォールで"リモート管理"の着信を許可する UACが有効になっている場合、レジストリを編集して"管理共有"を有効にする 準備手順の詳細は以下のとおり。 1. Windowsファイアウォールで"リモート管理"の着信を許可する 相手側PCがWindows7 P
1. CPU使用率を上げる 1-1. (要Perl) perl -e "1 while 1" 1-2. (要Bash) while true; do true; done 1-3. (要Python) python -c "while True: True" ※CPUコアが複数の場合はその数だけ並列で実行する 2. ロードアベレージを上げる(UNIX/Linuxのみ) top -d .00001 ※上がりにくい場合はウェイトをより小さくする、もしくは複数並列で実行する 3. メモリ、スワップ使用率を上げる 3-1. (要Perl) perl -e "$c[$_]='a'x$_ for 1..1000000" 3-2. (要Python) python -c "range(1,100000000)" ※足りない場合はエンドの数を増やす ※Pythonの方はCtrl+Cで中断できない(要kil
数十台のサーバに対して、全く同じ作業を行いたい。rootでの作業が必要だが、リモートからのrootログインは許可していない。いったん作業用の一般ユーザでログインして、suしてから作業する必要があり、バッチやシェルを組むのは面倒だ。 どうしようかと思案していたら、その時たまたま一緒に作業をしていた方から、「Tera Termを使えば、複数の端末上で全く同じコマンドを同時に送れますよ」と、ブロードキャスト コマンドという機能があることを教えて頂いた。 …こりゃSUGEE便利だ…( ゚д゚ )…バージョン4.58からの機能らしいが、こんなものが隠されていたとは…。Webで調べた限りでは、端末256枚でも同時にコマンドが送信できるらしい。明日からドシドシ活用させて頂こう…ヽ(^o^)丿
ちょっと前からjQuery勉強中…。サンプルとして、入力部品のOn/Offを一括で切り替えるためのメソッドを追加してみた。IE 8、Firefox 3.5、Opera 9.64、Safari 4.0.3での動作を確認。ちなみにIE 8だけは、入力部品でないエレメントでも有効/無効が切り替わるものがある。 ソースは以下のとおり。 <script type="text/javascript" src="/path/to/jquery.js"></script> <script type="text/javascript"> // 入力部品のOn/Offを一括で切り替える独自メソッド $.fn.extend({ toggle_avail: function() { return this.each(function() { if (this.disabled == true) { this.di
…コマンドによるトラップ送信は手軽だが、特権が必要なため、例えばバッチプログラム等に組み込む場合は一工夫が要りそうだ。また、プログラムに組み込むということは、(そのままでは)別のプログラムから使えないということなので、せっかくの汎用的な監視の仕組みが活かせず、何のためにsnmpを導入しているのか分からない状況になってしまう。やはり極力、状態監視やトラップ送信はsnmpdに任せるのが良さそうだ。(^o^;)
ウチのサブノートPC(マウスコンピュータ m-Book Z370)には、タッチパッドのOn/Offを切り替えるキーがついているのだが、Ubuntu 10.04にしてから、これが効かなくなっている(具体的には、数十秒くらいはOffになるのだが、その後なぜか勝手にOnになってしまう)。確か、Ubuntu 9.04を入れていた当時はちゃんと効いていたはずなのだが…(@_@;) で、対処法をいろいろとネットで調べていると、同様の症状でお悩みの方が居た。 gsynaptics and Ubuntu 10.04 - Ars Technica OpenForum …どうやら、gsynapticsはしばらくの間deprecatedになっているらしい…代わりにgpointing-device-settingsを試してみろ、とあるので、試してみた…がやっぱりダメだった。Alt+Tabでウィンドウ切り替えを行う
この間リリースされたばかりのUbuntu 10.04、なんか画面がSnow Leopardっぽくて良さげな感じだったので、とりあえずサブノートPCにクリーンインストールしてみた。 …本当にSnow Leopardっぽいな…(@_@;) …で、ひととおりソフトウェアのインストールを終え、あれこれ弄って遊んでいたのだが、いくつかのデーモンの自動起動の設定が、これまでと違っているのに気づいた。具体的には、これまではchkconfig(のUbuntu版である、sysv-rc-conf)を使って、ランレベル毎にOn/Offの切り替えを行っていたのだが、mysqldでそれができなくなっていた。 …/etc/init.d配下を見ると、起動スクリプトであるmysqlが/lib/init/upstart-jobへのシンボリックリンクになっていた。どうやら、mysqldはupstartで起動や停止を管理されて
開発が終わり、ステージング環境や本番環境にPerlのプログラムをリリースする際、プログラム中で新たに使用することになったCPANモジュールのインストールをサーバ管理者に依頼するのだが、これまでは(恥ずかしながら)ソースコードを目視して確認していたため、プログラム数が多い案件だと、まれに依頼漏れをしてしまうことがあった。で、運が良ければリリース後のコンパイルチェックで漏れを見つけられるが、運が悪いと(=モジュールを実行時にロードするような場合)サービスイン後に発覚し、立つ瀬のない思いをするハメになる。 なんとか、そのような人的ミスをなくしたいと思い、CPANを漁ってみたところ、Module::Usedというのを見つけた。インストールしてみると、modules-usedというコマンドラインツールも一緒にインストールされた。これは、引数に指定したファイルからuse文やrequire文などを検索し
module-starterを使ったモジュール作成の手順(といえるほど大それたものではありませんが)をご紹介します。おかしなところがあればコメント、トラックバックなどでご指摘ください。 1. 必要なCPANモジュールをインストールする あらかじめ、以下のCPANモジュールをインストールしておきます。 Module::Starter Module::Install Distribution::Guess::BuildSystem Module::Starter::AddModule Module::Starterをインストールすると、コマンドパス上にmodule-starterコマンドがインストールされます。 Module::Install以降はオプションです。モジュールのビルドシステムとして、ExtUtils::MakeMakerやModule::Buildを使う場合は、Module::I
Catalystで使用する主要なアクション属性と特殊なアクションについて、自分なりに調査した結果をまとめてみました。誤り等あれば、ご指摘ください<(_ _)> アクション属性: Path コントローラのパッケージ名+引数の文字列によるURLマッチングを行う。メソッド名はマッチングに使用されない。パッケージ名は全て大文字を小文字に置き換えてマッチングを行う。ただし、Rootコントローラは特殊(以下の例を見よ)。 例01: http://localhost:3000/foo/bar/baz にマッチ package MyApp::Controller::Foo::Bar; sub example_01 :Path('baz') { } 引数の文字列がない場合は、パッケージ名のみでマッチングを行う。 例02: http://localhost:3000/foo/bar にマッチ package
名前 概要 詳細 メソッド belongs_to has_many might_have has_one many_to_many 著者 ライセンス 原文へのリンク 翻訳者 名前 DBIx::Class::Relationship - テーブル間のリレーションシップ 概要 MyDB::Schema::Actor->has_many('actorroles' => 'MyDB::Schema::ActorRole', 'actor'); MyDB::Schema::Role->has_many('actorroles' => 'MyDB::Schema::ActorRole', 'role'); MyDB::Schema::ActorRole->belongs_to('role' => 'MyDB::Schema::Role'); MyDB::Schema::ActorRole->belon
タイトルのとおり。大まかに、以下の機能を持っている。 Log::Dispatchのロガーオブジェクトによるロギング ロックファイルによる多重起動抑制 Getopt::Longによるコマンドライン引数解析 YAML::*による設定情報読み込み シグナルハンドリング 基本的な使い方として、このクラスのサブクラスを実装し、_processメソッドをオーバーライドして、そこにメインの処理を記述する。処理の順序はおおまかに、 _new()(インスタンス作成と初期化) _process()(主処理) _terminate()(終了処理) のとおり。主な特長としては、 設定ファイルをスクリプトに統合したため、"読み込みできない場合"への実装上の対処が不要 スクリプトと設定情報が同居するのがアレな場合は、設定情報だけをサブクラス化することも可能(以下の例を参照) 設定情報とコマンドライン引数はいずれも$s
名前 始めに DBIx::Classの流儀 テーブルは結果ソースになる 全ては結果セットである 検索は"prepare"に似ている DBIx::Classを作成する 手動で作成する DBIx::Class::Schema::Loaderを使用する 接続する 基本的な使用法 行を追加・削除する オブジェクトを取得する こちらもご覧ください 原文へのリンク 翻訳者 名前 DBIx::Class::Manual::Intro - DBIx::Class入門 始めに さて、あなたはいいかげんSQLにうんざりしていて、データベース操作のためのネイティブPerlインターフェースが欲しいと思っていませんか?もしくは、しばらくの間Class::DBIを使っていて、これよりももっとよい方法がないかと考えていませんか?あなたは、正しい場所にたどり着いたのです。 DBIx::Classの流儀 ここでは、DBIx
名前 説明 結合とは何か 結合とリレーションシップを定義する 結合を使用する 複雑な結合など 複数のリレーションシップをまたぐ テーブルのエイリアス 自己結合を行う 原文へのリンク 翻訳者 名前 DBIx::Class::Manual::Joining - DBIx::Classでテーブルを結合するためのマニュアル 説明 このドキュメントは、DBIx::Classで結合を大々的に使用して(又は使用せずとも)、通常のSQLをDBIx::Classベースの問い合わせへ変換する際の助けになるでしょう。 結合とは何か ここまで来たものの、結合の何たるかが実際まだよく分からない、という場合は、ここの代わりにDBIx::Class::Manual::Introを読むのも良いかもしれません。結合の何たるかを心得ている場合は、このパートは読み飛ばしてください… ともあれ、ご説明しましょう。あなたが(非)常
名前 CGI::Application::Dispatch - CGI::Applicationベースのオブジェクトへリクエストをディスパッチする 概要 そのまま使う mod_perlで: <Location /app> SetHandler perl-script PerlHandler CGI::Application::Dispatch </Location> 普通のCGIで: /cgi-bin/dispatch.cgiなどのインスタンススクリプトなど: #!/usr/bin/perl use FindBin '$Bin'; use lib "$Bin/../../rel/path/to/my/perllib"; use CGI::Application::Dispatch; CGI::Application::Dispatch->dispatch(); ディスパッチテーブルと一緒に
名前 CGI::Application - 再利用可能なWebアプリケーションを組み立てるためのフレームワーク 概要 # "WebApp.pm"で... package WebApp; use base 'CGI::Application'; # (setup()は一般的には省略可能です。以降のドキュメントを参照してください。) sub setup { my $self = shift; $self->start_mode('mode1'); $self->mode_param('rm'); $self->run_modes( 'mode1' => 'do_stuff', 'mode2' => 'do_more_stuff', 'mode3' => 'do_something_else' ); } sub do_stuff { ... } sub do_more_stuff { ... }
名前 説明 よくある質問 始めたばかり リレーションシップ 検索 データの取得 データの挿入や更新 その他もろもろ CDBIユーザ向けの覚書 原文へのリンク 翻訳者 名前 DBIx::Class::Manual::FAQ - よくある質問(想定問答) 説明 このドキュメントは、ドキュメントに対する逆マップのつもりで書かれています。あなたが何をしたいのか分かっており、しかしDBIx::Classを読んでもどのようにすべきかが分からないという場合は、ここを読んでください。ここにはコードやサンプルはほとんどなく、単に説明や適切なドキュメンテーションへのポインタのみを提供します。 ~にはどうすればよいでしょうか: 始めたばかり データベースを作成する~ まず、データベースを選択します。テスト又は体験目的であるならば、私たちはDBD::SQLiteをお勧めします。これは、小規模のデータベースを含んで
最近、VC++を独学中...。業務に全く無関係で、趣味でぼちぼちとやっているのだが、Visual Studio .NET 2003のテキストエディタは、Vimの快適操作に慣れた身にはとてもしんどいものがある。なんとかならないものか。 いちおう、Visual Studioは外部ツールを登録できるようになっているので、ここにVim(というよりgVim)を登録して、ソース編集だけはVimを使用するようにすると良さそうだ(ただし、IntelliSenseが使えなくなる、という弊害はあるが…)。 早速、以下のページを参考にして、やってみた。 Vim Documentation: if_ole 具体的な手順は、以下のとおり。 1. 「外部ツール」にgVimを登録 まず、Visual Studio .NET 2003の[ツール]-[外部ツール]から「外部ツール」ダイアログを表示し、「追加(A)」ボタンを
ここでは、これまでに私が翻訳したpodの一覧(及びそれらへのリンク)を掲げます。 なお、全ての翻訳物は、読みやすさを優先したため、(私の独断と偏見で)多分に意訳を含んでおります。原文を参照したい場合は、各ドキュメントに原文へのリンクを張っておりますので、そちらをご参照ください。 また、翻訳に誤りがあると思われる場合は、メールにてその旨ご指摘いただければ幸いです。 DBIx::Class - 拡張可能で柔軟性の高いオブジェクト <-> リレーションマッパ (翻訳:2007年7月21日) DBIx::Class::Manual - マニュアルの索引 (翻訳:2007年7月21日) DBIx::Class::Manual::DocMap - ドキュメントには何がありますか? (翻訳:2007年7月21日) DBIx::Class::Manual::FAQ - よくある質問(想定問答) (翻訳
検索 検索結果のページ分け 問い合わせに対して大量の結果が返されることが予想される時は、DBIx::Classに対して結果セットをページ分け(一度に少しずつ取得)するよう要求することができます: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # 取得したいページ番号(デフォルトは1) rows => 10, # ページ毎の件数 }, ); return $rs->all(); # 1ページ目を全て取得する page属性は、検索において必ずしも指定する必要はありません: my $rs = $schema->resultset('Artist')->search( undef, { rows => 10, } ); return $rs->page(1); # 最初の10レコードを含むDBIx::Class
CGI::Application、CGI::Application::Dispatch、CGI::Application::Plugin::Sessionなどを使用して、ログイン・ログアウト、セッション管理などをやってみた。今回はちょっと時間がないので、サンプルも解説もかなり手抜き。 ●ディレクトリ・ファイル構成 $APP_BASEDIR/ - index.cgi (ディスパッチャー) - conf/ - login_sample.conf (設定ファイル) - lib/ - LoginSample.pm (ベースクラス) - LoginSample/ - Authen.pm (認証処理) - Login.pm (ログイン画面表示) - LoginFailure.pm (ログイン失敗画面表示) - LoginSuccessful.pm (ログイン成功画面表示) - Logout.pm (ロ
このページを最初にブックマークしてみませんか?
『rt.air-nifty.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く