エンジニア基礎力強化

最近、ネットワーク周りの知識を求められることが多く、自分の知識不足を痛感しています。大学では、情報理工系に所属して、カリキュラムとして情報理論などは学んだ記憶があるのですが、とんとネットワーク周りについては学んでこなかったのです。周りにはネットワークについて研究をしてきたような人が多く、周回遅れというような感じを抱いているのです。とはいえ、知らないことを知らないままでいることも出来ないので、良書と呼ばれている本を読んでいます。

今読んでいる、読んだもの、これから読もうとしている本はこの3冊です。

  • マスタリングTCP/IP入門編
  • マスタリングTCP/IP応用編
  • ネットワークはなぜつながるのか

マスタリングTCP/IP入門編は読み終わりましたが、これだけではどうにも物足りず応用編も購入しました。ただ、応用編のすべてを読み通そうとは現時点では思っておらず、ルーティングプロトコルを主に読んでおこうかなと考えいます。ネットワークはなぜつながるのかは、ふと目について購入した本ですが、大変わかりやすくそれでいて内容も濃かったため、一気に読み終わりました。この本の読書メモはまた別にまとめて公開しようと考えています。

ネットワーク周りの知識をつけようと本を読んでいると、そもそものエンジニアとして基礎的な知識が欠けているなと改めて気付かされるのです。どういったことかと言うと、学問だとコンピュータアーキテクチャと呼ばれる分野の知識です。OS(kernel)、CPU、メモリー、ハードディスク、GPUと言ったコンポーネントと役割は漠然と知っているのですが、例えばCPUがとのようにプログラムを処理しているのか、OS上でプロセスがどのように動いているのか、その辺りを詳しく説明することが出来ないのです。

この辺りの勉強方法としては、東大が公開しているオンライン講座を眺めてみるとか、Linuxのしくみという本を買いまして、プロセスの仕組みなどを学ぼうと思っています。また、コンピュータアーキテクチャ技術入門なる本が出版されているらしく、この本も買ってみて一読しようかと考えています。

技術本メモ

  • コンピュータはなぜ動くのか
    • コンピュータの中身を解説するため、まずコンピュータを作ってみようという節で、論理回路について解説。そして、アセンブリ言語の話、プログラムを表現するフローチャートの話、アルゴリズム、データ構造とオブジェクト指向について話が流れる。アプリケーションとして、データベースについて概要を、ネットワークでTCP/IPを説明。10章以降で、暗号化とXML、SE職について説明をする。
    • 中身をざっと確認した感覚だと、いま欲しい情報が含まれている本ではなさそうと思ったので、購入は見送り。

家計簿の整理

日々の支出の管理にiOSアプリのCashflowを使っています。使い始めてから少なくとも4年は経っていますが、ようやく項目の整理をはじめました。

つける項目として選んだのは以下の通り。Cashflowでは、費目として集計が取られます。摘要に、何を買ったかとか品目を記載するようにしました。

費目 摘要
食費 朝食、夕食、昼食、飲料、水、コーヒー
日用品 洗剤、トイレットペーパー、食器、etc
衣類 衣類
娯楽費 映画、本
交通費 交通費
医療費 医療費
交際費 レストラン、遊園地など
こづかい こづかい
その他 上記以外の品目

この項目で今月の家計簿をつけ直してみた結果がこちら。

いい感じかどうか分かりませんが、とりあえずこの分類で記録を続けていきたいと思います。 ただ、個人的には水やコーヒー、自販機で飲みものを買うことが多くて、それはそれで食費とは別に記録したいという思いはあります。月に飲料費だけで6000円位の支出があるんじゃないかと感覚を抱いているので、それを調べてみたいです。

紙の本と電子書籍

電子書籍は、紙の本の欠点である場所を取らない、検索が出来ると言った点で優れています。1台のタブレットがあれば、紙であればカバン1つに入りきらないほどの本を持ち運ぶがことができるのです。

仮に数万冊の電子書籍を所有していたとしても、それは1台のタブレットに収まるでしょう。もちろん、タブレットで保存できるサイズは有限でありますが。

個人的にどんな本も出来るだけ電子書籍として所有したいと思ってはいるのですが、欲しい本が常に電子書籍となっていることは少ないです。

紙の本と電子書籍だとどっちを買うかというと、もちろん電子書籍なのですが、ただ読み終わった後に頭の中に残っている、残りやすさと言いますか、それは圧倒的に紙の本に軍配があがるのです。

また、パソコンで書いた文章を一度印刷して読み直すと間違いが見つかることは経験として少なくありません。

紙とディスプレイ、何かしら人間にとって記憶への残りやすさ、視覚への刺激の観点で何らかの違いから生じるものなのか、単純に今まで紙の本に接してきた経験が圧倒的な故に紙から情報を得ることに脳の神経回路が最適化されているのか。現時点で、全く回答が無いのですが、気にはなっています。

紙の本を読んだ時と同じ読書体験を電子書籍で得られるのなら、先に述べました通り、可搬性や検索性で有利なのですから、それに越したことはないのです。

電子書籍で買って、良いと思った本、手元に置いておいて何かの時にすぐに参照するものは、紙の本でも買う、それでも紙の本だけを買って行くよりも厳選されスペースがそれほど増えていかないという点では悪くはないのですが……。

日銀資産がGDP超えた件

▼日銀の資産 553兆円余 GDPの額を上回る | NHKニュース https://www3.nhk.or.jp/news/html/20181113/k10011709341000.html

これGDPの額を超えたからどうしたのかと経済学とかその辺りのことが全く分からず思ったのですが、いくつかサイトをのぞいてみて、なるほどなと思ったのでメモ的に書き残しておこうと。

まず、日銀はお金を刷るところ。刷ったお金をどうやって世の中に出してるかと言うと、国債を銀行から買って、銀行にお金を出すことで、また銀行は会社などにお金を低金利で出せるようになる、と。会社にお金が入ると従業員の給料が上がって、消費が増え、物価が上がる、と。

この物価を上げるために日銀は量的金融緩和と呼ばれる施策を行っているのですが、思うように物価上昇していないとのこと。 量的金融緩和っていうのが、主に国債の買い取りらしいのです。

したがって、日銀の持つ国債が増えるので、日銀の資産も増えていくという構造らしいことが分かりました。

日銀が大量に買い込むことで国債市場が健全に働かないのではという懸念、日銀の金融政策が効果的では無いという問題ということがあるようです。

アレルギーとバケツ

花粉症や食物アレルギーについて、誰もが発症する可能性があり、発症するかしないかはバケツがいつ溢れるかによる、と本当かどうか分からない俗説を聞きます。 つまり、バケツに水がたまっていき、溢れるタイミング、それこそがアレルギー反応が出てくる時であると。一見、アレルギーってそんなものかと思ってしまう分かりやすいような説明ですが、実際のところどうなのかと不思議に思ってしまいます。 というのも、人には不要なものを体外へ排出する機能が備わっています。そのため、バケツにひたすら水が溜まっていくようには、ならないのではないかと疑問に思うわけです。

アレルギー反応が出るとは、どのようなことなのかと調べると、体内へ入ってきた物質(基本的にはタンパク質)が、IgE抗体と呼ばれる抗体と反応し、化学物質が生成され、それらがからだへ影響を及ぼし、皮膚の発疹をはじめとする症状が現れるとのことです。

アレルギー症状の出る仕組みを調べても、なかなかバケツのイメージが説明はつきません。抗体と反応するトリガーが何か良く分からないのです。このトリガーが、ある一定量蓄積されてからなのか、閾値に関係なくランダムなのか、そこが解決しません。

食物アレルギーに関しては、加齢により消化器官の発達し、免疫学的寛容と呼ばれる動きで、これまでアレルゲンであった食べ物が、アレルギー症状を引き起こさなくなることはあるようです。しかし、花粉によるアレルギー症状については、そもそも人間に花粉の吸収を調整するような要素が無いために、先の免疫学的寛容という仕組みは働かず、自然に治るということがあまりないようです。

食物アレルギーや花粉症といったアレルギー症状が、蓄積によって引き起こされるのか、突然何かのタイミングで引き起こされるのか、まだまだ疑問を解決するには調査が必要なようです。

電子書籍をタブレットなどで読む

この記事は、iPhoneAndroidタブレット電子書籍を読むためのハウツーを自分用にまとめて書いています。

電子書籍

ここでは、電子書籍kindleストアで買えるもの、PDF形式のもの、mobi形式(これはkindleの形式らしいですが)、ePub形式のものを想定しています。

何で読むか

電子書籍を読むのに2つを想定します。

  • Kindleで読む
  • Playブックスで読む

Kindle Storeで買ったものは自動的に配信されるので、Kindleで読むに分類されます。それ以外に、ePubやPDFで買った場合について、どっちで読むかという問題が出てきます。

基本的には、iOSAndroidのどちらでもアプリが公開されているKindleで読むことを考えたいです。 しかし、ファイルサイズが50MBを超える場合は転送ができなかったりするので、以下のようなフローが考えられます。

  1. ePub形式でファイルサイズが25MBより小さい場合は、mobi形式に変換して、Kindleで読む
  2. PDF形式でファイルサイズが50MBより小さい場合は、Kindleで読む
  3. PDFまたはePub形式でファイルサイズが50MB以上の電子書籍は、Playブックスで読む

Kindleで読む

まずiOSAndroidの両方で提供されているKindleアプリで読む方法について。アプリで読むことができる形式として、

  1. Kindleで買った本
  2. PDF
  3. mobi形式

などがあります。詳細については、公式ページ(Amazon.co.jp ヘルプ: Kindleパーソナル・ドキュメントサービス - https://www.amazon.co.jp/gp/help/customer/display.html/ref=kinw_myk_pd_ln?ie=UTF8&nodeId=200767340)。

そして、これらを読むためには、ファイルを転送しておく必要があります。Kindleで買った本については自動的にダウンロードできるのでおいておいて、PDFやmobi形式のファイルを転送するためには、事前にSend-to-Kindleサービスで、自身のE-mailアドレスを登録しておき、発行されたアドレス宛に添付ファイルとしてメールする必要があります。注意すべき事項として、ファイルサイズは50MB以下である必要があります(詳細:Amazon.co.jp ヘルプ: Send-to-Kindle Eメールアドレスの使い方について - https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201974220

mobiへの変換

技術評論社電子書籍は、フォーマットがePubとして購入ができます。普段、電子書籍Kindleで買って読んでいるのですが、Kindleはmobi形式の電子書籍しか転送して閲覧することが出来ません。なので、ePubからmobiに変換して読む必要があるのです。

変換方法ですが、Kindle PreviewerというWindowsアプリケーションを使う方法と、KindleGenというコマンドラインツールを使う方法があるようです。詳しい変換方法は別のブログに譲ることにしますが、だいたい変換することでファイルサイズが2倍になるようです。

次に、転送方法ですが、専用のメールアドレスに送付する方法と、Dropboxなどのオンラインストレージサービスを使う方法、そしてAndroidの場合にUSBケーブルをPCと端末をつなぎ、Kindle用のディレクトリへmobiファイルを直接転送する方法があります。

KindleGenを使った変換方法を簡単に記載しておきます。
Amazon.com Message - https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211

  1. 上の公式サイトからKindle Genをダウンロードし解凍します 2 (オプション)解凍したフォルダを適当なフォルダ以下(例えばC:\Program Files\)に移動し、パスを通します
  2. コマンドプロンプトを開きます
  3. >kindlegen.exeと実行します(パスが通っている場合;通っていない場合はフルパスで実行します)
  4. 使用方法が出力されます
  5. 実際の変換は「>kindlegen.exe <input file>.epub -o <output file>」とし、実行します

Playブックスで読む

Android端末限定になりますが、GoogleのサービスであるPlayブックスを利用した読書方法です。利用の方法は簡単で、

  1. 公式サイトにアクセス:Google Play
  2. ファイルをアップロード

すれば良いだけです。

ただ、こっちの場合は、PDF及びePub形式のファイルしかアップロードすることが出来ません(jpegなども対応しているようですが)。

結局何が良いか

電子書籍を読むにはkindleアプリとPlayブックスのどちらが良いのかという話です。手元に持っている端末がiPhoneとMediapad M5とCPUの能力が異なるので、単純に比較は難しいです。

fitbitで睡眠時間の計測

睡眠時間を長く取っても、寝起きにつらさが残ってしまって、如何してだろうという疑問から、睡眠時の質について計測をしたくfitbitを購入しました。

数ヶ月使ってみて、睡眠の質を記録してきました。毎朝起きたタイミングで自分の体調、体がだるいのか頭がぼんやりしてるのか、目が痛いのかなどなど。それを記録した上でfitbitで記録された睡眠ステージを見て、どの睡眠ステージが長ければ、寝起きが良く、そして一日中眠気がこなかったり集中力が持続するのかを分析しました。

まず、睡眠ステージの記録をみてきて、睡眠時間を長く取っても、浅い睡眠の時間が長くなるだけで、深い睡眠やREM睡眠の時間が長くなったりするわけでは無いようです。

そもそも、fitbitでは睡眠ステージをどのように分類しているのでしょうか。 XXXXXXXXXXX