タグ

ブックマーク / hiroki.jp (5)

  • 達人プログラマーに学ぶ リファクタリング | Act as Professional

    ガーデニングのメタファーはソフトウェア開発の現実にかなり近いものです。あるルーチンが大きくなりすぎたり、色々なことを実現しようとしすぎている場合、2つに株分けする必要があるのです。また、計画通りうまくいかないものは雑草を抜いたり剪定してやらないといけないのです。 こういったコード記述のやり直し、再作業、再設計を総称して「リファクタリング」と呼びます。 リファクタリングのきっかけDRYの原則に反している直交していない設計時代遅れの知識をつかっているパフォーマンスがわるいクラス、メソッドが長い名前がしっくりこない同じようなコピペコードがいくつも見られ、UIを直すとロジックを直して、DBもなおすとか。非推奨のメソッドを使っていたり。ループ分が多いし、やってることとメソッドの名前があっていないとか。みなさんも、思い当たるようなことはありませんか? タイミングとガン細胞の切除 きっかけを見つけたら、

    達人プログラマーに学ぶ リファクタリング | Act as Professional
  • 独自に作成したyamlをsfConfig::get('hogehoge')で値を受け取る | Act as Professional

    app.ymlにこんな風に書くと、 all: config: test: hogehogeコードの中では sfConfig::get('app_config_hogehoge');という感じでとってこれる。 設定値が多いとapp.ymlに書いていると見通しが悪くなるので、独自にgame.ymlをつくって値を持つようにする。 ./config/config_handlers.yml config/game.yml: class: sfDefineEnvironmentConfigHandler param: prefix: game_./config/game.yml all: config: test: hogehoge./config/frontendConfiguration.class.php class frontendConfiguration extends sfApplic

    独自に作成したyamlをsfConfig::get('hogehoge')で値を受け取る | Act as Professional
  • LinuxサーバのLVM領域が枯渇した場合の容量増設手順 | Act as Professional

    VMware ESXiの仮想サーバがHDD容量不足になったので増やします。 ここではLVMで構築されているLinuxを前提に利用できる領域を増やします。 [root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 39486856 2709764 34738924 8% / /dev/sda1 101086 19284 76583 21% /boot tmpfs 255292 0 255292 0% /dev/shm [root@localhost ~]# fdisk -l /dev/sda Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 522

    LinuxサーバのLVM領域が枯渇した場合の容量増設手順 | Act as Professional
  • Hudsonでsymfony自動テスト環境をつくる | Act as Professional

    HudsonというJavaでつくられたCI(継続的インテグレーション)ツールを使って、symfonyの自動テストを継続的インテグレーションされる環境をつくる方法です。 継続的インテグレーションや自動テスト環境とは?XPやアジャイル開発手法でのプラクティスです。とても開発者を幸せにしてくれるものです。 プログラマーがユニットテストなどの自動テストを書く 実際の機能となるコードを書く 自分が変更した範囲のテストコードが通ることを確認する バージョン管理システムにコミットする HudsonなどのCIツールなどによって、すべての自動テストが走る。(結合テストとも呼ばれる) テスト結果にエラーがある場合、メールなどで通知されるこうすることによって、開発者は常にテストが通るソースコードを維持し続けることができます。 万が一、他の機能を壊すコードを書いてしまったりバグを埋め込んでしまえば、いつのコミット

    Hudsonでsymfony自動テスト環境をつくる | Act as Professional
  • 見落としがちなLinuxのWEBチューニング | Act as Professional

    WEBコンテンツ配信にLinuxを使うのは一般的になりましたが、CentOSやUbuntuをはじめ、大抵のディストリビューションが低スペックなマシンでも動くような初期設定になっています。 トラフィックの上限でもない CPUリソースの枯渇でもない HDDのIOが遅い問題でもない コンテンツが重くなる(接続できない)というケースで、見落としがちなLinuxのネットワーク周りのチューニングについてです。 iptables関連iptablesを使用している場合、下記のパラメータを注意して下さい。 /proc/sys/net/ipv4/ip_conntrack_maxip_conntrackに記録できる最大値です。65536あたりが初期設定になっているかと思います。これだとパケットの取りこぼしがすぐに起きてしまいます。1コネクションあたり約350バイト消費するので、実装されているメモリに応じて値を変

    見落としがちなLinuxのWEBチューニング | Act as Professional
  • 1