Posted on

Subversion(サブバージョン)でEUC-JPのソースを管理する

Subversionを使用してバージョン管理しているのですが、EUC-JPのソースを管理しようとした時、ソースの差分を見たら文字化けしてしまいます。
これはSubversionの標準ビューアのTortoiseMergeがEUC-JPに対応していないという事らしいです。
ではどうすればいいかなとググッてみたらWinMergeというビューアを入れてSubversionに登録してあげると良いらしい・・・
WinMergerはhttp://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.htmlから自分の環境に合ったバージョンを落としてきます。
落としたZIPファイルを解答すると中にexeファイルが居るのでこれを使ってあげるだけです。
Subversionに紐付けるのは「TortoiseSVN→設定→外部プログラム→差分ビューア」でプログラムの指定が出来るところで外部を指定してパスに先ほど落としてきたWinMergeのexeファイルまでのパスを指定するだけでEUC-JPのファイルでもきちんとバージョン管理が出来るようになりました。

個人的にはTortoiseMergeよりWinMergeの方が見やすくてGOODですね!!

Posted on

ブラウザ・IEの画像キャッシュをなんとかする

画像をアップするシステムを作ってる時にかなり邪魔なブラウザの画像のキャッシュ。

画像をアップしなおしたのにブラウザで確認すると前の画像が!!
そんな時の解決方法をまとめてみました。
テストしたのは
IE6,8
Firefox4
Chrome11
テストファイルはphpです。

続きを読む ブラウザ・IEの画像キャッシュをなんとかする

Posted on

phpコードの暗号化をする

今回phpコードを暗号化する方法を検討することになり、いろいろ試してみたので、その経過を記していきます。

まず最初にPOBSというプログラムが比較的簡単に導入できそうなので試してみました。
http://pobs.mywalhalla.net/からPOBSのダウンロードしてきます。
最新版のpobs099.zipをダウンロードして展開した出来たフォルダをphpが動作する区画にアップロードします。
後はブラウザから中に入っているpobs.phpを叩くだけで使えるということだったのですが、動かない!!
画面が崩れてコードの表示がむき出しになっている状態でした。
調べてみるとPHPを開始するところの記述が「<?」だけになっていました。
サーバーの設定にもよるのですが「<?php」で始めないと動かないようになります。
今回試した環境では動かなく原因を特定するのにハマリました・・・

無事に画面が表示されたので実際に実行してみます。
「Source Directory」に暗号化したいphpのあるパスを記述して、「Target Directory」に暗号化し終わったファイルを置くパスを指定します。
後は自由に設定が出来てクラス名・関数名・変数という具合に指定できます。
準備が出来たら「Start processing」を押すとどのファイルを変更したかと、変更前の記述と変更後の記述が表示されます。
それで「Target Directory」で指定したフォルダを見てみると、変換されたファイルが出来ていました。

感想:POBSはphpソースの暗号化というより可読性を落とすという感じで、今回捜し求めているphpの暗号化には当てはまらなそうです。ただ導入も簡単なので将来役に立つかも・・・

次に試してみたのがPHP_SCREWという暗号化ツールです。
導入と使い方は次のページを参考にしていきました。
http://www.pm9.com/newpm9/itbiz/php/phpscrew/ (本家)
http://tm.root-n.com/programming:php:etc:php_screw
基本的にLinuxにインストールしてコマンドでソースの暗号化をするというツールです。
コマンドで実行したら指定したファイルが暗号化されて、同じ場所に「元ファイル名+.screw」のファイルが出来ます。
後は「元ファイル名+.screw」のファイルを消せば暗号化の完成!!

感想:ソースの暗号化という分に関してはある程度望んでいる感じだった。しかし暗号化したPHPはインストールしたサーバーでしか動かないのでレンタルサーバーで動かすときやパッケージで提供するときには使えなさそう。

Posted on

cakephpのdatabase.phpのprefixを使用しました。

新しいシステムをレンタルサーバーにアップする際に、データベースが1つしか存在せず、新たにデータベースを作ることもできず、すでに他のシステムのテーブルが存在し、データベースが利用されている状態にありました。既存システムと新システムのテーブルを簡単に区別する必要があると思い調べました。単純にテーブル名を変更すると、MVCモデルのファイル名やフォルダ名も変更する必要が出てきます。調べていくうちに、cakephpのdatabase.phpでプレフィックスを指定できることが判明し、’prefix’ => ‘okushin_’,ように定義しました。当然MySQL側でも
mysql> ALTER TABLE 古いテーブル名 RENAME 新しいテーブル名;
のコマンドにてテーブル名をusersからokushin_usersのように新システムに関係するテーブルすべてにokushin_をつけてテーブル名を変更しました。するとMVCモデルでのMのuser.php、Vのフォルダ名users、Cのusers_controller.phpのファイル名フォルダー名はそのままでシステムが正常に動作しました。とても簡単で利用しやすい機能だと思い紹介してみました。
Posted on

A5SQL Mk-2のツールを検証しました。

A5SQL Mk-2のツールを検証しました。
検証は、fedora14上のMySQLにODBC経由で接続し行いました。
ODBCの設定に、MySQL側にも設定が必要で、時間を要しました。
MySQLの設定は、以下のような設定です。
mysql> grant all privileges on DB名.* to アカウント名@’IPアドレス/サブネットマスク’ identified by ‘パスワード’;
コントロール パネル\すべてのコントロール パネル項目\管理ツールにて、
データソース(ODBC)をクリックして、ODBCデータソースアドミニストレーターにて、
システム DSNを設定します。
これで準備は完了です。
A5SQL Mk-2のツール[A5M2.exe]を立ち上げて、データベースの追加と削除を行います。
ODBCシステムデータソースを列挙するをチェックして、追加ボタンを押下します。
データリンクプロパティで先ほど設定したODBCのデータソースを選択して、接続テストをします。
これで、A5SQL Mk-2のツールが使用できる状態になります。
確認した内容としましては、下記4点です。
1.SQLの実行
2.データの参照
3.ER図のリバース生成
4.テーブル定義書作成
【よかった点】
1.データの参照では、レコードの追加や削除ができ、こちらはテストデータを作成するなどで利用できそう。
2.テーブル定義書作成は、体裁を整える機能としては有効に利用できるのではないかと思います。
【残念だった点】
1.テーブル作成のSQLを実行しましたが、その場ではテーブルが追加されず、立ち上げ直して初めて参照できるようになる点
2.ER図のリバース生成は、MySQLなので、外部キーの設定情報などの確認が出来なかった点
総合評価:弊社では、現在EXCELにてテーブル定義を行い、MySQLに登録して使用しています。EXCEL作成時の項目に対するデータの定義も行っており、その記述がMySQLではできない点もあるために、このツールを積極的に利用するという結果には至りませんでした。ツールの持っている機能はとてもすばらしいと思います。用意されている機能は、他のデータベースではもっと有効に利用できるのだろうと思いますが、MySQLでは、少し物足りないように思いました。また、MySQLだけなのかもしれませんが、設計するためのツールという位置づけでは利用できないと思いました。
利用されている方で、私どもが間違った認識をしている点などが御座いましたら、ご指摘頂けましたら幸いです。
Posted on

selectボックスを変更すると他の複数項目を自動的に変更するAjaxのサンプルソース

CakePHP開発にて、selectボックスの変更イベントで他の項目を自動的に変更するAjaxのサンプルのソースです。modelsとcontrollersの一部のコードにつきましては、割愛させて頂きます。本機能を追加するにあたっては、edit.php,samples_controller.php,ajaxskind.php,ajaxsitem.php,ajaxsmemo.phpのコードを参照して頂き、参考になれば幸いです。

続きを読む selectボックスを変更すると他の複数項目を自動的に変更するAjaxのサンプルソース

Posted on

wdCalendarをCakePHPに組み込んでみる

以前紹介した記事「wdCalendarを日本語で使ってみる」で日本語化したwdCalendarをCakePHPに組み込んでみたので紹介します。

それから少し改造ということで、登録できるフィールドを追加してみるのと、ログインした人のidを基に誰が登録した予定なのかを持たせるようにしました。

実際の見た目はコチラ

続きを読む wdCalendarをCakePHPに組み込んでみる

Posted on

wdCalendarを日本語で使ってみる

GoogleカレンダーをベースにJQueryで作られたwdCalendarを日本語にして使ってみたのでそのメモ書きです。

wdCalendarはhttp://plugins.jquery.com/project/wdCalendarからダウンロードしてきます。

今回はダウンロードしてきたファイルで分かるところを日本語に変えていきました。これで一応見た目は全て日本語になったはずです。

ダウンロードしたjsファイルだと日本語に対応していないのでwdCalendar_lang_○○.jsとdatepicker_lang_○○.jsなっているフォイルを改造してwdCalendar_lang_JA.jsとdatepicker_lang_JA.jsを作りました。ソースはこんな感じです。

続きを読む wdCalendarを日本語で使ってみる

Posted on

PDFで文字を埋め込まない時は半角¥がバックスラッシュに変わる

この前TCPDFというPHPからPDFを出力するライブラリではまったのでメモ。
TCPDFとはこちら
こちらのサイトを参考にしてファイルのサイズの関係でフォントを埋め込まないようにして
PDFを出力していたんですが、「半角(¥)がバックスラッシュ(\)」になって出力されてしまいました。
何で・・・?

続きを読む PDFで文字を埋め込まない時は半角¥がバックスラッシュに変わる