最近読んだ本
7月半ばから本貪ってて、今も読み続けてるし飽きるまで適宜ここに追記してく
まだ学生だし大学図書館フルに使えて便利
実践しないと意味無いのとか多いしきちんと意識したい
大体が全てを真とした知識の塊かおっさんの失敗談とか経験則だし、その辺知りつつ上手いことやりたい
技術書系
- ハッカーと画家 コンピュータ時代の創造者たち
- (読まなくて良かった)オタクすごい,Lispのマクロすごいって話
- 人月の神話【新装版】
- ドキュメント残す,報告・連絡・相談,プロジェクトのメンバー構成
- 7つの言語 7つの世界
- Prologかっこいい、ErlangのOTP興味ある、Clojureが未来っぽくてもっと学びたいすごい
- Introduction | Learn You Some Erlang for Great Good!
- 小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則
- 今年ではなく今週することを決めよう,自分が必要なものを作る,not考えようbut決断しよう,{need, must, can't, easy, just, only, fast}
- 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
- HttpOnly, not$but\z, \P{Cc}, 要素は<と&を、属性値は加えて"を最低限エスケープ, XST, urlパラメータのjs scheme, js文字列のエスケープ\'"改行, script要素内は</が現れないようにする, Unicord使う, DOM based XSS, 静的/動的プレースホルダ, mysql_server_prepare=1, useServerPrepStmts=true, /dev/urandom, セッションアダプション, url中の改行(%0D%0A), マジックバイト, レインボーテーブル, 認証と認可, 文字コード=文字集合+文字エンコーディング, Shift_JISの%81のみ, 5C問題, サロゲートペア, UTF8は重なりがない(非最短形式の問題), 尾骶骨テスト, URL埋め込みセッションIDの為のクッションページ, ウェブ健康診断
- プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
- EUC-JP(ASCII拡張, 制御文字で2byteの表現, 重なりがあって真ん中の2byte抜くと別の文字になる), ISO-2022-JP(7bit符号化方式, エスケープシーケンス使って状態切替), Shift_JIS(JIS X 0201の8bit符号化ベースに2byteのは適当な第1byteの割当を使う, 5C問題, 派生CP932etc), UTF-16(Unicord16bit単位の符号化方式, サロゲートペア, BOM), UTF-8(Unicord8bit単位の符号化方式, ほぼASCII互換, 重なりが無い), メール7bitだからISO-2022-JP, Java内部はUTF-16, java.text.CollationKey, java.text.Normalizer, 幽霊漢字, 書字方向の制御文字を用いた偽装
- ピープルウエア 第3版
- 環境、人材収集、チームの意識、チーム形成とか面白い、スパゲティディナー
- UNIXという考え方―その設計思想と哲学
- 小ささ、移植性、第三のシステム、先人の努力を活かせるプログラマってのも価値がある
- 新版暗号技術入門 秘密の国のアリス
- Team Geek ―Googleのギークたちはいかにしてチームを作るのか
- HRT文化(謙虚、尊敬、信頼)、ミッションステートメント
- レガシーコード改善ガイド (Object Oriented SELECTION)
- エリック・エヴァンスのドメイン駆動設計
- 20110409_DevLOVE「Building Blocks」_都元ダイスケさん - YouTube
- ユビキタス言語超大事、これを使ってドメインモデルに基づいた会話をする「経路選択サービスは経路仕様を満たしてくれる輸送日程を見つける」、ドメインエキスパート⇔エンジニア、レイア分けが大事なんだけど特にドメイン層ってのを意識、Entity(id)、Value Object(値)、Service(E, VOを扱うステートレスな機能)、Aggregate(エンティティの関連モデルを集約し境界を決める)、Factory(集約全体をまとめたインスタンスの生成、インスタンス生成のアクセスポイント)、Repository(Eのライフサイクル管理、集約ルートに対してのみリポジトリを提供)、7章の実例めっちゃ良い、Specification(検証・選択・要求)、リファクタリング(設計がドメインに関するチームの現在の理解を表現してない・重要な概念が設計で暗黙的になってる・設計において重要な部分をよりしなやかにする好機がある)、コンテキストマップ、上流・下流で顧客・供給者の開発チーム、アダプタとファサードによる腐敗防止層
- j5ik2o/spetstore · GitHub
- 集約ルートにのみレポジトリ提供とかコードで見てこんな感じかってなれる
- Webエンジニアのための データベース技術[実践]入門 (Software Design plus)
- InnoDB(更新情報をメモリなどに一時的に記録してあとでまとめてリーフブロックを更新する)、TimeDelayedReplication、REDOログ(LSNを用いたクラッシュリカバリ)、ダイレクトI/O(InnoDBのメモリとディスクのデータ間にキャッシュを挟まない)、スレーブにはPCI-ExpressSSD、CPU利用率(%iowait, %system, %user)、ストール(全体システムが一瞬止まる現象)、テーブル情報はfrmファイル、エラーログ・スロークエリログ・一般ログ・バイナリログ(リカバリ用, log-binの設定必要, mysqlbinlog)、コールドバックアップとオンラインバックアップ、論理バックアップ(SQL)と物理バックアップ(バイナリ)、mysqldump --master-data=2でバイナリログの位置記録、MASTER_LOG_POSの値をmysqlbinlog --positionに渡す、InnoDBのみのりようなら--single-transaction、MySQL5.5↑なら--dump-slave、バイナリログの削除はPURGE命令、my.cnfにcore-fileつけてクラッシュ時のコアファイル生成、HandlerSocket、OnlineSchemaChangeTool、UniversalScalabilityLaw
- なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会
- UNIXでは全てがファイル、pid指定してファイルディスクリプタが割り当てられる(0~3はSTDIN, STDOUT, STDERR)、環境変数は親プロセスから引き継がれる、カーネル起動時にinitプロセス(pid=1, ppid=0)、プロセスグループID=プロセスグループリーダのpid、セッショングループ(単一orパイプで繋げられた一連のコマンド)、セッションリーダへのシグナルは属する全てのプロセスグループにシグナルが転送される、setsid(セッションリーダとプロセスグループリーダにして制御端末から外す。but すでにプロセスグループリーダの場合失敗)、fork→setsid→forkでdaemon化なるほど、forkは子プロセスに親プロセスのメモリが全てコピーされる、メモリ管理のためのfork、forkはファイルディスクリプタもコピーするのでmasterプロセスへのソケットを用いてfork先と接続(preforkサーバ)
- ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
- 続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス
- インラインスクリプトはonload経由で、スタイルシート直下のインラインスクリプトは避ける、画像まとめ(写真JPEG, アニメーションGIF, その他PNG(PNG8))、リソースを別ドメインに分散、iframeは生成コスト大、iframeでsrc属性があるとonloadをブロック、CSSセレクタは右側から照会、Firebugの接続パネルはonloadとか見える(Chromeでも見えた)、Yahoo YSlow for Mobile/Bookmarklet、DOM操作を完了させてからappendする、querySelectorとかは実は高速、Linkヘッダやlinkタグによるprefetch、linkタグによるdns-prefetch、Googleの遅延実験、scriptタグのdefer/async属性
- マスタリングTCP/IP 入門編 第5版
- ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識がめっちゃ良い本で既に読んでて、それより多くの事書いてるけど今はいらないし、家に置いとく本としては良い
- スパニングツリー、ソースルーティング、PPPoE、ATM、ホスト=IPアドレスがあって経路制御を行わない、経路制御を行うのがルーター、合わせてノード、IPはコネクションレス型、PathMTU、DNSリソルバでIPアドレス取得、ARPでMACアドレス取得、MACアドレスからIPアドレス取得するにはRARPでIP固定時(プリンタetc)とかに利用、IPトンネリング、輻輳、TCP->ACKorNACK、高速再送制御かっこいい、小さなデータをたくさん送る時SCTP、経路制御にEGPとIGP、ネットワーク層のためのIPSec
- ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
- プロセス云々とかも入ってて良い本だった
- `mount`、tty=TeleTYpe、cat=conCATenate、straceによるシステムコールの確認、/usr=複数マシンで共有可能ファイル、/usr直下はディストリビューションが管理、/usr/local以下は各システムの管理者が管理、/usr/shareはアーキテクチャ非依存ファイル、/varは頻繁に置き換えられるファイル、/var/runはpid置き場、/etcは各マシン毎の設定ファイル、/devはデバイスファイル置き場、/procはプロセスファイルシステムがマウントされる、/bootにはカーネルプログラム、/rootはスーパユーザのホームディレクトリ、/tmpはリブートで消える可能性があるが/var/tmpは消えない、仮想メモリ(ページング・メモリマップトファイル・共有メモリ)、アドレス空間(テキスト領域・データ領域・ヒープ領域・スタック領域)←/proc/:pid/maps、`ps ax`でttyが?なのはデーモン、`stty -a`、ファイルパーミッションのset-uidビットを付けると常にファイルオーナー権限で実行、ソケットが切れる時もSIGPIPEが送られる、平行サーバ(親がacceptする度にfork)
- SQLアンチパターン
- エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
- 家にあればいい系のめっちゃ良いまだ読まなくていい本だった*1
それ以外
- 太陽の塔 (新潮文庫)
- 馴染みある感じ