2012-01-01から1年間の記事一覧
2012 年に読んだ本の中で、良かった本をここに記録しておく。 技術書編と非技術書編に分けて、それぞれのベスト 10 。2012 年に発売されたものではなく、あくまで 2012 年に自分が読んだもの。ではまず技術書編から。
ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/07/27メディア: 単行本購入: 35人 クリック: 450回この商品を含むブログ (145件) を見るふと軽い気持…
天地明察(上) (角川文庫)作者: 冲方丁出版社/メーカー: 角川書店(角川グループパブリッシング)発売日: 2012/05/18メディア: 文庫購入: 3人 クリック: 37回この商品を含むブログ (98件) を見る 暦は天意とされる時代に、算術を持って天を解明し、改暦に挑んだ…
Gene Mapper -core- (ジーン・マッパー コア)作者: Fujii Taiyo出版社/メーカー: Taiyo Lab発売日: 2012/07/12メディア: Kindle版購入: 7人 クリック: 58回この商品を含むブログ (15件) を見るKindle Paperwhite で最初に読んだ書籍が本書で良かった。 なに…
Kindle Paperwhite出版社/メーカー: Amazon.co.jp発売日: 2012/11/19メディア: エレクトロニクス購入: 79人 クリック: 11,101回この商品を含むブログ (200件) を見る Kindle Paperwhite が届いたので早速レビュー。 買ったのは Kindle Paperwhite (以下 Kind…
コンパイルの処理は大きく分けて下記の処理にわけられる。 プリプロセス コンパイル アセンブル リンク この記事では、C言語の Hello World を過程毎に追い、プログラムが出来上がるまでの流れを追う。
楽園の泉 (ハヤカワ文庫SF)作者: アーサー・C.クラーク,Arthur C. Clarke,山高昭出版社/メーカー: 早川書房発売日: 2006/01メディア: 文庫購入: 3人 クリック: 63回この商品を含むブログ (93件) を見るかくも美しきかな、軌道エレベーター。 アイディアは昔…
仕事で、Ubuntu 上のみで稼働する Java 製のプログラムを Windows で動くよう対応したので、対応するのに必要だった点を記録しておく。
プログラミング作法作者: ブライアンカーニハン,ロブパイク,Brian Kernighan,Rob Pike,福崎俊博出版社/メーカー: アスキー発売日: 2000/11メディア: 単行本購入: 58人 クリック: 1,137回この商品を含むブログ (201件) を見る今までたくさんの技術書を読んで…
Apache Solr 4.0 がリリースされた。 本記事では Solr 4.0 の新機能や改善された点のうち気になるものを紹介する。 概要 Solr 4.0 では、下記の変更が入る。 83 個の新機能 13 個の最適化 121 個のバグ改修 Solr 4.0 はメジャーバージョンアップにふさわしい…
1Q84 BOOK 1作者: 村上春樹出版社/メーカー: 新潮社発売日: 2009/05/29メディア: 単行本購入: 45人 クリック: 1,399回この商品を含むブログ (1308件) を見る ノーベル賞を取り逃がしたというニュースで思い出したので。 本書 1Q84 は村上春樹による長編大作…
なぜ C++ のコンパイルは遅いのか。 理由1 バイトコードみたいな高級なもん出力してんじゃねーんだ!こっちは機械語出力してんだよ! なんでもVMまかせのてめーらとは違うんだよ! 理由2 構文が他の言語みたいに単純じゃねーんだよ!特にテンプレートがやべ…
デストラクタが無いと、真のオブジェクト指向でコードを書くことはできない。 これが理解出来てない人が割と多いようなので、ここに記録しておくことにする。 前提知識 デストラクタとは、オブジェクトを破棄する際に呼び出される関数 Java のファイナライザ…
Java で Hello world を書くとこうなる。 \u0070\u0075\u0062\u006C\u0069\u0063\u0020\u0020\u0020 \u0063\u006C\u0061\u0073\u0073\u0020\u0020\u0020\u0020 \u0053\u0061\u006D\u0070\u006C\u0065\u0020\u0020\u0020 \u0020\u007B\u0070\u0075\u0062\u006…
通常、なんの考えも無しにプログラムがファイルに書きこみを行った後、運悪くシステムがクラッシュするとファイルが失われる可能性がある。通常のファイル書き込みはファイルに書き込んでいるように見えて実はバッファがメモリ上に蓄えているだけだからだ。…
老ヴォールの惑星 (次世代型作家のリアル・フィクション ハヤカワ文庫 JA (809))作者: 小川一水出版社/メーカー: 早川書房発売日: 2005/08/09メディア: 文庫購入: 16人 クリック: 121回この商品を含むブログ (288件) を見るこれまた素晴らしい本に出会ってし…
素数夜曲: 女王陛下のLISP作者: 吉田武出版社/メーカー: 東海大学出版会発売日: 2012/06/26メディア: 単行本購入: 6人 クリック: 266回この商品を含むブログ (10件) を見るこれはこれは、またしてもとんでもない良書に出会ってしまったものだ。
「文字列をロックオブジェクトとして利用したい」場合がある。 例えば渡されたファイルに処理をするメソッドで、ファイルごとに排他処理をしたいとする。しかしファイルをそのままロックオブジェクトとして使ってはいけないのは明らかだ。File インスタンス…
概要 MySQL の関数は自前で定義出来る。この記事では、MySQL からシェルコマンドを叩けるようにする関数を作成する。関数を自前で定義する方法は、MySQL が用意している UDF(ユーザー定義関数、User Defined Function) の仕組みを使って行う。UDF は C や C+…
サロゲートペアを知らない人は、その挙動に戸惑うだろう。直感に反する挙動をするからだ。次の Java コードを実行すると何が表示されるだろうか。 String val = "𠮷"; System.out.println(val.length()); val は見た目上は一文字なので 1 と表示することを期…
この記事は古くなりました。新しい知見は下記を参照。aoking.hatenablog.jp 概要 全文検索エンジン Solr を使用していて、パフォーマンスチューニングに四苦八苦した話。 ここでは、検索時ではなくドキュメントの追加時についてのチューニングについて記して…
マルチスレッドプログラミングでは、ロックの獲得が出来ずに待ち時間が発生し、パフォーマンス劣化の原因となることがしばしばある。そのような場合、まずは下記二点の検討を行う。 ロックの粒度を下げる そもそもロックしないようなアルゴリズムに変える も…
マルチスレッドプログラミングは直感とかなり異なる挙動をすることが多く、非常に困難なプログラミングであることが知られている。不具合も発見しにくく、高負荷になった時にのみ再現したり極めて稀な状態になった時にのみ再現したり等、解決が困難なだけで…
2^32 は何バイト? 4GB = 4096MB = 4194304KB = 4294967296B 2^64 は何バイト? 16EB = 16384PB = 16777216TB = 17179869184GB = 17592186044416MB = 18014398509481984KB = 18446744073709552000B 2^32 秒は何年? 136年70日6時間28分16秒→ signed なのでこ…
jstack というツールがある。このツールは、現在実行中の Java プロセスのスレッドの状態を取得出来るツールだ。思ったように性能が出ない時やデッドロックっぽい現象が発生した際はこのツールを使ってスレッドの状態を取得、つまりスレッドダンプを得て、そ…
良いコードを書くために心がけることを箇条書き。 Close 処理を finally で行う ダメな例 InputStreamReader reader = new HogeInputStreamReader(...); doSomething(reader); reader.close(); doSomething(reader); で Exception が発生した場合に close さ…
バカだけどプログラマになった身としては、そんなことは無いと思う。 60%の人間はプログラミングの素質がない http://cpplover.blogspot.jp/2012/05/60.html もちろん、誰でも努力すれば複雑に絡み合うマルチスレッドのプログラムを組めるとは思わないし、OS…
キーボードの回のエントリに続き、マウスネタ。マウスは自宅でも会社でも Logicool M950 を使用している。 LOGICOOL ワイヤレスマウス パフォーマンスマウス 高速スクロール対応ホイール搭載 M950出版社/メーカー: ロジクール発売日: 2009/11/06メディア: Pe…
悩んだので。 何もしなくてもファイルにリダイレクトすればタブ区切りになる。例えば $ mysql -uroot -psecret -e "SHOW STATUS"と打つと下記のように表整形された結果が出力される。 +------------------------------------------+-------------+ | Variabl…
例えば hogehogeServer という名前のプロセスのIDを取得したい時、今まではこんな感じでやっていた。 $ ps ax | grep hogehogeServe[r] | awk '{print $1}' 1234が、どうやら pgrep で一発でできるらしい。 $ pgrep -f hogehogeServer 1234パイプは便利だけ…