サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.himajin2001.com
C++で変数が不変である事を宣言するconstというものがありますが、良く見ると2通りの書き方があることがわかります。 そして、それによって効能が変わってきます。 ここでは「Hoge」はclass名だとします。仮に下記のようなヘッダーを持つとします。 class Hoge { public: // コンストラクタ Hoge(std::string& rName); // デストラクタ ~Hoge(); // オブジェクトの状態を変更しないメソッド void methodA() const; // オブジェクトの状態を変更するかもしれないメソッド void methodB(); private: 〜省略〜 } クラス名の前にconst const Hoge* pPointer; これは「pPointerが指すオブジェクトHogeが不変である、不変でなくてはならない」という意味になります。 実
技術的雑談-LinuxのOnlineでのDisk追加 環境 RedHat Enterprize Linux 3 Advance Server (RHEL3AS) マシンはVMware上に構築 DiskはSCSIとして接続 目的 オンラインのままDisk追加を行い、OSにファイルシステムとしてマウントする 但し書き 本来的な話をすれば、オンラインでのDisk追加というのはLinuxの運用としては例外的なものであり、外道的なものでもある。 ただ、実際、運用をしているといつの間にか既存ファイルシステムを食いつぶしてしまい、にっちもさっちもいかなくなってしまうこともある。 ひどいときにはShutdownが失敗してしまうという場合もありうる。 (アプリケーションがオンメモリの情報をDiskに書き落とさないとShutdownしないような類のものだったりする場合もある。Oracleとか。) そういった場
バッチファイル(*.bat)の中で実行完了を待たないで次のコマンドを実行したい。 (例えば、Javaのrmidとかrmiregistryみたいに、実行した後帰ってこないコマンド複数をバッチで起動したい) 対処 UNIXのShellでコマンドのバックグラウンド実行をしたいときにはコマンドの最後に「&」を付けますが、 Windowsのバッチでは「&」をつけると文法エラーになります。 代わりに、「start」というコマンドが用意されていて、 start 実行したいコマンド とやると、バックグラウンド実行されます。 DOS用のコマンドを実行するとDOS窓が開きますが、それは最小化状態で実行するオプションをつければ(多少は)目立たなくなります。 履歴
VMware Playerで何気なく3.xから4.0.0にupgradeしたら、今までVM Netの設定に使っていた「vmnetcfg.exe」が動かなくなった。 (元からそんなに表に堂々とアナウンスされているツールというよりは、Program Filesに置かれているだけでスタートメニューにも登録されていなかったけど…。) どうも、v4.0.0になって.dllの構成か何かが変わったらしく、vmnetcfg.exeそのものが立ち上がらない。 と、いうよりは、むしろ3.x→4.0.0のupdaterが「削除し忘れた」とういうのが真相だろう。 環境 Windows XP SP3 32bit VMware Player 3.1.4 → 4.0.0にVMware Playerのススメに従ってupgrade 現象 C:\Program Files\VMware\VMware Player\vmnet
C/C++でプロセスの作成、起動、後処理のおおまかな流れは次のようになります。 fork()を呼び出し、自プロセスを複製する 複製したプロセス(子プロセス)でexec*()を呼び出し、実行イメージ(プログラム)を読み込み、実行する 子プロセスの実行が完了する。(子プロセスがexit()で終わる) 子プロセスがゾンビプロセスとなる 親プロセスでwait*()を呼び出し、子プロセスのリターンコードを受け取る。子プロセスのゾンビは開放される。 自プロセスの複製 Linuxでは基本的に「自プロセスを複製する」事でしかプロセスを生成できません。 fork()を実行すると、その時点の自プロセスが複製され、複製されたプロセス(子プロセス)でも同じ場所からプログラムの実行が始まります。 fork()直後はプログラミング的には自分が親プロセスなのか子プロセスなのか判断しなくてはなりません。 それはfork(
ポインタを配列やvectorで管理している時にSIGSEGV(不正アクセス)発生 vectorの末尾方面に入っているポインタ変数をdeleteした時に、プログラム終了時に不正アクセス。 vector実体をコピーしたのに中身にアクセスすると不正アクセス。 原因 同じクラスの複数のインスタンスをvectorや配列に入れて管理する事はよくある話で、SIGSEGVで墜ちるのもよくある話なので、その原因のヒントをば。 ポインタ配列は主にCで使う話なので今回はvectorで。 往々にしてこんなコードを書いてしまったりします。 std::vector<Hoge*> vecHoge; …… Hoge* pPointer = new Hoge(); // Hogeの新しいインスタンスの作製 vecHoge.push_back(pPointer); // vectorの最後に今作ったHogeインスタンスを追加
【環境】 CentOS 5.5 (2.6.18-194.3.1.el5.028stab069.5 #1 SMP Tue May 18 17:48:31 MSD 2010 i686 i686 i386 GNU/Linux) Apache httpd 2.2.3 OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 【目的】 自前サーバ環境でSSLを試す。 【手順】 (1) 関連パッケージのインストール SSL関連のrpmが入っていること # rpm -qa | grep ssl openssl-0.9.8e-12.el5_5.7 mod_ssl-2.2.3-43.el5.centos.3 (2) 自己署名CAの構築 CA(認証機関)というのは別に「CAサーバー」があるわけじゃない。 「俺が誰だか証明してくれ!」という対象に対して、「私はXXをXXと認めます」とハンコを押
著者:Drew Mazurek 協力者:Susan Bramhall, Howard Gilbert, Andy Newman, Andrew Petro Version:1.0 リリース:2005/05/04 Copyright 2005, Yale University (翻訳:Tsubasa Sakamoto http://www.himajin2001.com/ 2010/07/01) 0.免責 ※本章(「0.免責」)は原文には無い、本翻訳文書(以下、本文書)の翻訳者による追記です。 この翻訳文書は「CAS Protocol」(http://www.jasig.org/cas/protocol)についてのTsubasa Sakamotoの個人的な翻訳物です。 本文書によって被る一切の不利益について翻訳者はその責を負わないものとさせていただきます。 また本文書に関する問い合わせについ
Linuxでは「loop device」というものが用意されています。 これはファイルなどがアタッチされることによって使用可能になる擬似デバイスです。 FreeBSDで言うところのvnconfigコマンドのようなものです。(今はmdconfigだっけか?) linuxのloop deviceは/dev/loop*に0から始まる番号で存在します。 まず、イメージファイルを作成します。 仮にフロッピーと同じ大きさのディスクイメージが必要な場合、ddコマンドなどでその大きさのファイルを確保します。 $ dd if=/dev/zero of=''/some/where/in/filesystem''/test.img bs=1024 count=1440 ※ ブロックサイズ、カウントは適当ですが、1.4MBより小さいとmsdosフォーマットはできないようです。 次にloopデバイスに関連付けます。
正直なところあまり詳しい事は知らないのですが…。 従来のWindowsNTのDomainの概念を拡張したアカウント統合ソリューションだと思えば大体あっているんじゃないかと思います。 Windows2000Serverあたりから「ActiveDirectory」というものが出現したようです。 ActiveDirectoryの特徴として、 従来のドメインを階層構造的に構築する「フォレスト」という概念が導入された。 ActiveDirectoryサーバに対してLDAPでアクセスができるようになった。 LDAPを通してドメイン(?)内のユーザ、グループ、ポリシーなどが参照・設定できるようになった。 というものがあります。 (と、いうか、私はここまでしか知りません…。) このページでは主に一番下のLDAPを通してユーザ、グループを作る方法と、それらの配置位置を分ける(ou:Organizatinal
SyslogにLogを出力するコマンドです。 Linuxコマンドプロンプト上で「logger log_test_message」を実行 /var/log/messages上に May 13 09:53:59 sub ahouser: log_test_message が出力される 同じく「logger -i log_test_message」を実行 /var/log/messages上に May 13 09:57:55 sub ahouser[15055]: log_test_message が出力される。(loggerのPIDが[ ]内に記録される) 同じく「logger -s log_test_message」を実行 /var/log/message上に May 13 10:16:06 sub ahouser: log_test_message が出力される 同時に、標準エラーにも M
OS:FreeBSD5.4、Fedora Core3、White Box Linuxなど shell:bash いや、多分Unix系のshellならどれでもだと多分思う。 現象 Shell Scriptを起動すると : bad interpreter: そのようなファイルやディレクトリはありません と、出てきてShellが動かない。 場合によると、lessやcatで表示しても何も異常は無い。 もしくは、全ての行末に「\」が付いていたりする。 Windows上で編集していたりする。 samba経由でFileをUnixに送っている。 FTPクライアントで「テキスト/バイナリー」モードの設定を「オート」で送信していたりする。 原因
VMWare Server 2.0をインストールするとPCの立ち上げに時間がかかる 常時VMWare分のメモリを食うのが気に食わない 手順 VMWare Server 2.0.xをインストールするとデフォルトでいくつかのVMWare関連のServiceがInstallされ、OS起動時にStartされるように設定される。 しかし、VMWareの本体と一緒にWeb GUI用のTomcatなども起動され、OSの立ち上がり時間が余計にかかるようになる。 メモリーもいくらか食う。 しかも、VMWareの起動と同時にGuest OSが起動するような設定にしてあると益々OSの起動時間が長くなる。 そこで、VMWare Server用のServiceをOS起動時に自動起動されないようにし、VMWareを使いたいときにServiceを起動するようにしてやる。 Serviceの自動実行の停止 以下のWindo
VMWare Server 2.0から、従来の.exe形式のコントロールセンターではなくWeb経由のWebアプリケーションでVMの操作を行うようになった。 これはこれで賛否両論あるところだが、まあ、そういうものだから仕方がない。 Linux版のVMWare Server 2.0ではコマンドラインからVMを操作するvmware-vim-cmdとかvmware-vimshなどというコマンドがあるが、Windows版では同名のコマンドは無いようだ。 が、VMWare Serverのインストールディレクトリ(デフォルトだと「C:\Program Files\VMware\VMware Server」)にvmrun.exeというコマンドがあり、これがvmware-vim-cmdの代わりになっているらしい。 基本的な使い方
CGI::ApplicationはperlでのCGI作成を簡略化するためのフレームワークです。 プラグインによって拡張する事が可能で、ページ遷移を伴った「Web Application」を割りと簡単に作る事ができます。 CGI::ApplicationはCPANに収録されているため、「perl -MCPAN -e shell」とすることによって半自動Installをすることもできます。 (今回はCPANを使わず自力展開+Installを行いましたが、その手順を記録忘れました。再現出来次第掲載するつもりです。) CGI::Applicationはperl moduleとして作られています。 やりかた 今回は下記URLの記事の内容を元にCGI::Applicationのサンプルプログラムを作成し、稼動させ、さらに参照元ではFormのHidden要素で渡していたデータをSession化してみた。
このClassはJavaとDBとのデータのやり取りに使われます。 「このClassの1インスタンスがDBの1レコードにあたる」と思っていれば大体正解でしょう。 Java→DBも、DB→JavaもこのClassを仲立ちとしてデータのやり取りが行われます。 package test; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; /** * */ @Entity public class Person implements Serializable { /** * */ private static final long se
psql(.exe)はPostgreSQL標準添付のコマンドラインコマンドです。 PostgreSQL DBに接続してSQLやその他の制御コマンドを投入できます。 psqlでのDatabase自動ログイン方法 まず、psqlをバッチ上で自動ログイン可能な状態にしないとなりません。 psqlを使おうとしているUnix(Windows)ユーザのホームディレクトリ(Windowsの場合は、そのユーザの${APPDATA}ディレクトリ。普通はC:\Documents and Settings\ユーザ名\Application Data\)に.pgpass(Windowsの時はpgpass.conf)というファイルを置き、 DBホスト名:ポート番号:DB名:DBのユーザ名:パスワード (*とかのワイルドカードも指定可能です) 例) localhost:5432:template1:postgres:
ターゲットの操作はターゲットが稼動しているマシン上で「tgtadm」コマンドで行います。 # tgtadm --lld iscsi --mode target --op show # (→何も表示されないのが正解) tgtdが起動していない場合はエラーが出る。 tgtadm: can't connect to the tgt daemon, Connection refused tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected ターゲット・バックエンドの作成 iSCSI経由で公開するDiskを作ります。 NFSとかFTPとかとの違いを明確にする為にあえてファイルシステムを作成しない(mkfsしない)でターゲットを公開してみます。 ここでは公開するディスク(バックエンド)
使用OS:CentOS 3.5 httpd:Apache 2.0.46(多分2.0.xだったら大丈夫) JDK 1.5.0_10 Apache tomcat 5.5.17 mod_jk(tomcat-connector) 1.2.20 複数のTomcatを立ち上げてmod_jk経由でロードバランスさせるが完了していること。 目的 Tomcat5.5の複数のインスタンス間でWeb ApplicationのObjectを共有し、フェイルセーフなClusterを作る。 今回の完成版の構成図は以下のようになります。 ┌――――┐ httpリクエスト→ │ Apache ├―――┐ 処理を依頼 ┌――――┐ | |mod_jk|―――――→| Tomcat1| httpレスポンス← | | |←―――――| | | | | 結果を返す └――――┘ | | | ↑ | | | SessionなどのO
EPICはEclipse上でPerlの開発をするためのプラグインです。 エディター上でのPerlの文法チェックや、Perlのデバッグなどもできるようです。 EPICのダウンロード&インストール http://e-p-i-c.sourceforge.net/ から、EPICをダウンロードします。 取ってきたファイルを展開し、普通のプラグインのようにEclipseのフォルダに上書き解凍するだけです。 又は、EclipseのUpdate Managerに URL: http://e-p-i-c.sf.net/updates を入れて自動セットアップさせてもいいでしょう。 ActivePerlのInstall http://www.activestate.com/ から、Windows版のActivePerlをダウンロードします。 .msi形式になっているほうが楽です。普通にインストーラーとして動
mod_jkとは、ApacheやIISなどとTomcatを連携させる為のConnectorです。 Tomcatは単体でWeb Serverとしての機能ももっていますが、Apache httpd程の(Web Serverとしての)パフォーマンスや安全性、細かい設定はできないと言われています。 (すいません、私はテストしていません。) そこで、一般的に公開するサイトではWeb Serverとしての機能をTomcatに持たせるのではなく、Apache httpdに持たせ、JSP・Servletの処理をTomcatに行わせるのが一般的なようです。 ここでhttpdとTomcatを仲立ちするのがmod_jkです。 ┌――――┐ httpリクエスト→ │ Apache ├―――┐ 処理を依頼 ┌――――┐ | |mod_jk|―――――→| Tomcat | httpレスポンス← | | |←――――
使用OS:CentOS 3.5 httpd:Apache 2.0.46(多分2.0.xだったら大丈夫) JDK 1.5.0_10 Apache tomcat 5.5.17 mod_jk(tomcat-connector) 1.2.20 mod_jkを使ってTomcatとhttpdを連携するが完了していること。 目的 1つのサーバ(OSインスタンス)上で複数のTomcatインスタンスを立ち上げる。 mod_jkの機能を使い、複数のTomcat(JSP/Servletエンジン)を1つのhttpdから公開する。 今回の完成版の構成図は以下のようになります。 ┌――――┐ httpリクエスト→ │ Apache ├―――┐ 処理を依頼 ┌――――┐ | |mod_jk|―――――→| Tomcat1| httpレスポンス← | | |←―――――| | | | | 結果を返す └――――┘ | |
このページを最初にブックマークしてみませんか?
『www.himajin2001.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く