タグ

ブックマーク / kuenishi.hatenadiary.jp (6)

  • あなたの知らない time(1) の世界 - kuenishi's blog

    自分が書いたプログラムのメモリ使用量を測定したいことがある。プログラムがOOM Killerによってお亡くなりになった場合や、ページフォルトをなくして高速化したい場合などだ。定常的に起動するサーバーのプログラムなら、sarや meminfo など(今なら Datadog とかだろうか)を使ってじーっと見つめるわけだ。もっとモダンにやるなら perf や DTrace を使ってもよいかもしれない。しかしこれらのツールは基的にプロセスIDを渡してサンプリングして外から覗く方法だ。 わたしのユースケースはデーモンプロセスではなく、 main から入って必要な計算をして、それが終わったら main を抜けるバッチジョブ(単にコンソールから実行して終わるまで待つ、いわゆる "Hello world!" 的なやつ)だ。これだと、プログラムが起動して終わるまでそこそこの時間で終わってしまって、外部プロ

    あなたの知らない time(1) の世界 - kuenishi's blog
  • GPG鍵を作って運用し、Git(hub)やMercurialで自分が書いたコードに署名をする - kuenishi's blog

    自分が書いたコードに署名をしておくことはプログラマの常識であり基動作です(かくいう私もメールは署名してないけど…)。なので私も一人前のプログラマになるべく、自分が書いたコードに署名をするようにしてみた。 GPG 鍵を作ったり準備したり GnuPGのインストール@MacOS $ sudo port install gnupg 鍵をつくります。有効期限は2年間。もし秘密鍵が漏れた場合でも、2年経てばほとぼりが冷める。 $ gpg --gen-key gpg (GnuPG) 1.4.20; Copyright (C) 2015 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent p

    GPG鍵を作って運用し、Git(hub)やMercurialで自分が書いたコードに署名をする - kuenishi's blog
  • Google Megastore - kuenishi's blog

    Google Megastoreについて今更ながら調べたよ SIGMOD 2008 (6/10-12)で発表された MegastoreはBigTableの上位に乗せられたトランザクションマネージャ(のようなもの"a transactional indexed record manager built on top of BigTable")。Google AppEngineのバックエンドで用いられているという噂もある(BigTableは1 rowのトランザクションしか実現していないはずなのに、GAEでは複数行のトランザクションがサポートされているため)。 概要 複数レコードで構成されたひとまとまりの"entity group"の中では、トランザクションが可能。entity groupはキー値のprefixを共有。entity groupは階層化されたentityの集合である。entity

    Google Megastore - kuenishi's blog
  • 新卒準備カレンダー2011 - kuenishi's blog

    この記事は、新卒準備カレンダー2011に参加しています。 お前、誰よ? 研究者と開発者の間、29歳、4年目、わりと大きな会社でこっそり働いています。仕事ではLinuxやC/C++をつかってサーバーを作ったりしています。 もともとプログラムを書きたくて、でもいわゆるプログラマーという仕事に就いたところで、プログラムを書くことはできるけど、自分の望んだプログラムを書けるかというとそーでもない、という獏とした知識から今の会社をなんとなく選びました。 趣味では、ErlangやOCamlを使ってオモチャを作っています。最近PSPでタクティクス・オウガをずーっとやっています。 いちねんめ もともとはニートとか高等遊民になりたかったのですが、残念ながら庶民の家に産まれてしまったので、大学院を出る頃には親元を離れて自分でメシって暮らしていかなければなりませんでした。仕方がないので、(肉体的な意味で)なる

    新卒準備カレンダー2011 - kuenishi's blog
  • V先生のGTD/RTM講座入門編イントロダクションの心構えまとめ - kuenishi's blog

    写真と文は関係ありません(Photo taken by id:Voluntas)。 …の前に、僕の問題まとめ もともとGTDに関心がないわけじゃない。2006年にRTMのアカウントをとっていた(形跡があった)し、新卒で就職してからはタスクの取りこぼしに気で悩んだ時期もあった。「ホントにどうにもならないなら病院とか行ってみたら」などと言われたりした。持ち前の内弁慶から当然行かなかったけど。 Rhodiaのちっさなメモ帳とか、B5ノートとかいろいろ試してみたけど結局失敗したのですよ。ChangeLogだって試してみた。それでも取りこぼしは発生した。よくない。いろいろな方法を試してそれでも失敗してきたのは、気持ちの問題が一番大きい。「ツールの力なぞ借りなくても自己管理くらいは自分でできらぁ」「嫌な仕事はさっさと忘れたいから管理しない」など。 原因はいくつかある。 短時間で実現可能な粒度にまで

    V先生のGTD/RTM講座入門編イントロダクションの心構えまとめ - kuenishi's blog
  • Hgに慣れてしまった人のためのGitメモ - kuenishi's blog

    的な開発スタイルはHgでもGitでもそう変わらないと思うので、考え方を完全に持ち込む、というかHgに慣れたんだけどみんなGitHubにいるからGitも使わざるを得ないとかそういう人(というか私)のための備忘録として。単にどのVCSがどう違うかは大体知っているんだけど、いざやってみようとするとコケまくる人たちのために。。。 ソースはgittutorial(7)。 結論からいうとこの表を書きたかった。 やりたいこと mercurial git レポジトリ作成 hg init (みんなでさわる場合)git init --bare --shared レポジトリクローン hg clone git clone 変更内容のコミット hg ci git commit -a *1 変更状態 hg diff git diff revert hg revert -all . git reset --hard

    Hgに慣れてしまった人のためのGitメモ - kuenishi's blog
  • 1