投稿者「momiage3dau」のアーカイブ

MySQLのトリガーの勉強

業務で、既存テーブルと新規テーブルとの整合性を取る必要が出てきたので、

MySQL5.0 から実装された、トリガーを使おうかと。

多少書き方は違えど、Oracleと似たり寄ったりかな、との認識。

データが2重管理になるので、出来れば既存か新規か、テーブルを寄せたかったのだが、

時既に遅し。。。orz

頑張ろう。

でわ。

Realforce91UBK購入

念願の Realforce91UBK を購入。

すばらしく使い易い。

キータッチが異常に軽いので、慣れるのがちょっと大変。

以前は、IBM USBトラベルキーボード ウルトラナビ付 を使用していたのだが、

PgUpとEnterキーがはまり込んでしまう状態になってしまったので。

まぁ、5年近く使ったので、減価償却は出来たかな、と。

ポインティングデバイスとタッチパッドが付いてるのが魅力だったんだよなぁ、IBMのキーボード。

マウスがなくても、そのキーボードひとつあれば良かったし、

サーバもそのキーボードひとつでいじれたし。

キーボードもそうなのだが、PC周辺機器は作業効率に関わるので、

なるべくこだわっていい物を使いたい。

周りの人は、

「キーボードとか、マウスとか、なんでそんなにお金かけるの?」

って言うけど、こればっかりは仕方ない。

さて、ゴリゴリキーボード使いますかね。

でわ。

メールに付与される緊急度について

メールを送信する際、Becky! であれば、

・重要度高

・重要度やや高

・普通

・重要度やや低

・重要度低

と、5段階あります。

それぞれ、メールのヘッダはどうなっているか、見てみましょう。

※抜粋です

・重要度高

MIME-Version: 1.0

X-Priority: 1

X-MSMail-Priority: High

Importance: High

Content-Type: text/plain; charset=”ISO-2022-JP”

Content-Transfer-Encoding: 7bit

X-Mailer: Becky! ver. 2.45.02 [ja]

Status:

・重要度やや高い

MIME-Version: 1.0

X-Priority: 2

X-MSMail-Priority: High

Importance: High

Content-Type: text/plain; charset=”ISO-2022-JP”

Content-Transfer-Encoding: 7bit

X-Mailer: Becky! ver. 2.45.02 [ja]

Status:

・普通

MIME-Version: 1.0

Content-Type: text/plain; charset=”ISO-2022-JP”

Content-Transfer-Encoding: 7bit

X-Mailer: Becky! ver. 2.45.02 [ja]

Status:

・重要度やや低

MIME-Version: 1.0

X-Priority: 4

X-MSMail-Priority: Low

Importance: Low

Content-Type: text/plain; charset=”ISO-2022-JP”

Content-Transfer-Encoding: 7bit

X-Mailer: Becky! ver. 2.45.02 [ja]

Status:

・重要度低

MIME-Version: 1.0

X-Priority: 5

X-MSMail-Priority: Low

Importance: Low

Content-Type: text/plain; charset=”ISO-2022-JP”

Content-Transfer-Encoding: 7bit

X-Mailer: Becky! ver. 2.45.02 [ja]

Status:

どうやら、

・X-Priority

・X-MSMail-Priority

・Importance

この3種類のヘッダが付与されるようです。

X-Priorityについては、1~5 の値が設定されるようですね。

その値によって、メーラ側で緊急度を判断しているようです。

X-MSMail-Priorityについては、どうやら、MS製品がこのヘッダを使うようです。

Importanceについては、Hight/Normal/Low の3種類のようです。

これがRFCでちゃんと決められてるヘッダかな???

たまにはこういったネタもいいかも。

でわ。

己管理ツール?

日々仕事に追われ、忙しい毎日です。

さてさて、自分の担当しているプロジェクト以外のプロジェクトからのヘルプ要請が多い。

で、そこで問題が。

ヘルプ要請が多すぎるので、自分の担当プロジェクトの作業が出来ないのです。

また、他プロジェクトもひとつだけではないので、作業依頼が重なります。

結果、自分がボトルネックになってしまうのです。

会社ではグループウェアにて各自スケジュール管理をしています。

なので、グループウェアの自分の予定に、

「本日の作業」

って予定を入れて、そこにタスクをどんどん放り込んでます。

まぁ、誰かが見て、

「あいつは忙しいから、今日は作業振るの止めよう」

とか、考えてくれるかな?

って思ってけど、他の人は一切見ないのね。。。

オレがどれだけ作業抱えてるか。。。

だから、作業依頼は一向に減らない。

まぁ、一番の原因は、自分で調べない・やらない人が多いって事なんだけど。

1から手順書作ってあげなきゃ出来ないって、どう言う事だ?

こうなったら、オレ作業依頼フォームでも作ってやろうかなw

と、考えてたりする。

そんなに時間も取れないから、RoR でサックリとって感じかな?

ある程度形になったら作り直してもいいし。

自分の為にもちょっと考えてみよう。

でわ。

職場環境

今のデスクの位置になって、そろそろ2年が経とうとしている。

席替えの時期かな?

と。

何事もそうなのだが、「いつも同じ」は飽きるのだ。

やる気も削がれる。

そういった意味で、異動・配置転換は歓迎すべき時もある。

まぁ、理由によりけりだが・・・

現在の会社は小さいので、オフィス内での配置移動となる。

これだけは絶対に譲れない条件として、

・後ろには誰も通らない

・後ろから見られない

が、挙げられる。

気になってしまうのだ。

別に見られて困る事はしていない。

せいぜい、息抜き程度に技術系のサイトを見たり、Blogのエントリ書いたりと、そのくらい。

あとは、時々飛んでくるSkypeでのバカ話かな。

出来れば、隣に人を置いて欲しくない。

デスクに電話もいらない。

孤島でないと、集中出来ないのだよ。

さて、上司がこのワガママを聞いてくれるだろうか・・・

でわ。

PHPでOracle接続

簡単に手順を書きます。

前提として、

OS:CentOS3.9

Apache:2系

PHP:4.4.114.4.1

Oracle:10.2.0.3

です。

1) Oracleのサイトより、Oracle Instant Client をダウンロードする

oracle-instantclient-basic-10.2.0.3-1.i386.rpm

oracle-instantclient-devel-10.2.0.3-1.i386.rpm

これだけでも良いが、接続確認の為、SQLPlusも。

oracle-instantclient-sqlplus-10.2.0.3-1.i386.rpm

2) PHPのインストール

configureオプションに以下を付与する

–with-oci8-instant-client=shared,/usr/lib/oracle/10.2.0.3/client/lib

3) php.iniの編集

以下を追加

extension_dir = “#PHPインストールディレクトリ#/lib/php/extensions/no-debug-non-zts-20020429/”

extension=oci8.so

4) 環境変数の設定

LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib/

ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client

文字化けするようなら、NLS_LANG も追加

5) Apacheの再起動

/etc/rc.d/init.d/httpd stop

/etc/rc.d/init.d/httpd start

6) 接続確認

sqlplus system/manager@DB_SERV_NAME:1521/SID

上記を実行して、以下が表示されればOK

SQL*Plus: Release 10.2.0.3.0 – Production on Wed Mar 25 02:33:57 2009

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Release 10.2.0.3.0 – Production

SQL>

7) テストスクリプトにて、PHPから接続出来る事を確認

以下サイトを参考にしました

http://www.doyouphp.jp/inst/inst_unix_dso_430_ic.shtml

これで、テーブルの中身が表示されれば、PHPからのOracle接続は成功!

でわ。

PHPでImageMagick

ちょっとハマった。

前提として、

・php-devel

・ImageMagick-devel

がインストールされている事。

もし、インストールされていないのであれば、

# yum install php-devel

# yum install ImageMagick-devel

を実施の事。

で、本題。

PHPからImageMagickを使用する為に、ライブラリをインストールします。

# pecl install imagick

<snip>

Build process completed successfully

Installing ‘/var/tmp/pear-build-root/install-imagick-2.2.2//usr/lib/php/modules/imagick.so’

install ok: channel://pecl.php.net/imagick-2.2.2

You should add “extension=imagick.so” to php.ini

#

との事なので、php.iniに、

extension=imagick.so

を追加。

んでもって、Apacheの再起動。

# /etc/rc.d/init.d/httpd restart

phpinfoを確認したのだが、「imagick」の項目がない。

おかしいな???

と思いつつ、Apacheのログを確認すると、

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/modules/imagick.so’ – /usr/lib/php/modules/imagick.so: undefined symbol: ClonePixelWand in Unknown on line 0

の記載が。。。

色々調べたところ、どうやら、imagick のバージョンが、2.2.2 ではダメみたい。

なので、2.2.1 をインストール。

# pecl install imagick-2.2.1

<snip>

Build process completed successfully

Installing ‘/var/tmp/pear-build-root/install-imagick-2.2.2//usr/lib/php/modules/imagick.so’

install ok: channel://pecl.php.net/imagick-2.2.2

You should add “extension=imagick.so” to php.ini

#

おk。

Apache再起動。

# /etc/rc.d/init.d/httpd restart

Apacheのログを見て、エラーが出てない事を確認。

phpinfo を見て、imagick の項目が表示されている事を確認。

諸々完了。

よかった。

でわ。

CentOS5でのPHPのアップデート

またまた久々のネタ。

CentOS5.2 での、PHPの標準は、5.1.6 です。

OpenPNE3.0を使用するにあたり、これを、5.2.6 以上にしなければなりません。

しかしながら、RPMを消したり入れたりは面倒だからイヤ。

で、どうするか。

remiリポジトリから、取ってくるのです。

# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm

# wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm

# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

リポジトリのファイルをちょっといじる。

# cd /etc/yum.repos.d/

# vi remi.repo

[remi]

name=Les RPM de remi pour Enterprise Linux 5 – $basearch

baseurl=http://rpms.famillecollet.com/el5.$basearch/

    http://remi.collet.free.fr/rpms/el5.$basearch/

    http://iut-info.univ-reims.fr/remirpms/el5.$basearch/

enabled=0 → 1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

failovermethod=priority

PHPをアップデート。

# yum update php*

これで完了。

mysqlが入ってる場合、mysql-lib で引っかかるかも。

その場合は、まずは、

# yum update mysql*

で、mysql自体をアップデートしちゃって下さいな。

って感じです。

でわでわ。

tcpwrapperによる接続制限(日本国内からのみの接続許可)

久々にネタが書けた。

中国・韓国を筆頭に、不正アクセスが非常に多いです。

手軽にアクセス制限をするのであれば、tcpwrapper を使用するのが楽チン。

例えば、社内に設置しているサーバで、外部公開しているサーバで、

社内のローカルIPと、日本国内のみの接続としたい場合、

# vi /etc/hosts.allow

sshd : 192.168.

sshd : .jp

sshd : .bbtec.net #YahooBBは特別

# vi /etc/hosts.deny

sshd : ALL

これでおk。

.jp のみの指定だと、YahooBBが引っかかるのですわ。

ちなみに、FTP に vsftpd を使用している場合、

# vi /etc/vsftpd/vsftpd.conf

tcp_wrappers=YES

# vi /etc/hosts.allow

vsftpd : 192.168.

vsftpd : .jp

vsftpd : .bbtec.net #YahooBBは特別

# vi /etc/hosts.deny

vsftpd : ALL

これでおk。

でわ。