2009-01-01から1年間の記事一覧

GAE/J+AspectJ

先日、下記の書籍を買ってGAE/Jを始めてみました。Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)作者: (株)グルージェント出版社/メーカー: 技術評論社発売日: 200…

iostat

I/Oを測定する為のお馴染みのコマンドですが、使い方をなかなか覚えられないのでメモ。大きく、CPU、デバイスI/Oのおのおのの使用率を計測するすることができます。 CPUの使用率の計測 「-c」でCPUの使用率をレポート。 The report consists of a CPU header…

arel

rails's arel at master - GitHub Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be a framework framework; that is, you can build you…

初めてのアジャイル開発

2部構成になっており、前半はアジャイル開発の基本的な考え方、後半はスクラム・XP・UP・Evoの各開発スタイルについて記述されています。アジャイル開発というと、契約が分割されてないと無理、とか、顧客が付きっきりで開発に参加してもうらうのは無理、と…

プロダクティブ・プログラマ

SIの仕事をしていく中で、歳を重ねる毎に様々なことを経験していきます。反面、プログラムをジックリ書くというのが年々難しくなってきていると感じてます(プログラマとしては、もう定年を過ぎているので:-))。だからこそ生産性には拘らなければなりません。…

jGrowl

jGrowlは、Mac OS XのGrowlをモチーフとしたメッセージを表示してくれるjQueryのプラグインです。 jQuery自体のバージョンは、1.3以上が推奨されてます。今回はrailsのflash内のメッセージをjGrowlで表示させてみます。1. ファイルを配置します。 $RAILS_ROO…

トラベラーズノート ペンホルダー

モレスキンを持ち歩くようになって2ヵ月位経ち、大分馴染んできた感があります。ただ、ペンをどう一緒に持ち歩くかだけがシックリこないので、以前MOLESKINEのエントリのコメントで教えてもらった、ペンホルダーを買いました。今回買ったのはトラベラーズノ…

リーンソフトウエア開発〜アジャイル開発を実践する22の方法〜

近所の図書館にあったので読んでみました。アジャイル系の開発プロセスを解説した本よりも一段上から、ソフトウェアの品質やプロセスについて記載されています。トヨタの話も出てきますが、トヨタ式が素晴らしいとかそういう話ではなく、製造と開発の違いも…

ソフトウェア開発プロジェクトのリスク管理

『熊とワルツを』が面白かったので、もうちょっと専門的な書籍にチャレンジしてみることに。ソフトウェア開発プロジェクトの、ということで踏み込んだ内容を期待したのですが、別の分野でもそのまま当てはまるような一般的な内容でした。ただ、リスク特定の…

熊とワルツを

前に読んでいた本の中で『ピープルウェア』について記述があって、確か会社にあったなぁと思って探すものの見つからず、手近にあった本書を読んでみました。 目の前にある証拠をもとに、そのスケジュールが可能だと信じる権利があったのか リスクのないプロ…

adduser

adduserで--systemと指定すると、systemユーザを作ることができる。systemユーザっていうスキームがあるんですね。付与されるUIDの範囲以外に何か違うんだろうか。 adduser will choose the first available UID from the range specified for system users …

ソフトウエア開発 55の真実と10のウソ

以前『ソフトウエア開発プロフェッショナル』を読んだ際に、amazonでレコメンドされていて、レビューの内容が良かったので読んでみました。「55の真実」としつつも、その内容には否定的な表現が多く、改善方法等について明確に記載されているケースがあまり…

HikiDocで1行でも段落とする

HikiDocでは、改行だけの行か、他の要素(ヘッダーやリスト等)が見つかるところまでを段落としています。例えば、"ふー\nばー\nほげ\n"だと1段落になります。 今回、これを3段落にしたい、つまり改行があったらそこまでを段落としたい、ということになり、Hik…

Java言語で学ぶデザインパターン入門【マルチスレッド編】

以前、仕事でマルチスレッドで動くアプリケーションを開発していたのですが、同期化の部分が思っていた以上に難しく、改めて勉強しなおせねば、と思っていました。特に困難なのは、どういう構造で同期を取るのが良いかを決めること。同期を取る部分はもちろ…

pluginのinit.rbでメソッドを再定義できない理由

「日付コントロールを変える」の最後で、プラグインの読み込みをconfig/environment.rbに記述しました。 require 'yads'その後調べてみたら、vendor/plugin/(プラグイン名)/init.rbで上記コードを記述すれば良いことが分かりました。各プラグインのinit.rbは…

Dependenciesのログ

クラスやモジュールが定義されるタイミングを知りたくてコードを追っていたところ、Rails2.3.2のCHANGELOGに以下のような記述があることに気がつきました。 * Add debugging logging to Dependencies. Currently can be enabled with Dependencies.log_activ…

ピアレビュー

レビューの時間を有効活用したい、という動機から読んでみました。というのも、レビューの時間はなかなか効果的に時間を使えていないと感じるからです。正しいレビューの仕方を知ることがその一番の近道だと考えたのですが、読み進めていくうちに、レビュー…

日付コントロールを変える

前回、「scaffoldした際に、引数で指定される各フィールドの型によって自動的に決まるwebのコントロールを、自分の都合の良いように変えてみたい」と思い、scaffoldのコードを見てみました。その後よく考えてみると、field_typeによってコントロールを表示す…

scaffoldのコードを読む(その1)

scaffoldした際に、引数で指定される各フィールドの型によって自動的に決まるwebのコントロールを、自分の都合の良いように変えてみたいと思います。その為に、scaffoldに関連するコードを読んでみます。前回railsからコピーしてきたtemplateから、view_edit…

scaffoldのviewのテンプレートをカスタマイズする

昨日の『ソフトウエア開発プロフェッショナル』を読んだ後、エンジニアリングを軽視してはいけないと思いました。本書中にあった簡単に石を運ぶような仕組みというのは、事前準備の賜物でしょう。ということで、railsのscaffoldをカスタマイズしてみることに…

正直、あまりタイトルには惹かれなかったのですが、思ったよりも面白かったです。ソフトウエア開発についての本なのですが、技よりも工程や品質にフォーカスしており、十分な品質を持つソフトウエア開発を行う為のエンジニアリング、さらにプロセスや組織だ…

Ruby1.8.7+Rails2.1.1→Ruby1.9.1+Rails2.3.2(その2)

昨日の続きを。7. incompatible character encodings: ASCII-8BIT and UTF-8 ASCII-8BIT外の文字を使っているソースの先頭に「#coding: utf-8」をつけた patchをあててみた で展開される文字がASCII-8BITの外だと「incompatible character encodings: ASCII-…

Ruby1.8.7+Rails2.1.1→Ruby1.9.1+Rails2.3.2(その1)

これまで作ってきたものを、Ruby1.8.7+Rails2.1.1の環境からRuby1.9.1+Rails2.3.2に移行してみたいと思います。1. rake rails:update:configsで失敗 masayuki@ubuntu-vm:~/work/rails/shrimp$ rake rails:update:configs (in /home/masayuki/work/rails/shri…

VMware PlayerとUbuntu 8.04 LTS

これまでずっとcoLinuxで開発をしてきました。が、ゲストOSとして使用してきたUbuntu7系のサポートが終わり、また容量もかなりギリギリになってきたので、この機会にUbuntu8に乗り換えようとcoLinuxのサイトに行ってみたところ、ダウンロードページが表示で…

WEBrickの停止をフックする

前回プロファイリングの話で、当初はプロファイリングの終了をサーバの停止のタイミングで行いたいと考えていました。(結局その必要は無かったのですが)その際に調べてみると、WEBrickはStopCallbackというコールバックを登録しておくことで、サーバ終了時に…

perftools.rb

前回、ruby-profを使ってみたのですが、今回はperftools.rbというプロファイラを使ってみました。もともと、google-perftoolsというプロファイリングツールがあり、それをRubyで使用できるようにしたのがperftools.rb。現在はCpuProfilerのみですが、TODOに…

あるモードでのみ適用されるフィルタを定義する

productionモードの時だけ実行されるフィルタが必要になり、いつどこで定義するのが良いか調べてみましました。githubを見て回ったところ、RAILS_ROOT/config/environments/production.rbで、config.after_initializeの中で定義すれば良いみたい。下記のコー…

cap deployでrestart application

capistranoでdeployするところまではできていたものの、アプリケーションの再読み込みについて調べるのが面倒で、ついついapacheをrestartしてました。 mephistoもpassengerで動かしているので、apacheを再起動せずに何とかならないものかと、調べてみました…

MOLESKINE

半年程前からメモ帳を持ち歩くようになりました。当初は、ちょっと空いた時間に何か考えたことを書き留める、というつもりでしたが、最近ではすっかり生活の中に溶け込んでます。まず、会社に行く前にコーヒーショップに立ち寄り、10分程度、その日の仕事、…

ruby-prof

railsアプリのレスポンスがたまに物凄く悪くなることがあり、ruby-profを試してみました。 ruby-profのバージョンは現在0.7.3なのですが、railsアプリをプロファイルする際に、従来のproductionモードで実行した結果をログに出すアプローチから、プロファイ…