Strings of Life

PHP/Phalcon/MySQL/JavaScript/RegExp/Ruby/Perl/ActionScript

タグ:CSS

<meta  name="viewport" content="width=device-width">
↑がHTMLの<head>内に書いてあるかチェック。 これが入っていないと、iPhone等では解像度(960 x 640等)に従って描画されるので、「Bootstrap入れたのに表示がPCのままだ!」となる。 viewport設定を入れてやると、横幅320pxで描画される。

あけましておめでとうございます。2012年に読んだ技術書のまとめ兼、2013年の抱負です。


☆HTML/CSS

HTML/XHTML&amp;スタイルシートレッスンブック―ステップバイステップ形式でマスターできる
HTML/XHTML&amp;スタイルシートレッスンブック

2月に読了。XHTML1.0を使用したマークアップの入門書。CSS2も同時に習得できます。最初からHTML5を学べる入門書も出てきていますが、XHTML1.0のマークアップはHTML5を書く上で基礎となるものです。本書が、HTMLマークアップの優れた入門書である点は現在でも変わりありません。オススメ。


HTML5+CSS3で作る  魅せるiPhoneサイト  iPhone/iPad/iPod touch対応
HTML5+CSS3で作る 魅せるiPhoneサイト

3月に読了。iOSデバイスに対応したサイト構築方法が学べます。「iPhoneサイト」であって「スマホサイト」ではないので、Android対応に関しては一切触れてません。


2013年は、HTMLに関しては「これをやりたい」ってあんまり無いんですよねえ。CSSに関しては、SCSS/LESSあたりには興味があります(やるとは言ってないw)。


☆JavaScript/jQuery

マンガでわかるJavaScript
マンガでわかるJavaScript

3月に読了。11月に再読。3月時点では分からないところは飛ばして読みました。11月時点では、JavaScriptのオブジェクト指向の理解が進みました。漫画はゆるくて面白いものの、サンプルコードが退屈なのが弱点。Webサイトマンガで分かるJavaScriptプログラミング講座の書籍版です。


Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)
Web制作の現場で使う jQueryデザイン入門

4月に読了。実践的なサンプルコードが充実しているうえ、商用利用可! 職場に1冊jQuery本を置いとくならコレ。基礎編は入門に適した内容になっているものの、実践編はプログラミング初心者にはツラい(正規表現が登場したりする)。jQuery学習書としてはWebデザイナーのための jQuery入門の方がオススメ。


jQuery ポケットリファレンス (POCKET REFERENCE)
jQuery ポケットリファレンス

調べ物用。jQuery1.4対応。公式リファレンスを見ても分からない、って時に、本書を読んだら解決したりする。


Head First JavaScript ―頭とからだで覚えるJavaScriptの基本
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本

11月に読了。本の構成が初心者に優しくないうえ、邦訳が雑。非推奨。


JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技
JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技

若手IT勉強会のため購入。マニアックなネタが多いので、中級者以上向け。


他に、JavaScript本格入門も買いましたが、未読。JavaScriptはしっかりやりたいなと思いつつも、いまいちやれてない。仕事で全然使ってないのが一因ですね。今年、どの程度やるかも、仕事次第。


☆PHP

PHP公式資格教科書 PHP5技術者認定初級試験対応 (EXPERT EXPASS)
PHP公式資格教科書 PHP5技術者認定初級試験対応

半分ほど読んで積ん読。環境構築は載ってないので、初心者向けではありません。非常に易しい内容と、妙にマニアックな内容(ビット演算とか)が混在しています。資格に関しては、受験料1万2千円と聞いて取るのをやめました。


よくわかるPHPの教科書
よくわかるPHPの教科書

4月に読了。プログラミング初心者でもOK。読みやすくて分かりやすいのですが、ある程度学習が進んでから読み返すと粗の見えてくる本でもあります。

代替となる入門書としては、プリペアードステートメントを使ってて感心したいきなりはじめるPHP(ただし本のレイアウトに難あり)や、「PHPの会社」アシアルのイラストでよくわかるPHPあたりが良いかな、と。

いずれも200ページ前後で、300ページある『よくわかるPHPの教科書』よりも情報量は少ないです。プログラミング未経験者のPHP入門は、「これ1冊でOK」な500ページ以上あるような入門書にいきなり取り組むより、薄い入門書を1冊読んでプログラミングの感じをつかむ → 充実した入門書を1冊読んで知識を本格化する という流れの方が挫折しにくいと思います。

※「充実した」の基準:MySQLは必須、オブジェクト指向まで載っているとbetter


Webサイト制作者のための PHP入門講座
Webサイト制作者のための PHP入門講座

8割ほど読んだところで積ん読。残りはCodeIgniterが必要になったら読む予定。Hello Worldからフレームワークまで一気に駆け抜ける。PHPのコードは、セキュリティにもしっかり気を配っていて好印象です。MySQLを全く扱っていないのが弱点で、オススメには一歩足りず。


Head First PHP &amp; MySQL ―頭とからだで覚えるWebアプリケーション開発の基本
Head First PHP &amp; MySQL ―頭とからだで覚えるWebアプリケーション開発の基本

11月に読了。PHPとMySQLの基礎を固める本。オブジェクト指向が抜けているのは残念だが、HTTP通信の話やDB関係は充実している。2008年の本。MySQLの設定等、現在では通用しない部分もあるので、オススメには一歩足りない。


PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
PHP 逆引きレシピ

調べ物用。「こういう機能はどう作ればいいんだろう」って時に、目的から探せるので便利。オススメ。


パーフェクトPHP (PERFECT SERIES 3)
パーフェクトPHP

現在読書中。実務者向けの本。PHPの基礎も載ってますが、言語仕様のつまづきやすいポイントや、PHPのオブジェクト指向の構文等、他の言語でバリバリ書いてきた人向け。PHP実務者必読! と言いたいくらい素晴らしい内容。オススメ。

ただし、PHPでプログラミングを学んできて、オブジェクト指向は使うほうは出来るけど、クラスの設計とかはちょっと……という私のような人は苦労すると思います。


独習PHP 第2版
独習PHP 第2版

現在読書中。良くも悪くも教科書的。オブジェクト指向プログラミングを初歩からきっちり解説してあるPHPの入門書は少ないので、本書は貴重な存在。難点は、(1) Windows環境を前提とした解説(環境構築はLinux向けも載っているが、本文のコードはWindows環境) (2) 文章やサンプルコードが退屈 の2点。


PHPに関しては、パーフェクトPHPまで読み終えたら一段落つくかな、という印象です。フレームワークに関してはCake PHPを学習していこうと思います。


☆MySQL

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )
基礎からのMySQL 改訂版

10月に読了。MySQLの解説は分かりやすく、充実している。PHPも載っているのでMySQLを利用したいPHPerには最適。HTMLも載ってるが、10年以上前のスタイルなので真似してはいけない。


SQLは、CRUD文を一応書けるよ、という程度で、セキュリティやスケーラビリティ、MySQLのチューニング等、課題が山積。2013年に力を入れたい分野の一つ。


☆Ruby

たのしい開発 スタートアップRuby
たのしい開発 スタートアップRuby

Rubyのカルチャーに触れる本。Ruby入門者の1冊目にオススメ。


たのしいRuby 第3版
たのしいRuby 第3版

しょっぱなから「メソッド」「オブジェクト」といった用語が説明なしに出てくる等、初歩から載ってる割に初心者向けの配慮が不足している。Rubyの構文の気持ちよさを体験することができたのは良かった。


Rubyに関しては、Railsやりたいなあと思いつつやれずに終わった2012年でした。2013年はRailsやります。


☆Perl

新版Perl言語プログラミングレッスン入門編
新版Perl言語プログラミングレッスン入門編

私にとって、本書は「Perl入門」というより「正規表現入門」です。Perlの構文は今ではすっかり忘れてしまいましたが、本書で学んだ正規表現は毎日のように使ってます。解説が非常に丁寧なので、Perl入門者のみならず、プログラミング初心者にもオススメします。


Perlに関しては、『Perl言語プログラミングレッスン』を再読して、積ん読になっている初めてのPerl 第6版も読んで、手元で動かすスクリプトはPerlで組めるようになりたいな、と思ってます(現在はPHPで組んでます)。


☆ActionScript

Essential ActionScript 3.0
Essential ActionScript 3.0

現在読書中。私は、オブジェクト指向プログラミングの基礎を本書で学びました。基礎からの丁寧な解説と、実際に動く本格的なアプリケーションの作成を並行して行う。私の好みにドンピシャの1冊。ただし、分量が非常に多い(邦訳紙版は900ページ超)。


ActionScriptは「JavaScriptの皮を被ったJava」です。言語も環境もよくできてると思うのだけど、世間的には衰退するという予想が多いんですよね。個人的には、Angry BirdsのようなカジュアルゲームをPC/スマートフォン両対応で出す際には、Flashが現在の最適解、と思ってます。とはいえ、私はFlash制作者になりたいわけではなく、ActionScriptは趣味です。


☆新年の抱負

やりたいことの優先順位をつけると、

SQL(MySQL) > Ruby(Rails) > JavaScript > PHP > その他

って感じですね。SQLは仕事にも関係するし、やってて楽しい分野でもあるので、最重視。Rubyは新しい世界を知るため。JavaScriptは、覇権言語になりそうなのでやっとこうかなと。PHPはライスワーク。

その他としては、正規表現(日常使いの便利ツール)、Perl(YAPCを楽しむため)、Java(オブジェクト指向を学ぶため)、C(プログラマーの一般教養)あたりをやりたいな、と。


また、特定の言語に限らないトピックとしては、自動テストの書き方、走らせ方。現在は、仕事でも(!)、プライベートでも、テストを全く書いてないので。gitに関しても、一度学びの機会を作りたい。

あと、エディタ。PHPはPhpStormで決定だけど、それ以外の言語をどのエディタで書くか。vimはサーバで設定をいじくる時に使うエディタとしては十分だけど、モードが面倒なのでメインとして使うには不安を感じる。一方、emacsはデフォルトのキーバインドがイケてないのと、カスタマイズの敷居の高さが難点。どちらかに決める突破口があれば良いのだけど。

今年もよろしくお願いします。

オライリーの「CSS Cookbook 3rd Edition」を読了しました。英語の原書です(CSS Cookbookの邦訳は1st Editionのものしか出ていません)。また、読了したのはiOSアプリ版(から取り出したePub)です。通勤電車でコツコツ読んで、4ヶ月、約80時間で読破といったところでしょうか。

700ページもある英語の原書を読破したのは初めての経験ですが、やればできるものです。「どんな本でも、途中で読むのを止めなければ必ず読める」という手応えを感じました。

技術書なので英語も易しいし、英語が分からなくてもコードを読めば言ってることは分かる、ということが結構ありました。また、Cookbookなので記事ごとに内容が分散していて、ある時点でつまずいたらその後分からなくなる、という内容ではなかったのも幸いしました。

読解力に関しては鍛えられた実感はそれほどありませんが、英語を読む体力、度胸は身についたと思います。


肝心のCSSに関しては、ネガティブマージンの使い方などは本書で初めて本格的に学びました。他に、タイポグラフィのテクニックなど、英語圏特有の話題も興味深かったです。

出版当時(2009年)の最新の話題(CSS3)や下方互換性の話題(IE6対応)もそれなり。ただし、スマートフォン向けのCSSの書き方については全く触れられていません。

いま、CSSを学びたい人にオススメするかと聞かれたら、しません。また、仕事場に置いとけば役立つかも微妙です(IE6対応が必要なら役立つかも)。CSS3やスマートフォン対応の記述が充実すれば、使いでのある本になりそうな感じもしますが、そのためには大幅な改定が必要でしょう。

1.草案 Working Draft
2.最終草案 Last Call Working Draft
3.勧告候補 Candidate Recommendation
4.勧告案 Proposed Recommendation
5.勧告 Recommendation

出典:大津真『JavaScriptプログラミング入門 第2版』


ちなみに、HTML5は2011/5/25に最終草案が出て、現在は勧告候補の策定中。(最終草案はここで読める)

CSSは、「CSS3」という大枠ではなく、個々の機能別にDraftやRecommendationが出てるみたいなので、ちょっと事情が違う。例えば、CSS3のセレクタ(:last-child等)は、もう勧告が出てる(2011/09/29)。一方で、Grid Layout(テーブルレイアウトのような感覚でdivをレイアウトできる、新しいプロパティ)は、今年の3/22に草案が出たばかり。

個人的には、CSSの草案・勧告が楽しい。「こんなことが出来るようになるのか!」という期待感がある。

ナビゲーションボタンの縦幅は44px以上が望ましいとされているが、14px~16px程度の文字に<a>タグでリンクを貼る場合も多い。そのようなときに有効となるテクニックが、paddingで<a>タグのタップ可能領域を広げてやること。文字サイズを維持しつつ、ユーザビリティを向上させることが出来る。



参考書籍:HTML5+CSS3で作る  魅せるiPhoneサイト  iPhone/iPad/iPod touch対応
HTML5+CSS3で作る 魅せるiPhoneサイト

このページのトップヘ