確定申告の時期、銀行やらカードやらの明細を自分のソフトで読み込めるように変換してますが、Haskellでやるにはどうしたものかと思いいろいろ検索。
Cassavaというライブラリがあるようです。
Bitstringでなしに、各フィールドの型を決めて読みこめるみたいですが、ひとまず触ってみることにします。
6 Mar 2015
14 Feb 2015
Buffalo無線ルータで 無線LANをブリッジ接続で中継する手順について
こんなことに半日費したので記録しておく。
中継機に使おうとしたのは Buffalo WHR-600Dでした
そもそもは元ルータのAterm WH862A から、DHCPの割り振りがチェックできないので、中継器にアクセスできないのがこんなに時間がかかった原因でした。マニュアルに書いてある 192.168.11.1 には、アクセスできないし…。
めでたし。
中継機に使おうとしたのは Buffalo WHR-600Dでした
そもそもは元ルータのAterm WH862A から、DHCPの割り振りがチェックできないので、中継器にアクセスできないのがこんなに時間がかかった原因でした。マニュアルに書いてある 192.168.11.1 には、アクセスできないし…。
BUFFALOの無線LANルーター(WHR-G301N等)でブリッジ接続を設定するときの手順この記述が救いでした。 有線で中継器に192.168.11.100にアクセスして無事に設定ができました。
http://wp2.trojanbear.net/1286.html
"今回の設定で一番厄介なのは、BUFFALOの無線LANルーターのディップスイッチをOFFにすると(筆者註:ブリッジモードにする時も)問答無用で無線LANルーターのIPアドレスが192.168.11.100 になってしまう事です。"
めでたし。
10 Feb 2015
[CakePHP2] date / datetime / year フィールドで和暦の年を併記する
CakePHPのフォーム自動生成、超便利です。
日付に和暦が表示されて欲しいとき、この自動生成の中で勝手に変換されたら、最高です。
要はこんな感じで。
相変わらずでっちあげですが、
/app/View/Helper フォルダにFormHelper.php をコピーします。
_generateOptions というのがオプションを生成してる箇所になるんで、
表示はお好みで。
日付に和暦が表示されて欲しいとき、この自動生成の中で勝手に変換されたら、最高です。
要はこんな感じで。
相変わらずでっちあげですが、
/app/View/Helper フォルダにFormHelper.php をコピーします。
_generateOptions というのがオプションを生成してる箇所になるんで、
case 'year': (中略) for ($i = $min; $i <= $max; $i++) { $data[$i] = $i; } (中略) break;の箇所を
for ($i = $min; $i <= $max; $i++) { $wareki = 0; if ($i > 1988) { $wareki = $i - 1988; $data[$i] = "${i}年(平成${wareki}年)"; } elseif ($i > 1925) { $wareki = $i - 1925; $data[$i] = "${i}年(昭和${wareki}年)"; } elseif ($i > 1911) { $wareki = $i - 1911; $data[$i] = "${i}年(大正${wareki}年)"; } elseif ($i > 1867) { $wareki = $i - 1867; $data[$i] = "${i}年(明治${wareki}年)"; } else { $data[$i] = "${i}年"; } }に置き換えます。
表示はお好みで。
3 Jan 2015
[CakePHP2] データベースにログをとる
Logging(CakePHP official)
http://book.cakephp.org/2.0/en/core-libraries/logging.html
Database logging in CakePHP一つ目の記事に書いてあることはCake2.*でもそのままつかえます。ファイルの場所が 'app/libs/log/database_logger.php'(for CakePHP 1.*) から 'app/Lib/Log/Engine/DatabaseLog.php' (for CakePHP 2.*)になるぐらいです。素晴しい。
http://blog.jandorsman.com/blog/database-logging-in-cakephp
たとえばログにセッション情報(ユーザIDとかね)を記録したい、みたいな事になったら、ユーザがログインしてるのか確かめないと、ログインしてない時に上手くログに入りません。例えばログイン失敗しました、みたいなログがきちんと取られないことになります。
public function write($type, $message) { $log['type'] = ucfirst($type); $log['created'] = date('Y-m-d H:i:s'); $log['content'] = $message; if ($login = CakeSession::read('Auth.User')) { $log['user_id'] = $login['id']; } return $this->Log->save($log); }
[CakePHP2]Database logging (with some Cakesession Object)
Logging(CakePHP official)
http://book.cakephp.org/2.0/en/core-libraries/logging.html
Database logging in CakePHPWell, Jan's article is totally usable even in CakePHP 2.4 except one location 'app/libs/log/database_logger.php'(for CakePHP 1.*) to 'app/Lib/Log/Engine/DatabaseLog.php' (for CakePHP 2.*).
http://blog.jandorsman.com/blog/database-logging-in-cakephp
When you want log some information via Cakesession Object (i.e. user ID), you should check the object first in case the user not logging in.
public function write($type, $message) { $log['type'] = ucfirst($type); $log['created'] = date('Y-m-d H:i:s'); $log['content'] = $message; if ($login = CakeSession::read('Auth.User')) { $log['user_id'] = $login['id']; } return $this->Log->save($log); }
19 Nov 2014
[PHP]時間を15分刻みに変換する
覚え書きの殴り書き。
時間を15分刻みに変換する。切り上げ、切り捨てありです。
/* * dateBy15Minutes * @assert ("2001-03-10 17:16:18") == "2001-03-10 17:15:00" * @assert ("2001-03-10 17:00:00") == "2001-03-10 17:00:00" * @assert ("2001-03-10 17:59:59") == "2001-03-10 17:45:00" * @assert ("2001-03-10 17:40:18") == "2001-03-10 17:30:00" */ protected function _dateBy15Minutes($mode = 'ceil',$time = NULL) { if (\is_null($time)) { $time = time(); } else { $time = \strtotime($time); } if ($mode == 'ceil') { $minute = \sprintf("%02s", \ceil(\date('i') / 15) * 15); } else { $minute = \sprintf("%02s", \floor(\date('i') / 15) * 15); } $time_string = \date("Y-m-d H:i:s", \mktime(\date('H'), $minute)); return $time_string; }
12 Nov 2014
[CakePHP2][Composer] プラグインもComposer経由でインストールするときにapp/Plugin フォルダに入れたい。
参考資料増減するプラグインのために一個一個設置場所を書いていたのですが、うまいことでっちあげたんで、ログとして。
https://github.com/composer/installers
composer.json:
{ "name": "app", "config": { "vendor-dir": "Vendor/" }, "extra": { "installer-paths": { "app/Plugin/{$name}/": ["type:cakephp-plugin"] } }, "require": { "php": ">=5.3", "cakephp/cakephp": "~2", "composer/installers": "~1", "cakephp/debug_kit": "~2", "cakephp/localized": "~2" } }
Subscribe to:
Posts (Atom)