2017/05/16
schedule
01:20 睡眠
11:50 起床・朝食
13:00 出家
13:45 研究室
18:50 帰宅
19:30 自宅着・夕食
20:30 読書
22:00 風呂
23:30 電話 (-24:30)
やったこと
- C言語 入門書の次に読む本 (pp.117-168)
得たこととしては
- 外部に公開するheader file、公開しないheader file (.cに対して1つずつが望ましい) を作る。しかし、Cでは、ライブラリのみでグローバルの関数(としたいもの)と、外部に公開するグローバル関数を区別できない。適当にプロトタイプ宣言してlink可能である。
- Makefileは、BSD makeとGNU make、どちらでも通るように。
- 必ずexit()で終了する
- 大きなライブラリでは、複数のオブジェクトファイルをアーカイブ形式にまとめる。
- 構造体のメンバ変数の隠蔽 : 面白い
- Algorithm + Data structure = Programs !!!
- ハッシュは、既存のプログラムを余り変えずに導入できる。既存の検索アルゴリズムやデータ構造を変えられない時に導入するのが主。時間(速度)と空間(ハッシュ個数、メモリ量)のトレードオフあり。ハッシュ個数でこれを調節可能。
疑問
- makeは文章の整形などにも使える…?
- 乱数発生用ライブラリ : 自分は0と1が交互に出現することを再現できなかった。
- ここでの説明のHashと、自分がイメージしているHashが違った。というか、hash mapをhashと思っていた。C++だとunordered_mapだが、あれどうやって実装しているんだろう。hashの閾値分のindexをもつ配列を予め確保しているんだろうか…効率…。
- C++のstd::mapは二分木らしい。今度手で書いてみようか。
コメント
- 今日も眠い。前日すぐ寝たのに。ずっと眠い。
- PCを閉じていると作業が進む。やはりPCは害悪。
- 今日は沢山本を読めた。よかった。自分が長年疑問だったことの答えがあったからかもしれない。
- この後にリファクタリング読んで、Effective C++を読み直して…とモチベーションが上がった(これは久しぶりのこと)。
- 研究を行う。研究室に所属した当初は、「プログラムバリバリ書くぞ(テーマが数値計算使う)」という感じだったのに、今では急いでいるからなるべく既存ので済まそう…というレベルに低下
- 研究があまり上手く行っていない。正統的な発想を誰も試していないというのは、そこに泥沼があるからなのか。
- “100 Power Tips For FPGA Designers"という本が気になっている。FPGAは和書が極端に少ない。きっと電気系エンジニアぐらいしか触らず、そういう人達は英語文献を読んじゃうし、訳してもニッチだから利益が少ないのだと想像。
- FPGAで例えば配列の平均を取るとして、どういうアルゴリズムがよいか?これだけでも結構考えてしまう。アルゴリズム実装集みたいな本が欲しい。
- 凄いと思ったニュース ソニー、1,000fpsで対象物をセンシングできる超高速センサー - PC Watch
(?)
- A + D = Pを初めて知った。特にAlgorithmに気をつけよう…。
- コーディングを通じてだとよく知識を吸収できるのは、人に何かを説明するのとかなり似ている (自分の言いたい / 書きたい範囲で、必要性が及ぶ知識を総動員する。実現のために自身の知識の参照領域を制限できない。)