COMWARE PLUS プラス・サムシングを大切なお客さまへ

メールマガジンのご登録
ITジャーナリストや現役書店員、編集者が選ぶ デジタル人材のためのブックレビュー 
ITジャーナリストや現役書店員、編集者が選ぶ デジタル人材のためのブックレビュー 
ポスト
        
        

今月の書籍

レビュワー:高橋 征義

  • 『HTML解体新書』
  • 『楽々ERDレッスン』

2020年代にHTMLと向き合うための頼もしいガイド

 Webを支える技術のうちクライアントサイドで中心的に使われる技術としては、大きく分けてHTML、CSSとJavaScript(+JSON)が挙げられる。

 そのうちCSSやJavaScriptについては現在に至るまでさまざまな書籍が刊行されているが、その中でHTMLは比較的地味な存在となっている。Webデザインの分野でCSSと合わせて基本的なところを紹介する書籍や、辞書・カタログ的にHTMLの各要素とその属性等を紹介したりする書籍は継続的に刊行され続けているが、HTMLそのものにフォーカスした書籍はさほど多くはない。

 そんな中、本書は久々に刊行された、HTMLを正面から扱う本格的な解説書である。

 HTMLを取り巻く大きな流れを大雑把にまとめると、2000年代には「XHTML」の波が、2010年代には「HTML5」の波があった。前者は空前のXMLブームの中、構文的にも意味的にも(「Semantic Web!」)大きく刷新を図ろうとしつつも、いろいろあって刷新できたとは言い難い。後者はその二の舞を避けつつ、アプリケーションプラットフォームとしてのWebを前面に押し出しながら、健全に成長しつつあったJavaScriptとともにフロントエンド技術の確立を支えてきた。

 そして2020年代の現在、SGMLでもXMLでもなくなり、「Living Standard」として巨大かつ随時更新される仕様となったHTMLに、いま改めて向き合うにはどうすれば良いか。本書はその優れた回答の一つと言える。

 本書にはアクセシビリティの記述が多い。第3章「HTMLの主要な要素」では「内容モデル」「属性」に加えて「アクセシビリティ上の注意点」という見出しが立てられ、その都度説明されている。そして第4章「主要な属性とWAI-ARIA」も半分以上はWAI-ARIAを通したアクセシビリティの解説となっている。従来のHTML解説書と比べると特徴的と言える。

 もっとも現代のHTMLのニーズを考えると、外見などについてはCSSが本命であるし、またセマンティックな情報の配布・流通にはJSON APIが使われるなど、アプリケーション画面記述用言語としてのHTMLにはセマンティックな情報記述機能も薄まりつつある。それよりも、CSSでも記述できない、Webにおけるアクセシビリティの根幹を担う役割が、今のHTMLに期待されているということかもしれない。

 ReactやVueしか使ったことがないのでHTMLファイルなるものは書いたことがないという人、あるいは学生の頃から「検/索/避/け」に励みつつ自分のホームページのためHTMLを手書きしてきたけれどHTMLの仕様書「MDN」もほとんど読んだことがないという人など、HTMLの現在と向き合う際には本書が心強い味方となるだろう。

『HTML解体新書』

著者:太田 良典、中村 直樹

出版社:ボーンデジタル

https://www.borndigital.co.jp/book/25999.html

アプリケーション開発者がDB設計に取り組む際の定番書

 本書はアプリケーション開発者のためのデータベース(DB)設計についての書籍である。

 DB設計の書籍としては、いわゆるデータベース管理者(DBA)の視点から適切なテーブルやインデックス設計を行い、それに対するSQLをどう組み立てるかを解説する書籍が多い。当ブックレビューで以前池澤氏が取り上げた『達人に学ぶDB設計 徹底指南書』もその一冊と言える。こういった書籍は、DBをいかに使いこなすかという、どちらかというとDB寄りの視点からのDB設計と言えるかもしれない。

 とはいえ、実際にアプリケーション開発者がDBを設計する際には、「DB」の他にも「業務・ビジネス」「アプリケーション」という三者とそれぞれ向き合う必要がある。DBの基本はある程度理解したところで、次第に膨らんだり変わったりしていく仕様とソフトウェアをうまく受け止めてくれるDB設計をゼロから作り育てていくといった技能は、なかなか身につけるのが難しい。また定評のある本もあまり見当たらない。本書はそのような技術の習得を助けてくれる、貴重な一冊である。

 大きく3部構成になっているが、手を動かしながら学習できるという意味では最初の2章は軽く読み流して、本書の書名と同じ「楽々ERDレッスン」というタイトルの第3章を読むと良いかもしれない。この章では「持ち帰り用注文用紙」「図書館の予約申込書」「病院の領収書」といった、実際に存在しそうな書類・伝票を元に、これをDBで管理するにはどのようなテーブル・カラムで表現するか、ということを考えていく。伝票としては架空のものだが、どれも身近な題材で、具体的なイメージがしやすい。設計の練習用としては良い題材になっている。

 もっとも、第1章、第2章も難易度は若干高いかもしれないが、得られる知見も大きい。第1章については、正規化の紹介やDB設計の手順と合わせて、キー、コード、アイデンティファイア(ID)概念を整理する。IDは『SQLアンチパターン』(オライリー・ジャパン)にも「とりあえずID」パターンとして紹介されるくらい議論を呼ぶ存在だが、本書ではめずらしくIDの積極的なメリットが語られる。IDはORマッパーの都合で妥協してつけるもの、と思っているなら一読の価値がある。

 第2章はいわゆる業務アプリ的な視点から書かれているため、例えばネットで完結するサービスのAPI設計に取り組むようなエンジニアには少し縁遠く感じるかもしれない。しかし、現代のWebアプリケーション開発が発達してくるまでに「ビジネス」「(永続化ストレージとしての)DB」にはどのような関係があり、どのような歴史を踏まえてここにたどり着いたのか、言わば「Web開発前史」的な趣もあって味わい深い。目の前の技術の「外」に広がる世界とDBがつながる知見を与えてくれる。

 刊行年は2006年であるのだが、技術的にはさほど古さを感じない。良くも悪くも現実世界での帳票やRDB・SQLはそうそう変わるものでもない。この本としては幸運だったと言えるだろう。

 もちろん時代的な制約もなくはない。例えば時期的にNoSQLブーム以前でもあるため、RDBではなくNoSQLを使うという場合の設計にはあまり役立たないかもしれない。とはいえ、そもそもNoSQLはRDBに比べてデータストアごとの違いが大きくノウハウが共有しづらい。DynamoDBとFirestoreとMongoDBのすべてに適用できる設計手法というのも想像できず、後発の書籍でもそのようなことは期待できなさそうである。基本を習得するための基盤としては、RDBに一日の長がある。運良くNoSQL設計の知見にあふれた環境にいるのであればともかく、そうでないならRDBから習得した方が早道かと思われる。

 DB設計にも自信が持てるアプリケーション開発者をめざすには、本書はきっと役立つだろう。

『楽々ERDレッスン』

著者:羽生 章洋

出版社:翔泳社

https://www.shoeisha.co.jp/book/detail/9784798110660

今月のレビュワー

302_img03.jpg

高橋征義 (たかはし・まさよし)

札幌出身。Web制作会社にてプログラマとして勤務する傍ら、2004年にRubyの開発者と利用者を支援する団体、日本Rubyの会を設立、現在まで代表を務める。2010年にITエンジニア向けの技術系電子書籍の制作と販売を行う株式会社達人出版会を設立、現在まで代表取締役。著書に『たのしいRuby』(共著)など。好きな作家は新井素子。

2022/06/17

この記事のPDFをダウンロードする

ポスト

事例紹介

スマートフォン用リンク

エバンジェリストが語るICTの未来

スマートフォン用リンク

ページトップへ

トップへ