本から学ぶプログラミング May 8

#C++によるプログラミングの原則と実践
https://amzn.to/2ytBG55
###第19章　vector,テンプレート,例外
- クラステンプレートは型ジェネレーターとも呼ばれる
- テンプレート引数に基づいて型（クラス）をクラステンプレートから生成するプロセスは、特殊化(specialization)または、テンプレートのインスタンス化（template instantiation)と呼ばれる
- ジェネリックプログラミングの最も単純な定義は、テンプレートを使用すること
- generic programmingとは、引数として表される様々な方に対応するコードを記述すること。ただし、それらの引数型が特定の公文上の要件と意味的な用件を満たすことが前提となる
- パラメーター化の対象が関数である場合は、関数テンプレートを使用する
- このような関数は、パラメーター化された関数parameterized functionと呼ばれることが多いが、algorithmと呼ばれることもある。このためジェネリックプログラミングは、アルゴリズム志向のプログラミングとも呼ばれる
- クラス階層と仮想関数を使用するオブジェクト指向プログラミングと、テンプレートを使用するジェネリックプログラミングの間の相違点は、前者では、呼び出される関数は実行時まで決定されないが、後者では、コンパイル時に決定される
- それら２つを組み合わせることは効果的である
- 派生クラスのオブジェクトのコンテナーを基底クラスのオブジェクトのコンテナーとして使用することはうまくいかない
- vector<Shape*>がどこかでvector<Circle*>とみなされてたら問題になる
- DがBであるからといって、```C<D>```が```C<B>```であるわけではない

#データサイエンティスト養成読本　機械学習入門編
https://amzn.to/3fvlfpr

###第3章　ビジネスに導入する機械学習
- 回帰分析とは、目的変数と説明変数の間の関係を定式化し、道の目的変数を与えた際の説明変数の数値を予測する手法
- 線形回帰モデルとは、１つの説明変数で、目的変数の数値を予測するモデル　y=Ax+B
- ランダムフォレストは、決定木モデルの集団学習により、高精度の判別分析、回帰分析が可能な手法。線形回帰で-きない複雑な問題に対応でき、欠損値があっても有効に動作するのが特徴
### 第４章　深層学習最前線
- 深層学習では、主に、ニューラルネットと呼ばれる関数を学習する
- あるそうの出力から次の層の入力を計算する処理は、重み行列をかけてバイアスベクトルを足すことで実装できる
- 深層学習の４つのフレームワーク　Caffe Torch7 Theano/Pylearn2 Chainer
- まずは一つのフレームワークをマスターしてから必要に応じて他のフレームワークを学ぶ


#私はどのようにしてLinuxカーネルを学んだか　ゆたかさんの技術書
https://amzn.to/2xKOWSg
###第５章　Linuxの動作フロー
- カーネルに不備があって、起動に失敗し、OSにログインもできなくなったら何もできない
- Linuxカーネルとデバイスドライバが出力するメッセージは、printk()によるもの。これを読んでいる箇所を見つけ丹念に読むことでメッセージの意味を理解できる

###第６章 Linuxカーネルの役割
- 暴走の英語表記はrunaway
- カーネルはメモリーが本当に足りなくなり動けなくなる前に、Out of Memoryを発動する


#１週間でLPICの基礎が学べる本
https://amzn.to/3dstlNS
###第2章 Linuxの基本操作、ファイルとディレクトリ
- Linuxでは、キーボードを使って文字情報だけで操作する方式であるCUI(Character-based User interface)が基本
- CUIのメリットは、慣れればGUIよりも早く操作ができる。一連の作業を自動化しやすい。離れた場所にあるコンピュータをネットワーク経由で操作しやすいなどがある
- rootユーザーはスーパーユーザーと呼ばれ、それ以外は一般ユーザーと言われる
- rootユーザーでログインして作業すると、少しのミスでシステム全体に致命的なダメージが与えられる可能性がある
- rootユーザーでは、```$```が```#```に変わる
- ```exit```でログアウト
- ```cal```コマンドはカレンダーを表示する
- ```cal 8 2020``` で2020年八月のカレンダーが表示
- ```cal -m -3``` では、前後３ヶ月分をMondayを先頭にして表示する
- 複数のオプションを同時に指定する際の順番は問われない。またスペースも問われない
- 基本的には、オプション　引数の順で指定される
- ```man```でオンラインマニュアルが見れる
- ```man cal```でcalコマンドのマニュアルが表示　
- man 5 passwd のようにして、セクションを指定できる
- オンラインマニュアルにどのようなセクションがあるかがわからない時は、```whatis```コマンドで、マニュアルの最初の行だけを抜き出して表示できる
- ```--help```オプションで、オンラインマニュアル要理簡潔な説明が表示されるコマンドもある
- ```shutdown```コマンドを使えるのはrootユーザーだけ
- ```shutdown -r```システム終了後に再起動reboot
- ```-h```システムを終了して停止　hait
- ```-c```実行中のシャットダウンをキャンセル
- 引数の時間には、```23:45```や、```+5```(５分後）などを指定できる
- ```shutdown -h now``` は直ちにシステム停止
- ```shutdown -r now```　は直ちに再起動
- ```shutdown -r +10```　は１０ぷん後に再起動




#CODE COMPLETE 完璧なプログラミングを目指して

https://amzn.to/3cgDnBd

###第１章　ソフトウェアコンストラクションへようこそ
- constructionは、概ね何かを作ることの実践的な部分を示す




#ブッダの言葉
https://amzn.to/2A4nVdf
**人間を救う人工知能を作るには、人間の弱さを知るべきだと思うから**
###第３章　大いなる章
- 腹を減らして、食べ物を節し、少ない欲であって、貪ることなかれ。
- ２種の観察法とは、苦しみの原因を知ることと、苦しみの消滅に至る道を知ること
- 苦しみの生起する本を知らず、苦しみの滅びるところも、苦しみの消滅に達する道も知らない人々は、輪廻を消滅させることができない


#インターネットから学ぶ
- hostsファイルで全てのサイトをブロックして、例外のサイトも指定しようと２時間ほど調べたが情報は見つからなかった。

#今日は...
- 2020 fall semesterのスケジュール
- UNIXのlabと、structure and algorithmをとった。
![Screen Shot 2020-05-08 at 2.25.37 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426002/652ce1d4-720c-2548-5aa8-f3f5e72f76ed.png)
- ブルーライトカットのオレンジレンズのメガネを欠けてからモニターで電子書籍を読むのが楽になったからおすすめ



引用元　amazonリンクの中に記載されています。