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


#C++によるプログラミングの原則と実践
https://amzn.to/2ytBG55
###第19章　vector,テンプレート,例外

- 代入演算子は、代入先のオブジェクトへの参照を返す。それに対する表記は *this
- 代入元のVectorの要素の個数が代入先のvectorと同じである場合が一般的。vectorですでに確保されている領域に要素をコピーする
- 標準ライブラリで使用されているツールや手法は、プログラマーのコードに最も役立つものの一つ
- templateとは、基本的には、プログラマーがクラスや関数のパラメーターとして型を使用できるようにするメカニズムその後、特定の方を引数として指定すると、コンパイラーが特定のクラスまたは関数を生成する。
- 簡単なfor文は１行でかく
```
for(int i=0;i<sz;++i) elem[i]=0;
```


#機械学習エンジニアになりたい人のための本
https://amzn.to/3dxwoEx
###第６章 私たちの身近にあるAI技術を用いたサービス
- echoが世界シェアを伸ばしてる。echo spotを２年前に買ったが最近再び使い始めたが、使いやすさが格段にましている。

###第７章　実務のためのノウハウ
- データが分析用DBに保管されているかどうかが、AIを企業に導入するかどうかのライン
- 顧客に対して１から２ヶ月で完成できる開発を目指す
- 顧客データの使い方として、プライバシーと利便性のバランスを取らないと気持ち悪がられる
- モデルやデータの筋を向上させるためには、他の産業事例にヒントがある

###第８章 海外移住も夢じゃない？　各国のAIエンジニア事情
- データサイエンティストはシリコンバレーで、2,400から3,600万円もらい、GoogleやFacebookで働くとその数倍はもらえる
- シリコンバレーでは、アカデミアにいるより、企業にいた方がいい研究ができるとも言われている
- Google本社では、起業を理由に退職しても、１から２年後以内であれば、復職できる権利が与えられる
- 石を投げたらスタートアップに当たると言われている
- 中国の深センではホームレスまでQRコードでお金を集金するとも言われるほどに、WeChat決済が普及している
- Nextflix にAlphaGoを作ったDeepMindの創業者デミス　ハサビスのドキュメンタリー映画 AlpahGo Movieがある
- Natureはトップの学術誌、DeepMindの論文はそのような媒体で見れる
- 東南アジアではデータがそもそもなく、ITが普及していないため、AIビジネスが一般的になるにはまだ時間がかかる
- ベトナムでは、平均年齢は３０歳を切り、有名大学ではAIエンジニアを育成し、スタートアップでは、数学オリンピックメダリストなどを囲い込んでいる
- インド人は英語が話せるからシリコンバレーとつながり、ベトナム人は話せないから日本人とつながる。

###AI用語集
- Kaggle データ分析のコンペティションサイト　賞金付きのものもある
- PyTorch Facebookが作った機械学習ライブラリ
- TensorFlow Googleが作った機械学習ライブラリ。世界シェアトップ
- 人工知能　人工知能＞機械学習＞深層学習
- チャットボット　自然言語処理の応用例の一つであり、人間のような対話を目指している。IBMのWatsonが有名
- ライブラリ　GoogleのTensorFlow, FacebookのPyTorch, Preferred NetworksのChainerなどが有名。Pythonが人気な理由としては、生産性を上げるライブラリが一番充実してるから

#データサイエンティスト養成読本　機械学習入門編
https://amzn.to/3fvlfpr
###第４章　応用推薦と異常検知
- 平均から離れているサンプルが多いほど分散は大きくなる
- 平均近くのサンプルが多いと、分散は小さくなる。
- サンプルの外れ度合いをはあかるためにマハラノビス距離がよく使われる。
- ユーザーごとに、合計が１になる。つまり、大きさの情報は消えていて、キャンペーン一を１回だけクリックしたユーザ(1/1=1)と、100回クリックしたユーザ(100/100=1)は同じ特徴となる

#１週間でLPICの基礎が学べる本
https://amzn.to/3dstlNS
###第１章　Linuxとオープンソース、学習の準備
- Linux OSの中核部分であるプログラムをカーネル(kernel)というが、本来は、Linuxはカーネルにつけれらた名前。
- kernelは自動車におけるエンジンみたいなもの
- Linuxカーネルに、ライブラリやツール、インストーラが組み込まれて一つの製品として提供されているものをディストリビューションという
- ディストリビューションを構成するソフトウェアは、ほとんどがオープンソースソフトウェア。そのため、個人でも、Linuxカーネルとオープンソースソフトウェアを組み合わせてディストリビューションを作成できる。企業が開発し有償で販売されているものもある
- Raspberry Piは元々教育向けに作られた
- 携帯電話のOSはLinuxが多数派になっている
- スーパーコンピュータのTop500のシステムのほとんどはLinux

#CODE COMPLETE 完璧なプログラミングを目指して
https://amzn.to/3cgDnBd

###はじめに
- コードコンストラクションは小規模なプロジェクトの65%、中規模なプロジェクトの50%をしめる。小規模の75%、中規模以上の50から75%がコンストラクションのエラー



#ブッダの言葉
https://amzn.to/2A4nVdf
**人間を救う人工知能を作るには、人間の弱さを知るべきだと思うから**
###第３章　大いなる章
- 熟したみは早く落ちる。それと同じく、生まれた人々は死なねばならぬ
- バラモンの母から生まれた人をバラモンと呼ぶのではない、無一物出会って執着のない人をバラモンと呼ぶ
- 罪がないのに罵られ、殴られ、拘禁されるのを耐え忍び、忍耐の力あり、心の猛き人をバラモンと呼ぶ
- 諸々の欲情に汚されない人をバラモンと呼ぶ
- すでにこの世において事故の苦しみの滅びたことをシリ、重荷をおろし、囚われのない人をバラモンと呼ぶ
- いずれの人とも交わらず、住処がなくて遍歴し、欲の少ない人をバラモンと呼ぶ
- 敵意あるものどもの間にあって敵意なく、暴力を用いるものどもの間にあって心穏やかに、執着するものどもの間にあって執着しない人をバラモンと呼ぶ
- 事柄をはっきりと伝える真実の言葉を発し、言葉によって何人の感情をも害すことのない人をバラモンと呼ぶ
- 全て与えられていないものを取らない人をバラモンと呼ぶ
- 興奮することなく、疑惑がなく、執着がなくて、心安らかな人をバラモンと呼ぶ
- 愛執の生活の尽きた人をバラモンと呼ぶ
- 人間の絆を捨て、全ての絆を離れた人をバラモンと呼ぶ
- 快楽と不快をすて、清らかに涼しく、囚われること無く、全世界に打ち勝った健き人をバラモンと呼ぶ
- 一物も所有せず、全て無一文で何ものをも執着して、取り押さえることのない人をバラモンと呼ぶ
- 生まれによってバラモンとなるのではない。行為によってバラモンなのである。
- 賢者は行為をあるがままに見る。彼らは縁起をみるものであり、行為（業）とその報いとを熟知している。
- 熱心な修行と、清らかな行と感官の制御と自制心とによってバラモンとなる
- 修行僧よ、紅蓮地獄における寿命は長い。それを数百年であるとか、幾十万年であるとか数えることは難しい
- 嘘をいう人は地獄に落ちる
- 口汚く、不実で、卑しいものよ。生き物を殺し、邪悪で、悪行をなすものよ。下劣を極め、不吉な、出来損ないよ。この世であまりおしゃべりするな。お前は地獄に落ちるものだぞ
- 罪を犯した人が見にうけるこの地獄の生存は、実に悲惨である。だから人は、この世において余生のあるうちになすべきことをなして、揺るがせにしてはならない。

#インターネットから学ぶ
- ターミナルの過去のコマンドを消すには　clear
- ターミナルの履歴を消すには、 history -c
- hostsファイルを操作するには、　sudo vi /private/etc/hosts

#今日は...
- 次の大学のクラスはデータ構造とアルゴリズムで、その次が、オブジェクト指向だから、さっさとC++の本で勉強して、機械学習とかの勉強に進みたい。
- 来セメスターでLPICのクラスとるから、その勉強も自分でやっといて、資格も取りたい。後々データベースサーバーとかでLinux使うし。
- 本は満遍なくいろんな本を読み進めっていって飽きないようにしたい。
- 早くもっとランクの高い大学にtransferしたい。あったかいとこ限定で