タグ

2014年9月24日のブックマーク (3件)

  • なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記

    新人エンジニアとの読書会でシグナルの話が出た時に色々知識が曖昧なことに気づいたので読んだ。(Spyglass についてはまだ触っていない) 社内の別の読書会にこれの原著を読むものがあったんだけど、 当時 Ruby や UNIX について知識がなさ過ぎたり英語読むのに少しつらみがあったり そもそも途中から参加していなかった。覚えていたのはゾンビプロセスの語感と内容が重要そうだったってことくらい。 今回は英語学習より内容の速習を求めたので、翻訳版を読むことにした。 以下は読書感想文です。 プロセス、カーネル、システムコール このはプロセスとそれを取り巻く技術についてそれぞれかなり基礎的なことから書かれており、UNIX について然程知識がなくとも問題なく理解し読み進められる。 自身ではプロセスは親子関係やPIDについて知っている程度で、5章のファイルディスクリプタや 10章の終了コード、11章

    なるほどUnixプロセス Rubyで学ぶUnixの基礎 を読んだ - ravelll の日記
    hiboma
    hiboma 2014/09/24
    勉強会よろ
  • PHP 2つの文字列の距離を調べるレーベンシュタイン距離 levenshtein()

    2つの文字列がどの程度異なっているかを調べる方法としてレーベンシュタイン距離があります。 これは、文字の挿入や削除、置換によって、ある文字列を別の文字列に変形するのに必要な手順の最小回数です。 hogeとhogeはまったく同じなのでレーベンシュタイン距離は0です。 hogeとhoge2は1文字増えてるのでレーベンシュタイン距離は1です。 3hogeとhogeは1文字増えてるのでレーベンシュタイン距離は1です。 PHPには、このレーベンシュタイン距離を計算するための関数 levenshtein()が用意されています。 サンプルコード <?php function test_levenshtein($str1, $str2) { $r = levenshtein($str1, $str2); echo "[$str1] [$str2] = $r\n"; } test_levenshtein("

    hiboma
    hiboma 2014/09/24
    こんなのも実装されているのか ...
  • netfilterチューニング

    gistfile1.txt �~� mU П��mU ip_conntrack: table full, dropping packet. この一行のログに悩まされた方は多いのではないでしょうか。 自分もその一人です。 多くのブログには echo '500000' > /proc/sys/net/ipv4/netfilter/ip_conntrack_max で解決。みたいなことが書いてあると思います。 では、この数字について根拠はなんでしょうか。そもそも何のためにconntrack tableというものがあるのか考えたことはありますか? 闇雲に最大値をあげることにたいして抵抗がある方もいると思います。 このテキストは、転職後2日目にGWとして使っているLinux NAT BOXが爆発したことを起因とした、netfilterのチューニングについてまとめようと思います。 ある程度前提の知識が

    netfilterチューニング