iPhoneから色々と復旧した件

所有していたiPhone7が「「圏外」の問題に対する iPhone 7 修理プログラム」を発動してしまう。一応、端末のバックアップをiTunesで取得するも、バックアップからの戻しができず、という状況。

バックアップファイル自体は「/Library/Application Support/MobileSync/Backup/」にしっかり残っており、ファイルを見るとdbファイルやら、plistファイルもあり、iCopyBotで見るとファイルがちゃんと見られる状況。

dbファイルはsqliteのようなので、「DB Browser for SQLite」で確認。

バックアップの中身の大半はファイルで、いずれもFilesテーブルでファイル名とファイルの内容が管理されているシンプルな構成。復旧したかったのはGoodReaderのデータなので、domain列で絞り込んで、ファイル名を特定してファイルの抽出完了。

見る限り、画像も動画も一律ファイル保存のようなので、その法則が分かればおよそ何でも復旧できそうです。

2018年に読んだ本

今年も色々と本を買いましたので、整理。
主にアマゾンの購入履歴から引っ張ってるので、多分新書が何冊か漏れている模様。

■技術書(除くオライリー・ジャパン、雑誌)
クラウドゲームをつくる技術 ──マルチプレイゲーム開発の新戦力 (WEB+DB PRESS plusシリーズ)
ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏 (WEB+DB PRESSプラスシリーズ)
明解J2EE+アプリケーションサーバ実践プログラミング坂田 健二
時系列分析と状態空間モデルの基礎: RとStanで学ぶ理論と実装
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 徳丸浩
いまどきのJSプログラマーのための Node.jsとReactアプリケーション開発テクニック

■オライリー・ジャパン
エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド
Kafka
ゼロから作るDeep Learning ❷ ―自然言語処理編
・進化的アーキテクチャ ―絶え間ない変化を支える進化的アーキテクチャ ―絶え間ない変化を支える
Docker
実践 CSIRTプレイブック ―セキュリティ監視とインシデント対応の基本計画
初めてのAnsible
入門 Kubernetes
Effective DevOps ―4本柱による持続可能な組織文化の育て方

■新書
日本型組織の病を考える (角川新書) 村木厚子
銀行員はどう生きるか (講談社現代新書) (講談社現代新書)浪川 攻
友だち幻想 (ちくまプリマー新書)(ちくまプリマー新書)
アマゾンが描く2022年の世界 すべての業界を震撼させる「ベゾスの大戦略」 (PHPビジネス新書)
信長はなぜ葬られたのか 世界史の中の本能寺の変 (幻冬舎新書)安部 龍太郎
昭和の怪物 七つの謎 (講談社現代新書) (講談社現代新書)保阪 正康
やってはいけない歯科治療 (小学館新書) (小学館新書)
AI化する銀行 (幻冬舎新書)
失敗の本質―日本軍の組織論的研究 (中公文庫)(中公文庫)

■ビジネス書
結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術 中島聡
スタンフォード式 疲れない体 山田知生
Google流 疲れない働き方 ピョートル・フェリークス・グジバチ
ニューエリート グーグル流・新しい価値を生み出し世界を変える人たち ピョートル・フェリクス・グジバチ
抜擢される人の人脈力―早回しで成長する人のセオリー岡島悦子
amazon 世界最先端の戦略がわかる 成毛眞
世界最高のチーム グーグル流「最少の人数」で「最大の成果」を生み出す方法
人生が変わるメンタルタフネスーーグーグル流「超集中」で常識を超えるパフォーマンスを生み出す方法
組織の未来はエンゲージメントで決まる

■雑誌
WEB+DB PRESS Vol.108
WEB+DB PRESS Vol.107 CircleCI
ソフトウェアデザイン 2018年11月号 AWS再入門
ソフトウェアデザイン 2018年9月号 ITエンジニアのための統計学入門
ソフトウェアデザイン 2018年6月号 Webサービスの開発5つの心得
ソフトウェアデザイン 2018年5月号  速いデータベースの作り方
ソフトウェアデザイン 2018年8月号 スマホゲームはなぜ動く
キャッシュレス決済革命 (日経ムック)
改正 割賦販売法でカード決済はこう変わる

■MBA
改訂3版 グロービスMBAマーケティング
・ 改訂3版 グロービスMBAクリティカル・シンキング (グロービスMBAシリーズ)
グロービス MBA組織と人材マネジメント
グロービスMBAマネジメント・ブック【改訂3版】【改訂3版】

■サッカー
伝わる技術 力を引き出すコミュニケーション (講談社現代新書)  風間八宏
中村俊輔 サッカー覚書

一昨年からの継続テーマはバズワードながらビッグデータでした。
Hadooopシステムを見るようになり、Hadoop、Hive、Sparkを読み、今年はApache Kafkaとオライリーのゼロから作るシリーズ。仕事はインフラ部署なので、そもそもどこまでインフラとして見るのかという消極的なスタンスは強く、また管理職となるともはやコードを書く機会もないとなると、知識がやっぱり空洞化。でも、年末に改めて読み直すと、明らかに読んでいないよりは知識が体系化されます。反復学習が多分良いジャンルなので、また、アプリケーションアーキテクチャ設計パターンや、スケーラブルリアルタイムデータ分析入門と合わせて、読み返しながら自分の中でデザインパターンを作っていけると思います

昨年を振り返ると、Docker、Kubernetes、Ansibleが自分の近くでようやくキーワードとして普通になってきました。うちの会社はトレンド定着に10年かかるが持論でしたが、5年くらいに縮まったかも。ただ、マイクロサービス含めて語れる人は、若干1名程度。物寂しい限りです。ちょっと戻るけれども、Kafkaなどストリーミング基盤と、時系列分析、データサイエンスはやっぱりしっかり
勉強しておかないと、この先ないなぁという気しかしません。近くにそんなエンジニアはいませんが。いや、そういう発言をしづらい空気が強いのもあるでしょうが。

雑誌が多かったのも昨年の傾向です。Web開発の現場を離れたことも大きいかもしれませんが、基礎の再入門的なものが割とツボりました。ソフトウェアデザインをこんなに読んだのは学生時代〜2、3年目くらいな気がします。昔と比べるとプロダクトがタイトルとなっていた時代からプロセスにシフトしつつあること、Web系の会社の記事も良かったというのも、ツボった要因です。

MBAも3ヶ月だけグロービスに通ったので読んだ本もありますが、今年読んだビジネス書はいずれもエンゲージメントよりだったのも特徴的。疲れる一年だった思いが強く、そういった書籍に手が伸びたり、ピョートル中毒感も否めませんが、昨今キーワードとなっているエンゲージメントが結果として多かったのも、世相を反映している気がします。

世相といえば、サッカー書籍が思いの外、少ないのも予想外。とてもワールドカップイヤーだったとは思えない。書店のスポーツコーナーに足を運んでいないのは事実ですが、サッカー書籍のブームも去ってしまったのかも知れませんね。

仕事に受けた影響としては金融本、特に、銀行を切り口とした新書が多かったものの、いずれも中身は薄くターゲットとしている銀行員とは若干イメージが合いませんでした。金融庁の内情がわかる本は面白かったですが^^。一方でビジネス麺で面白かったのは日本型組織の病を考える 村木厚子(角川新書)だったり、歴史系の新書。やっぱり歴史に学ぶものは多いんですね。この歳で初めて知りました。

去年1年を仕事面で振り返ると、マネジメントに苦労したり、技術に鬼詳しいユーザに出会って勉強の必要性を感じたり、でも仕事が変わり人系メインの仕事となったりと変遷の多い年でした。随時、気になった書籍を買った結果、意外と
ビジネス面、テクニカル面、マネジメント面バランス良かったんだなぁというのは、このブログを書いて気が付きました。ただ、果たしてインプットに見合うアウトプットが出ていたかというと甚だ怪しい限りですし、会社が求めていることがどれだけ含まれているのかも全く不明です。キーワードだけは上から落ちてきますが、大体はベンダーの受け売り、キーワードだけを売る人からの切り出された誤った理解の起動修正が主な仕事であり、でも手を動かしていないジレンマもあり。でも、直感や好奇心を大事に色々なインプットを続けていきたいなぁと思います。そういや、今年は資料作成系の本が一冊もない。。。

ということで?、以下は面白かった本、トップ3。

伝統的日本企業のエンジニアのキャリアパスなんて、ないんです。そんなのはとうに知っていて、自分がロールモデルとなるんだと意気込んだ時期もあれな、肩の力を抜いているときもありですがワインバーグ以外で初めてエンジニアのキャリアパスを考えさせてくれた本でした。
(中島聡さんも考えさせてはくれましたが、ちょっと遠い)

女性のキャリアパス、官僚組織の課題、その他、色々と考えされられました。はたまた育児まで。多分、何度も読み返す本です。丁寧な文章からは真摯な姿勢が窺い知れ、検察の体質がよく分かり、それを乗り切る家族の絆、はたまたそれらの経験を通しての考察などなど。村木さんの本は読んでみたいと心底思いました。

SIerの保守開発と実は相性が良い本なんじゃないかって思ってます。SIerは死が叫ばれてからずいぶんと時間が立っていますが
果たしてそうでじゃないんではないのか?もちろんギャップも大きいですが、可能性を感じさせたくれた意味ですごいありがたかったです。
あと、地味ながら普段の開発についても。メンバーに仕事を語るのに結構参考にした本です。

オライリー Kafka

オライリーのKafka。Kafka自体はちらほらと聞きつつも、MQ、JMSなどの所謂メッセージングとの違いがさっぱり分からなかったものの、一方でレプリケーションソフトとして使いたい話もあり、体系的に整理したかったところ。

その点、まえがきに整理されていました。

Kafkaはもともと、Linkedin社内のインフラシステムとして始まりました。私たちが思っていたのは、実に単純なことでした。データベースといったデータをストアするためのシステムはたくさんありましたが、自分たちのアーキテクチャにはデータの連続的なフローを処理するのに役立つものがかけていたのです。Kafkaを作る前、メッセージングシステムからログ集約/ETLツールまで、出来合いのソフトをいろいろと試してみたのですが、どれも求めていたものではありませんでした。

結局、私達はゼロから作ることにしました。リレーショナルデータベース、キーバリューストア、検索インデックス、キャッシュなどのように膨大なデータの保存にフォーカスするのではなく、連続的に生成されて成長し続けるストリームとしてデータを扱うことにフォーカスしました。

(中略)

私たちはKafkaをストリーミングプラットフォームとして考えるようになりました。ストリーミングプラットフォームとは、データの発行(Publish)と購読(Subscribe)、保存、処理を可能にするシステムであり、Apache Kafkaはまさにそのために作られています。

(中略)

Kafkaはメッセージングシステムと似ています(中略)、違いは3つあります。第一にKafkaはクラスタとして動作するモダンな分散システムです。拡張することで、超巨大な企業であってもすべてのアプリケーションを扱うことができます。(中略)対ににKafkaは好きなだけデータを保存できるように作られた、真のストレージプラットフォームです。真の配送保証を提供しているため、接続レイヤとして使うと大きなメリットがあります。データは複製され、永続化され好きなだけ手元においておけます。最後に、ストリーム処理の世界は抽象化のレベルを大きく高めてくれます。ほとんどのメッセージングシステムではメッセージの配信しかしてくれません。それに対して、Kafkaのストリーム処理は、はるかに少ないコートであなたのストリームから派生したストリームやデータセットを動的に計算することができます。

(中略)

わたしたちがKafkaを設計/構築する際の森ベーションの1つだったのは、KafkaをHadoopのリアルタイムバージョンと考えることでした。

(中略)

Kafkaと比較される領域の最後は、ETLあるいはデータ統合ツールです(中略)。Kafkaは、あるシステムからデータを取り出して、別のシステムに入れるためのツールではありません。リアルタイムのイベントストリームを中心としたプラットフォームです。つまり、出来合いのアプリケーションやデータシステムに接続できるだけでなく、同じデータストリームをトリガにした独自のアプリケーションを構築して動かせるのです。

内部の仕組みは明るい資料があった。

めざせ!Kafkaマスター ~Apache Kafkaで最高の性能を出すには~

 

事例としてはMQ代替が多く、まえがきのコンセプトと合致しないのが多数だっだけれども、以下が腑に落ちる。
大手ヘルスケアIT企業 Cerner社のKafka活用事例

さて、読書。。。

Google流 疲れない働き方

疲れる職場なので、購入。以下、良いなぁと思ったところ。

Googleではミーティングは基本的に25分単位で行われうようになっています。なぜ30分ではなく25分かというと、他の部屋に移動するための時間なんですね。

会議の開始を0分スタートではなく、いつも5分スタートとしていて、その5分はPCログインして、プロジェクターを立ち上げる時間にしていたけど、似たような話を聞いてちょっと自信となりました。

「すぐに反応しない癖をつける」「反射」で仕事をしない

メールの応答で即レスしないケースが正直個人的には多くて、まとめてあとで対応するものはフラグを立てたりしてるんだけれども、スピードが遅いことにいつも悩んでいました。ただ、こういう手もあるんだなと考えさせられました。頭にくるメールを即レスしないは、たしかによく実践してるw。

疲れる組織「忖度が多い」「役割も期待されていることも曖昧」、疲れない組織「わからない」ことは「わからない」と言える、「役割と期待が明瞭」

確かに忖度多いかも。上司の意見を気にする組織というか。そして疲れない組織は目指しているし、公言しているけどものの果たしてメンバーは言える状況となっているか。。。また期待は明瞭だが、役割が明瞭かと言われると怪しい。

 

ピョートルさんの本は2冊めだけど、この手のビジネス書にありがちな読んでいて普通〜で終わらず、いつも琴線に触れる何かがあり、ちょうど今の私には良い感じ。飲みにケーションを推奨していたりするのも外国籍の方は絶対しないと思っていたのでおどろき。次はNEWエリートは読ませていただきます!

暖かさにつつまれた良い本でした。

最近読んだ本を俯瞰して見る

Oracleのインストールの応答があまりに遅いので物思いに耽る。

 

いずれもオンプレ手作りの世界でも概念はあったけれども、論点が大きく変わってる。

整理してみると、気がつけば一本柱が通る訳で、知識レベルアップした気がしないでも無いが手を動かせる訳でも無いので、田舎の大将的な感じ(でも、積み上がりはある!!)。ビッグデータも、そろそろ整理できそうだけれども、いかんせんプログラムを書いてみないと分からない気がする。。。

読んだ時はふ〜ん、当たり前の話じゃない?だけれども概念だけ読んでも正直分からない。実現するプロダクトとセットで見て初めて分かる。結局、速攻サービスを立ち上げて不要になったら停止すれば良くて、Kubernetes、Dockerとペアで解釈かつ運用しないと分からん世界もあれば、WASであればLibertyProfileで軽微実現できる範囲も指すような。

基盤もといプラットフォーム屋さんであれば読んでおいてほしくて、共通基盤(死語)を宣うお山の大将ならなおさら。でも結局イメージ配布で終わってしまう。

イメージ配布された環境をどうやってプロダクション環境へ移行していくのかって話。ステージングやらローリングアップデートやら・・・。

(クラウドじゃなくて良いんだが)、日本的に言えば保守開発の現場、をモダンに定義した本。うちの会社的に目指せたら良いなぁと思いつつも仕事の95%が報告だけで済む官僚機関じゃ無理だわさ。

読書開始ももはや前述したいずれを繋ぐ世界、で完了。

明日届く、楽しみ。

Oracle GridInfrastructure 12.1.0のインストールでハマってる件

こいつを参考に実施も製品のインストール時にハマった。

情報: /usr/bin/ld: /u01/app/12.1.0/grid/lib//libnls12.a(lxhlang.o): シン
ボル ‘__tls_get_addr@@GLIBC_2.3’ への未定義参照です
/usr/lib64/ld-linux-x86-64.so.2: error adding symbols: DSO missing from command line

・/u01/app/12.1.0/grid/lib/stub の削除
・/u01/app/12.1.0/grid/rdbms/lib/env_rdbms.mk の編集(-lonsを追加)

RMAN_LINKLINE=$(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT) \
$(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL) \
$(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL) \
$(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS) -lons

にて回避できたら今度は以下エラー

情報: /usr/bin/ld: /u01/app/12.1.0/grid/lib//libclient12.a(kpue.o): シンボル ‘ons_subscriber_close’ への未定義参照です
/u01/app/12.1.0/grid/lib/libons.so: error adding symbols: DSO missing from command line

同じく、・/u01/app/12.1.0/grid/rdbms/lib/env_rdbms.mk の編集(-lonsを追加)

PLSHPROF_LINKLINE=$(LINK) $(OPT) $(PLSTMAI) $(SSDBED) \
$(LLIBCLIENT) $(LLIBPLSQL) $(LLIBSLAX) $(LLIBPLSQL) $(LINKTTLIBS) -lons

次は・・・

情報: /usr/bin/ld: /u01/app/12.1.0/grid/rdbms/lib/houzi.o: シンボル ‘ztcsh’ への
未定義参照です
/u01/app/12.1.0/grid/lib/libnnz12.so: error adding symbols: DSO missing from command line

同じく、・/u01/app/12.1.0/grid/rdbms/lib/env_rdbms.mk の編集(-lnnz12を追加)

TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12

ただ、このあとも

PRCZ-2012 : node1構成が始まりました

が全く帰ってこない・・・。帰ってきたら

2018/03/24 23:27:29 CLSRSC-330: Adding Clusterware entries to file ‘/etc/inittab’
2018/03/24 23:29:35 CLSRSC-214: Failed to start ‘ohasd’
Failed to start the Clusterware. Last 20 lines of the alert log follow:
2018-03-24 23:26:55.648:
[client(31726)]CRS-2101:The OLR was formatted using version 4.

The command ‘/u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/crs/install /u01/app/12.1.0/grid/crs/install/rootcrs.pl -auto’ execution failed

Execution status of node1 is:true
Execution exit code of node1 is:256

情報: *********************************************
情報: すべてのノードでrootスクリプトを実行に失敗しました。
情報: Overall status of execution of root/configuration scripts : failed
情報: Shutting down OUISetupDriver.JobExecutorThread
情報: クリーンアップ中。お待ちください…
情報: All forked task are completed at state setup
情報: Completed background operations
情報: Moved to state <setup>

 

ohasd(Oracle高可用性デーモン)を手動で設定して起動。。。

#vi /etc/systemd/system/ohasd.service
[Unit]
Description=ohasd daemon

[Service]
ExecStart=/etc/init.d/init.ohasd run > /dev/null 2>&;1

# systemctl daemon-reload
# systemctl enable ohasd.service
# systemctl start ohasd.service

まだまだどツボ

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
2018/03/25 00:48:41 CLSRSC-119: Start of the exclusive mode cluster failed
2018/03/25 00:48:42 CLSRSC-198: Initial cluster configuration failed
The command ‘/u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/crs/install /u01/app/12.1.0/grid/crs/install/rootcrs.pl -auto’ execution failed

ここはohasdがちゃんと止まってなかったのでKILLしてクリア。次はこれ

2018/03/25 01:40:10 CLSRSC-365: Failed to create credentials for ASM on the local node

/etc/hostsでIPv6のエントリがあったのでコメントアウト

「rootcrs_node1_2018-03-25_10-56-44AM.log」を確認

 

2018-03-25 11:00:10: kfod op=credremote rc: 256
2018-03-25 11:00:10: Failed to create credentials for flex ASM, error:

——————————————————————————–
================================================================================
KFOD-00319: No ASM instance available for OCI connection
KFOD-00105: Could not open pfile ‘init@.ora’

2018-03-25 11:00:10: Executing cmd: /u01/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 365
2018-03-25 11:00:10: Command output:
> CLSRSC-365: Failed to create credentials for ASM on the local node
>End Command output
2018-03-25 11:00:10: Executing cmd: /u01/app/12.1.0/grid/bin/clsecho -p has -f clsrsc -m 365
2018-03-25 11:00:10: Command output:
> CLSRSC-365: Failed to create credentials for ASM on the local node
>End Command output
2018-03-25 11:00:10: CLSRSC-365: Failed to create credentials for ASM on the local node

困りはててとりあえず/u01/app/12.1.0/grid/gpnp/seed/asm/credentials.xml を退避

VirtualBoxでドハマリした件

多分にもれずハマった。

ホストOSはMac OS(High Sierra)、ゲストOSはOracle Linux7

端末はMacBookPro

ネットワーク設定でブリッジ接続でインターネット接続させようと試みるも大ハマリ。

結論はネットワークアダプターの名前設定。bridge0だと通信不可でen0:Wi-Fi(AirPort)だとOK。ここの名前はホストOS端末のデバイス名に依存しているんだと推測。

Mac High SierraにMongoDBをインストールした件

参考は本家。https://www.mongodb.com/download-center?jmp=nav#community

まずはHomeBrewのインストールから、まだMacBookProに入れてなかった。


続いてインストール

データディレクトリの作成

起動

INSERT

SELECT
db.user.find()
{ “_id” : ObjectId(“5a4a51a2276a68da5dd5a720”), “name” : “Mike Mikowski”, “is_online” : false }

シングルページWebアプリケーション

たぶん3年くらい前に買った気がする。当時は基盤専任ではなくてJavaScriptも見る部隊だったけど、やっぱりさっぱり分かってなかったなぁという事が改めて分かった。ようやく超ななめ読み(何回目?)でサンプル動かしてひとまず読了。

そもそもSPAという言葉がいつ出たのかは知らないけれども、担当していたシステムでは2013年ごろに開発開始したので、その頃にはもう考え方が整理されていたんだと思う。jQueryやらAJAXという文脈で語られるケースが多かったけど。

本書では、HTML+CSSで画面デザインを作り、クライアントサイドのアプリケーションを組むところ、サーバサイドをNode.jsを使って作るところ、MongoDBはJSON格納する文脈からお手軽なドキュメントDBとして紹介。

でも一番のミソはその一連の流れ、特にSPA、クライアントアプリケーションの考え方の戦略があるところだと思う。

ちゃーーーんと読んで理解したい気もするが、最近はWeb屋さんの世界を離れているのでJavaScriptを突っ込んで学習する気がちょっと引ける。

でも、Node.jsはちゃんと抑えておかないとインフラ屋としてもまずいなぁという思いも。従来はJavaScriptーJava、クライアントサイドーサーバサイトで別スキルセットが必要だから、、、という前提での開発が多かったけど、Node.js使ってドキュメントDB使って、MongoDBでいいじゃんってなりそうだし。。。

修行不足ですが、どっかのベンダーに担がれて、WebLogic/WebSphere+ドキュメントDBってのには疑問を持てるようにはなりました^ー^

あなたのチームがうまくいかないのは「無意識」の思い込みのせいです。

アンコンシャスバイオスっていう言葉があるそうです。

たまたまヤフーの記事を見ていて本書が紹介されていたのでポチっとしました。

多分、私には出会うタイミングが遅い本だったけれども、20代後半に出会っていたら、もっと効いていたでしょう。ビジネス書籍に良くある、実は目次を読めばほぼ内容が網羅でき、フォントサイズも大きめの本でした。

でも身になったところ紹介。

無意識の思い込みに振り回されないために

自分が不快にさせられたことは覚えているけど、不快にさせたことは、気がついていないか、覚えていないものです。知らず知らずのうちに裏目に出ないようにするには、「アンコンシャス・バイオスに気がついていない自分がいる」という現実を受け入れることが大切です。その姿勢をもつだけで、アンコンシャス・バイオスに振り回されない応対に一歩前進です。

もうちょっと踏み込んでという気もするけどw。万事この調子なので、通勤片道で流し読みしてしまったけれども、でも活字で読むことは自分の思考に必ず焼き付くので、その点は非常に良かった1冊。