タグ

ブックマーク / mickey24.hatenablog.com (2)

  • さくらVPSにカスタムOSのUbuntu 10.04をインストール+セキュリティ設定などをした時のメモ - ぬいぐるみライフ?

    仮想サーバひとつの管理権限をまるごともらえるさくらVPSが便利そうだったので契約してみた.これならレンタルサーバでは動かせないような高負荷のサービスも運用できそうだ. デフォルトのOSはCentOS 5.5 x86_64だったけど,カスタムOSとしてUbuntu 10.04 LTS amd64が利用可能だったのでそちらに切り替えて運用している. 備忘録として,Ubuntuのインストール手順とセキュリティ設定などについてまとめておく. 構成や設定について サーバ版Ubuntu 10.04を使う sshサーバのみ立ち上がった状態にする sshサーバのポート番号を変更する (例では22から12345に変更している) sshサーバは公開鍵認証のみ許可する ufwを使ってファイヤーウォールを設定し,sshのポートのみ開く ロケールをja_JP.UTF-8にする デフォルトエディタを変更する Ubun

    さくらVPSにカスタムOSのUbuntu 10.04をインストール+セキュリティ設定などをした時のメモ - ぬいぐるみライフ?
  • Rubyで任意のメソッドをメモ化する - ぬいぐるみライフ?

    Rubyベストプラクティスの5-4より.メタプログラミングの例として面白かったのでまとめてみる. メモ化とは メモ化とは,引数に対するメソッドの戻り値を保存しておき,再び同じ引数でメソッドが呼び出された時にその値を再利用することにより,同じ計算を何度もすることを防ぐ最適化手法のひとつ.全ての引数に対しメソッドの結果が不変の場合(同じ引数で何度呼び出しても毎回同じ戻り値を返す場合),メソッドをメモ化することができる. 以下はフィボナッチ数を再帰で計算するメソッドfibの例. def fib(n) (0..1).include?(n) ? n : fib(n-2) + fib(n-1); end この実装の場合,例えばfib(n)はn = 3で5回,n = 4で9回というように,nの値が大きくなるにつれて再帰呼び出し回数がどんどん増え,実行時間が爆発的に増大してしまう.私の環境だとfib(30

    Rubyで任意のメソッドをメモ化する - ぬいぐるみライフ?
    zonoise
    zonoise 2010/09/06
  • 1