≒ ウェブデザイン技能検定2級・受験記

先週受けた検定の記録です。自分への備忘録であることはもちろんですが、僕も受験前にはどんなささいな情報でも貪るように読んでましたので、その恩返しのつもりでもあります。
まず結果予測。五分五分な感触。学科は先日のエントリに書いたようにまず大丈夫なんですが、実技は細かなとこのミス、自分でも気が付いてないミスがあるような気がするのでわかりません。採点基準は、協会の要項に書いてありますが「70点以上」が合格。ただし「各作業において配点の60%以上の得点を得ること」というとこが曲者。僕の出来だと細かなミスが積み重なって1問くらいは4割減点の可能性はあるようなないような。
(12/17追記:合格してました)

受験勉強
勉強開始
10月末から。それまでは何もしていないので実質2週間。ただし、8月から職業訓練にてHTML+CSS文法と独学でJSとPHPは勉強中
参考書
対策問題集』と『ひまつぶし問題』
後者は個人サイトなので直リンクはしませんが、ググれば簡単に見つかります。何の利益もないのに個人で後進のためにあそこまでしてくださる人は珍しいと思います。足を向けて寝られません。
学科の勉強
まず対策問題集の用語を調べて「単語帳」みたいのを作りました。過去エントリにもある通りサーバ上の掲示板でやってたんですが、試験前に全部データを飛ばしてしまいました。幸い、飛ばす直前に(前日!)持ち歩き用に印刷してました。字詰めしてB4サイズで約40枚。200項目強ありました。ただし、作っても繰り返し読み返したわけでもなく、試験直前に1回だけ通読しただけです。単語帳を作るという勉強法はmimiさん(「ひまつぶし問題」の作者様)が書いておられた方法です(とにかく感謝!)。web制作の知識だけがあってもこの試験は駄目で、web法務や各種規格についての項目は初見のものばかりなので調べるしかない。調べるといっても暗記のためというより理解のためで、「わからない項目を調べる」→「理解する」だと簡単ですが、最初のうちは「調べる」→「A:そこで使われている用語が分からない」→「B:それを調べる」→「理解する」のAとBのループに陥ります。それでも根気よく項目をつぶしていくと、問題集の後半では知らない用語もほとんどなくなり時間がかからなくなります。つまり単語帳を作ることが目的ではなくて、その過程で理解することを主眼とした方法です。作ること自体が勉強なので急いで作る必要なし。僕は問題集の1章~2章/1日のペースでやりました。全部で10章です。
僕が重要と思った項目はA「WCAG1.0についての理解」とB「ポート番号」C「OSI参照モデル」。BとCはこの試験では数少ない「暗記しなければとけない問題」項目だと思います。この試験は基本的にウェブ標準への理解を試すものだと思うので、暗記しなくても(知らない項目でも)標準を思い浮かべながらの選択で正解はわかるのですが、BとCは覚えてないと解けません。暗記量も少ないので「各ポート番号と対応するアプリケーション」「OSIモデル各層の名前と対応する代表的アプリケーション」は押さえておいたほうがよいと思います。Aはアクセシビリティについての設問が多いので必須です。しかし理解すべき内容は簡単で、優先度1とそれ以外の違いが分かれば答えられる問題ばかりです。つまり優先度1は「そのやり方(サイトの構造・HTMLの文法etc.)だとそのページにアクセス出来ない人が発生します」ということで、それ以外は「アクセスの難しい人が発生します」の違いです。これが理解できればアクセシビリティ関連問題は全部解けると思います。
学科の勉強2
1が1週間弱で終わり、続いて模擬試験です。問題集とひまつぶし問題を毎日1回づつ、時間をはかって解きました。終わったら間違えた問題はもちろん、解いてて良く意味がわからない単語が出てきた設問をもう一度調べなおし単語帳に追記していきます。試験前々日までにすべての試験を3回程度繰り返したことになり、各回誤回答数2問くらいになりました。
学科の勉強まとめ
以上の1と2が学科試験の勉強のすべてですが、2級試験については現在はこれしかできないのじゃないかと思います。出題元(規格団体など)の情報自体変化していく現状では、出題側も問題作成に苦慮しているだろうことは容易に推察できることから、問題は過去の問題に類似したものになってしまうでしょうし、公式の過去問集もないことからできることは限られます。運営団体が変わったりしてより合目的的な出題になればまた傾向は変わっていくでしょう。そうなったら「前に受けといて良かったー」ってことになるでしょうね。余談ですが、問題集の出版社から「模擬試験セット」が通信販売されているのですが、11月1日にサイトで申し込み、メールの指示に従って即日入金したのですが、商品が到着したのは11月18日でした。それもあまりに遅いので試験二日前に催促した結果です。今回の受験でお世話になったのは「ひまつぶし問題」さんとこの問題集なんですが、出版社さんのほうにはあまり感謝の気持ちが湧きません。もちろんお金を払っているという意識も働いてるのでしょうが、問題集の内容(間違いや疑問に感じる点がある)とサポートサイトの出来からあまりリスペクトできない感じを持ってしまいます。1級関連書籍もこの出版社からしか当面でないのかな?

以上、あまりに長くなりましたので、エントリ分けます。つづく。

≒ mysql_real_escape_stringでハマる。

なんちゃってEC制作メモ。
著者検索部分完了して、やっぱりエラー。
『Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) ~』
うーん。良く意味がわからない。で、まずはsql文を吐き出させて、見てみると、エスケープしてる検索用文字が” “。値が渡ってない。
そうか!mysql_real_escape_stringが悪いんだ!と思い、お馴染みの『htmlspecialchars』に変更。ちゃんとENT_QUOTESにして。
OK!治った!俺すごい!

と思ったんだけど、そもそもmysql_real_escape_string と htmlspecialchars ってどう違うんだ?と思い調べる。
わかったのは、簡単に言うとブラウザ出力のためのサニタイジングに『htmlspecialchars』を使い、sql(格納するデータ以外でデータベースに渡す文字)向けのサニタイジングには『mysql_real_escape_string』を使う。逆や併用は意味がないか、誤動作する場合がある。

俺ダメじゃん!
で、もう一度真剣にググってたら、同じエラー解説があった。俺のバカ。
 つまり、PHPのsql関連命令(この場合はmysql_~)は「データベースに接続していないと動かない」
「mysql_~」が呼び出されると、データベース接続を確認?して、なければその場(行)で接続しようとする。当然裸(パスワードなど持たずに)で接続しようとするので、接続できない。ついでに値の受け渡しもできない。
 エラーにならない場合もあるそうだけど、明示的に命令して継続的な接続をしているなら良いんだけど、大多数は「デフォルト接続がオン(パスがなくても接続できる)」状態になっているから接続できてるだけ。セキュリティ注意!
そういうわけで、エラーが出たってことは接続設定が一応(この場合だけは)大丈夫だったってこと。
結局解決策は「データベース接続命令部分を前に移動する」だけ。いつもどおり、ハマり具合と関係なく解決策はカンターン!
参考書の通り打ちこんだんだけどなー。評判通りこの本は「本の通りやっても動かない」。でも文句は全くない。俺の気のせいかもしれないけど、著者さんの意図があるんじゃないかと思っている。「それぐらい書いてなくてもわかるだろ」ってとこと、普通にやってれば苦労するはずのところは、「親切で書いてない」んじゃないかと思ってる。実際今回も貴重な知識が手に入ったし。問題なし。

≒ なんちゃってECサイト制作

ウェブデザイン技能検定の回答発表があったので自己採点。2問間違い。名前書き間違いとかしてなければ少なくとも学科は受かってるはず。良かった。

というわけで、今日からECサイト制作を再開してるわけです。参考にしている(というかそのまま打ち込んでいる)のは以前にも書いたけどこの本

今日も気合入れてやって2ファイルしか進んでない。難しい。理解しながらと言いたいけど、なんとなーく各スクリプトの動きがわかるかなーって程度の理解でひたすら打ち込み。
で、動かしてみるとぜんぜん駄目なのでコード見ながら、動作見ながら推理して修正を繰り返す。その結果ようやく全部の意味がわかる感じ。自分でも勉強になってるのか疑問な、かなり迂遠なことやってる自覚はあるんだけど、やっぱり修正してコードがちゃんと期待通り動いたり、コードの意味がわかって来たりするとすごく楽しいです。これは勉強というより遊びだな。

しかし資格試験の勉強なんかより脳味噌酷使するのは確かで、試験勉強中は大丈夫だった頭痛が再発。薬をがぶ飲みしながらコード打ってます。

今日はeclipseとZenの環境整備や慣らし(僕のね)もしながらだったのでスローペースだったってのもある。どっちも良い!なのでeclipseにもZenCording入れることになりそう。
その前にeclipseの64ビット化したいな。迂闊にもさっき32ビットだって気がついた。使っててちょっと引っかかる感じや起動に(比較的ね。比較対象はサクラw)時間かかる感じ が気になって色々見てたらわかりました。

64ビットeclipseはjava周りがちょっと不安定との噂もあるので、良く慣れてから取り掛かろうと思ってます。