Posted on

pChartでレーダーチャートを描きました。

グラフを必要とするお仕事があり、JPgraphとpChartを候補にあげました。しかし、JPgraphは、有償なので対象からはずれ、pChartで作成することになりました。

○インストール方法

cakephpで実現しています。
通常はviewsを作成して表示するのですが、
このサンプルでは、controllerで表示するように記述しています。
cakephp\app\vendors\pChartにダウンロードしてきたpChart.1.27d.rarの展開したものをコピーします。
あとは、フォントを利用するので、ipaexg.ttfをcakephp\app\vendors/pChart/Fonts/ipaexg.ttfへ配置します。準備は以上です。
○利用して苦労した点
デフォルトのグラフの色が変えれなかったのですが、
// デフォルトの色を変更する。
$Test->setColorPalette(0,79,129,189);
の記述で変更することができました。

TMP.”graph/”のフォルダを作成して書き込み権限をあたえてください。

radare_1_23_20111003112429.png

続きを読む pChartでレーダーチャートを描きました。

Posted on

wdCalenderが本番サーバーで動かない

wdCalenderをローカル環境で動かしていて、実際本番環境にUPした時に動かなくなってテンパッタのでメモとしてブログに残しておきます。

症状としてはテスト環境では動くのに本番環境では動かないというもの。
jqueryに頼っているので実際動かないと、どう調査をしたらいいか分からずとりあえず、FireBugで追っかけていきます。
するとどうもテストでは値が入っている所に、本番では入っていないということが分かりました。しかもJSON形式のデータが・・・

JSON形式のデータ???んっ!!以前phpのjson_encodeはphpのバージョンに依存するなというのに、はまった事があるなということで調べるとビンゴでJSONが使えるPHPのバージョンは5.2以上ということ。
本番サーバーではphpのバージョンが5.1.6だったので早速5.1.6でもJSONが使えるように「http://www.softel.co.jp/blogs/tech/archives/973」を参考にサーバーの設定を変更!!
これで動くかなと思っていたのですが動かない・・・という事でもう一度デバッグ作業をしていきます。
今度はphpの記述部分をfwrite関数を使っていって1行ずつファイルにデバッグ文を出力して追って行きます。するとある関数で処理が止まってしまっている事が分かりました。
それはdate_parse関数なのですが調べてみると、この関数が使えるのはphp5.2以上との事でして、JSONと一緒やんという顛末でした。date_parse関数のところを独自の記述に置き換えると見事動いてくれました。

基本としてwdCalenderはphp5.2以上で使うもの。それ以前で使うときは動くように自分で調整をして上げる必要ありという事でした。

Posted on

CakePHPで複数prefixを使ったときのページネートの挙動を直す

前回はapp/core.phpの

Configure::write('Routing.admin', 'admin');
をコメントアウトすることでページネートのリンクを押した時にリンクエラーになるのを防ぎました。
じゃあ、「公開」「公開(携帯)」「管理」のように3つサイトを分ける時にはどうするの?ということで調べてみました。

続きを読む CakePHPで複数prefixを使ったときのページネートの挙動を直す

Posted on

CakePHPでprefixを使っている時のpaginatorの挙動を直す

CakePHPでprefixを切り替えた所の開発をしていたのですが、paginatorでページ切り替えなどを行おうとすると、飛び先のURLからprefixの部分が抜け落ちておりリンクエラーになってしまいました。
これは困ったと調べてみるとcore.phpで以下の記述をすれ良いだけのこと。
Configure::write(‘Routing.admin’, ‘使っているprefix値’);
なんだかみたことがある記述だなと思っていたら、prefixをadminにして動かしたいときはcore.phpで
Configure::write(‘Routing.admin’, ‘admin’);
のコメントを外す決まりごとがあったなという事を思い出しました。しかしadmin以外のprefixを使っていたのでそこらへんの仕組みがノーマークだったため、そこそこはまりました・・・

Posted on

MySQLに大量のデータをインポートする

今回レンタルサーバーの区画のMySQLに大量データを流し込まなくなったのですが、レンタルサーバーが用意してくれているphpMyAdminでは容量が大きくてインポートが出来ませんでした。
自社で管理しているサーバーであればコマンド一発で難なく出来るのですが、レンタルサーバーなものでコマンドも使えない、php.iniの値も変えれないということでどうした物かという状況になりました。
困ってググッてみたらBigDumpという便利そうなものを発見!!
詳しくはhttp://d.hatena.ne.jp/istwar/20101019/1287505139を見てもらった方が早いので説明は書かないですけど、とにかくPHPファイル1つでインポートが出来ちゃうのでどんなサーバー相手でもへっちゃらというのは素晴らしい!!
すごい重宝するので皆さんも是非使ってみてください。

Posted on

TCPDFでセキュリティー設定をしたPDFを作る

この前、閲覧、印刷のみできるPDFて作れる?

という需要があったので色々と調査してみた。(しかもPHP4で)
最初はTCPDF無理やと思って、FPDFとかで試していたのですが、
実はPDF4バージョンもあることがわかった。
今回は、
PDFで「印刷禁止」「文字等コピー禁止」「編集禁止」「パスワード」「有効期限」「ローカルPCで開くの禁止」を
テストしてみました。

続きを読む TCPDFでセキュリティー設定をしたPDFを作る

Posted on

androidアプリをEclipseで作成しました。

◎Android開発準備
1.JDK(Java Development Kit)のセットアップ
  jdk-6u25-windows-i586.exeをインストールしました。
2.Android SDK(Software Development Kit)のセットアップ
  android-sdk_r10-windows.zipをインストールしました。
3.Eclipse のセットアップ
  eclipse-java-helios-SR2-win32.zipをインストールし、
  日本語化で、pleiades_1.3.2.zipをインストールしました。
◎補足
Android SDKで、インストール後エミュレータを動作させようとすると、
adb.exe が見つからないとエラーになってしまいます。
そこで、platform-tools にあるadb.exeとAdbWinApi.dllを tools フォルダに
コピーするとエミュレータが正常に動作します。
◎サンプルアプリの作成
Buttonを押したら、TextViewに会社が表示され、editTextに奥進システムが表示し、
Button名を表示に変更するアプリを作成してみましょう。
1.「ファイル」メニュー>新規>プロジェクトを選択する。
2.新規プロジェクトのダイアログが表示する。
  AndroidのAndroidプロジェクトを選択し、「次へ」をクリックする。
3.プロジェクト名:hellooku
    【内容】
  「ワークスペース内に新規プロジェクトを作成」を選択する。
  「デフォルト・ロケーションを使用」をチェックする。
  「ビルドターゲット」Android2.2をチェックする。
  アプリケーション名:Hellooku
  パッケージ名:jp.co.okushin.android.hellooku
  Create Activity:HellookuActivity
  Min SDK Version:8
  に設定して「完了」をクリックする。
4.レイアウトの作成
  hellooku/res/layout/main.xmlを編集します。
  上記ファイルをクリックすると、Graphical Layoutタブが出てきますので、
  そこで画面レイアウトを作成します。TextViewを配置して、Plain Text(editText)を配置して、
  Buttonを配置します。ここで、main.xmlを保存しますが、
  これだけでは、配置した部品にIDが振られていない状態となり、
  実行しようとしても実行時にエラーとなります。
  そこで、main.xmlを修正した場合は、プロジェクト->プロジェクトのビルドを実行してください。
  この操作により、 hellooku/gen/jp.co.okushin.android.hellooku/R.javaのIDが自動で生成されます。

続きを読む androidアプリをEclipseで作成しました。

Posted on

AndroidアプリをApp Inventorで作成してみました。

【環境】
OS Windows 7 professional
【準備】
(1)JDKのインストール
1.ORACLEの公式ページからjdk-6u25-windows-i586.exeをダウンロードする。
2.jdk-6u25-windows-i586.exeを実行してJDKをインストールします。
3.Windows7の環境変数PathにC:\Program Files\Java\jdk1.6.0_25\binを追記します。
4.Windows7の環境変数JAVA_HOMEを新たに作成し、C:\Program Files\Java\jdk1.6.0_25を作成します。
(2)App Inventorのインストール
1.Windows Setup – App Inventor for Android よりappinventor_setup_installer_v_1_2.exeをダウンロードします。
2.appinventor_setup_installer_v_1_2.exeを実行してApp Inventorをインストールします。
3.インストールが完了しましたら、http://appinventor.googlelabs.com/へアクセスします。
 表示されない場合は、更新を押してください。※Gmailのアカウントが必要です。
4.DesignerとBlocks Editorにてプログラムを作成します。(雑誌や、チュートリアルのサンプル参考)
5.プログラムの作成が完了したら、New emulatorでAndroidエミュレータを起動
6.Connect to Deviceで立ち上がっているAndroidエミュレータを選択すると、プログラムがエミュレータにインストールされます。
7.動作確認して完了となりました。
(3)実機へインストール
1.HTC Desire SoftBank X06HTへアプリケーションをインストールしました。
2.HTC Desire SoftBank X06HTの設定として、設定->アプリケーション->不明な提供元をチェックします。
 また、設定->アプリケーション->開発->USBデバッグをチェックします。
3.HTC Desire SoftBank X06HTの公式サイトより、HTC Sync.exeをダウンロードし、インストールします。
4.App InventorのDesignerの右にあるpackage for Phoneをクリックし、Download to this Computerを選択します。
 xxxxxx.apkファイルが作成されます。
5.HTC syncで、[アプリケーションインストーラ]->[次へ]で、[参照]からインストールするapkファイルを選択します。
6.これで実機で動作すれば完成になります。
【感想】
App Inventorは取っ付き易いツールです。お試しなアプリケーション作成には、丁度よいツールだと思います。
しかし、もっと検証が必要だとおもいますが、業務アプリを作成するのには向いていない感じがします。
Posted on

DB暗号化を調べてみた

DBに保存する時に個人情報をそのまま保存するのは、万が一DBの情報が流出した時にまずいので、色々と調べてみました。

まず、パスワードはphpのmd5でハッシュ化して保存すれば、復号できないのでOK、パスワードを忘れた場合は、新しいパスワードをランダム生成。
次に、暗号・復号するデータ。
氏名やメールアドレスなど、
php側で暗号・復号する方法と、DB側で暗号・復号する方法があります。(ハードディスク自体暗号の方法もありますが)
で、問題は、LIKE検索とINDEXでした。
基本、暗号化して保存すると上記2点が出来なくなることが問題です。
その点も踏まえてどんな方法があるか調査してみました。
とりあえず今回は
php mysqlの環境で出来ればということで・・・

続きを読む DB暗号化を調べてみた

Posted on

スマートフォンに関係する開発をはじめて試してみました。

【スマートフォンの標準ブラウザーの動作検証】
どのような開発の方法があるか調査しました。
以下のような方法で実際に表示させてみました。
(1)jQuery Mobileとsencha Touchです。
jQuery Mobileは、jQueryのプラグインです。オープンソースで提供されています。
sencha Touchは、JavaScriptフレームワークです。
(2)検証
jQuery Mobileは、サンプルのHTMLを作成して公開し、android端末とiphone4端末で動作を確認しました。
sencha Touchは、サンプルのJavaScriptが用意されていたためそのまま公開して、android端末とiphone4端末で動作を確認しました。
共に、標準のブラウザーでは、問題なく動作しました。しかし、Androidのfirefoxでは、うまく動きませんでした。
主に確認したかったのは、チェックボックス、ラジオボタン、セレクトボックスがどのように動作するかでした。
スマートフォンらしい?動作をしていました。
(3)感想
もうすこし、詳しく検証する必要はあると思うのですが、ブラウザーの表示内容がスマートフォンらしく表示できるので、利用を検討したいと考えています。
ただ、標準のブラウザーしか、この2つは、動作しないので、Androidなどで、firefoxなどを利用されている場合は、
パソコン用のページを見るなりして頂かないといけない点が残念なところでした。
【スマートフォンエミュレーターのインストール】
残念ながらiphoneのエミュレーターは、見つかっていません。
androidは、SDKの中にエミュレーターが含まれているので、それを動作して上記の検証も行いました。
●androidエミュレーターのインストールと起動方法
1.まず、http://developer.android.com/sdk/index.html
より、android-sdk_r11-windows.zip を入手します。
2.android-sdk_r11-windows.zipを解凍します。
3.解凍した、android-sdk_r11-windows\android-sdk-windowsへ移動します。
4.SDK Manager.exeを実行します。
5.立ち上がったAndroid SDK and AVD Managerの左の一覧からAvailable packagesを選択し、
右上部のAndroid Repositoryにチェックを入れInstall Selectedボタンを押下します。
数十分インストールが動作します。
6.Android SDK and AVD Managerの左の一覧からInstalled packagesを選択して、Update All…ボタンを押下し、
ダイアログが表示されたPackagesをInstallします。
7.Android SDK and AVD Managerの左の一覧からVirtual devicesを選択して、New…ボタンを押下し、
Create new Android Virtual Device(AVD)が表示します。そのNameとTargetを決定して、Create AVDを押下します。
8. Android Virtual Devices Managerダイアログで確認し、OKを押下します。
9.Android SDK and AVD Managerの左の一覧からAVD Nameが指定したものを選択して、Start…を押下します。
10.Launch Optionsダイアログが表示されますので、Launchを押下します。するとエミュレーターが表示します。
(1)検証
このエミュレータについているブラウザーでも、上記jQuery Mobileとsencha Touchは問題なく動作しました。(ローカル検証用に利用可能です。)
(2)感想
エミュレータは縦に表示されるので、横にした時の動作などは、確認できませんでした。(まだ、調査が足りないかもしれませんが。。。)
デバックするには、十分使えるエミュレータだと思います。今度は、Androidアプリを試してみたいです。