夏から秋にかけて本を読了したので振り返ってみる
この記事は 愚者っとCorp.アドベントカレンダーの 1 日目の記事です。
はじめに
今年もアドカレの季節がやってきましたね......。去年は Qiita に技術記事を 2 本ほど投稿したのですが、今年は技術記事以外もやっていこうと思います。 というのも、ひっそり活動してたごった煮同人サークルでアドカレやってみるか!!ってなったからです。
でもアドカレってムズカシデス......。普段なら「ネタがあったから記事を書く」わけですが、「記事を書くためにネタを探す」必要がありますからね。 最近何やってたかなぁ? と思いを巡らせたところ、読書をしていました。普通すぎないかと思うかもしれませんが、なんだかんだ読書というものをちゃんとやってこなかった自分にとっては少し特別なことだったので、この機会に一筆したためたい思いました。
読んだ本を振り返る
ところで、みなさんは「本」と聞いて何を思い浮かべるでしょうか?自分の場合は趣味の影響もあって、技術書や理系書などの専門書が最初に思い浮かびます。そういえば小説ってあまり読んだことないんですよね、ちゃんと読んだのは小学生の頃に読んだトム=ソーヤーの冒険くらいなんじゃないかな......。
まぁそんなことはさておき、今回テーマにしている「本」とは技術書(とそれに近い本)の事を指しています。期間は 8 月の中旬から 11 月の中旬までの約 4 か月くらいで、4 冊の本を読みました。
いちばんよくわかるWebデザインの基本きちんと入門
初めて読んだデザインに関する本だったのですがデザイン素人の自分でもわかりやすく読めました。Web がテーマになっている本ではありますが、デザインの基礎から説明してくれるので他のメディア、プラットフォームでも使えそうな知見が詰まっています。
レイアウト、配色、タイポグラフィなどの、デザインをするにあたって必要な要素ごとにセクションが分かれていて、それぞれビジュアルを交えて丁寧に説明されています。加えて各セクションの最後に実例デザインという項目があり、実際に使われている参考になりそうなサイトの一覧が載っています。
個人的には配色のセクションが結構好きで、色を構成する要素であったり色の組み合わせだったりをたくさん図を使って説明されているので読んでいて楽しいです。 他にも HTML/CSS の具体的な tips が載っていたり最後にはマーケティグに関するセクションもあるので、実践的に使える知見が得られます。
自分はデザインをほぼ勘に頼ってやってきた人間なので、グラフィック系の制作物は行き当たりばったりで作っていました。しかしデザインにもちゃんと理論があることを理解することで、これまで作ってきたものを批評できるようになり、また身の回りにあるデザインに対してもその意図を汲み取りやすくなったのではないかと思います。
ユニティちゃんトゥーンシェーダー2.0 スーパー使いこなし術
某 LT イベントで、嬉しいことに賞品としていただきました(?) 以前からトゥーンシェーダにすごい興味があって勉強したいと思っていたので読み始めました。
そもそもこの本が何についての本なのか説明したほうがいいかもですね。(わかってる人は読み飛ばしていただいて結構です)
シェーダとは、ざっくり言うと 3D モデルの見た目を定義するプログラムの一種で、これを使うことで3D ゲームや 3D アニメーションの中でモデルやシーンの見た目を変更することができます。 その中でもトゥーンシェーダというのは、字のごとく漫画やアニメのような見た目を表現するためのシェーダを指します。そして、Unityで使えるトゥーンシェーダの代表的なものとして「ユニティちゃんトゥーンシェーダー」というものがあり、この本はユニティちゃんトゥーンシェーダーについてがっつり書かれた本なのです。普通に商業誌なのがすごい。以下、ユニティちゃんトゥーンシェーダーをUTSと表記します。
UTSはとても汎用的なトゥーンシェーダなので色々な設定項目があり、実際に使おうとすると「どうすればいいんだ......」となりがちです。そこでこの本ではUTSで用意されている機能やプロパティを網羅的に説明しています。構成は以下の通りです。
- コンセプト編
- 入門編
- 応用編
- 作例編
- リファレンス編
- UTS2作品ギャラリー
コンセプト編や入門編では、UTSが何を目指して作られ、どのようなことができるのかなどの概要を知ることができます。トゥーンシェーダの基本的な機能から、具体的な作例も紹介されており図を見ているだけでも多くの知見が得られます。UTSは使いきれないくらい本当に多くの機能があるので、このセクションを見ることで「1つのマテリアルでここまでできるのか......」と感動しました。
応用編と作例編はとにかく情報量がすごいです。 「キャラクターを作る」というプロセスはシェーディングだけでは完結しせず、キャラクターのモデルを作ってリギングしてモーフを作ってUnityで読み込んでマテリアルを設定して......と様々なステップがありますが、応用編ではその前段階であるキャラクターの仕様策定の段階からのプラクティスを説明しています。このセクションを読むことでキャラクターを作る一連の流れを知ることができます。プロの人たちがどんなことに気を使ってキャラクターを作っているのかという情報がそのまま載っているので、すごい貴重な文献だと思います。 作例編では3人のクリエイターの方が異なるテーマに沿ってキャラクターを作っていく様子が説明されています。UTSを実践的に使うときにどのようなプロパティを使うのか、各種素材をどう作るのか、そんなツールを使うのか、などの情報が載っています。
リファレンス編では、その名の通りUTSで使える各種シェーダ、それぞれのプロパティを網羅的に説明されています。モノホンのリファレンスです......。
いや、何度も言うけどこれ本当に商業誌だよな......?ここまでニッチで高濃い内容の本って本当に貴重だと思うので、UTSだけではなくトゥーンシェーダに興味がある人は読んで是非読んで欲しいです。本当に情報量がすごい。
誰でも作れるUIデザイン入門
誰でもつくれる!UIデザイン入門 ~機能するUIの基本と実践~
- 作者:ななうみ
- 発売日: 2020/07/30
- メディア: 単行本(ソフトカバー)
2冊目のデザイン関連の本です。友人がUIデザインをしたいと言っていた事がきっかけで自分も興味をもったので本屋さんで買いました、気分で。本を気分で買うパターン多いな、まぁそれくらいの思い切りじゃないと3000円が相場の専門書って学生はあまり買えないですよね。
この本の構成は以下の通りです。
- 基本のキ編
- IA・レイアウト編
- オブジェクト・造形編
- フォント・カラー編
- レイヤー・アニメーション編
- これからの学び編
この本の特徴は、なんといってもかわいいキャラクターの挿絵があちこちにあるところだと思います。そのおかげでとてもポップな雰囲気で読みやすいです。 設定として、UIデザインを勉強したい女の子がUIデザインを研究している博士(?)に教えてもらうというストーリーになっています。
この本もタイトルにある通り入門本になります。よってデザインの基礎的な部分の説明が多く、特に2,3,4章はWebデザインの本で読んだ内容の復習になってよかったです。逆にプラットフォームを限定しない分、より抽象度の上がった内容になった気がしました。 各セクションで共通して、「機能面」と「心理面」の両方でより良いものをデザインとして採用するとよい、ということを繰り返し訴えられていて、UIというのが「システムと人間をつなぐもの」ということをちゃんと再認識できました。
SLAM入門
- 作者:友納 正裕
- 発売日: 2018/03/03
- メディア: 単行本(ソフトカバー)
前述した3つの本とはちょっと毛色が違い、理系専門書という感じのチョイスになります。 こちらもまず「SLAMってなんぞや」から話さないといけないですね。 SLAMとはSimultaneous Localization and Mappingの略で日本語に訳すと「自己位置推定と環境地図構築の同時実行」という風になります。これだけだとちんぷんかんぷんですが、例えば車の自動運転の実装といったシナリオではコンピュータが自律して目的地まで車を走らせる必要がありますが、その時に「車が現在どこを走っているのか(どこを走ってきたのか)」や「周りの環境がどうなっているのか」の情報が必要です。これを実現するためにSLAMが必要になります。自動運転だとちょっと実感がわきにくいですが、自律して部屋の掃除をしてくれるロボットであるルンバなどは、まさに部屋においてSLAMを実行しています。 SLAMはこのように、ロボットが自立して走行するシチュエーションに対して有効なメソッドになります。 本の構成は以下の通りです。
- はじめに
- SLAMの基礎
- SLAMの入出力
- SLAMシステムの具体化
- 本書のプログラム
- オドメトリによる地図構築
- スキャンマッチング
- スキャンマッチングの改良
- センサ融合による退化への対処
- ループとじ込み
- SLAMの数学的基礎
目次を見るとわかるのですが、一番最後に付録としてSLAMで登場する数学がまとめてあります。自分は本編を読む前に、まず11章から読んでナンモワカランって言いながら線形代数や確率統計の復習をしました。本編で結構11章が参照されるので、先に読んでおいてよかったと思います。
この本の特徴は、SLAMが実装されているプログラムがほぼそのまま載っているということです。もちろん理論の説明はしっかりしているのですが、6章以降では理論の説明の後に実装されたプログラムとその実行結果が載っているので説得力は高いです。ただ、個人的にプログラムはシンタックスハイライトと宣言/Usageへジャンプ機能がないと読めないので、さらっと流しました。 この本のレベル感として、自分のような理系大学生にはちょうどいいのではないかと思います。線形代数や連続確率の微積が絡むので高校生にはちょっときつい内容だと思います。それでもってSLAMのホントに初歩から教えてくれるのでプログラムをある程度書いたことがあるけどSLAMを実装したことはないくらいの層には結構ありがたいです。逆にSLAMの初歩的な手法を使うため、この本の内容をそのまま使ってしまうと実践ではパフォーマンスが不十分である可能性があると思われます。
そもそも自分はあまりロボット制御には詳しくなく、趣味やアルバイトで点群を扱った開発を経てSLAMに興味を持ったのですが問題なく読めました。おそらくこの先建築分野やロボティクスで点群を用いたセンサリングは普通に使われていくと思うので、教養として学べてよかったです。
本を読むことについて考える
この数か月、自分は読了にこだわってきましたが、ここで少し思ったことがるので書いてみようと思います。とはいえ自分は図書館学などに精通しているわけではないので、ほんの「お気持ち」になります。あくまで個人の意見としてとらえていただけると幸いです。
ネット記事と本
現代ではインターネットや検索エンジン、SNS、ブログサービスなどによって「たいていの欲しい情報は検索すれば手に入る」ようになりました。それはプログラムを書いているときでも授業の課題をしているときでも、音楽や動画を視聴したい時でも、ネットニュースを見る時でも共通です。実際自分もわからないことがあったらまずググりますし、逆にググれば出てくる情報は興味がなければ努力して覚えようとはしません。 このような状況で本に価値ってあるのでしょうか?特定方面から刺されそうな問題提起なので早めに自分の意見を述べると、あると思います。ここでいったん本とネットの情報を比べてみましょう。
ネット情報 | 本 | |
---|---|---|
検索の手軽さ | 手軽 | ある程度の根気が必要 |
公開の手軽さ | 手軽 | 手間・お金・知識量が必要 |
値段 | 一部で有料だが無料の場合が多い | 基本的に有料 |
情報の信頼性 | イマイチ | 基本的に信頼できる |
検索結果の総数 | 分野によるが公開の手軽さゆえに膨大になることも | 分野によるが入門に偏る場合がある |
情報の鮮度 | 比較的新鮮 | 古いこともしばしば |
物理的な占有度 | ほぼなし(ストレージデバイスを考慮しなければ) | 情報量に比例して大きくなる(物理本に限る) |
得られる知識の形態 | (多くの場合)断片的 | 体形的 |
パッと考えられる項目を適当に列挙したのですが、本に不利になるような物が多くなった気がしますね。そして全体的に見てネット記事のほうが手軽という印象です。 しかし反対に、本における重要なメリットが示されています。それは体形的な知識が得られる点です。ネットで検索すればすぐ情報が手に入る時代だからこそ、このメリットは重要なのだと考えます。
自分は以前、本当に自分の望む事以上の情報が付随してくる本という媒体に対して「コスパが悪い」と感じていました。本は好きでしたが、買った本は全部読み切るなんてことはせず、気に入った場所だけ読んで終わりにしていました。ゆえに専門書よりも雑誌の方が好んでいた時期もあった気がします。それ自体は別に悪いことだとは思っていないのですが、せっかく本が手元にあるのに断片的な情報しか取得できないというのは勿体ないのではないかと、今では思います。(学校の授業でも「こんなの調べれば出てくるじゃん」思いながら受けてることもありますが、こちらも同様ですね)
今回本を最後まで読むということをしてみて、(改めて)学習の本質は、体形的知識による概念の抽象理解なのではないかと感じました。目先の問題にだけ対処すればよいのであれば、ネットで探した小手先の技術だけでどうにかできます。しかし生きていくうえでそんなことばかりではないと思います。特にこれから社会人なって専門的な知識が必要になってくると、おそらく「よくわからん何か」に遭遇することでしょう。でもネットにはその「よくわからん何か」に対して「よくわからん事」をすれば「よくわからんけど解決する」という情報が落ちている可能性があります。いやもうそんなことス〇ックオー〇ーフローを漁ればよくわからん英語(ときどきよくわからん日本語訳)でいくらでも出てくるんです。そうなってくると小手先の知識で対処するには限界が来る気がします。しかし、分野に対してある程度の体形的知識があれば「よくわからん事」を提示されたときに、だいたいの意図がつかめます。また、他分野であっても近い領域に体系的な知識があれば、それと比較しながら学習することで理解が早く深くなると思います。知識が多いことに越したことはないのですが、その知識がどのように頭の中にあるのかは概念理解においては重要だと考えます。それゆえに、体形的知識が得られる本という媒体は、学習においてとても価値があると考えます。
物理本との付き合い方
話しが変わりますが、私はいわゆる物理本が好きで、本を買うときはだいたい本屋さんだったりネットで買う時も電子書籍ではなく物理本で買います。今述べたように、物理本と比較されることが多いのは電子書籍ですよね。本当に電子書籍って便利だと思っていて、ネットで買えるから店頭まで行かなくていいし、本棚の場所をとらないし、デバイスさえ持っていればいつでも開けて、ページ数が多い本でも重さは0です。
それでも自分は物理本が好きです。前から漠然と物理本を好んでいたのですが、最近になってようやくその理由を見つけられた気がしますので、せっかくの機会なのでちょっと書きたいと思います。とはいえ、電子書籍と比べることはしたくないです。電子書籍の便利さはすでに自覚していますし、不特定多数に向てた意見するにはあまりにも電子書籍のメリットが多すぎて説得力に欠けますし、もはや趣味として別ジャンルなのではないかとすら思うからです。ということで物理本のメリットではなく、物理本をどのように楽しんでいるのかという話になります。
自分は大学関係の何かをしているとき、基本的にパソコンに向かって作業をしています。アルバイト業務もパソコンを使いますし、趣味でもパソコンに向かっています。パソコンで作業をすると、様々なタスクが瞬時に切り替えられたり並行して進められたりしてとても作業効率が上がります。(ダウト。Twitterを常時第3ディスプレイに表示しているのでそんなことはない)スマホも同様で、Youtubeで動画を見ているときにSlackやDiscordでメッセージを受信したらすぐ切り替えて返信できます。名前のごとくスマートに物事を進められます。 ただ、自分の場合はずっとこの状態を続けていると精神的に疲れてしまうようで、効率やコストパフォーマンスと逆行した趣味に逃げることはしばしばです。最近はコーヒーのハンドドリップとかしてます、マシンを使えば手間いらずで飲めるコーヒーをわざわざ15分くらいかけて淹れてます。コーヒー豆はお湯を注ぐと状態変化が激しくなるので、常に豆の状態を見ながらコーヒーを抽出する必要があり、この15分間は基本的にコーヒーの事しか考えてません。でもほんの15分でも、目の前の事だけに集中することができるこの時間がとても愛おしく感じます。
読書の時間も同じで、パソコンやスマホから膨大に流れてくる情報から一瞬目を背けて、目の前の物事に集中でいる趣味としてとらえています。それこそコーヒーを淹れて本を読む時間は至高です。毎秒やりたいところですが、なかなか本を読む時間ってとれないものです。自分は8,9月にWebデザインの本とUTSの本を読了しましたが、その期間は平日ずっとインターンでフルタイムの業務をしていました。そのなかで本を読むとなると結構きつかったのですが、業務が始まる1時間前に朝の読書の時間を作ったり、夜眠る前の1時間を読書に使うなどしていました。たぶん今やれって言われたらできないかもですが、あのときはそれほどにモチベがありました。そのモチベの発端も、ずっとパソコンに向かって1日が終わるのがちょっと辛かったからではないかと今は思います。
そんなことで自分は、ある種の現実逃避のような付き合い方を物理本としてきました。冒頭で電子書籍と比較しないといった手前申し訳ないのですが、電子書籍だと多分こうはいかなかったのではないかと思います。いや、電子書籍専用のデバイスを使えば解決でいるのかもしれませんが、おそらく電子機械から離れることによってスイッチが切り替わっていた可能性も無きにしも非ずなので、そこは微妙ですね。ちょっと最後にしてはオチがつかなくて申し訳ないのですが、本との付き合い方の一つとして、参考になったのでしたら幸いです。
おわりに
読書に関して記事を書くとは思っていなかったのですが、実際書いてみると結構楽しかったです。アドカレ1日目ということで軽い内容にしようと思っていたのですが、調子が乗ってきたのか分量多めになりましたね......。まぁでも漠然と頭の中で思っていたことを文章で整理できたので、いい機会になったと思います。
次の愚者っとCorp.アドベントカレンダーは、担当はまた自分で「LTのすゝめ」という内容になると思います。