‘未分類’ カテゴリーのアーカイブ

ここでのニックネームをかえました

自社ページリニューアルの準備をしてまして管理者権限を貰いました。
そんで管理ページみたら変更できたので発作的に変えてしまいました。

murabeからmurave、twitterなんかで使ってるやつです。
なるべく統一したほうがいいよなーと思ってたんですよ。

発音は「ムラヴェ」でなく「ムラベ」で結構です。
ぼくも発音できませんし。

Facebooktwitterlinkedintumblrmail

31歳でPHPUnitを使った僕

31歳でPHPUnitを使った僕

プロローグ
これまでPHPUnitを使ってこなかったけど、少し心配になる部分があったので
PHPUnitを使ってみることにした。
——————————————————————
第一章『インストール』
インストールは
ここ
を読んでやりました。

——————————————————————
第二章『テスト対象のファイル』
Calc.php


------------------------------------------------------------------
第三章『コマンドの実行』
このコマンドを実行する。
「phpunit --skeleton-test Calc」

------------------------------------------------------------------
第四章『テストファイル』
このファイルは第三章のコマンドを実行すると自動的に作られます。
(よく出来てるな~。)
CalcTest.php

class CalcTest extends PHPUnit_Framework_TestCase
{
    /**
     * @var Calc
     */
    protected $object;

    /**
     * Sets up the fixture, for example, opens a network connection.
     * This method is called before a test is executed.
     */
    protected function setUp()
    {
        $this->object = new Calc;
    }

    /**
     * Tears down the fixture, for example, closes a network connection.
     * This method is called after a test is executed.
     */
    protected function tearDown()
    {
    }

    /**
     * @covers Calc::add
     * @todo Implement testAdd().
     */
    public function testAdd()
    {
        // Remove the following lines when you implement this test.
        $this->markTestIncomplete(
          'This test has not been implemented yet.'
        );
    }
}

------------------------------------------------------------------
第五章『書き換える』
testAddメソッドを次のように書き換える。

/**
 * @covers Calc::add
 * @todo Implement testAdd().
 */
public function testAdd()
{
    $this->assertEquals(3, $this->object->add(1, 2));
}

------------------------------------------------------------------
第六章『実行する』
このコマンドを実行する。
「phpunit CalcTest」
PHPUnit 3.6.10 by Sebastian Bergmann.

.

Time: 1 second, Memory: 4.00Mb

OK (1 test, 1 assertion)

------------------------------------------------------------------
第七章『Eclipseから実行したい。』
MakeGoodというのを使えばいいらしいです。

------------------------------------------------------------------
第八章『MakeGoodのインストール』
①ヘルプ→新規ソフトウェアのインストール

②追加ボタンを押します。

③次のように入力します。
名前:「MakeGood」
ロケーション:「http://eclipse.piece-framework.com/」

④以下のようにMakeGoodにチェックをいれます。

⑤あとは使用条件に同意出来ればOKを押してインストール完了です。

------------------------------------------------------------------
第九章『MakeGoodの設定』
①Eclipseの環境設定を開く。

②PHPの実行可能ファイルの設定を開き、追加ボタンをクリックします。

③赤枠部分を環境に応じて入力します。

④PHPのデバッグの設定をします。
以下の赤枠部分を環境に応じて選択します。

------------------------------------------------------------------
第十章『MakeGoodのプロジェクトの設定』
①プロジェクトを右クリックしてプロパティをクリックします。
②インクルードパスを設定します。
 ライブラリーの追加をクリックします。

③次へをクリック

④新規ボタンからダイアログをだして「PHPUnit」と入力

⑤PHPUnitが選択されている状態で外部フォルダーの追加をクリックし、
PHPUnitがインストールされているフォルダを選択

このような状態になります。

⑦PHPUnitにチェックをつけて完了をクリック

⑧「ソース」の項目をクリックして「システムインクルードパスの追加ボタン」をクリックします。

⑨プロパティの「MakeGood」の項目を開き、下にある「追加ボタン」をクリックし、テスト対象のフォルダを追加します。

このようにチェックします。

------------------------------------------------------------------
最終章『実際に使ってみる』
①テストプログラムを右クリックしてメニューを出し、「テストの実行」メニューをクリックします。

②ビューにこのように結果が表示されます。

------------------------------------------------------------------
エピローグ
物語風なのにまったく物語がなかったけど。
やっぱりテストを書く気になれる環境があるのはいいことかな~と思う。

Facebooktwitterlinkedintumblrmail

OSC2012 Nagoya. LT for Business『Roundcubeがいい感じな件』

終わりましたー。スライドアップします(ちょい自粛版)。

『Roundcubeがいい感じな件』のスライド(PDF 4.2MB)

Facebooktwitterlinkedintumblrmail

OSC2012 Nagoya 準備出来!

名古屋っす。OSCっす。
久しぶりの愛知っす。昔2年間くらい一宮に住んでたっす(いらない情報)。

ということでブースの準備が出来ました。

OSCは昨日から開催されてまして今日は2日目ですがブースとウチのセミナー(ついでに私のライトニングトーク)は今日なのでウチの本番は今日からって感じです。

峰松のセミナーは15:10から。
『県庁で大活躍(予定)!OpenCOBOL+Perlで汎用機ダウンサイジングに挑んだワケ』
OSCでは同じタイトルで私(村部)と峰松がセミナーやってますが実は別物です。
私のセミナーに参加されたことがある方もぜひ。
峰松がやるときは技術寄りの内容です(私のときは業務寄り)。

私のほうは今回お昼(12:00〜)にライトニングトークをします。
『【飲食OK】ライトニングトークfor Business』の4番手「Roundcubeがいい感じな件」。
OpenCOBOLではなくWebメールネタです。

ブース、セミナー、ライトニングトーク、よろしくおねがいします〜。

Facebooktwitterlinkedintumblrmail

OSC2012 Tokyo/Spring セミナーのスライド

雨の中セミナーに来てくださったみなさま、ありがとうございました。

使用したスライドを(ネタ成分を削除して)http://www.lancard.com/it-model/technology/の技術資料に追加、公開しました。

よろしかったら見てみて下さい。

Facebooktwitterlinkedintumblrmail

やってきました OSC2012 Tokyo/Spring

準備できました〜。

茶色い物体は長崎では見かけないので買ってみた Dr Pepper。 結構おいしいやん。

スーパーネンドマツ(シッポ付き宇宙人の髪が金色になって逆だってるイメージ)のパワーに
押し流されて急遽キャンセルとなった峰松の席にはカンバン的なものを立ててみました。

新しいiPad片手にでも遊びにきてくださいね(ボクも見たいので)。

明日のセミナーは11時から202教室です。よろしくおねがいします。

Facebooktwitterlinkedintumblrmail

jqGridの設定はsetGridParamで(以下略

他人の褌で相撲を取るような内容ですが、jqGridネタが有ったので少し。
getが有るならsetも(多分)有る、と言うのがプログラムです。

データを読み書きに行くURLを変更したい場合は以下のような感じで

$("#grid").jqGrid('setGridParam', {url:rurl,editurl:surl});

任意にリロードを発生させる必要が有るなら
$("#grid").trigger("reloadGrid");

jqGridは他にもonSortColでソート順をいじる、
onSelectRowで判定後にdatepickerを表示したりさせなかったりcss()で背景色を変えたり、
なんて事も出来ます。

Facebooktwitterlinkedintumblrmail

jqGridの設定はgetGridParamで取れる

jqGridのソースコードを読んでやっとわかったので記しておきます。

例えば、次のように設定した$jqGridObjというjqGridのオブジェクトがあったとします。

$jqGridObj.jqGrid({
datatype : "json",
mtype : "post",
height : 400,
url : "./getlist.php",
gridview : true,
viewrecords : true,
rowNum : 500,
hidegrid : false,
caption : "一覧",
jsonReader : {
root : "rows",
id : "pk",
cell : "fields",
page : "page",
total : "total",
records : "records",
repeatitems : false
},
colNames : [ "番号", "氏名" ],
colModel : [ {
name : "no",
sortable : false,
width : 50,
editable : true,
jsonmap : "fields.no"
}, {
name : "name",
sortable : false,
width : 130,
editable : true,
jsonmap : "fields.name"
} ]
});

オプションのcolNamesやcoModelが取りたいときってありますよね。こうします。

var colNames = $jqGridObj.jqGrid("getGridParam", "colNames");
var colModel = $jqGridObj.jqGrid("getGridParam", "colModel");

getGridParamメソッドについては jqGrid wiki にちゃんと書いてある。なぜ見つけられなかったのかなぁ。

Facebooktwitterlinkedintumblrmail

PHPでXSLTを使ってみる

今回はPHPでXSLTを使ってみました。

1)XMLファイル「list.xml」




2
山田
沖縄


3
田中
長崎


5
佐藤
北海道


1
斉藤
東京


2)XSLTファイル「table.xsl」






list

3)PHPファイル「xlst_process.php」

load('table.xsl');
$processor->importStylesheet($xsl);

$xml = new DOMDocument;
$xml->load('list.xml');

$result = $processor->transformToXml($xml);

echo $result;

4)結果

5)感想
これはすごく簡単に出来ていい!

Facebooktwitterlinkedintumblrmail

CUI な Git ブラウザ tig を Homebrew で入れてみた

『CUI な Git ブラウザ tig を入れてみた』 を見て便利そうだったので Homebew にないかなーと。

$ brew search tig
tig         tiger-vnc

あった。

$ brew install tig
==> Downloading http://jonas.nitro.dk/tig/releases/tig-0.18.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/tig/0.18
==> make install
==> make install-doc-man
/usr/local/Cellar/tig/0.18: 8 files, 248K, built in 12 seconds

サックリ完了。

$ which tig
/usr/local/bin/tig

はいってるはいってる。Gitのワークツリーに移動して

$ tig

起動!

日本語も出てるし大丈夫っぽい。変更を追っかけるのに便利な感じ。

使い方がわからなくなったらhを押すとヘルプがでるので困ったらhと覚えてれば大丈夫(たぶん)。

Facebooktwitterlinkedintumblrmail