ようこそゲストさん

Super Neurotic Junction

メッセージ欄

2009年1月の日記

一覧で表示する

SQLメモ

2009/01/27 15:53 研究課題snjx

MAX関数

data_tableのidに現在入力されている最大値を表示。
select max(id) from data_table;
data_tableのColumn1に登録されているデータで一番長い文字列は何文字か知りたい。
select max(length(Column1)) from data_table;

テスト環境をいじる

2009/01/23 13:33 研究課題snjx
修正モジュールと元のモジュールを入れ替えてがりがりやっていると、絶対途中で間違えてややこしいことになる。
こういう場合の、間違わずにすむ適当なスタイルを開発したい。

手動をできるだけ減らすのが目的。

どういう形がいいだろう。

よくやる行為としては、別環境でコンパイルしたモジュールを本番環境のしかるべき場所にコピーする。旧モジュールがあった場合には基本的に上書きだが、その際、旧モジュールをすぐに元に戻せるように、ファイル名の末尾に日付をひっつけたりして旧モジュールのバックアップを取っておく。
実行モジュールの上書きをする際には、該当するプロセスが実行されていないかどうか確認したりする。
この辺、手動でポチポチコマンドを打っているとどうしても間違えてしまう。間違えて、ひどい目にあってしまう。こいつをどうにかしたい。

課題としては
  • 複数ファイルを指定できる
  • 対象モジュールはデプロイ先をファイルごと個別に指定できる。
  • 指定したディレクトリが正しいかどうか、ファイルが存在しているかどうか確認できる。
  • 旧モジュールのバックアップをワンタッチでできる。
  • 新モジュールのデプロイをワンタッチでできる。
  • バックアップ先、リストア先を指定できる。
  • ワンタッチで新旧の交代ができる。
  • 個別ファイルの、新旧交代がワンタッチでできる
  • できるだけ、実行環境は荒したくない。
  • sshの外部スクリプトなどで実行できないか検討
  • 動作ログをとる。


関連キーワード:Linux,Java,開発,BASH

Javaでデバッグ

2009/01/19 22:28 研究課題snjx

とりあえずリンクを張っておく

あれこれやりながら、自分なりのまとめとリンクの淘汰をやっていく。
想定する状況としては
  • JSPでブレークポイントを張りたい
  • BASHなどで、いつキックされるかわからないバイナリでブレークポイントを張りたい。
jdb - Javaデバッガ

jdbの使い方

リモートデバッグ - EclipseWiki

技術/Java/Tomcat上でJSPをJDBでデバッグとか。


関連キーワード:Java

疑似タグ機能の検討

2009/01/19 16:07 環境snjx

adiaryにてタグ機能を実現したい

…が、どうもそいう機能はないってさ。
ほんというと、分類を複数指定できるといいけど、お手軽な方法はないみたい。
しかし、どんなことにも先達というのはいるもんで、ちゃんとその辺ハックしている人はいた。

カテゴリを整理してみた(adiray疑似タグ対応の方法)

実に簡単で素敵。これこそハック。

ただ、一言付け加えると
 管理→管理メニュー→日記の再構築
を、実行しないと各ページで反映しないかも。
…あー、でもこれは常識かな、もしかすると。


関連キーワード:adiary

ログ出力とログローテーション

2009/01/15 10:25 環境snjx

ログ出力

syslogdとか。/var/logをみると、messageとかのファイルはあるけどサイズがゼロ。
…てか、/etc/syslog.confがないなぁーと思っていたら、CentOS 5 だとrsyslogなんだって。
世の中進んでるねー。
service --status-all で見てみるとstopedになっているので、startしてみた。そしたらちゃんとログはくようになった。おーけーおーけー。

iptablesでログ

たぶん、いろいろパケット飛んできてると思うので。

SSHのアクセスログ

いつ、どこからアクセスがきてるかの監視

apacheのアクセスログ

webのアクセスログ。analogでもいいのか?

その他、各種サービスのログ

将来FTPとか開設した場合に。

起動しているプロセスの監視

ファイル変更の監視

cronによるローテーション

ログがあふれないように。

自前のSBM

2009/01/14 18:03 環境snjx

目的

redmineの各チケットに、タグで串刺し検索したい。
1470やはてブでもできるか知らんけど、仕事ネタだと守秘義務が出てくるからだめね。
自分で作るか、既存のスクリプトを探してくるか。
自分で作ってみたいなぁ…と夢は広がる。

mod_rewrite

2009/01/13 13:10 環境snjx

adiary.cgiを隠したい

モジュールはインストールされているようだけど動いてない?
apache再起動しても反映されてない。なんでだろ。
RewriteEngine on にしてないから? 確認すること。
http://japache.infoscience.co.jp/rewriteguide/
http://blog.dawgsdk.org/weblog/archives/411011
http://bonsara.seesaa.net/article/20053081.html
http://www.nurs.or.jp/~sug/homep/rewrite/rewrite1.htm
動かなかった理由はすごく簡単。
httpd.confで、AllowOverrideがデフォルトでnoneになっていたから。
…ちゃんとチェックしないといけないよねー。

アクセスすると、強制的にhttpsへ飛ばしたい

mod_rewriteならできるはず。
http://www.aconus.com/~oyaji/tips/apache_tips1.htm

2009/01/08(木) アマチュアとプロフェッショナル

2009/01/08 22:23 電波受信snjx
プロとアマの違いって何かというと、仕事の出来不出来とかじゃないと思う。

だって、ソフトウェア業界では、しばしばアマチュア的作り方のソフトがプロプライエタリな製品と互角に張り合ったりどうかすると凌駕したりしている。
じゃあ何が違うのか。

要は、出来上がりに要求されるクオリティを、他人が決めるか自分で決めるかの違いだと思う。

プロは、使用できるリソースに制限があり、出来上がりに一定水準以上が求められる。リソースとは、お金であったり資源であったり労力であったり時間であったり、ね。
決まった予算と期限で、それなり以上のものを提供するのがプロ。予算と期限を決めるのは顧客である他人。出来上がりの水準を決めるのも他人である顧客。

アマも、リソースの制限があるのはおんなじだけど、アマチュアの場合は条件がある程度緩和される。
たとえばお金も資源もあまりないけど、時間だけはたっぷりかけられる、とか。たとえば同好の士をたくさん集めて労働集約してしまうとか。
そのかわり、出来上がりに対する水準も自分で決めるしかない。たいがいの人間は、人に厳しく自分に甘いので、まぁこの辺でいいやという程度の基準でおっけーとしてしまう。だからアマよりもプロのほうが、一般的にすごいとされている。

でもそれは、逆に言えば、基準さえ厳しく出来るならアマチュアでもよいものを作れるということ。

プロと違ってアマには収支をあまり気にしなくていいという利点がある。そういう意味で、プロとアマに上下関係はなく、本来は並列に語られるべきものなのだ。


と、いう電波を受信した。

1: shaker。 『確かに、自分も「プロ仕事」と「アマ仕事」する時が、同じCGでもありますけど、プロ仕事の場合は「きれい速いローコスト」を厳しく求め...』 (2009/02/26 24:31)

2: snjx 『アマチュア仕事は楽しいよねー。』 (2009/03/06 8:53)

ImageMagick

2009/01/06 22:12 環境snjx
画像のアップロードでサムネイルの自動生成ができるらしい。

インストールはyum一発。
[root@vps ~]# yum install ImageMagick

何の問題もなくインストールできたので、画像のアップロードを試してみる。
さて、これは何でしょうの記事ね。でも、これ最初のうちは小さくはならなかった。
どうもperlからImageMagickをキックしていないくさい。
さらにyum大活躍。
[root@vps ~]# yum install ImageMagick-perl
で、ご覧のとおりサムネイルが作成されるようになりました。
しかし、クリックした後もサムネイルが開いちゃうんだよな。これ、表示はサムネイルでクリック一発で実物が開くようにはならんかな。


関連キーワードyumImageMagick

2009/01/06(火) さて、これは何でしょう

2009/01/06 21:16 未分類snjx
はてさて。このおはぎのごときものは、いったいなんでしょうか。

P1031642.JPG

続きででっかくなります。

続きを読む

SSLでオレオレ証明書発行

2009/01/05 23:58 環境snjx
仕事場からいろいろblogに悪さ書きする場合、気になるのはサイトバレ。
いまどきはどこの事業所も外のサイトに接続する場合はログをとっている。いろいろあるからね。
ログとられることに別に不満はないけど、書いている内容がばれちゃうのはちょっと嫌。

てことで、通信経路の暗号化を実施。


Apache+SSL環境を構築しよう(ThinkIT)を参考に

インストールはyumが動くので簡単
$ yum -y install mod_ssl
opensslが動いているかどうか確認。バージョンの出力があればOK
$  openssl version
秘密鍵の作成場所へ移動。httpdのconfigへ作る。
$ cd /etc/httpd/conf/
秘密鍵作成。genrsa RSA形式の秘密鍵作成 des3方式で暗号化 1024bバイトで生成。パスフレーズを求められる。
$ openssl genrsa -des3 1024 > server.key
reg CSRファイルの作成 -new 新規で -key キーファイル
$ openssl req -new -key server.key > server.csr
X.509形式のデジタル証明書の作成 -in CSRファイルを指定 -days 365日有効 -reg 入力ファイルはCSR -signkey 秘密鍵を指定
$ openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
以下は、httpdの再起動ごとにパスフレーズの入力を求められないようにするための処置。
まず秘密鍵のバックアップを作成。
$ cp -p server.key server.key.bkup
以下のコマンドで、秘密鍵のパスフレーズを解除。
$ openssl rsa -in server.key.bkup > server.key
で、httpdを再起動する。
$ service httpd restart
iptablesのhttpsをあけておくと吉。
$ iptables -L で確認
・
・
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:pcsync-https ←こんな行があればOK
・
・
https://snjx.info/でアクセスすると認証でエラーが出るけど、そこんとこはなんせオレオレ証明書だし、まぁ、それはそれなりに対処します。


関連キーワード:yum,ssl

yumのインストール

2009/01/05 22:44 環境snjx
もとからrpmはちゃんと動くんだけど、あれこれ探しながらインストールするのは面倒なのでyumをインストールしとこうと思った。
これ入れとくと、後々面倒が少ないと思う。

rpm探し

で、ちょっとぐぐってみて、このへんとか参考に、このあたりから必要なrpmを探す。
で、まず展開する場所(/usr/local/src/yumrpm/)を作成しとく。その上で、wgetで必要なファイルを持ってくる。対象のrpmファイルはこんな感じ。
python-elementtree-1.2.6-5.i386.rpm
python-iniparse-0.2.3-4.el5.noarch.rpm
python-sqlite-1.1.7-1.2.1.i386.rpm
rpm-python-4.4.2-48.el5.i386.rpm
python-urlgrabber-3.1.0-2.noarch.rpm
yum-metadata-parser-1.1.2-2.el5.i386.rpm
m2crypto-0.16-6.el5.2.i386.rpm 
ぜんぶ持ってきたら、rpm -ivh で各rpmファイルをインストールする。これで、インストールが難なく成功しちゃうんだよなぁ。

ここでですね、ためしにyumを実行してみるんですよ。
yum update
とか、やってみるとですね。なんかpythonのモジュールが動かないので実績のあるやつをインストールしてくださいな、なんていって叱られるのだ。これが困った。まったく困った。

正解

いや、まぁ、結論から言うと、俺の思い込みだったんだけどね。
unameコマンドで見てるとさ、CPU違うんだよね。
[root@vps ~]# uname -p
x86_64
…i386じゃなくて、x86_64。64bit版じゃないの。

いや、もうなんていうか。

けっきょく、とってくるべきurlはこのあたりではなく、こっちなのであった。
したがって、wgetコマンドとrpmでのインストールはこんな感じ。
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/rpm-python-4.4.2-48.el5.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/m2crypto-0.16-6.el5.2.x86_64.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
wget http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/x86_64/CentOS/yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
rpm -ivh rpm-python-4.4.2-48.el5.x86_64.rpm
rpm -ivh m2crypto-0.16-6.el5.2.x86_64.rpm
rpm -ivh python-urlgrabber-3.1.0-2.noarch.rpm
rpm -ivh yum-3.2.8-9.el5.centos.1.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
これでちゃんとyumが動くようになりました。
めでたしめでたし。


関連キーワード:yum,rpm
  • ruby Super Neurotic Junction snjx
    ■ rubyのインストール単純に[root@vps ~]# yum install rubyで、[root@vps ~]# ruby -vruby 1.8.5 (2006-08-25) [x86_64-linux]となった。そろそろ1.9が出ようという(も...

VIMで日本語表示

2009/01/05 19:40 環境snjx
とりあえずVIMは動くようだけど、設定が何にもないんで、日本語が化けちゃう。
で、ログインした直後のカレントディレクトリに以下のファイルを設置。
ポイントは set encoding=japan の行。
[root@vps ~]# pwd
/root
[root@vps ~]# cat .vimrc
syntax on
set encoding=japan
set fileencoding=japan
set fileencodings=iso-2022-jp,utf-8,euc-jp,ucs-2le,ucs-2,cp932
[root@vps ~]#

やったことをメモ

2009/01/05 12:00 環境snjx

はじめに

ここにはやったことをメモしておく。
VPS仮想専用サーバー 1stレンタルサーバーを借りたけど、ほとんど空っぽの状態だったので、いろいろ手がかかる。
備忘録と今後の参考のために。

下記 記事リスト からジャンプ。

記事リスト

2009/01/01(木) いまここに華麗に復活!

2009/01/01 14:30 ごあいさつsnjx
ちするめん、ちするめん
このかみをみつにおりてかみのごぜんのかみなれば
ちするめんというなり
(息を3回かける)
これを3回繰り返して、血止めのおまじないとする。

1: ぽんずー 『華麗に復活おめでとうございます。 今年もよろしくです。』 (2009/01/01 25:32)

2: snjx 『おとと。さっそくどうも。 こちらこそよろしくご愛顧のほどを』 (2009/01/01 25:57)