『独習Java』を読んだ

独習Java 新版

仕事でしばらくJavaのプロジェクトに携わることになったので、読んだ。

『独習Java』は、基本構文や主要なクラスライブラリの解説が載っていて、一通りの基本知識は身に付けることができた。特に良いのがJava 11対応している点(これから読むなら、少なくともJava 8以上に対応している書籍にすべきだと思う)。

一方で、フレームワークやライブラリといった現場っぽい知識は本書では触れられていないので、その辺は別の書籍で補いたい。例えば『Java本格入門』はこの辺のトピックにも触れていそう。

Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

Javaを本格的に学んだのはこれが初めてだったけど、C#やPHPといった今まで使ってきた言語との共通点も多いため、言語の構文については苦労せず学ぶことができた。

独特なのはクラスライブラリあたりからだけど、それについては必要になった時に調べればいいかな、程度の印象。

一方、これから苦労しそうなのはJava言語を取り巻く諸々。

例えば、Javaのランタイムは企業系のもの(Oracle, Redhat, AWS)からコミュニティベースのものまで色々ある。IDEは会社ではIntelliJ IDEAが標準だけど、業界的にはEclipseが根強い。また、ビルドツールもMavenだったりGradleだったり色々。フレームワークも多く、定番のSpringだけでなくPlayもあるし、Micronaut等のマイクロサービス志向フレームワークもあれば、Seasar2やStruts2などで動いてるプロジェクトも現役だったり。

これらにキャッチアップする上で、良さそうな本(『みんなのJava』)も見つけたので、次はこれを読んでみようと思う。

みんなのJava OpenJDKから始まる大変革期!

『基礎から学ぶ サーバーレス開発』を読んだ

基礎から学ぶ サーバーレス開発

仕事でAWS Lambda(+Serverless Framework)を使う機会があり、AWS LambdaやServerless Frameworkについてほとんど知らなかったので、読んでみた。

『基礎から学ぶサーバーレス開発』は、AWS Lambdaを題材にサーバーレスアーキテクチャでのシステム開発方法を学ぶ書籍。

一番のポイントは出版年月日の新しさ(2020年7月)。クラウドは新機能や新サービスの追加が多いので、書籍に載っている情報もどんどん古くなる。そういう意味で、最新の情報がまとまった書籍にちょうどよく巡り合えたのはラッキーだった。

内容についても、サーバーレスの良さだけでなく、気をつけるべき点についても書いてあったり、実際に動かして試せるコードサンプルもあって良書だと思う。

AWS Lambdaで実稼働させるシステムをどう組めばいいのか分からない、という人にはオススメ。

『雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド』を読んだ

雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド (技術の泉シリーズ(NextPublishing))

仕事でGoogle APIのOAuthを使う機会があり、そういえばOAuthってちゃんと勉強したことなかったなーということで読んだ。

本書を読む以前のOAuth経験はTwitterクライアントの実装くらい(要するにOAuth 1.0しか触ったことがなかった)。

OAuth 2.0はOAuth 1.0の欠点も踏まえて、よりモダンな仕様になっている。といってもRFC 6749は2012年なので、そこまで新しいわけではなく、OAuth 2.1という仕様も策定が進められている。が、これはRFC 6749の後に出たRFCの機能を盛り込んだり非推奨になってきた機能を外したりといった再構築バージョンという趣で、ベースはOAuth 2.0。OAuth 2.0の知識は今後5〜10年くらいはもちそうな印象がある。

一方でOAuth 2.0は結構複雑で、これだけをテーマに500ページ近い本を書ける分野でもある。

OAuth徹底入門 セキュアな認可システムを適用するための原則と実践

本書『雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド』は、そんなOAuth 2.0の基本を150ページ程度で押さえることができる書籍になっている。

基本的な用語の解説と主要なアクセストークン発行の流れが網羅されており、本書を読み終わった後にはちゃんとした理解のもとでOAuthクライアントライブラリを利用できるようになる。

OAuth 2.0について書籍で学びたい人が最初に手を出す本としてオススメ。

WP Super Cache をやめて W3 Total Cache をインストールした

WordPressのキャッシュプラグインは色々あるけど、今までこのブログでは WP Super Cache を使っていた。Automattic製ということもあり、信頼がおけると考えていて、実際「静的HTMLをキャッシュして返す」という部分では特に問題なく動作していた。

しかし、WP Super Cacheはサーバサイドでレスポンスを静的HTMLとしてキャッシュするという用途に特化しており、ブラウザキャッシュの設定などは別途行う必要がある。

カスタムテーマにヘッダーをセットする関数を仕込んだりしてもいいのだけど、WordPressなんだからプラグイン + GUIで設定したいということでいくつか試した結果、 W3 Total Cache が良い、という結論になった。

W3 Total Cacheをインストールすると、WordPressの管理画面に「パフォーマンス」というメニューが追加される。

このメニューから各種設定を行えるのだが、レスポンスキャッシュだけでなく、HTML/CSSの圧縮、データベースキャッシュ、PHPレベルのキャッシュ、ブラウザーキャッシュなど多岐にわたるキャッシュ設定を行うことができる。さらに、CDNとのインテグレーションなどもあり、WordPressのパフォーマンス最適化に関する設定全般を引き受けるプラグインになっている。

ブラウザキャッシュも管理画面から細かく設定できる。

W3 Total Cacheを入れていくつか最適化した結果、PageSpeed Insightsの計測結果は95点になった。

さらなる最適化には不使用cssの削除など、出来合いのテーマを使っていては手を出しづらい領域に踏み入れる必要がある。現状のスコアも悪くはないので、これ以上の最適化はしなくても良いかなーと思っている。

『ノンデザイナーズ・デザインブック』を読んだ

ノンデザイナーズ・デザインブック [第4版]

『ノンデザイナーズ・デザインブック』は、デザインの専門的な訓練を受けたことのない「ノンデザイナー」に向けた、ビジュアルデザインの入門書。

本書でいう「ビジュアルデザイン」は文字を中心としたデザインであり、デザイン例は書籍、雑誌、チラシ、ダイレクトメール、名刺など。

「近接」「整列」「反復」「コントラスト」の4原則に基づいて、情報を整理し、それを的確に伝えるよう構造化することで、ビジュアルデザインは見違えるほど良くなる。

本書はデザイン原則を適用したことによる改善例をこれでもかというほど見せてくれるので、頭で理解するだけでなく、審美眼が鍛えられる。

また、書体(フォント)についての基本的な解説もあり、例えば「serif」と「sans-serif」の何がどう違うのか、はっきり指摘できるようになる。

本書の日本語版については、日本語独特の事情(縦書きの存在やフォントの違いなど)の補足もあり、単なる翻訳ではなく、ローカライズになっている点もポイントが高い。

総じて良くできた書籍で、デザイナーがデザインをする際にどういうことを考えているのか理解する助けになる。

なお、本書のテクニックはWordで作る報告書やPowerpointで作るプレゼン資料といったものにも適用できる。資料作成に特化した書籍としては同著者の『シンプルでよく効く資料作成の原則』もあり、こちらも読んでみたい。