読書通帳⑦

読んだ本

・[試して理解] Linuxのしくみ
 https://gihyo.jp/book/2018/978-4-7741-9607-7

内容と感想

Software Designで連載されている記事をまとめたものなのかな、と思って買いました。ボリューム的に雑誌連載をまとめたものよりも多い気がするので、お得な気分です。

プロセススケジューリング、メモリ管理、仮想記憶、ファイルシステム、ストレージデバイスの順で書かれていて、それぞれでLinuxがどのように振る舞うのかを、実験してみせてくれているのがとてもうれしいです。

いったん、全部に目を通した後、実験プログラムを追試験?してみています。ちゃんと理解しながらやろうと思っているので、それなりに時間がかかっていますが、その価値はあると感じています。

Linuxのより詳細については、Linuxカーネル2.6解読室やLinuxシステムプログラミングなどの方が詳しい印象ですが、Linuxマシンの運用が主体の私にとっては、この本の方が良かったです。

Software Designの連載は続いているので、この本も続編が出るのかな〜と期待しています。楽しみです。

ちなみに

実験プログラムの中身で、なんでこうしているのだろうとわからないところがあったので、Twitterで著者に質問したら、とてもフランクに回答してくださいました。

お尋ねしてすぐに回答をいただけるのはとてもうれしかったです。

読書通帳⑥

読んだ本

・アセンブラで読み解くプログラムの仕組み
 https://gihyo.jp/dp/ebook/2011/978-4-7741-4890-8

内容と感想

数年前に読んだことがあったのですが、そのときは「ふーん」くらいの感想で特に印象に残ってはいませんでした。

低レイヤを知りたい人のためのCコンパイラ作成入門 を読んで実際に関数を実装したところくらいでもうちょっとアセンブラを理解したいなと思って、再度読みました。

以前よりもアセンブラに慣れてきたからか、思ったよりさらっと読めたのと、内容も理解できた気がします。

アドレッシングや関数の呼び出しや引数の取り扱いは低レイヤを知りたい人のためのCコンパイラ作成入門 でやっている内容とほぼ同じ(ただし、低レイヤ〜がAMD64で、アセンブラで〜がx86なので、引数の渡し方が違ったりはしています。)だったので、本当にスッと理解できた気がします。
気だけかもしれません。

共有ライブラリのところが、低レイヤ本の方ではやっていないテーマのようで、共有するための工夫というか苦労というかあるのだな、と分かって面白かったです。

最後の「継続は続く」はもともと、継続をよく理解できていないので、やっぱりあまり理解できませんでした。

今度はSchemeの勉強かな。

ちなみに

次は、[試して理解] Linuxのしくみ を読む予定です。

家にいる時間が増えてきたので、しっかりと力をつけたいと思います!

読書通帳⑤

読んだ本を記録しておくエントリーです。

読んだ本

プログラマの数学
https://www.hyuki.com/math/

ただし、古本屋で買っていた初版の方です。

内容と感想

目次などは著者のページで公開されているとおりです。

プログラミングの基本となる数学をとても平易な文章で書かれていて読みやすいです。最近、ちゃんと本を読んでいなかったので読みやすいものと思って本棚から取り出して読んだのですが、正解でした。
※私は大学では一応理系だったので、数学が全くできないわけではないですが、それほど得意だったわけではありません。

最後の計算不可能な問題のところが不完全な理解のまま読み進めてしまったので、別の機会に改めて読み直した方が良いかも、という気がしています。

論理や数学的帰納法、再帰などはプログラミングする上で理解しているのとそうでないのとでは、だいぶ違ってくる気がします。そのあたりの理解の導入にぴったりな本だと思います。

最後に、読書案内がついているので、そこから何を読むと良いかもわかり安心ですね。ちなみに何冊かはすでに読んだものもありました。

ちなみに

これで結城さんの著書を読んだのは6冊目です。どれもとても良い本ばかりです。今までに読んだ本は以下のとおりです。

  • 増補改訂版 Java言語で学ぶデザインパターン入門
  • 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
  • 新版 C言語プログラミングレッスン 文法編
  • 暗号技術入門 第3版
  • 数学ガール

疲労困憊ら〜

はじめに

昨日はボルダリングに行きました。がんばった分、疲労もそれなりに。子どもたち(小学生)はお出かけもあまりできないし、スイミングスクールは休講だし、少しでも運動させてやりたいなぁと思ってがんばります。

さて、コンパイラ自作にチャレンジ中です、という記事です。

なんで自作?

以下の記事を見つけたのがきっかけでした。

・低レイヤを知りたい人のためのコンパイラ作成入門
 https://www.sigbus.info/compilerbook

もともと、コンパイラとかOSとかに興味があったので、やってみようかと軽い気持ちで始めたのですが、これがなんとも面白いのです。

何が面白いかというと

この本は執筆中なこともあり、途中から自分で内容を理解して、実装を進めないといけないようになっています。
もしかしたら、それが著者の狙いなんじゃないかと思うくらい、ちょうどいい感じなのです。

それなりに難しく、いろいろと試行錯誤するのですが、それによって今までなんとなくだった理解が、しっかりとした理解になっていくような気がします。

気がしているだけかもしれません。

まだ途中です

今は、関数を定義してフィボナッチ数列や階乗の計算ができるようになりました。なんとか最後(つまりC言語そのものをコンパイルできる)までがんばりたいと思います。

https://github.com/HideoYukutake/qcc

GnuPG鍵の有効期限を延長する

はじめに

2020年最初にGnuPG鍵の有効期限の延長をやったので、その記録です。

もともとは

PGPの勉強のために、2018年2月に鍵を作成しました。有効期限を2年にしていたため、期限が近づいてきていたのです。

プライマリキーを退避させていたので、いったんそれを戻してからの作業です。

$ gpg --edit-key <key id> 
gpg> key 0
gpg> expire

ここで有効期限を尋ねられました。無期限(0)でも良い気がしましたが、一応3年(3y)にしてみました。また、3年後に同じような作業が必要になりますね。
最後に保存して終了です。

gpg> save

実際には、プライマリキーとサブキーの両方の有効期限を延長しています。
今回、2020年1月1日に作業したので、次に有効期限が2022年12月31日となんともわかりやすい日付になりました。

PCでのパスワード管理(pass)や、スマホのPassword Storeアプリ にもGPG鍵を使用しているので、有効期限をちゃんと延長できて安心しました。

参考にしたサイト

佐久へ行きました

はじめに

年末年始が9連休だということに11月の下旬に気づき、慌てて旅行の計画を建てようとして、近場の長野県佐久市に行くことにした、というお話です。

なぜ佐久市なのか?

昔の知り合いが住んでいるから、というのが大きな理由の一つです。あと、知り合いの一人が、千曲川の氾濫で被災したというので、そのお見舞いも兼ねました。

かれこれ20年近く前ですが、お金はないが暇はあるというときに、ヒッチハイクでなんとなく本州をほとんど一周したことがありました。そのときに、佐久平駅近くのイオンモール付近で八千穂方面に行こうとしていて、乗せていただいたのがきっかけです。その後もお付き合いが続いていて、それだけでとてもありがたいことです。

2019年10月の台風19号の影響で、千曲川が氾濫したというのがニュースになっていましたが、佐久市でも大きな影響が出たらしいというので、行ったところでお役に立つわけではないのですが、久しぶりに訪問しないと、という思いから訪問することにしました。

特に、うちの子どもたちは被災体験などがないので、そのときの写真や話を聞かせてもらうことで、災害の怖さを知るきっかけにしてもらいたいというのもありました。

みなさん元気で何よりでした

実際の堤防の決壊跡を見たり、滑津川(千曲川の支流)の氾濫場所を見たりしました。千曲川だけだと思っていたので、支流も氾濫していたということを知って驚きました。支流でも油断できませんね。

被災状況の大きさも驚きでしたが、みなさんが本当の元気そうで、それが驚きでもあり、とてもうれしくもありました。よく元気づけに訪問したら、逆に元気をもらうという話を聞きますが、本当なんですね。すごいなぁと思いました。

せっかくなので

主目的は災害の勉強でしたが、せっかくの旅行なのでということで星空観察とスケートをやる予定で考えていました。

星空観察

佐久市にはうすだスタードームという天文台のようなところがあるそうです(初めて知りました)。標高が高いからだと思うのですが、星がよく見えるということで、星を観察しようと思ったのです。うすだスタードーム(訪問した日は年末年始の休館日)の駐車場がよく見えると聞いていたのですが、雪が残っているかも(うちの車はノーマルタイヤ)ということと、夕方から曇りだったのとで断念しました。長野県の冬を甘く見てはいけない!

うすだスタードーム
https://www.city.saku.nagano.jp/star-dome/

スケート

スケート自体は所沢(東大和駅前のスケート場に行くことが多いです)でもできますが、せっかくの本場ということでスケート場に行きました。

風越公園アイスアリーナ
https://www.kazakoshi-park.jp/ice-arena/

もっと早く計画していればカーリングの体験にも申し込めたかも、という思いがありますが、家族全員たいしてスケートできないので、まずはスケートからしっかり始めようと考えました。

天気がよければアイスパークの方の屋外スケートリンクで滑ろうと思ったのですが、あいにくの雨雪まじりだったので、屋内スケートリンクで滑りました。

オリンピックマークがあったので、長野五輪のときの会場だったのかも、という気がします。素敵な会場でした。

おわりに

子どもたちも楽しめ、パパももちろん楽しんで、とても素晴らしい1泊2日でした。いろいろと案内してもらったり、忙しい中集まってくださったり、お世話になった皆さんに本当に感謝でいっぱいです!

クリスマスパーティ

はじめに

先週、今週とクリスマスパーティに参加した記録みたいなものです。

先週のクリスマスパーティ

土曜日に、小1の娘のお友達を招待してクリスマスパーティ!
小4のお姉ちゃんにも準備を手伝ってもらって、いくつか企画も練りました〜。

まずはなぞとき!

最初になぞときです。小1の子にも解けるように難易度を調整したつもりですが、意外に難しかったようで、みんな熱心に取り組んでくれてオジサン感無量です。

その後はプレゼント交換

その後は最近、我が家でブームのウノをしたり、おままごとしたりして過ごし、プレゼント交換をしました。100円程度で揃えてもらって、みんな貰ったものを見て喜んでいました。

おやつの後にビンゴ!

おやつを食べて、その後はビンゴ大会!自由帳を狙ってのビンゴ。みんな真剣です。小4のお姉ちゃんがタブレットを使って、番号を発表するたびに悲喜こもごも。自由帳にそんなムキにならんでも、と思いつつ盛り上がってくれたのがうれしかったです。最終的に、みんな、希望の自由帳をゲットできたようで、喜んでくれました。3時間程度のクリスマスパーティでしたが、とても楽しかったです。(その後、疲れがどっとでましたが!)

今週のクリスマスパーティ

今週は、知り合いの方の教会でのクリスマスパーティでした。
さすがに教会のクリスマスパーティなので、遊ぶだけではなくて、ちゃんとクリスマスの由来とかも教えてもらえます。もちろん、子どもが退屈しないようにいろんな工夫がなされていて、すごいなぁと感じました。

本の朗読

この本を読んでくれました。

たいせつなきみ
https://www.amazon.co.jp/%E3%81%9F%E3%81%84%E3%81%9B%E3%81%A4%E3%81%AA%E3%81%8D%E3%81%BF-%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9%E3%83%BB%E3%83%AB%E3%82%B1%E3%83%BC%E3%83%89/dp/4264017408?tag=duckduckgo-d-20

他人からの評価を気にして、何が劣っているからとかを気にするよりも、自分を大切に思ってくれる人といることの大切さを書いた本でした。

欧米的な価値観というのが、わりとキリスト教的なものがベースなんだな、という印象を受けたのと、自分が合理主義なこともあり効率とかを優先しがちではあるのですが、それだけでは社会(というと大げさですが)はギスギスしてしまうなぁと思っていました。

宗教には特段の関心はなかったのですが、功利主義的な方向に傾きがちな世の中のバランスをとるという役割があるのかも、と思いました。

ちなみに私は仕事があったので、途中で抜けてきたので後半のキャンドルサービスなどは参加できませんでした。残念!

子供の頃はあまりクリスマスでお祝いなどすることがなかったので、とても新鮮で楽しい12月です。

読書通帳④

読んだ本を記録しておくエントリーです。

読んだ本

ヤンキー化する日本
https://www.amazon.co.jp/%E3%83%A4%E3%83%B3%E3%82%AD%E3%83%BC%E5%8C%96%E3%81%99%E3%82%8B%E6%97%A5%E6%9C%AC-%E8%A7%92%E5%B7%9Done%E3%83%86%E3%83%BC%E3%83%9E21-%E6%96%8E%E8%97%A4-%E7%92%B0/dp/4041107415

内容と感想

地元が福岡の筑豊地域だったので、ヤンキーはいっぱいいました。そういうこともあり、好き嫌いは別にしてヤンキー文化にはある程度、慣れ親しんでいるという自覚はありました。

この本によると、ヤンキー文化はかなり後半に浸透していて、ある意味では日本全体を覆っているという状況のようです。

ただし、私が感じていたヤンキー文化とこの本のヤンキー文化はやや定義が違うようで、この本の方がかなり広い範囲を包含するように感じました。
どちらかというと体育会系的なものもすべてヤンキー文化だし、ギャル文化とかもヤンキー文化という内容で、ちょっと幅広く取りすぎている気もしました。

ただ、その点を割り引いても、ある程度納得できる内容ではあると思います。

一方で、主として対談集という体裁のためか、細かい論理構成とかがなされているわけではないという印象も受けました。

最近だと、アメリカのトランプ大統領を支持するグループとかと日本のヤンキー文化の比較をしてみるとか面白そうだなという気がしました。
割と似ているんじゃないかという気がします。

割と気楽に読める本なので、一度読んでみると良いと思います。

入門 監視を読みました

はじめに

オライリーの入門 監視を読みましたので感想文です。

入門 監視
https://www.oreilly.co.jp/books/9784873118642/

監視の考え方

一番、印象的だったのがシステムの監視をする際にCPU使用率だったりメモリ使用率だったりを取得するわけですが、それ自体はそれほど役に立たないという趣旨の記載の部分でした。

実際、CPU使用率高騰でアラートメールを受信することは多いのですが、理由がバッチ処理で一時的に負荷がかかっているだけで、システムとしては正常というケースが多いので、疑問を感じていました。ユーザから観て、正常に動作しているのかどうかという視点でアラートを考えるべき、というのが腹にストンと落ちる感じがしました。

メトリクスの重要性

また、ちょうど業務で不審な通信の有無を探すということをやって、ログからそうした傾向を調査しようとしていろいろ試行錯誤をしていたところ、メトリクスの重要性を感じるきっかけにもなりました。

ログそのものではなくて、メトリクス(ゲージやカウンタ)という形で普段から取得しておくことで、いざそういう調査をする際に速やかな調査が可能になるな、というのを感じました。

これまでGrafanaやKibanaをうまく活用しきれていないと感じていたので、それらをどう活用するかの方向性が見えたような気がしました。

まとめ

ちょうど読んだタイミングが良かったのだと思いますが、この本に書かれている内容を実感するような実例を業務で携わることもできて、まさに自分が求めていることが書かれている!という感想を持ちました。

オススメです!