hakatter、お正月あけでみんなピンチ?

はかるだけダイエットを支援するWebサービス「hakatter」の中間報告です。お正月あけのこのタイミングでは、みなさんのややピンチな状況が見えてきました(笑)。

RoRセミナー スライド.067-002.jpg

これは、体重の記録が20日以上続いているユーザー236名を対象に、開始時と現在の体重の増減を集計したものです。ほとんどの人で体重が減っています(グラフの青い部分)。

しかし、注目すべきは体重の増減が±0kg〜+0.5kgの部分です(グラフの灰色の部分)。前回の集計と比べて飛び抜けて多くなっています。お正月の影響でしょうか(笑)。

RoRセミナー スライド.066-002.jpg

こちらは、hakatterのサービス開始時からの登録ユーザー数の推移です。1月19日現在、hakatterの登録ユーザーは657名。12月に女性向けの健康情報誌「日経ヘルス」でhakatterのことが紹介されて以来、女性ユーザーが急増しています。

メンタルヘルス、Ruby on Rails講演の発表資料

1月は人前で話をする機会が多く、先々週・先週・今週と、合計3回の講演を行いました。ダイジェストでご紹介します。

1月はプレゼンが多かった.001.jpg

↑これは1月10日に社会経済生産性本部の研究会で企業の人事担当者の方々に発表したものです。産業医としての私の経験からメンタルヘルス不調の職場復帰事例にまつわる問題と、その対応についてお話ししてきました。

1月はプレゼンが多かった.002.jpg

↑こちらは1月19日に、産業能率大学のヘルスケア研究会で「コミュニケーションと人間関係 〜問題を解決する2つの図解ツール〜」と題して発表したものです。2月に社内で行うメンタルヘルス研修でもこのテーマで話をする予定です。

1月はプレゼンが多かった.003.jpg

↑こちらは1月22日に株式会社ウェブキャリアで行われたRuby on Railsセミナーの資料です。hakatterの開発に関するアマチュアプログラマの苦労話を赤裸々にお話ししました。60〜70名の方に参加していただき、とても盛況でした。

こうした講演はすべて「Beyond Bullet Points」という参考書の方法で準備しています。印象的でわかりやすいプレゼンを誰でも行える、とてもシンプルで効果的な方法が紹介されています。残念ながら日本語の記事があまりないので、少し解説してみようかしらと思っています。

追記:ご感想をいただきました。ありがとうございます。
[Rails] Award on Rails 2007受賞者が語る
Award on Rails 2007 受賞者によるRuby on Railセミナーに参加しました

Ruby on Rails: GetTextを用いてiso-2022-jpの日本語メールを送信

Ruby on RailsではActionMailerというクラスを用いて簡単にメールを送信できます。デフォルトの文字コードはUTF-8ですが、ユーザーの環境によっては文字化けするため、標準的なiso-2022-jpを用いたいと思います。手っ取り早く日本語化するにはGetTextを使うと便利です。特に変換処理をしなくても、subjectやfrom欄なども正しくエンコードされます。

(1) GetTextのインストール

ターミナル画面で「sudo gem install gettext」コマンドを実行してGetTextをインストールします。Windows環境ではコマンドプロンプトから「gem install gettext」です。

(2) ソースの書き換え

メール送信を行うActionMailerクラスのソースファイル(例: app/model/notify_mailer.rb)を開き、次の赤文字のコードを追加します。

require ‘gettext/rails’
GetText.locale = ‘ja’

class NotifyMailer < ActionMailer::Base
def setup_email(email)
■■@recipients = “#{email}”
■■@from = “難波克行 <electricdoc@gmail.com>”
■■@sent_on = Time.now
■■@headers['Content-Type'] = “text/plain; charset=iso-2022-jp; format=flowed”
end

Award on Railsの副賞をいただきました

(株)ドリコムさまからAward on Railsの副賞をいただきました。スタッフTシャツとステッカー、それから「株式会社ドリコム フェロー」と書かれた名刺です。Wikipediaによると、フェローというのは「特別研究員」のことだそうです。うーむ、こんなものをいただいてしまったら、特別なことをいろいろやらないといけませんね(笑)。

特別なこと……かどうかはわかりませんが、現在「VDTタイマー」の効果評価を実施する準備をしています。某企業の従業員から募集した参加者を「VDTタイマーを使用するグループ」と「使用しないグループ」にランダムに振り分け、開始時、1ヶ月後、2ヶ月後にアンケート調査を行って結果を比較します。

こうした調査を行うと、かなりの手作業が発生します。今回はRuby on Railsでシステムを作って省力化(無人化)をはかりました。ただし、メールを一括送信する処理がうまくいかなかったので、そこだけはFileMakerを用いることにしました。

このサイトは一般に公開するものではありませんが、調査結果については公に発表する予定です。以上、Ruby on Railsに関連した「ちょっとだけ特別なこと」をお伝えしました。

Ruby 1.8.6のREXML/XPathのバグ

Ruby 1.8.6でXML構文を扱うとき、XPathがうまく機能しないバグがあるそうです。Rubyのソースファイルを修正すると正常に動作します。

修正ファイル: /usr/lib/ruby/1.8/rexml/element.rb

修正箇所:
def attribute( name, namespace=nil ) prefix = nil
■■prefix = namespaces.index(namespace) if namespace
■■prefix = nil if prefix == ‘xmlns’ #この行を追加
■■attributes.get_attribute( “#{prefix ? prefix + ‘:’ : }#{name}” )
end

参考:
#102 (Cannot select attribute with default namespace) – rexml – Trac