ページ

2011年11月26日土曜日

PHPUnitをNetBeansで使うときに「'".\php.exe"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーの解決方法

PHPUnitをNetBeansで使いたいんだけど、「'".\php.exe"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」って怒られる・・・(´・ω・`)


調査した結果、
C:\xampp\php\phpunit.batの中にヒントが隠されていた。


phpunit.bat 一部抜粋)
if "%PHPBIN%" == "" set PHPBIN=.\php.exe


つまり、システム環境変数に、下記のようなものを追加してやればいい。

結果、問題なくPHPUnitが動作するようになった。
めでたしめでたし。

2011年11月10日木曜日

変数名に漢字やかなを使っても良いものか?

最近のプログラミング言語では、シンボルとして日本語を認識できるものがいくつかあるらしい。僕はそういうものはScalaしか知らないけどね。Rubyもできるんだったかな・・・記憶があいまいだ。
事務系のプログラムを作るときに、変数名やメソッド名に日本語を使いたい時があるんだ。「貸倒引当金」とか「利益余剰金」とか、英語に翻訳するのがすごくめんどうなのよね。そのままローマ字表記で「kashidaore_hikiate_kin」とかにしてもいいんだろうけど、どこにアンダーバーをいれればいいのか迷う。例えば、引当金だったら「hikiate_kin」にするのか「hikiatekin」にするのか、悩んじゃう。
プログラミングの原則的には「シンボルは英語で定義する」なんだけど、それを守ろうとするあまりに作業効率が極端に低下するのであれば、例外を認めてもいいんじゃないかな。社内でしか使わなかったり、特定の業種に特化したりするシステムを作る上であれば、なおさらね。

2011年10月21日金曜日

一緒に遊べるアクションゲーム。

「星のカービィWii」発売まで、いよいよ一週間をきったよ。買おうかどうか迷っていたけれど、思い切って予約した。おそらくkonozamaだろうけどね。
据え置きゲーム機は、2000年に発売した「星のカービィ64」以来だから11年ぶり。でも、多人数同時プレイができる据え置きカービィは、1996年の「星のカービィスーパーデラックス」が最後だから・・・15年ぶりってことか。「毛糸のカービィ」は例外扱いさせてね。あれはもともと「毛糸のフラッフ」として開発されていたものが、途中でキャラクターとしてカービィを起用したものなんだよ。

僕が知っている協力プレイ可能アクションゲームは、
  • 星のカービィスーパーデラックス
  • 毛糸のカービィ
  • NewスーパーマリオブラザーズWii
  • がんばれゴエモン2
  • ワイワイワールド2 SOS!!パセリ城
これくらいかな。

特に思い出深いのは「がんばれゴエモン2」。よく友だちと一緒に遊んでいて、最初のステージで白い招き猫を集めるのが恒例だったよ。ゴエモン、エビス丸、サスケ、それぞれの個性が強い点も面白い。コミックボンボンではエビス丸がゲイとして描かれていたけど、あれって公式設定なのか?

「毛糸のカービィ」は癒しゲー。一部の敵キャラクターはぶつかってもダメージを受けない。それどころか、いくらダメージを受けてもスコアが減るだけでゲームオーバーにならない。そしてグラフィックやBGMがめっちゃファンシー。彼女と一緒に遊んでみたいな・・・彼女いないけど。

やっぱり、協力プレイできるゲームは据え置きがいいなー。携帯ゲーム機だと、人数分の本体とソフトを用意しないといけないんだもの。ポケモンやモンハンみたいな「超」がつくほど人気のあるタイトルならいいけど、そうでなければ一緒に遊べる仲間がいなくてさみしい思いをすることがよくある。友だちが少ないとか言っちゃダメ。

2011年10月15日土曜日

そもそもMVCとは。

様々なフレームワークで用いられているMVCについての僕の認識を書いてみる。
Viewは画面。これについては特に書くことはない。
Controllerは、ViewやModelの処理を起動するもの。
Modelはドメインモデルのこと。業務処理に合わせて、データを保持したり、データを編集したりするのがModelの役割。

フレームワークの入門者向け解説を読むと、Modelはデータを保持するだけのものだと勘違いすることがある(僕もそうだった)。Strutsの解説ではModel=Beanとされていることがあるし、Railsの解説でもgenerate modelでModelが作られるとされていることがある。間違いではないんだけれど、ちょいと言葉が足りないのではあるまいか。

一部の企業が採用している設計方針では、Modelを実現するために、ServiceクラスとModelクラスを作る。Serviceクラスではデータの編集を行い、Modelクラスではデータの保持を行う。このようにすることでクラスの役割はわかりやすくなる。このような場合でも、MVCに照らしあわせれば、ServiceクラスはMVCのModelの役割に含まれている。










このあたりを再認識することはけっこう重要だと思った。特にRailsを使う上ではね。

2011年10月10日月曜日

Railsメモ:多対多の関連を利用したときにNameError: uninitialized constant

多対多の関連を設定したんだけど、データの読み出しがうまくいかない・・・

ソースはこんな感じ。

2011年9月24日土曜日

タブレットの今後に期待。

つい最近、Sony Tabletを購入したんだ。一番の目的は、電子書籍を読むこと。持ち運びづらい分厚い本でも、タブレットPCなら比較的らくに持ち運べる。AndroidMarketでは、通常だと3000円以上する洋書が400円代で買えちゃう。技術書好きにとってはかなり嬉しい。
Webサイトの閲覧もわりと快適。PC向けのサイトを楽に見られる。動画サイトも、若干速度は落ちるけどなんとかなる。文字入力はATOK(1500円)のフリック入力が便利。慣れれば日本語の入力速度はガラケーに近づけるかも。
難点は、全体的に動作がやや不安定なところ。OSが悪いのかハードが悪いのかわからないけど、まれにフリーズするのよね(´・ω・`)基本的に情報を見るために使っているから我慢できるけど、もしもデータ編集中に固まっちゃったら目も当てられないよー。
Googleはモバイル端末用の新しいOS、Ice Cream Sandwichを出すらしい(このニュースを知っていたら、まだタブレットを購入しなかったかもしれない)。これからもっと使いやすくなってくれるといいな。




・・・TitaniumはIce Cream Sandwichに対応させる必要があるよね。技術の進歩は嬉しいけど、苦労が伴うわな。

2011年9月20日火曜日

自分を甘やかすクセをなおすために

勉強や運動のスケジュールを立てても、ことごとく計画倒れしてしまう(´・ω・`)
ついつい自分を甘やかしてしまうんだよなあ・・・。

なにか良い方法はないかと考えた末、
「これをやります!」という宣言をWeb上に公開することで、
自分に適度なプレッシャーをかけてみることにした。

やります宣言シート

今度こそは目標達成するぞー(`・ω・´)シャキーン

2011年9月16日金曜日

TPSらしからぬTPSが欲しい。もはやTPSとは別物か・・・

TPS(サード・パーソン・シューティング)というジャンルのゲームがあるんだ。後ろから投影されたプレイヤーキャラクターを操作して、ライバルを射撃する。
プレイ動画を見てもらえばわかると思うよ。→TPSプレイ動画(トイ・ウォーズ)

TPSって、かなり敷居の高いゲームだと思うんだ。3D空間でキャラクターを動かすことに加えて、遠くを動きまわる敵を狙い打つ。この難しさが原因で、TPSを楽しめない人がいるような気がする。

もっとも、ひとたびこのアクションを習得してしまえば、他のジャンルのゲームにはない刺激を楽しめるんだよね。物陰で待ち伏せしたり、仲間と一緒に一気に敵陣へ突入したりする面白さは癖になるよ。

2011年9月7日水曜日

勉強の「効率」と「効果」

勉強の効率を上げる

指定した量を短時間でこなすための工夫をする。

  • 単語帳を作成する
  • 語呂合わせを使う
  • 集中力を高めるための工夫をする



2011年8月28日日曜日

デモのありかたについて


今の日本には、デモを行うべき対象がたくさんあるよねー。
最近行われたフジテレビの問題もそうだと思う。

ただ、残念なことに、
今回のデモの主張に賛同してくれる日本人が
どれだけいるかと考えると・・・正直不安になる。

どうせデモをやるんだったら、
日本人なら誰もが賛同してくれそうなテーマを選ぶといいんじゃないかな。

例えばこんなの。
だらだらネットサーフィンしてたら見つけた。
日本海の資源が韓国とアメリカにとられちゃう!

参考動画(ニコニコ生放送タイムシフト)
http://live.nicovideo.jp/watch/lv59058795?d=1#1:11:20

韓国が日本海のメタンハイドレードを手中に収めるために活動してるっぽい。
そして、その活動資金をアメリカが提供してるっぽい。
まだちゃんと情報収集してないからよくわからないけどね。
詳しい人がいたら、情報をくれるとありがたいです。

とまあ、
こんなことを思いついたので、ちょっと書いてみた次第。

2011年8月23日火曜日

Rails 3.0.5 scaffoldで作成させるアクションメソッドの一覧(REST URL)

Railsでは、[リソース名][アクション名]という規則でURLを作成することが推奨されている。
scaffoldでアプリケーションを作成すると、このルールに則ったアクションが実装される。
各アクション名とその意味は下記のとおり。

アクション動作
index一覧画面を表示
show個別詳細画面を表示
new新規登録画面を表示
create新規登録画面の入力を受けて登録処理
edit編集画面を表示
update編集画面の入力を受けて更新処理
destroy一覧画面で指定されたデータを削除処理

2011年8月22日月曜日

Linux:ユーザーを複数のグループに追加する方法

Linux:ユーザーを複数のグループに追加する方法

userhogeを複数のグループに追加する際、
下記のような操作を行ったら、
groupfooにしか所属していなかった。

# usermod -G groupbar userhoge
# usermod -G groupfoo userhoge

複数のグループに所属させたい場合は、下記のようにする。

# usermod -G groupbar,groupfoo userhoge

いやー、今までアクセスできてたファイルに
突然アクセスできなくなってさ、
アカウントが乗っ取られたのかと思っちゃったよ。

自分の操作ミスで、ユーザーの所属グループが変わっていただけでした。
ちゃんちゃん。

2011年8月3日水曜日

個人で仕事を受けたよ。

1~2ヶ月前に、懐かしい友人から連絡があり、
Webページの作成依頼を受けたんだ。

個人として仕事を受けるのは、人生初体験。
(あっちの方の初体験もしてみたいです///)
小規模なものとはいえ、少し緊張したなあ。
数日前に完成したページを公開して、
今日、代金をいただきました。ありがたや、ありがたや。

無名の人間が仕事を受けるには、
プライベートなつながりが大事なんだなあ。
まあ、仕事に限らず、
人間関係って大事にしないといけないんだろうけどね。
ついおろそかにしちゃうんだよなあ・・・。

2011年7月5日火曜日

PCを新しく購入。

4月に購入したASUSのノートが不調だったため、
それを返品して、DELLのINSPIRONを購入。
Corei3 2.1GHz、RAM4GB、HD600GBで49800円。
私としては、この値段でこのスペックならまあまあ満足。
とりあえずDropBoxをインストール。
重要なファイルはすべてDropBoxにバックアップしてあるので無問題。
ただ、開発環境を構築しなおさないといけないのがめんどうなんだ。
手順をまとめるなり、環境を構築した時点でのリカバリディスクを作るなり、
PCに障害が発生したときのために対策をとっておくべきだった。


先月辺りに図書館にRails3の書籍をリクエストしたことを思い出し、
いつになれば読めるのかと図書館に問い合せてみたところ、
半年ほどかかると言われてしまった。
そんなに待てないのでアマゾンでぽちる。2日も待てば届くだろう。

2011年5月27日金曜日

Ruby1.9でスクリプト上にエンコーディングを指定する方法

Ruby1.9では、スクリプトの先頭にエンコーディングを指定することができる。
例えば、下記のスクリプトはShift-JISとして実行される。


# coding: sjis
puts "こんにちは"


このコメントはASCIIだけで書く必要がある。
また、次の位置に任意の文字列を含めることができる。

  • codingの前
  • エンコーディング名の後

また、コロンの代わりにイコールを使用することができる。
これらを利用すると、エンコーディングは下記のように指定することもできる。


# -*- coding: utf-8 -*-


# vi: set fileencoding=utf-8 :


通常、エンコーディングの指定は1行目である必要があるが、
先頭業がshebangコメントになっている場合は例外で、
エンコーディングを2行目に指定することができる。


#!/usr/bin/ruby -w
# coding: utf-8


参考文献:プログラミング言語 Ruby

2011年2月13日日曜日

Rails3の情報源

最近、下記サイトを参考に、ちょこちょことRails3をいじっている。
http://guides.rubyonrails.org/getting_started.html

中学生レベルの文法知識と、マウスオーバー辞書があれば、書いてある内容の8割くらいは理解できる。現状、自分にとって一番良いRailsの情報源だ。Rails3に関する日本語の情報は今のところ見つけていない。

そういえば、@ITがRails3の認定試験に関するページを作るといっていたが、いつになったら出来上がるのだろうか。ちょくちょくRails Hubにアクセスしているのだが、本格的にRails3を勉強できる記事が見当たらない。Web上には情報を載せずに、資格試験の参考書を買わせて儲けるつもりなのだろうか…

2011年2月8日火曜日

Rails3 「sqlite3.dllが見つかりません」 の対処法

環境:
Windows7 Home Premium
Ruby 1.9.2
Rails 3.0.3


操作(入力コマンド):
rails server

現象:
ダイアログに「sqlite3.dllが見つかりません」と表示される

対処法:
Rubyインストールディレクトリのbin配下に、sqlite3.dllを配置する。

対処例:
C:\Ruby192\bin  このディレクトリにsqlite3.dllを配置

補足:
sqlite3.dllダウンロード元
http://www.dbonline.jp/sqliteinstall/install/index3.html

2011年1月4日火曜日

基本情報技術者は取得すべきか

IT業界は、資格を持っていなくとも、実力さえあれば仕事をすることができる。それ故に、資格を持っていなくとも特に困ることはないだろう。現に、自分の周りにそうしたエンジニアはたくさんいる。
だからといって、資格を取得することが無意味かといえば、決してそんなことはない。経済産業省の基本情報技術者を例にあげてみよう。この資格にむけて勉強することで、ITエンジニアはどんな知識を持っているべきか知ることができるし、他のIT技術を勉強するために必要な土台をつくることができる。開発現場で仕事を通して学べばそれでよいのかもしれないが、何らかの理由によりそれが不可能な場合(学生であったり、他の業界から転職を考えていたりする場合)、資格の勉強を通して学ぶことが必要になってくるのではないだろうか。
ちなみに、近々DSで基本情報技術者を学べるようになるらしい。私が学生の頃にこんなソフトがあれば、どんなに勉強が楽になっていただろうか!
もっとも、並行してプログラミングを学習すべきなのはいうまでもない。組込み系ならCやC++、業務系ならJavaやVB.NETあたりを学ぶとよいだろう。