Matrixをわんらいなで。

映画Matrixの画面に出来るというネタわんらいなスクリプトはけん。 while true; do printf "\e[32m%X\e[0m" $((RANDOM%2)); for ((i=0; i<$((RANDOM%128)); i++)) do printf " "; done; done printf "\e[32m%X\e[0m" $((RANDOM%2));と for ((i=0; i<$((RANDO…

readlinkをわんらいなで使う場合

シンボリックリンク先をワンライナーで取得したかったんだけど↓ target=`readlink /path/to/symbolic/link` | echo $target でできなくて何でだーと思ってたら↓で出来た。 target="$(dirname "$(readlink /path/to/symbolic/link)")" | echo $targetなんで出…

10進数から2進数への変換 色々。

このところ近年稀にみる急ぎタスクが全くない(=所謂暇)状態が続いているので、 鈍り解消にプログラミングお題でも解いて遊んでみる。初回は「10進数から2進数への変換」まずはPHP。 $_divisor = 2; $_remainder = $_divisor; $_quotient = 0; $_result = ''…

SQLで特定期間の日付一覧作る等

sql

前に上げた再帰結合をちょこっと変えただけ。 因みにSQLServer。 DECLARE @from datetime = '2001-01-01'; DECLARE @to datetime = '2012-10-01'; WITH l_date(v_date) as ( SELECT CONVERT(DATETIME,@from) v_date UNION ALL SELECT DATEADD(mm, 1, l.v_dat…

getoptで複数のロングオプションだけを受けたい時

引数で複数のロングオプションを指定したい時のgetoptの指定の仕方がよくわからなかったので、 調べたり実験したりしてみた結果↓で出来るようになりました。実行コマンド batch/sample.sh --target=maker --env=stage コード OPT=`getopt -o "" -l target: -…

↓みたいなシェルスクリプトを1行でやれると教えていただきました。 #!/bin/bash tday=`date -d "2 month ago" +%Y%m%d` Dir="/export/nfs_index/" ls -1 $Dir | grep "accesslog_*" | while read aclog do echo $aclog aclog=`echo "$aclog" | cut -d " " -f…

Enterprise TEST Forum 2011に行ってきました

諸事情により上げるのに1週間かかってしまいましたが… 「Enterprise TEST Forum 2011〜なぜテストツールが必要なのか、必ずわかる〜」に行ってきたまとめ的なものを。 http://ac.nikkeibp.co.jp/cn/sys0624/ 金曜日の13時〜って事だったのでテンション下が…

第2回テスト駆動開発入門勉強会に行ってきました

今回お邪魔させてもらった勉強会はこれ↓ http://partake.in/events/4013e528-80f4-4df6-9d2b-92abeb44014d 進め方は… 隣の人と本読みつつ ↓ 「こういうことじゃね?」って話しつつ ↓ 本に載ってるコードをペアプロで写経していく感じ ペア毎に好きなペースで…

旧youtube動画タグを判定する正規表現

php

いろんなブログサービスのRSSからyoutubeの動画タグだけを判別するような正規表現が欲しくてさんざん悩んて↓でできた。 <object.*embed[^>]*src=[^>]*youtube.*(?!<\/object>)\/object>何このあっさり解決感… ちなみに言語はPHP。</object.*embed[^>

jQuery使用時のIE対応色々

色々今回詰まったりしたのでmemo。 確認ブラウザは以下。 IE:7、8 FF:3.6 opera:10.63 safari:5.0.2●DOMの表示・非表示方法 やり方2通りほどあるのでどっちかで出来なかったら方向転換する 1.style="display: none"付ける これIEで成功しない時とかある。 …

MacOSXでJenkins

とりあえず単体での動かし方。 途中色々エラーがでたんだが結局なぜでたのかわからないまま最後にはちゃんと入れられたのでスルー。公式からwarもらってくるhttp://jenkins-ci.org/テキトウなところにwarポイする。起動。java -jar jenkins.war --prefix=/je…

関数に見えて言語構文なisset

php

いつものようにテキトーに書いてたらエラー出た件。 protected function _isCancel() { $testArg = $this->_getParam('cancel'); return ($this->_getParam('cancel') && isset($this->_getParam('cancel'))) ? true : false; } こんなの書いたらエラー出た…

Struts2のExceptionMappings

ActionのアノテーションでException捕まえる方法。@Results({ @Result(name = "upload", location = "upload-json.jsp"), // @Result(name = "input", location = "error.jsp") @Result(name = "jsonerror", location = "error.jsp"), @Result(name = "input…

Xdebugを使えばzvalの情報を見れる

Xdebugを使えばzvalの情報を見れるどうしても↓で言っている事をちゃんと目に見えて実証したかったので色々と調べていたら見つけました。 http://programming-magic.com/?id=140http://d.hatena.ne.jp/kanonji/20090120/1232461376 一回これを使って全部見て…

PHPの配列で空文字を1行で無くす

こんな配列があった時。 $arr = array('aaa', '', 'ccc'); foreach使わずに簡単に空文字を無くしたいなーと思って調べたらこんなの>発見。 $arr = array('aaa', '', 'ccc'); $secArr = array_filter($arr, "strlen"); 「2番目の引数の関数をコールして、FALS…

Mock使った時のMocked method does not exist.

PHPUnitでハマりにハマった内容残しときます。テスト対象こんな感じ。 public function modifyBlogEntriesProducts($articleId, $productIds) { $columnDao = $this->_getDao('blog/column'); $products = $columnDao->selectBlogEntriesProductsList(array(…

preg_replace_callbackとpreg_match_allで文字列置換

php

初めて使ったんでメモ。 PHPでこんなことが出来るとのこと。 private function _applaySsiInclude($htmlText) { preg_match_all($this->_getIncludePattern(), $htmlText, $includes); $values = $includes[1]; $callback = array($this, '_replaceSsiInclud…

ファイル全文検索スクリプト作ってみた

暇だったのでいつも使うコマンドをシェル化してみた。 といってもたいしたことしてないですが。 #!/bin/sh #パターンだか拡張子だか取得 while getopts "p:" OPT; do case $OPT in "p" ) pattern="$OPTARG" if [ "${pattern}" = "" ]; then echo "option arg…

Viewの基礎

今更ですが、色々調べた時におさらいしたのでついでに。●Viewとは クエリによって内容が定義される仮想テーブル。 実データを持たず、定義のみが保持されているのでViewが参照されると定義に従い動的にデータが取得される。 Viewには以下3種類ある。 ・標準V…

SQLServerがクエリを処理する時の挙動について

色々調べたのでメモ。【そもそも的な部分】 SQLServerはクエリ投げられると自分でクエリの実行方法を選択して実行してくれるらしい。 この実行方法を実行プラン、選択してくれる機能をクエリオプティマイザという。 ここら辺の詳細以下。 ・RDBの心臓部 以下…

SQL Serverオプティマイザと選択する実行プラン の触り。

SQL Server2008 SP1にてクエリが重くてサイトダウン寸前な状況に。 開発・STGででなくて本番でいきなりなったのでそんな状態になって調査が飛んできた。 今回ばかりはManagementStudioの実行プランとMicrosoftのTechNetの二つにすがりました。 つかSQL Serve…

対象URLをつぶやいてる人数を表示してみる

記事つぶやいてる人の数出したりとかしたいんだよねーって話が来たらしいので調査してみた。よくニュース記事とかの端についてる○人つぶやいてるよって数字出してるヤツ。 ということで、テストで作ってみました。 調べてみるとbacktypeってとこで提供してる…

今日のイラッとしたメモ

php

PHPで挙動調べるのにテキトーに書いたコードが思ったとおりに動かなかった件。 書いたコードは以下。 $param = $arg1 === false and $arg2 < 5 ? false: true; 三項演算子の評価結果がtrueになるのになんでかfalseが入っていて何だ?と思った。 正解は以下。…

行列変換

相変わらずSQL再入門。今度は列と行入れ替えるので悩みました。[m_c] member_id color 1 赤 1 白 2 青 2 白 3 白 これを メンバーID 赤 青 白 1 ○ ○ 2 ○ ○ 3 ○ こんな感じにしたい。 そんな時は以下SQL select member_id as 'メンバーID' , CASE WHEN SUM(CA…

with使った再帰結合

今更ながらまともに長いSQLを久しぶりに見たので、結合周り再入門的な。 WITH lavels(id, name, level, path) AS (SELECT categories.id, categories.name, 1, CONVERT(varchar(255),categories.name) FROM categories WHERE categories.parent_id = 0 UNION…

初めてdojoでdom操作

初dojoで色々勉強になった。 以下改修前の作り。 <ul class="news clearfix"> <li class="current" id="tab01"><a onclick="return private.changetab(this, '01')" href="#" id="atag01">タブ1</a></li> <li id="tab02"><a onclick="return private.index.changetab(this, '02')" href="#" id="atag02">タブ2</a></li> <li id="tab03"></li></ul>

便利コマンドメモ

$rs_dump = var_export($rs, true); ファイル検索→find . -type f -name "*.phtml" | xargs grep -i "sampleStr"

linuxの設定

.vimrc 1 set encoding=sjis 2 set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8 3 4 set tabstop=4 5 "新しい行のインデントを現在行と同じにする 6 set autoindent 7 "バックアップファイルを作るディレクトリ 8 "set backupdir=HOME/vimbackup 9 "ファイ…

windowsにPHPunit入れる

前提としてxampp使っていること。 しかも簡単インストールのlite版。●下準備 コマンドベースでpearアップデート。プログラム→xampp→XamppShell xamppコンパネ→shell(右側のボタン一番上)立ち上げたら以下コマンドでアップデートpear channel-update pear.php…

wordpressでpost取得でハマった事。

いきなりWPへの組み込み修正頼まれてハマった事。。やりたかったことは記事を複数ID取得して、View側で回して表示したかった。 get_header(); $companyList = get_posts('include=' . implode(",", $sendForm['company']));