タグ

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

  • PostgreSQL の PITR(ポイントインタイムリカバリ) を試してみる - higepon blog

    PostgreSQL の PITR(ポイントインタイムリカバリ) を試してみる。 大まかな流れ 事前設定 WAL archive 設定 ベースバックアップの作成 事件発生! リカバリ WAL archive の設定 通常の WAL は不要になったら(commit/abort 時に)消えてしまうのだが、PITR のために archive directory にためるような設定にする。 通常は耐障害性を考えて、archive ディレクトリは data ディレクトリと別のディスクにすべき。 ディレクトリを作り % mkdir archive dbdata/postgresql.conf に archive directory 指定。 ファイルが決して上書きされないように test でチェックしてから archive するように書く。(マニュアル通り) archive_mode = on arch

    PostgreSQL の PITR(ポイントインタイムリカバリ) を試してみる - higepon blog
  • 初めての Git と github 入門 - ひげぽん OSとか作っちゃうかMona-

    Git % ./configure --without-tcltk % make % sudo make install % git config --global user.email higepon@xxxx.com 初期設定 % mkdir spon % git init % git add ./tools.mosh.sls % git commit -m 'first commit' % git remote add origin git@github.com:higepon/spon.git % git push origin master 変更と反映 # ファイルを変更して % git commit -a % git push origin master 共同編集 githubプロジェクトの編集で Collaborator にメンバー追加すると共同編集できる。 higepo

    初めての Git と github 入門 - ひげぽん OSとか作っちゃうかMona-
  • outputz.el の設定 - ひげぽん OSとか作っちゃうかMona-

    id:antipop さんの outputz.el 。id:hayamiz さんの設定例を参考に以下のように設定してみました。 Outputz のグラフではホスト名が先頭に来るので、メジャーモード(C++なのかSchemeなのか)がそこに来るように変更しました。 ;; Outputz (require 'outputz) (setq outputz-key "xxxxxxxxxxxx") (setq outputz-uri "http://www.monaos.org/outputz/") (global-outputz-mode t) ;; Hey, Scheme! (add-to-list 'outputz-modes 'scheme-mode) (defun outputz-percent-encode (str &optional coding-system) (if (or (n

    outputz.el の設定 - ひげぽん OSとか作っちゃうかMona-
  • オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-

    オンラインで授業を公開している大学とその講義の一覧のまとめです。 もし他にもご存知の方がいらっしゃれば、コメントやトラックバックなどで教えていただけるとうれしいです。 まとめ 英語ができるならば MIT 最強。国内は東大が比較的がんばっています。 (追記)国内ではWIDEのSOIががんばっているとのご指摘をいただきました。確かに素晴らしい講義がたくさんです。(表に追加しました) 講義はすぐそこに開かれているので、あとは「勉強方法」に従い講義を受けるだけだと思いました。 大学名のリンク先が講義公開 URL になっています。([高等教育シリーズ] 大学で勉強する方法) 大学名 公開形式 講義の例 備考 MIT 動画、講義資料 East Asia in the World、Japan in the Age of the Samurai 1800以上の講義が公開。中国語やポルトガル語に翻訳されてい

    オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-
  • Emacs の moccur-grep-find で特定のファイルを無視したい - higepon blog

    moccur-grep や moccur-grep-find は moccur-edit と組み合わせると強力なので手放せず毎日使わせてもらっています。 ただしちょっと不満があって moccur-grep-find では .svn やら TAGS などが検索に引っかかってしまうのが少し不便に感じていました。 実は M-x moccur-grep-find して hoge \.scm$ みたいに拡張子を指定すれば引っかからなくなるのでそこまで困っていなかったので放置していました。 今回 id:tonextone さんに *moccur-buffer-name-exclusion-list* で特定のファイルを無視できないんだろうか?と 質問されたのでまじめに調べてみました。 毎日使っている道具なので快適になるなら取り組む価値はありますよね。 結論から言うと *moccur-buffer-na

    Emacs の moccur-grep-find で特定のファイルを無視したい - higepon blog
    ftnk
    ftnk 2008/07/22
  • YAPC 1日目 - higepon blog

    良い天気だしキャンパスが気持ちよい。 miyagawa さんの英語が流暢。 Larry Wall ktkr お茶目だな。 Continuous Testing Test::Continuous ソースが変更されたら自動テスト ポップアップで知らせる これいいね。 Log::Dispatch らしい Log::Dispath::MacGrowl すべてのテストを実行するのは重いよね .pm -> .t の依存関係 すべての依存関係を検知するのはむり(yamlとか) Perl as a Second Language by 弾さん なぜ外国語を学ぶべきか? 何かやるには1つ以上の方法がある 言語毎にどんなことにより注意を払っているか?の違いがある 英語・日語・中国語における「いとこ」の例 Perl と他の言語が似ている例 print "Hello, World!"; # python, ru

    YAPC 1日目 - higepon blog
  • YAPC 2日目 - higepon blog

    今日も良い天気! memcached in mixi by kazeburoさん 自分も使ったことがあるので mixi のような大規模使用例の話は楽しみ。 すみません。以下にはいくつかメモ漏れがあります。 memcached って何? さまざまな言語でクライアント API memached の「分散」 クライアントに実装された分散アルゴリズムで分散 get / get_multi get_multi は非常に高速 delete 上書き禁止の秒数指定できる→知らなかった mixi での利用事例 Pentium4 / Pentium D memory 4GB Linux 2.6.x x86_64 ちょっと古めのマシン 専用マシン 100台以上 1台につき 3GB の容量で起動 cache Hit率 94%(安定している値) メモリ使用量 88%(安定している値) memcached のレポート

    YAPC 2日目 - higepon blog
  • 小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-

    id:koguro:20080309:1205012807 で公開されている小黒さんの glint を試してみました。 昨日の Gauche.night で発表されていたのものですがこれを待っていました!。 こんな便利なものを作ってくれ小黒さんに感謝。 何ができるか? glint は Gauche 用に書いたソースコードの syntax チェックをしてくれます。 これと Emacs の flymake (Emacs22 からは標準で付属)を組み合わせるとソースの編集中に syntax エラーが分かります。 インストール Gauche 0.8.13 をあらかじめインストールしておいてください。他のバージョンでは動作しない可能性があるので注意してください。 wget http://homepage.mac.com/naoki.koguro/prog/codecheck/codecheck-0.

    小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-
  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
  • デブサミ - higepon blog

    Joel氏 はさすがにプレゼン上手い。著書の口調そのままな感じ。 通訳の女性が予想以上にしっかりと言葉を選んで通訳していて分かりやすかった。 何となくメモ MS プレゼンツのセミナーなのに MS とか Windows を冗談でけなしまくってた ユーザーは自分が外界のコントロールをできないとストレスがたまる 主導権をユーザーに与えよう ユーザーに主導権を与える UI の例としてAmazon のショッピングカートが挙げられていた。届け先の変更も支払い方法の変更もユーザーが自分の思う順番で可能。 1秒後のフィードバックは遅い、0秒が良い Linux(Unix) も皮肉ってコンソールに Panix と書いてあった(まちがいだった。当は→PANIX - Wikipedia) 建築に無駄な装飾をとりのぞくモダンアーキテクチャという流派があるが、ソフトウェアはまだその段階に達していない。ユーザーは装飾

    デブサミ - higepon blog
  • ひげぽん OSとか作っちゃうかMona- - Subversionの話

    Subversion を使うようになって数年が経ちますが、最近 svn diff/status/log/merge などのコマンドに熟達してきた。 気軽に ブランチを作る マージする コードを元のバージョンに戻す 問題となるコードを diff で調べる などができるようになって、作業効率が上がったり、こまめにコミットさえしておけば、あとからどうにでもなるので精神的にもかなり楽になった。 この「気軽に」ってのがとても重要。 以前だって、マージの概念やいつでも好きなバージョンに戻せること、diff を表示することが出来るのは知っていたし、たまに使っていたりもした。 ただ使う場合は コマンドをWebで調べる おそるおそる試してみる 失敗して check out しなおしで時間をロス などがありストレスがたまりがちで、結果的にこれら有用な機能を使うのを無意識に避けていたなと、振り返ってみると気づく

    ひげぽん OSとか作っちゃうかMona- - Subversionの話
  • Emacs で図を描く - ひげぽん OSとか作っちゃうかMona-

    libcont をデバッグ。 ノートにスタック構造の図を描いて場合分けをしてからコーディング。 未来の自分がこのコードから、描いた図を再生できる自信がないので、コードに図を残したい。 Emacsのに簡単な図を描く方法があったなと思い。読み返したら発見。 M-x edit-picture でお絵描きモードに。 picture-draw-rectangle で四角形を描いたり、picture-movement-ne で斜めの線を描いたり。 このような簡単な図でもあとから読み返したときに理解の助けになる。 0x00000000 ==> +-----------+ | | | | | | | | | | | | /+----------+ restore point ==> |-----------| / | | | | / | Cont | | |/ | | | | | | current s

    Emacs で図を描く - ひげぽん OSとか作っちゃうかMona-
    ftnk
    ftnk 2007/12/27
    edit-picture
  • Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-

    昨日、「test* に与えるテスト名の命名が面倒だ」と書いた所、naotoさんから gca.el という koguroさん作の Emacs Lisp を教えていただきました。 これは便利。 gca.el テストケース作成支援のためのツールを作りました(拙作のEmacs用のユーティリティに含めてあります gca-20060903.tar.gz)。 単体テストをきちんと書くのは面倒ですが、通常コードを書くときは、無意識のうちにgosh上で動作確認をしつつコードを書き進めているかと思います。この動作確認の結果を基に単体テストを作成してしまおうというのがこのツールです。 デモ 実際に動作しているデモムービーを見るとわかりやすいです。(GaucheFest:koguroにあります) デモムービー(mov形式) 4.8MB デモムービー(wmv形式) 2.4MB インストール gca.el の先頭に書

    Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-
  • UTF-8/UTF-16/UTF-32 を処理系の内部エンコーディングに使う場合のそれぞれのメリット - higepon blog

    ごく最近調べて実装したり、人に聞いたメモなので間違っていたらぜひ御指摘を。 UTF-8 ascii が 1byte で ascii に一致する。 これが大きい。 処理系が実装されている C のコードで、絶対に ascii だと分かっている変数にたいして、標準C関数を使いまくれるのがうれしい。 文字列リテラルも可搬性を維持したまま使える。 strcmp("hige-func", hoge) これが UTF-32 だったら、たとえ全てが ascii と分かっていても専用の関数(ブリッジ?)を作らないと行けない。 fopen とか。 あとはasciiばかりの場合には効率が良いとか。 UTF-16 2byteに収まる。 サロゲートペアの部分なんか気にしないぜと男気を見せれば、完全2byteの世界になること。 UTF-32 完全 4byte 固定なので処理がとても楽。*1 L"abあ" は、何文字?

    UTF-8/UTF-16/UTF-32 を処理系の内部エンコーディングに使う場合のそれぞれのメリット - higepon blog
  • 机の上に紙とペンを広げられるかで勝負が決まる - ひげぽん OSとか作っちゃうかMona-

    そういえば昨日の飲み会で誰かが言っていて同意したのがプログラマの机の話。 机の上に紙とペンをどれだけ広げられるかで勝負が決まる。 せまい机に押し込まれて隣の人と触れ合うほど、近かったりするともうだめ。 デュアルディスプレイで得られる効率はコーディングの効率なのだけど、机に広げたノートで得られるのは考えをまとめる効率。 脳の中に展開できない何かをノートに展開ですよ。 紙とペンとか言うと、うげー古いぜとか思うかもしれないですが僕より若い優秀なエンジニアは良く紙に何か描いているなあ。(上の世代は言うまでもない)。 今使っているノートとペンを教えてくれたのは僕よりずっと若い id:kambara氏 だし。

    机の上に紙とペンを広げられるかで勝負が決まる - ひげぽん OSとか作っちゃうかMona-
  • ひげぽん OSとか作っちゃうかMona- - エミュレータプログラマ最強説

    今日はエミュレータプログラマ最強説を唱えてみようと思います。 最強の定義としては「ひげぽんがこの人には絶対かなわないと思う」という意味です。 プログラマとして日々仕事趣味でコードを書いており、勉強も続けていますがこの人には99%勝てないという人たちが何人かいます。 勉強すれば追いつくとかそういうレベルではない人。レベルが一桁違う感じ。 そういう人達は「エミュレータプログラマ」である確率が高いというのが今日の話です。 エミュレータというのは、Windowsでプレステのソフトで遊べるぜー的なそういうソフトウェアのこと。 なぜそのような人たちがすごいと思うか?というと、自分ができることを全部あっさりとやられてしまうからです。 (もしくはやろうと思えばいつでもできる力がある。) 例えば OS書ける? →はい。書けます。自前でタスク管理やメモリ管理は当たり前。エミュレータはハードウェアやCPUをエ

    ひげぽん OSとか作っちゃうかMona- - エミュレータプログラマ最強説
    ftnk
    ftnk 2007/09/11
    [system:unfiled]
  • コーディングや設計で難所に出くわした時にすること - higepon blog

    仕事趣味でコードを書いているとき、設計をしているときに難所に出くわすことがあります。 そんなときに僕が意識的に心がけていることを紹介します。 もっと良い方法があったらぜひ教えてください。→皆様。 難所に出くわす前に「もうすぐ難所だな」と気づいているときは、すでに冷静な状態で心構えができています。 この場合はきちんと対処ができることが多いです。 何度も考えがループしていたり、難しすぎて他の事に逃避しているときは集中力がないか、難所にさしかかっているサインなので、難所の場合は以下の5つを順番に試しています。 絵を描く 人に言葉にして説明する 思考の流れをテキストにする 散歩する 次の日に持ち越す 絵を描く 設計やコーディングに関して、分かっていることを絵や図にあえて描いてみます。 分からないところは箱を描いて中に? とでも書いておけば良いです。 絵を書く過程で、自分がどこが分かっていないかが

    コーディングや設計で難所に出くわした時にすること - higepon blog
  • M-x align が便利すぎる件 - higepon blog

    まだ知らない基機能にこんな便利なものがあったとは!。 int x; int* p; char* message;M-x align 発動 int x; int* p; char* message;素晴らしい 追記 はてな社内で二人ほど、それvimでもできるよ厨が釣れました。 Align.vimで出来るらしいです。

    M-x align が便利すぎる件 - higepon blog
    ftnk
    ftnk 2007/09/11
  • Emacs Lisp auto-compile.elを公開しました - higepon blog

    自作の Emacs Lisp auto-compile.el を公開しました。 これは何か? C, C++などのコードをEmacs上で編集しているときに、ファイルを保存したタイミングで、バックグラウンドで make コマンドが自動で実行されます。 以下のようなメリットがあると思われます。 いちいち terminal で makeしなくて良いので、開発効率があがる 保存時に行われるのでコンパイルエラーが早い段階で発見でき、開発効率があがる このような感じ C-x C-s で保存すると make が自動で実行されます コンパイルが終われば OK がでます(エラーが発生すれば表示されます) インストール方法 sf.netから auto-compile.el をダウンロードしロードパスが通っている場所に置く。 .emacsに (require 'auto-compile) ;; auto-comp

  • rails.el まとめ - ひげぽん OSとか作っちゃうかMona-

    rails.vim の情報は→id:secondlife:20061222:1166781841へどうぞ。 最近お仕事で初めてRailsのコードを書いているのですが、書きはじめて1週間くらい経ってからやっと rails.el の存在に気付きました。 僕に Rails を教えてくれる、はてのくんは Vim 使いだったり、そもそも rails.el はもはや常識なので、僕が素のEmacs + ruby-mode で苦労しているのに気付かなかったという。 インストールして使ってみたらとても便利だし、開発効率があがりそうだったので備忘録がてらまとめてみました。 インストール 3つ必要です。 rails.el一式(http://rubyforge.org/projects/emacs-rails/) find-recursive.el (http://www.webweavertech.com/ov

    rails.el まとめ - ひげぽん OSとか作っちゃうかMona-