タグ

ブックマーク / higepon.hatenablog.com (37)

  • C++の勉強ですが - higepon blog

    激しく初歩からやり直したいのでロベールさんのが良いでしょうか。 お勧めのがあったら教えてください<(_ _)>。 僕は大体レベルとしては id:higepon:20080319:1205932496 くらいで、better C として適当にC++使ってきた感じです。 勉強するなら今しかない。 とりあえず明日屋に行くこと決定。 追記 みなさんにいくつかご推薦をいただきました。ありがとうございます これから屋に行ってきます。 もしかしたらもっと初心者向けのを買うかもしれません。 JIS規格のJIS X3014 id:akinishi さん C++の設計と進化 id:SaitoAtsushiさん、id:objectxさん、id:scinfaxiさん、なつたんさん C++再考 とおるさん。これよさそう。 Effective C++ 原著第3版 id:objectxさん。id:temtan

    C++の勉強ですが - higepon blog
  • 割り込み関連のバグ - virtio - higepon blog

  • Re: 自分との協調 - higepon blog

  • マインドマップ用紙切れ - higepon blog

    マスターマインドマップの作成に使用していた用紙がなくなった。無印良品らくがき帳B4サイズ。40枚。100円ショップで購入したサインペンもメジャな色が出なくなりつつある。(赤・青・水色・茶色)。小学校の頃にも色鉛筆は必ず青や赤から無くなったのを思い出す。 らくがき帳とサインペンの相性が良くなかったので考えよう。 サインペンちょっと太すぎ らくがき帳はペンのインクがしみる あたりが反省点。

    マインドマップ用紙切れ - higepon blog
  • 今日の英語 - higepon blog

  • sdic を利用し Emacs から英辞郎の辞書を引く - higepon blog

    背景 技術書などの英文を読む場合は 英辞郎 on the Web を利用している。辞書の内容には満足で不満はない。ただオフラインで使えない事ので困っていた。 例えば、集中したいがためにわざとオフラインのカフェなどに行って作業をするときなどに困る。辞書を引いているはずが別のサイトに移動して時間が過ぎるなんてこともある。 これらの問題を回避するために Emacs から辞書を引ける sdic + 英辞郎 を利用する。 英辞郎 - 辞書変換 この作業は、ダウンロード版の英辞郎では必要ない。書籍版の英辞郎 第四版に必要な作業。 CD-ROM からインストールする インストールされた PDIC Unicode for EIJIRO IV を起動 File - 辞書設定(詳細) を開く Eijiro112.dic を選択し右クリックでメニュー - 辞書の変換 変換先の辞書を Eijiro112.txt

    sdic を利用し Emacs から英辞郎の辞書を引く - higepon blog
  • 技術書を読むときにやってはいけない、たった1つの事 - higepon blog

    当は理解できていないのに、自分をだまして分かったふりをする事。そのまま読み進め最後までたどり着き、自分はこのを読んだと勘違いしてしまう事。 分からないなら分かるまであきらめずに何度も読む。もしくは「分からなかった」と心の中に留めておく事が大事だと思う。 そのままにしておくと、読んだ時間が無駄になる。を読んで勉強したのに手応えもないし成長した気がしない。という状態になってしまう。 最近ようやくこのことに気付いた。

    技術書を読むときにやってはいけない、たった1つの事 - higepon blog
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • 作業効率の話 - higepon blog

    その瞬間に抱えているモノの種類が少なく、量が少ないほど作業効率が良い。それはミクロでもマクロでも変わらない。 細かな ToDo リストが頭にある状態で作業するよりも、紙などに ToDo リストを頭から吐き出すことで、頭が作業自体に専念できる。 広範囲な領域をまたぐ思考でも、各領域を抽象化し単純化する事で、領域の関連や相互作用に集中することができる。 言い換えるならば、気にしなければいけない事が多いと効率は落ちる。 作業を始める前にこのことを強く意識すると良いと思う。

    作業効率の話 - higepon blog
  • Emacs の Tramp こんなに便利とは - higepon blog

    Emacs の Tramp が便利。初めて使ったが衝撃だった。 出来る事は Emacs から ssh を経由してリモートのファイルを編集すること C-x C-f /ssh:taro@10.xx.xx.xx:/home/taro/mosh/lib/dbd/mysql.ss のようにファイルを開くだけ keychain を使っていればパスワードの入力も要らない C-x C-s で保存すると自動でリモート先のファイルを更新 su/sudo など。編集がローカルの自分の Emacs を利用して快適になる事が大きい。前職で知っていたら使いまくりだっただろうな。 一度ファイルを開いてしまえば、ローカルのファイルと全く変わらない操作で編集できる。 参考:Emacs x tramp でネットワーク上のファイルにアクセス - Hasta Pronto.org。

    Emacs の Tramp こんなに便利とは - higepon blog
  • マインドマップの例 - higepon blog

    id:rdera さんからリクエストを頂いたのでマインドマップの例を公開します。他の方からも見たいと言われていたのですが気恥ずかしくて断っていましたが、このようなものでも参考になるのであればと思い公開。 サイズを小さくしていますがご容赦ください。これはパタヘネの CPU パイプラインの解説をマインドマップにしたものです。今数えたら 110 枚ほどマインドマップが手元にありました。思ったよりも少ないですね。(復習するのには多いのですが)

    マインドマップの例 - higepon blog
  • ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-

    mod_uploaderの作者さんがまとめている開発Tips(http://acapulco.dyndns.org/mod_uploader/module_dev.htm)にあったデバッグ方法を試してみました。 Valgrind http://valgrind.org/ Valgrindはメモリ周りのバグや、スレッド系のバグを自動的に検出してくれるツールです。 インストールは ./configure make make install で完了です。 a.out(-gオプションでコンパイルしてください)のメモリ周りのチェックを行う場合は valgrind --leak-check=yes a.out とやると、こんな結果が出力されてメモリリークしている場所がずばり表示されます。 ==19182== 40 bytes in 1 blocks are definitely lost in los

    ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-
  • Mosh 0.0.6 とマインドマップ - higepon blog

  • 勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-

    勉強方法を勉強して分かった僕に足りなかった3つのこと。 それは 時間割 マインドマップ 復習 の3つ。 1.時間割 勉強をコンスタントに長期的に続けるならば時間割は大変有用。 時間割を作り実践してみて分かったが「次に何をやるべきか」に迷う時間は振り返ればとてももったいなかった。 時間割を作ればほぼ迷わない。迷うとすれば超イレギュラーな事が起きたときだけ。 時間も節約できるしペースもつかめる。 また時間割を家族と共有していれば「20:00になったから勉強してくる」と言うだけで理解してもらえるようになる。 ただし時間割は時が経ち「見慣れて目に入らなくなる」「実態に合わなくなる」事があるので注意が必要。 僕は毎週手書きで描き直している。 時間割の有用性についてはレバレッジ勉強法が詳しい。 2.マインドマップ 正直 マインドマップ を馬鹿にしていた。何で皆あのようなものに踊らされているのかと。それ

    勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-
  • トニー・ブザン 頭がよくなる本 - higepon blog

    トニー・ブザン 頭がよくなるを読んだ。 最近は自分の記憶力や勉強方法が全然だめだという反省から、色々とを読みまくっているのですが、mumurik さんからこのをすすめられました。 あまりにストレートなタイトルのため、恥ずかしいのでひそかにこっそりと読み進めた。 彼がすすめてくれたのだから絶対にどこかに僕の足りない何かが記されているのだろうと真剣に読み始めたのだけど、最初の数ページで「ああ。これは良いだ」とすぐに気づいた。 「授業のノートの取り方がなぜだめか?。」、「著者の提唱する方法は何が優れているか?」などが非常に説得力のある内容。(ノートは直線的だの件とか。) しばらく読み進めると「頭脳地図」なるものが登場し試しに描かされたりする。 ここで気づいたのだけどこれって「マインドマップ」だよね。というか、この人マインドマップ発明した人でした。 一過性の流行ものっぽくて(わず嫌いで)

  • パフォーマンスマネージメント - ちゃんと計画している? - higepon blog

    Java theory and practice: Performance management -- do you have a plan?の適当訳です。(一部訳を省略しています) パフォーマンスの問題は何に起因するだろうか?効率の悪いアルゴリズム、冗長な計算、非効率なデザインなどだろうか。 もっとありそうでさらにダメージが大きいのはプログラミングの間違いではなく、アプローチとマネージメントの間違いだろう。 パフォーマンス問題の原因そのものを見つけるのはとても難しい、特定してしまえば直すのは簡単である。さらに難しいのはパフォーマンスの問題のない洗練されたプログラムをデザインすることだ。 アルゴリズムの選択や、データの表現方法、計算結果の再利用の失敗などプログラミングにおける各種決断がパフォーマンス問題の原因と思われがちである。だが実はもっと深い問題を抱えていることがある。それは開発プロセ

    パフォーマンスマネージメント - ちゃんと計画している? - higepon blog
  • OSX 10.5.3 に pgrep/pkill をインストールする - higepon blog

    proctools からproctools-0.4pre1.tar.gz をダウンロードする。 % cd proctools-0.4pre1 % CFLAGS="-I /Developer/SDKs/MacOSX10.4u.sdk/usr/include/"\ LDFLAGS="-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/" \ sudo bsdmake .MAIN install 追記 naoya_tさんからの情報 CFLAGS,LDFLAGSの値がうちではsudo越しに渡らないようで $ sudo -s # CFLAGS=”-I /Developer/SDKs/MacOSX10.4u.sdk/usr/include/” ¥ LDFLAGS=”-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/” ¥ bsdmake

    OSX 10.5.3 に pgrep/pkill をインストールする - higepon blog
  • gcc の -Wall 以外の警告オプション - ひげぽん OSとか作っちゃうかMona-

    以前同僚の光成さんが、以下の warning オプションを使っていると書かれていたのが気になったので調べてみました。 -Wall -W -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wfloat-equal -Wpointer-arith もし上記以外にも良さげなオプションがありましたら教えてください<(_ _)> 情報源 man と info と http://sugarpot.sakura.ne.jp/yuno/?gcc%2Fwarning 。 最初は日語版の man だけを見ていたのですが、id:kazuhooku に info を見るべしと教わりました。 man も info もそうですが、日語版は情報が少なかったりするので注意。 LANG=C man gccなどとしましょう。 -Wforma

    gcc の -Wall 以外の警告オプション - ひげぽん OSとか作っちゃうかMona-
  • ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編 - ひげぽん OSとか作っちゃうかMona-

    前置き 自分の C++ レベルに絶望したので「ロベールのC++入門講座」を読んで再入門していく過程を日記に書いていきます。 「おまえはそんなことも知らずにコードを書いていたのか!」「それは間違い!」など叱咤激励募集中です:-) 読んでみたら、たくさんの驚きがありました。 スルーせずに読んでもらえると1つくらい役に立つことを提供できるかもしれません。 例えば5章のデフォルト引数に関数を使える例とか。 ルール 前置きはともかくはじめましょう。13:48にスタバで始めました。 読んで行くうえでいくつかルールを決めます。 知らなかったことは正直に知らなかったと書き、自分が読んで分かる説明を書く。 知識が曖昧だった所も同様に明確な説明を書く。 悩んだ内容を書く。 理解が怪しい所は必ずコードを書く。 さあ1章から読んでみよう。 1章 まずは使い方(13:50) 各 OS 毎に C++ の開発ツールを紹

  • カーソルの位置にデバッグ用のprintfを挿入 - higepon blog

    printfデバッグをする前にバグを出すな、デバッガを使え等のご意見があるかもしれませんが。。 cppのソースを編集中に、C-c dをすると printf("%s %s:%d\n", __func__, __FILE__, __LINE__); が挿入されます。 ソースを見れば分かると思いますがprintfでなくても何でもできます。 ちなみに手元ではprintfではなくTRACEマクロにしてます。 (defun my-insert-printf-debug () (interactive) (insert-string "printf(\"%s %s:%d\\n\", __func__, __FILE__, __LINE__);") (indent-according-to-mode) ) (add-hook 'c++-mode-hook (function (lambda () (def

    カーソルの位置にデバッグ用のprintfを挿入 - higepon blog