主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

Ruby on Rails on CentOS 5

新しくアプリケーションのネタが浮かんだので、せっかくだから ruby on Rails でやってみようと思いとりあえずセットアップまでしてみた。
今回は CentOS 5 だけど、サーバは 4 なので、そちらもセットアップしたら違いを追記する予定。
とりあえず、 RPM パッケージでセットアップできるものは以下のとおり。

ruby
ruby-devel
rdoc
mysql
mysql-server
mysql-devel
and dependencies.
もっと読む

QuickForm で複数項目を必要とする custom validation rule の作成

HTML_QuickForm_Rule クラスを継承したクラスを定義し、その validate 関数を加工してやればできます。
よく使う年月日を別々のテキストボックスで入力させてチェックさせたい場合などを例にします。

class IsDateExist extends HTML_QuickForm_Rule {
	function validate($value) {

		for ($i = 0; $i <= 2; $i++) {
			if (! ereg ("^[0-9]+$", $value[$i])) {
				return false;
			}
		}
		return ( checkdate($value[1], $value[2], $value[0]) );
	}
}

PHP Smarty で文字列の連結をするには

|cat: を使ってやります。
例えば $str1 と $str2 をくっつけて間に "_" をいれて $str3 を連結したい場合を例にすると。

value = {$str1|cat:$str2|cat:"_"|cat:$str3}

Linux でファイルをシンクする

Linux でファイルの同期を取りたい場合があります。
例えば /home/user/dev/websrc/* と /var/www/html/* を同じ状態に保ちたい場合です。
シンボリックリンクを張るのも一つの方法ですが、同期にはなってません。
ここでは rsnyc を使います。

$ rsnyc -avzr /home/user/dev/websrc/* /var/www/html/

.NET で Exe 形式のファイルを出力する Exe を作る

zip ファイルなどを圧縮した際に、自己解凍形式のファイルを出力するソフトとかあるじゃないですか。
あんな感じで exe ファイルを生成するソフトの .NET 版を作ってみたいなと思い、色々リサーチしてみたので、その時のメモ。
実は .NET には CSharpCodeProvider というとんでもないクラスが存在しているので、これを使ってみました。
今回開発した EnjoiCrypto にもこのテクは使っています。
一応環境。

.NET Framework 1.1/Mono 1.2

もっと読む

.NET C# File/Directory tips

.NET C# のファイル、ディレクトリ操作関連のチップスです。
もっと読む

.NET C# String tips

.NET C# のファイル、文字列操作関連のチップスです。
もっと読む

mono で C# .NET 2.0 向けコードのコンパイル

SVN から mono を取り出して Linux-Windows Cross-platform アプリを作ってるんだけど、ソースコードのコンパイルではまったので、むかつきがてらメモ。
mono の C# のコンパイルは mcs だっていうのは知ってたんだけど、どうやっても 2.0 対象のクラスとかもろもろがうまくいかない。
で、小一時間悩んだ挙句、 2.0 向けのコンパイラはそもそも gmcs だということが判明。

$ gmcs EnjoiXXXX.cs
Compilation succeeded - 0 warning(s)
できた。。

CentOS 5 で Eclipse で SVN を行う

Linux で svn コマンドをいちいち打つのが段々めんどくさくなってきたので、 Eclipse をいれて Subversion plugin の Subclipse をインストールしてみた。
subclipse.tigris.org
その時のメモ。


もっと読む

PHP で BASIC 認証もどきを実装する

このブログを作成している際に、特定の記事だけ簡単な認証を行いたかったので、 PHP で BASIC 認証 っぽいことをやってみた。
実装は簡単で、ユーザが BASIC 認証を行った場合 PHP_AUTH_USER と PHP_AUTH_PW 環境変数にその際のユーザ名とパスワードが復号化されて格納される。
これを PHP で認証して、違ったら 401 エラーを返せばいいだけ。

$signin = false;

if (isset ($_SERVER['PHP_AUTH_USER']) &&
    isset ($_SERVER['PHP_AUTH_PW']))
{
    if ($_SERVER['PHP_AUTH_USER'] == 'masaki' && 
        $_SERVER['PHP_AUTH_PW'] == 'password')
    {
        $signin = true;
    }
}

if (! $signin)
{
    header('WWW-Authenticate: Basic realm="Enjoi Blog"');
    header('HTTP/1.0 401 Unauthorized');
    print "Error 401";
    exit;
}

Windows(Visual Studio) から svn+ssh

Visual Studio + PuTTY + TortoiseSVN + AnkhSVN でフリーな GUI svn+ssh 環境を構築してみた。
前回で svn+ssh 環境を構築して Linux からは svn コマンドで簡単にアクセスできるようになったんだけど、
肝心の Windows からのアクセスがまだできてなかったのです。
Subversion の構築メモはCentOS に Subversion を導入するを、 svn+ssh 環境の構築メモはCentOS で svn+ssh 環境の構築を参考。


もっと読む

CentOS で svn+ssh 環境の構築

次回の CentOS に Subversion を導入する では単純に over http の SVN 環境を導入したけど、
実際にソースを公開して、一方でソースを更新するにはアクセス制限をしとく必要がある。
今回は svn+ssh を構築して、 ssh アクセスでの更新のみを許可する環境を作ってみた。


もっと読む

CentOS に Subversion を導入する

最近 Linux と Windows を交互に切り替えて使ってるので、共有レポジトリでバージョン管理したいなと思い、
SVN をセットアップしてみた。そのときのメモ。
ただなんか色々調べてると Mercurial というのが結構あついみたいだね。
Mercurial - Mercurial
Windows から使いづらそうだったのでパスしたけど。


もっと読む

CentOS 5 で DAG(rpmforge) の yum repository 追加

DAG(rpmforge) は redhat 及び fedora 向けの追加パッケージ群です。
DAG
これのレポジトリを CentOS 5 の yum に追加しておけば、 CentOS でもほぼ完全に使用できます。
レポジトリに追加するには以下の URL から追加用の rpm を取得してインストールするだけです。
rpmforge
RPM は Redhat 5 用のやつなので、

rpmforge-release-x.x.x-x.el5.rf.yyy.rpm

になります。
もちろん CentOS 4 とかなら Redhat 4 用のやつになるので、 el4 というやつを使ってください。
これをインストールすると /etc/yum.repos.d/ 配下に rpmforge.repo が追加されて、 yum を実行した際の検索対象になります。

# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
追加パッケージはかなり豊富。ちなみに livna との関連は知りません。

PHP の Session を複数ドメインで共有する

例えば www.enjoitech.jp と blog.enjoitech.jp でセッションを共有したい場合は、 php のコードの session_start () 関数の前に、 session_set_cookie_params() でクッキーの影響範囲を enjoitech.jp にしてやることができる。

session_set_cookie_params (0 , '/', 'enjoitech.jp');
もしくは php.ini で
session.cookie_domain "enjoitech.jp"
でも可能。

Linux で共有ファイルをマウントする

Windows の共有フォルダをマウントするには、

smbfs を OS がサポートしているなら、 mount コマンドで windows の共有フォルダをマウントできる。

$ mount -t smbfs -o username=hoge,password=hoge01 //192.168.0.100/pub /mnt/smb
fstab に書く場合は以下のようにする。
//192.168.0.100/pub    /mnt/smb    smbfs   noauto,username=hoge  0 0

ただ GUI から参照するなら最近の Linux は Network Servers メニューから Windows Network がのぞけるので、ほとんど Windows と同じ感覚で使えますね。

Postfix のメールキューを削除するには

どうしようもない不要メールがキューに溜まってしまうことがあります。
この場合は postsuper コマンドを使用して削除できます。
postfix のメールキューは /var/spool/postfix/ 配下のディレクトリにそれぞれの意味合いごとに溜まります。
例えば deferred のメールを全部削除したい場合は以下のコマンドを実行します。

# postsuper -d ALL deferred

CentOS 5 の totem で WMV などを再生する

totem は gnome 標準の動画再生ソフトで、 CentOS 5 にも標準でインストールされてます。
これ実は backend で gstreamer か xine を使用して再生するようになってるんだけど、
標準の gstreamer のプラグインは WMV とか AVI, FLV とか全然再生できない。
これを xine 向けの totem でパッケージングしなおして、インストールして動画を再生できるようにしてみた。


もっと読む

CentOS 5 で RealPlayer をインストールするには

リアルプレイヤーを CentOS5 にインストールするには、 compat-libstdc++33 を入れる必要があるらしい。 libstdc++ のバージョンが 6 でリアルプレイヤーは 5 を要求するから。

# yum install compat-libstdc++*

次に以下のサイトでインストール用のバイナリをダウンロードしてインストールする。
RealPlayer for Linux

# chmod 755 ./RealPlayer10GOLD.bin
# ./RealPlayer10GOLD.bin

PostgreSQL でシーケンスキーを操作する

新たにレコード INSERT 時に、シーケンスキーの次の値を特定の項目にセットする場合は以下のように行う。

INSERT INTO TBL_NAME VALUES (nextval ('seq_name'), 1, 2);

また、その結果インクリメントされたシーケンスキーの値を参照するには

SELECT currval ('seq_name');

さらに、シーケンスキーの値を設定しなおしたい場合は、

SELECT setval ('seq_name', 10);SELECT setval ('seq_name', 10, false);

となり、前者は nextval の結果が 11 となり、後者は 10 となる。

ページ: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank1, rank2, rank3, rank7, rank9, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google