ようこそゲストさん

Super Neurotic Junction

メッセージ欄

ID『snjx』で検索

rails

2009/05/18 17:03 環境snjx
これは簡単。

rubyに記述したとおり、yumコマンド一発でOK。

bashの操作ログをとる

2009/01/13 13:09 環境snjx

とりあえずコマンドは

scriptコマンドでいいみたい。
ログローテーションと圧縮の自動化は必要ですな。
あと、ログインとログアウトの時間と。
あーでも、当面は手動でやるか…。

クライアントのローカルでログを取る方法(teraterm編)。

たとえばteratermとかで、手元のPCにログを取りたい場合は以下のようなVBスクリプトを用意しておいて、そこからteratermをキックするようにするとよろしかろうと思う。
フォルダ"D:\work\ttermlogs\"を作っておくと、そこに日付と起動時間で名前を作ったログファイルができているはず。いちおうとりっぱぐれはない。
Dim WshShell, AppName, oExec, NowTime, LogPath, LogName

'Get current date and time
NowTime=Now

'Set log file, YYYYMMDD-HHMMSS.log style
LogPath = "D:\work\ttermlogs\"
LogName = LogPath & Year(NowTime) & "." & Month(NowTime) & "." & Day(NowTime) & "-" & Hour(NowTime) & "." & Minute(NowTime) & "." & Second(NowTime) & ".log"

'Set application command line
AppName = "C:\Program Files\teraterm\ttermpro.exe" & _
" /L=" & LogName

'Startup TeraTerm program
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(AppName) 

2009/03/19(木) ロケットパンチ

2009/03/19 10:07 電波受信snjx

ロケットパンチとぐぐると、スポンサーリンクにすげーこと書いてある。


ロケットパンチ
無料で国内配送 (1500円以上のご注文)
関東なら即日配送も
Amazon.co.jp

ロケットパンチの画像検索はさらにすごい。

ロケットパンチ
ロケットパンチをさらに安く
関東なら即日配送も
Amazon.co.jp

やすくなるんだって!
まぁ消耗品だしね。

さすがAmazon。世の中進んでいるな。

1: shaker。 『なんか「V・G猫ロケットパンチグローブ」ってのが気になったワタクシ。萌ゆる〜♪ってことで。』 (2009/03/21 23:42)

2: snjx 『うん、まぁ。 人の趣味には特に文句をつける気はありませんが、ヴァリアブル・ジオってエロゲですぜ。 http://ja.wikip...』 (2009/03/23 18:21)

3: shaker。 『ただ単にヲタグッズとして「萌え〜」なのかと思いきや得炉毛でしたか!V・Gとかって略すなよっ!! シューティングゲームとかバーチャ...』 (2009/03/25 26:18)

2009/02/20(金) タグクラウドの位置

2009/02/20 11:20 電波受信snjx
検索していて思いついたけどさ。

よく、タグクラウドってあるじゃん? あれ置くのはトップページに限定してほしい気がするな。
なんかいらんところで引っ掛かるような。

ruby

2009/02/16 24:12 環境snjx

rubyのインストール

単純に
[root@vps ~]# yum install ruby
で、
[root@vps ~]# ruby -v
ruby 1.8.5 (2006-08-25) [x86_64-linux]
となった。そろそろ1.9が出ようという(もう出た?)このご時勢にちとふるい気もするけど、追求するよりは手間の少ないほうを選ぶし。

rubygemsのインストール

これがまた単純とは行かなかった。
最初は手間を省くというコンセプトのもと、yumで無事にインストールできたけど、無事だったのはここまで。
実行してみるとなんだか途中で止まってしまう。

どうも、yumで突っ込めるrubygemsのバージョンではスワップを設定してないとうまく動かないらしい。

ちっとぐぐると、どうも最新版では問題ないようなのでrubygemsの本家から最新版を持ってくる。
本日の時点で、バージョンは 1.3.1 。

適当にディレクトリを掘って、そこへtar玉をwget。んで解凍しsetupという手順。

[root@vps ~]# mkdir DL
[root@vps ~]# cd DL
[root@vps DL]# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
[root@vps DL]# tar xvfz rubygems-1.3.1.tgz
 ・
 ・
 ・
[root@vps DL]# cd rubygems-1.3.1
[root@vps rubygems-1.3.1]# ruby setup.rb
 ・
 ・
 ・

RubyGems installed the following executables:
        /usr/bin/gem

If `gem` was installed by a previous RubyGems installation, you may need
to remove it by hand.


こんなんでOK。ちゃんとgemが動くようになった。
[root@vps rubygems-1.3.1]# gem update
Updating installed gems
Nothing to update
で、ここで、ためしにRuby On Railsをインストール。
[root@vps rubygems-1.3.1]# gem install rails
Successfully installed rake-0.8.3
Successfully installed activesupport-2.2.2
Successfully installed activerecord-2.2.2
Successfully installed actionpack-2.2.2
Successfully installed actionmailer-2.2.2
Successfully installed activeresource-2.2.2
Successfully installed rails-2.2.2
7 gems installed
Installing ri documentation for rake-0.8.3...
Installing ri documentation for activesupport-2.2.2...
Installing ri documentation for activerecord-2.2.2...
Installing ri documentation for actionpack-2.2.2...
Installing ri documentation for actionmailer-2.2.2...
Installing ri documentation for activeresource-2.2.2...
Installing RDoc documentation for rake-0.8.3...
Installing RDoc documentation for activesupport-2.2.2...
Installing RDoc documentation for activerecord-2.2.2...
Installing RDoc documentation for actionpack-2.2.2...
Installing RDoc documentation for actionmailer-2.2.2...
Installing RDoc documentation for activeresource-2.2.2...
[root@vps rubygems-1.3.1]#

一発で完了。

その他いろいろインストール

で、まぁ、実はこれはredmineを使いたいがための布石その1だったりする。
この辺を参考に必要なやつをインストールしていく。
[root@vps rubygems-1.3.1]# gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install sqlite3-ruby
can't find header files for ruby.


Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
あ、あるぇ〜?

調べてるとどうも、SQLiteでまだ足りないものがあるらしい。
開発用のライブラリが足りないのか。

[root@vps rubygems-1.3.1]# yum -y install sqlite-devel
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * extras: repos.lax-noc.com
 * updates: repos.lax-noc.com
 * base: repos.lax-noc.com
 * addons: repos.lax-noc.com
extras                    100% |=========================| 1.1 kB    00:00
updates                   100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
Setting up Install Process
Parsing package install arguments
Package sqlite-devel - 3.3.6-2.x86_64 is already installed.
Resolving Dependencies
 --> Running transaction check
 ---> Package sqlite-devel.i386 0:3.3.6-2 set to be updated
 --> Finished Dependency Resolution

Dependencies Resolved

 =============================================================================
 Package                 Arch       Version          Repository        Size
 =============================================================================
Installing:
 sqlite-devel            i386       3.3.6-2          base              260 k

Transaction Summary
 =============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 260 k
Downloading Packages:
(1/1): sqlite-devel-3.3.6 100% |=========================| 260 kB    00:04
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: sqlite-devel                 ######################### [1/1]

Installed: sqlite-devel.i386 0:3.3.6-2
Complete!
[root@vps rubygems-1.3.1]#

で、再挑戦。…でも同じ結果。
さらにぐぐって、ここを見つける。
 CentOS5.2でyumを使ってrubyを入れると、ruby 1.8.5が入る。一応rails動くからいいかなぁ、などと思って使おうとすると、意外とはまったのでメモ。

なんではまるかというと、Rubyのパッケージが複数に分かれていて、yum install rubyとしただけだと、意図するものが入らない。

* ruby
* ruby-devel
* ruby-irb
* ruby-libs
* ruby-rdoc
* ruby-ri


普通にRubyを使おうと思ったら、上記全部入れておく必要がある。
CentOS 5のRuby、はまり処
まさしくこれくさい。まったく、こういう情報提供に感謝である。
結局、うちの環境で足んないのはruby-develとruby-ri。それぞれyum install してさらに再挑戦。
[root@vps rubygems-1.3.1]# gem install sqlite3-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.4
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.4...
Installing RDoc documentation for sqlite3-ruby-1.2.4...
[root@vps rubygems-1.3.1]#
ひとまず成功した模様。

これって、動かせるようになるまで(簡単とはいえ)結構手順があるんだど、デプロイとかの時にはどうするんだろ。一発デプロイの方法があるんかな?
…makeとかで test を用意しとくのか、こういうのは。ふむ。
  • rails Super Neurotic Junction snjx
    これは簡単。rubyに記述したとおり、yumコマンド一発でOK。

subversion

2009/02/05 11:23 研究課題snjx

ソースやドキュメントのバージョン管理をしたい。

ロールバックとかブランチとか。
SVNはちょっと運用に工夫が必要な場合があってなぁ。

Winのフロントエンド

http://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/index.html

ドキュメント管理に使えるか

http://freemind.s57.xrea.com/xdocdiff/index.html

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 ~]#