八葉の日記

日々、感じたことをまとめる場として利用する

プレゼントしたい本ということで...

「プレゼントしたい本」ということで、数学ガールという数学の読みものをプレゼントしたい。特に数学が嫌いな人に読ませたい。

理由は、大学の時に、これをよんで目からウロコの思いをして、テンションがバカ上がりしたから、「もう高校の時の数学の授業ってなんやったん!!」って感じ。

 

数学ガール (数学ガールシリーズ 1)

数学ガール (数学ガールシリーズ 1)

 

 

 数学を探求するロジカルな部分と登場人物の心理描写の淡い感じがいい感じにミックスされていて、数学がわからなくても読めるし、わかる人も楽しめる。

特にすごいのは、学校で習うのとはちがって、公式ができている理由を丁寧に追いかけて、追いかけてから、公式にたどり着くので、ちゃんとわかるということがすごい。

(数学苦手な自分は、物語をなぞって数式をノートに書いたりしたけど....)

自分は、数学Aの中間テスト36点(100点満点中)でしたが、フィボナッチ数列がわかったよ。

あの感動をうまく文章にできませんでしたが、ぜひ読んで新しい世界の扉をあけていただきたい。

まじで、数学がちょっとでもわかると、以前の自分と世界の見方がかわるので。

数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)

数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)

 

恋愛系としても読みだせます。漫画からはいるのもいいかも。

 

数学ガール 上 (MFコミックス フラッパーシリーズ)

数学ガール 上 (MFコミックス フラッパーシリーズ)

 

 

追加:新人エンジニアに向けオススメ書籍

以前、ブログにて新人エンジニア向けの書籍を紹介しましたが、大切な本を忘れていました。 

 

konboi-kun.hatenablog.com

 

 

前回紹介した書籍は、業務に直結する内容で時間がかかっても読んでほしいものでした。しかし、新人となれば、まず、"仕事の心構え"がわからないということを失念していました。

新人に、どうやれば成長できるか、どう仕事すべきかを感覚的にわかってもらうために

以下の本を貸しました。

ソフトウェア開発で伸びる人、伸びない人 【第二版】 (技評SE選書)

ソフトウェア開発で伸びる人、伸びない人 【第二版】 (技評SE選書)

 

 

この本、自身に省みることが多いんですよね。(思い当たることが多いこと。。。)

仕事していて、「あっ、今怒られていること、書いてあった」と1回あたり経験の大きくするのにちょうどいいかと、思い紹介します。

 

SEって何っていうのを、コメディタッチに理解してもらうには、以下でもいいかもしれません。

まぁ、立華ちゃんみたいにロリな先輩はいません、あと、立華ちゃんみたいな鬼な先輩もいませんが。。。

(なんか、いろいろあきらめてもらうにはいいかもしれない。。。)

 

なれる!SE 2週間でわかる?SE入門 (電撃文庫)

なれる!SE 2週間でわかる?SE入門 (電撃文庫)

 

 

 

 

 

 

 

キャンセルを伴う継承

 

新装版 マルチパラダイムデザイン

新装版 マルチパラダイムデザイン

  • 作者: ジェームス・O・コプリン,James O. Coplien,平鍋健児,金沢典子,羽生田栄一
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2009/12/01
  • メディア: 単行本
  • 購入: 3人 クリック: 41回
  • この商品を含むブログ (6件) を見る
 

 

読んでていろいろわからないため、メモ。

 

キャンセルを伴う継承(Inheritance with cancellation)とは、オブジェクト指向でいうと、継承関係のある型ファミリがある際に、派生クラスで基底クラスの振る舞いをCancelすること。

代表的なのでprivate継承で、これを使うと使用した側からは、基底クラスが見えず、基底クラスでしか定義されない振る舞いは根こそぎキャンセルされる。

とうぜんながら、Liscovの置換定理に反しており、オブジェクト指向設計では推奨されない設計となる。

 

じゃあ、どんなときに使うか?

それは、負の可変性(negative variability)を実装するときの手段の一つである。

 

 

 

SOLID原則

 

アジャイルソフトウェア開発の奥義

アジャイルソフトウェア開発の奥義

 

 

SOLID原則、いい設計のためのオブジェクト指向の指針のメモ

 

■単一責任の原則(SRP:The Single Responsibility Principle)

 クラスを変更する理由は、一つ以上存在していない

 

■オープン・クローズドの原則(OCP:The Open-Closed Principle)

 ソフトウェアの構成要素は、拡張に対して開いており、修正に対しては閉じている

 

■リスコフの置換原則(LSP:Liskov Substitution Principle)

 派生型は基本型と置換可能でなければならない

 

■インターフェース分離の原則(ISP:The Interface Segreation Principle)

 クライアントにクライアントが利用しないメソッドへの依存を強制しては

 ならない

 

■依存関係逆転の原則(The Dependency Inversion Principle)

・上位のモジュールは下位のモジュールに依存してはいけない。どちらのモジュールも「抽象」に依存すべきである

・「抽象」に実装の詳細に依存してはならない。実装の詳細は「抽象」に依存すべきではない

 

(詰まったところ)「JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック」

 

 

JavaScriptの勉強に上の本を読んでいますが、詰まってしまいました。

内容はp59のイヌの画像を集めるところで、本に載っているコードのままだと

client.fhetchに失敗する。原因はURL内に日本語を使っていたため。

url = encodeURI(url);を行うと解決します。

 

この本は、以下のサポートページがあり、上で述べている問題の解決方法も

サポートページに記載されています。

 

http://kujirahand.com/blog/index.php?Node.jsによるWebクローラー開発テクニック