Highcharts を使ってみるよ
Highcharts は JavaScript でグラフを描画するためのツール。
サイトのサンプル 見ると、jqplot より機能が豊富そう。
あ、redmine で使うことを想定してます。
ダウンロード
インストール
public/javascripts に js 配下のファイルをコピー。
使い方
http://www.highcharts.com/documentation/how-to-use を参考に。
基本は jqplot と変わらない。 div で領域を確保して、グラフを書く。
http://highcharts.com/demo/ のデモから自分のやりたいことを探して、ソース見ればまぁまぁ大丈夫。
日付の指定
"Date.UTC(2010,9,31)" のように、JavaScript のコードとして指定する。
文字列での指定は無理なのかな?
データを後から注入
series の setData を使う。
var chart = new Highcharts.Chart({ chart: { renderTo: 'container', }, series: [{ name: 'value', }, { name: 'cost', }] }); var series_0_data = [0,1,2]; var series_1_data = [2,3,4]; chart.series[0].setData(series_0_data, false); chart.series[1].setData(series_1_data, false); chart.redraw();
Windows で Sphinx を使ってみるよ(その後)
rst2pdf がアップデートされました! ( ver 0.16 )
easy_install --upgrade rst2pdf make pdf
font が見つからないとエラーが。
pdf_font_path 大文字小文字を区別するっぽい?
conf.py を修正。
pdf_font_path = ['C:\Windows\Fonts']
再度挑戦。
meiryo が見つからないエラーはない。
けど、以下のエラーが延々と出力されて、処理が終わらない。
[ERROR] findfonts.py:248 Unknown font: DejaVu Sans Mono-Oblique
rst2pdf なら問題ないのに。何が違うんだろう?
DejaVu Sans-Oblique がないのが問題か?
フォントはスタイルで指定するので、 conf.py のスタイルの設定を疑ってみる。
pdf_stylesheets = ['sphinx','a4','kerning','ja']
kerning.style で 'DejaVu Sans-Oblique' を利用しているようだ。削除。
再々挑戦。
Running Sphinx v1.0.4 loading pickled environment... done building [pdf]: targets for 1 source files that are out of date updating environment: 0 added, 0 changed, 0 removed looking for now-outdated files... none found processing redmine-hudson... index resolving references... done writing redmine-hudson... done build succeeded. Build finished. The PDF files are in _build/pdf
できた!
が、タイトルの後と、目次の後に謎の空白ページが。
まぁとりあえず出力はできたから、よしとしよう。
conf.py
修正したとこ
extensions = ['sphinx.ext.autodoc','rst2pdf.pdfbuilder']
rst2pdf のための設定
pdf_documents = [ ('index', u'redmine-hudson', u'redmine-hudson', u'Toshiyuki Ando'), ] pdf_stylesheets = ['sphinx','a4','ja'] pdf_font_path = ['C:\WINDOWS\Fonts'] pdf_language = "ja" # How many levels deep should the table of contents be? pdf_toc_depth = 3 # Add section number to section references pdf_use_numbered_links = False # Background images fitting mode pdf_fit_background_mode = 'scale'
ja.json
{ "fontsAlias" : { "stdFont": "meiryo", "stdBold": "meiryob", "stdItalic": "meiryo", "stdBoldItalic": "meiryob", "stdMono": "meiryo" }, "styles" : [ ["base" , { "wordWrap": "CJK" }], ["literal" , { "wordWrap": "None" }] ] }
Windows で Sphinx を使ってみるよ
Sphinx はドキュメントの作成ツール。reStructuredText を使って書くのです。
Python のドキュメントが Sphinx でかかれているらしい。
Overview — Sphinx v1.0 (hg) documentation
Python のインストール
Download Python | Python.org から。
パスを通すのを忘れずに。
easy install のインストール
Ruby で言う gem みたいなものだと思う。
http://peak.telecommunity.com/dist/ez_setup.py をファイルに保存して
> python ez_setup.py
でインストール開始。プロキシ使ってる人は環境変数 HTTP_PROXY 設定しておくこと。
Python インストールしたフォルダにある Scripts にパスを通しておくこと。
rst2pdf のインストール
> easy_install ret2pdf
pdf 作成
> rest2pdf index.rst
index.pdf ができあがり。簡単。
日本語に対応させる
Linux だとフォントの埋め込みしたほうがいいらしいけど、Windows は大丈夫っぽい。
以下の内容の ja.json ってファイルを作る。
{ "fontsAlias" : { "stdFont": "meiryo", "stdBold": "meiryob", "stdItalic": "meiryo", "stdBoldItalic": "meiryo", "stdMono": "meiryo" }, "styles" : [ ["base" , { "wordWrap": "CJK" }], ["literal" , { "wordWrap": "None" }] ] }
もう一度 PDF 作成
> rst2pdf -s ja --font-path=C:\Windows\fonts index.rst
Sphinx から pdf ができるようにする
ここからが難所。というか遭難中。
Sphinx プロジェクトの設定ファイルに PDF のための設定を追加する
conf.py
extensions = ['rst2pdf.pdfbuilder'] pdf_documents = [ ('index', u'redmine-hudson', u'redmine-hudson', u'Toshiyuki Ando'), ] pdf_stylesheets = ['sphinx','kerning','a4','ja'] pdf_font_path = ['C:\windows\fonts'] pdf_language = "ja" # How many levels deep should the table of contents be? pdf_toc_depth = 3 # Add section number to section references pdf_use_numbered_links = False # Background images fitting mode pdf_fit_background_mode = 'scale'
バッチをPDFに対応させる
make.bat
if "%1" == "pdf" ( %SPHINXBUILD% -b pdf %ALLSPHINXOPTS% %BUILDDIR%/pdf echo. echo.Build finished. The PDF files are in %BUILDDIR%/pdf goto end )
Sphinx ビルド!
make pdf
でも、以下のエラーを吐いて終了。何故なんだろう?
pdfbuilder.py をのぞくしかないのか??
processing redmine-hudson... index [ERROR] pdfbuilder.py:120 BuildEnvironment instance has no attribute 'modules' Traceback (most recent call last): File "U:\Development\Python27\lib\site-packages\rst2pdf-0.15-py2.7.egg\rst2pdf\pdfbuilder.py", line 112, in write appendices=opts.get('pdf_appendices', self.config.pdf_appendices) or []) File "U:\Development\Python27\lib\site-packages\rst2pdf-0.15-py2.7.egg\rst2pdf\pdfbuilder.py", line 203, in assemble_ octree if self.config.pdf_use_modindex and self.env.modules: AttributeError: BuildEnvironment instance has no attribute 'modules' FAILED build succeeded.
ruby1.9.2 + rails3 で redmine を動かしてみる(まだ動いてないよ)
私の力では無理だろうけど、やってみる。
!まだ動いてません!
ruby 1.9.2 インストール
フツーにダウンロード。
gem も入っているので安心。
追加でDLLを bin にインストール。
rails3 インストール
gem install rails
gem を追加
gem install rack-mount -v=0.4 gem install sqlite3-ruby gem install rubytree
redmine を rails3 にアップグレード
rais_upgrade を利用する。
rais_upgrade インストール
は、結局やらなかったよ。
自力で redmine を移行
rails3 アプリケーションを上書き作成(なんて言葉ある?)
rails new redmine-trunk-rails3
上書きするか?と聞いてくるので、以下のものに Yes を返した。
- Rakefile
- Gemfile
- config/environments/production.rb
- config/environments/test.rb
- config/initializers/backtrace_silencers.rb
- config/initializers/secret_token.rb
- config/initializers/session_store.rb
- config/boot.rb
redmine-trunk を起動
rails server
起動した! でもオチタ!!
lib/tasks/plugins.rake
require 'rails/source_annotation_extractor' に修正。
vendor/plugins/prepend_engine_views
とりあえず無視。
Gemfile
gem 'rubytree', :require => 'tree' を追加。
lib/redmine.rb
以下を追加。何故なんだろう?
vendor/plugins/engines/lib/plugin.rb
Rails::Plugin を継承できないってエラー。
面倒くさそうなので、思い切って削除。
あ、すげー。上がるだけは上がったw
ルーティングにちょっと追記& public/index.html を削除して、アクセス
root :to => 'welcome#index'
おぉ。エラーが出た。
rails-upgrade でアップグレード
http://omgbloglol.com/post/364624593/rails-upgrade-is-now-an-official-plugin
rails2 環境上で
ruby script/plugin install git://github.com/rails/rails_upgrade.git
上手くいかないので、ソースを直接 vendor/plugins/rails_upgrade にコピー。
以下のライブラリが必要。
- rak1.0
- gem install rak
- win32-open3
- http://rubyforge.org/frs/download.php/59130/win32-open3-0.3.1-x86-mswin32-60.gem
vendor/plugins/rails_upgrade/lib/application_checker.rb の require を修正。
require 'win32/open3'
Netbeans にプラットフォームを認識させる
FastDebugger インストール
RubyForge から gem を入手してインストール。
gem install -l [gemのパス]
Agile2010 に行ってきました
感想をグダグダ書いてみる。英語ができないので、セッションの感想はテキトー。
メインは気分的なもの。
行く前
- 2008年:アメリカでスゴイ人たちが集まってAgileの話するんだって!
- 2009年:すごかった!! もう一回行ってみよう
- 2010年:どうしようか?
この2年で英語力が向上しているわけでもなく、自分が発信できるメッセージがあるわけでもない。
となると、今年行く意味ってなんだろう?と。
実際、3人で行くと100万くらいかかるし…。ね。
とか相方さんに言ってたら、「一流に触発されて何かするタイプなんだから、多分行ったほうがいい」という言葉に背中を押されて、行くことに決定。
そんなモチベーションだったんで、事前の準備はほとんどなし。
カンファレンス中
アップダウン多くて体調もそんなに良くなかったり。寝てる時間もかなり長かった。
気分的なものも多かったんじゃないかと思われる。
AgileConference のエネルギーはとても大きくって、上手くその波に乗れるとヒャッホー!できるんだけど、乗りそこなうと、結構キツイ。
自分が乗ろうとしてないのが悪いんだけど、周りが高いところに行ってるのをみて、そこまで行けない自分にガックリするわけで。
そんな中で、ヒャッホー!だったのは、 Mary Poppendieck さんとお話できたこと。
セッションの中に出てきたボランティア・マネジメントという言葉が、今の自分の悩みにヒットしたので、どんなものなのか聞いてみた。
色々話してくれたのだけど、残念ながらあまり聞き取れなかった。
- ボランティア => 町内会とか教会とか色んなところで見ることができる
- あなたの周りにあるコミュニティに、運営として参加することで、ボランティア・マネジメントを体感できる
ってコトを話してくれてたと思ってる。
参加したセッション
少しだけ。
Patterns for customer interaction - Linda Rising さん
お客さんと上手にダンスを踊るための色んなお話。
お客さんの質問にはその日に返事をしましょうとか。グサグサくるところ多し。
2秒息すって、2秒息止めて、2秒息を吐いてから話すと落ち着けるので良いらしい?
Lean in a Nutshell - Mary Poppendieck さん
リーンを一言で言うと。
- 顧客にフォーカスを当てる(価値を大事にする)
- 技術を洗練する
- レベル・ワークフロー(なんだろう?)
- しつこいほどのカイゼン
- 人々を尊敬する
という5つの項目についてお話。
ボランティア・マネジメントと、レベル・ワークフローに出てきた エンパイア・ステートビルの構築に関する話に興味あり。
エンパイア・ステートビルの話は去年もされてたし、大事なのかなーとか。
今回のプレゼン資料訳して、会社で紹介できないかなぁ。
Cooking the Product Stew
13年のたまりに溜まったレガシーコードとの格闘。
全体をドメインに分割し、フィーチャーチームを作って開発。
CI大事。何でも自動化。
などなど、基本を守ってコツコツ進めるのが大事。ということみたい。
ウルトラCみたいな技を期待してたんだけど、都合良すぎと反省。
Scaling Software Agility Advanced Practices for the Agile Enterprise
途中でKO。(体力切れで眠くなって退室)
Product Ownership in the Large
Microsoft さんの大規模開発論。
概要には Scrum of Scrums が機能するのはxxx人くらいまでで、
それ以上になると工夫が必要なんだとかあって、とても期待していたんだけど
開発のプロセスをタンタンと説明してただけだったような…。
よくよく考えたら、 @tomohn さんに聞いたほうがもっと濃い話聞けるじゃん!
First-Time Implementation of Agile & Scrum at the New York State Department of Transportation
官公庁だと聞いて。でもKO。
カンファレンス後
仕事に埋もれててまとめも何もしなかったんだけど、 XP祭り2010 で参加報告しなきゃいけなくって急遽ふりかえり。
@daipresents さん @ebacky_ja さん @AyumiHOSOZAWA さんと話しているうちに、自分のもやもやが何となーく見えてきた。
相方さんの「一流に触発されて何かするタイプ」は的を射てる
報告の時は「エネルギー」って言葉を使ったけど、パルスだ、パルス、やる気パルス!!
一流のやる気パルスに触れて自分を共振状態にするために、あそこに行くんだよ。うん。
だから、そのために、セッションを選ばなきゃいけない。
今回は会社の話(標準化)とか持ち込んで、あぁ、こっちのセッションに顔を出さないとなぁ、とかごちゃごちゃ考えたのもまずかった。
相方さんは良く分かってるなぁ。来年はこの辺気をつけよう。
ってことを、まぁ、50万以上かけて再確認したのが、今回のカンファレンスの成果らしい。
今後やること
- ヒアリングがんばる
- コミュニティのスタッフやってみる
- 事あるごとにパルスを話題に出して、忘れないようにする