anybody's game

日々感じたこと、艦隊これくしょん、千年戦争アイギス、読書記録

PHP5技術者認定初級試験を受けてきました PHP Advent Calendar jp 2011

PHP Advent Calendar jp 2011

この記事は、「PHP Advent Calendar jp 2011」という12月1日から25日まで「PHP」というテーマにそったブログ記事をアップしようというイベントのために書いたものです。 前日の記事は、@tsuyoshikawa さんの:「“PHP Apocalypse”を開催しました! | GREE Engineers' Blog」です。

PHP Advent Calendar jp 2011」からいらっしゃった皆様へ

普段は、とある企業の社内システム部で社内システムの内製などをしこしことやっていて、電子書籍についてや、資格試験勉強関連の記事をかいてます。アメムラです。どうぞよろしくお願いします。

PHP5技術者認定初級試験

PHP5技術者認定初級試験という資格試験があります。

今年の2月に設立された「特定非営利活動任意団体PHP技術者認定機構」*1が運営する試験で、技術者のPHPの習熟度合を測ることを目的としています。 試験範囲は、オライリージャパンの「初めてのPHP5」の内容に、セキュリティなどの範囲を加えたもの。 「学生、社会人1〜2年目」が対象者とされていますが、機構のサイトのセミナーのタイトルを眺めてみると、加えて「デザイナー職でPHPに触れる機会のある人」も対象のようです。

今回、勢いでPHP Advent Calenderに申し込んでしまってどうしようとネタを考えていて思いついたのが、資格試験をモチベーションに勉強するのが好きな自分が前々より興味をもっていたこの試験の受験体験記でした。

勉強方法

しかし残念ながら、自分は、社会人&PHP暦3年目。想定される受験対象者じゃないのです・・・。せっかく12,000円だして受験するのに、合格してもそれに見合うだけのリターンつまり、達成感や試験勉強を通じたスキルアップが得られるか。

というわけで、母国語ではない「英語」の書籍でで試験対策をすることによって、ちょっとハードルをあげ、一石二鳥を狙うことにしました。(もし落ちてしまったとき、言い訳にもつかえる!!)ちなみに英語力は、この前うけたTOEICが580点。アレルギー反応でるほど極端に苦手でもないし、日本語と英語で同じ内容の資料があったときに積極的に英語を読みに行くほど得意でもなく、これから英語の勉強していかなくては!という状況です。

利用した参考書

今回の試験対策に使った本が、こちら。 → http://itunes.apple.com/jp/app/learning-php-5/id331152249

PHP5技術者認定初級試験では、オライリージャパンの「初めてのPHP5 」+アルファが試験範囲となっているのですが、その原著版のiPhoneアプリです。「初めてのPHP」が、約3000円なのに対し、こちらは、600円!!とてもリーズナブルです。

さらに、自分は、iPad使いなので、ePub形式に変換してiBooksで読みました。 変換方法はこちらが詳しいです。 → http://d.hatena.ne.jp/shunsuk/20100715/1279199789

勉強用途で電子書籍読む際は、ePub形式のものをiBooksで読むのが、マーカーで線をひけたり、あとで線ひいた場所を一覧できたり、さらには、オフラインでも辞書が使えるので、便利です。

勉強時間

勉強時間は、合計で10時間くらいでしょうか。受験勉強としてはオーソドックスに「Learning PHP5」を1章から順に、例題の解答を除き最後のページまで通読しました。英語の本などとおして読んだことなどなかったのですが、普段よりPHPを使っていますので、語彙やコード部分の読解で困ることが少なく、意外とすらすらと読めました。

受験について

受験までの手順などについては、テストセンター運営のプロメトリックのサイトに詳しくかかれていて、特につまることはないと思います。

http://it.prometric-jp.com/testlist/php/index.html

結果

12/18に受験し、無事、合格しました。1問だけ間違いというのが逆に悔しい。

試験の評価

はっきりいいまして、初級に関してはそれほど難易度は高くないと思います。しかし、難易度が高い資格が質が高く、難易度が低い資格が質が低いというわけでは当然ありません。この試験については、問題の質はなかなかよいと感じます。

 たとえば、↓のような問題がでました。*2

次のプログラムを実行して得られる出力はどれか。

<?php
$hoge = array();
$hoge[3] = 'a';
$hoge[2] = 'b';
$hoge[0] = 'c';
$hoge[1] = 'd';
foreach ($hoge as $val) {
    echo $val;
}

○ 1. abcd
○ 2. bcba
○ 3. dbac
○ 4. cdab

 「1.」が答えなのですが、PHPの配列のつくりは、初学者がつまづきそうな、あるいは勘違いしそうなポイントの一つではないかと思います。じぶんが見た限りでは、それなりにポイントおさえてある試験問題が多く、試験の対象となっているような方でしたら、試験対策を通じてスキルアップが目指せそうです。

試験を受験する時期について

 この試験を受験する時期についてですが、試験対策を通じて、PHPで動くアプリケーションの、個々部品を作る精度、品質は上がかもしれません。しかしやっぱり、動くアプリケーション・システムを作れての部品の精度、品質でしょう。ですから、PHPで何か動くものを1つつくった後くらいに基礎固めとして受験する・・・くらいが、この試験を最大限活用できるタイミングではないかと思います。

PHPを教える立場の人も

 対象者以外の人であっても、会社の補助や金銭的に余裕があるのであれば、OJTや社内講習などで、PHP技術者認定試験対象者レベルの人にPHPを教える立場になったときに受験してみるのもいいでしょう。初心者がひっかかりそうなところはどこいらへんかなというのを確認できそうですし、普段PHPを使い慣れている方も、曖昧だった基礎の部分に自信をもてたり、新しい発見があったりするかもしれません。

 たとえば、自分でしたら、↓のようなコードがなるほどと思ったのでした。

<?php
$hoge = array('aaaa','bbb');
echo '<ul><li>';
echo implode('</li><li>', $hoge);
echo '</li></ul>';

 implode自体は、SQL文を生成するときプレースホルダを埋め込む用途でよく使うのですが、リストを出力するときに使うのはこの試験を受験するにあたり「Learning PHP5」を読んで知りました。(あまり好みな書き方ではないのですが・・・)

PHPユーザーで英語の勉強をしようとしている方も

 そして、PHPに関連する語彙ならある程度分かる人が、「Learning PHP5」でこの試験対策をし、英語の多読の訓練をするのもよいと思います。「Learning PHP5」を通読するまで、英語の情報はたまにWebで検索して参照するくらいでしたが、今回、英語の本を1冊まるごと通して読めたことでだいぶ自信がつきました!!さっそく、iPhoneアプリオライリー本3冊ほど購入しまして今から読もうと思っておりますし、日本語版が絶版されてて、原著しか在庫がないような本を、amazonのカートにいれて、いまにもポチろうかというところです。

まとめ

 初級の受験を通じて、この試験については、試験対策を通じてスキルアップを目指せそうな試験運営がされていく体制になっていそうだなと感じました。アンケートを見る限り、上級試験のトライアル問題の質もなかなか評判がよいようです。*3 ある技術を習得したいとき、地を固めたいとき、道しるべとなるような資格があるというのはいいですね。「PHP技術者認定試験」は、比較的そういうような役割を担えるような気がしています。Q&Aを読むと、PHPのバージョンアップにも積極的に対応していく予定のようです。来年1月11日よりはじまる「PHP5技術者認定上級試験」の高得点取得を目指したりして、PHPと一緒にこの資格の動向にも注目していこうかなぁとと思っています。

ではでは。長い記事に付き合っていただきありがとうございました。

つぎは、@bornknow108さんです。

*1:http://www.phpexam.jp/

*2:問題は、試験で出題された論点の1例を紹介するため、この記事のためにかき下ろしたものです

*3:http://blogs.itmedia.co.jp/yoshimasa/2011/09/php51-0c08.html