<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://metrics.sourceforge.net/2003/Metrics-First-Flat">
<xsl:output method="html"/>
<!--
metrics.xsl
01-JUL-07
metrics XML Style Sheet by Atsushi Sano
<as AT cyberoz DOT NET>
-->
<xsl:template match="/">
<xsl:apply-templates select="m:Metrics" />
</xsl:template>
<xsl:template match="m:Metrics">
<html lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css"></meta>
<title>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></title>
<style type="text/css"><![CDATA[
<!--
.bannercell {
border: 0px;
padding: 0px;
}
body {
margin-left: 10;
margin-right: 10;
font:normal 68% verdana,arial,helvetica;
background-color:#FFFFFF;
color:#000000;
}
.a td {
background: #efefef;
}
.b td {
background: #fff;
}
.a_ng td {
background: #efefef;
color:red;
}
.b_ng td {
background: #fff;
color:red;
}
th, td {
text-align: left;
vertical-align: top;
}
th {
font-weight:bold;
background: #ccc;
color: black;
}
table, th, td {
font-size:100%;
border: none
}
table.log tr td, tr th {
}
h2 {
font-weight:bold;
font-size:140%;
margin-bottom: 5;
}
h3 {
font-size:100%;
font-weight:bold;
background: #525D76;
color: white;
text-decoration: none;
padding: 5px;
margin-right: 2px;
margin-left: 2px;
margin-bottom: 0;
}
-->]]></style>
</head>
<body>
<h1><a><xsl:attribute name="name">top</xsl:attribute>Metrics Report for <xsl:value-of select="@scope"/> as of <xsl:value-of select="@date"/></a></h1>
<hr/>
<xsl:apply-templates select="m:Cycle" />
<hr/>
<h1>Metric</h1>
<table>
<thead><tr><th>id</th><th>description</th><th>limit</th><th>Total</th><th>Mean</th><th>Std. Dev.</th><th>Value Max</th><th>count</th><th>count(limit over)</th><th>Source causing Maximum</th><th>method</th></tr></thead>
<tbody>
<xsl:for-each select="m:Metric">
<tr>
<xsl:call-template name="alternated-row"/>
<td><a><xsl:attribute name="href">#<xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id" /></a></td>
<td><xsl:value-of select="@description" /></td>
<td><xsl:value-of select="@max" /></td>
<td>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:value-of select="m:Value/@value" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="m:Values/@total" />
</xsl:otherwise>
</xsl:choose>
</td>
<td><xsl:value-of select="m:Values/@avg" /></td>
<td><xsl:value-of select="m:Values/@stddev" /></td>
<td><xsl:value-of select="m:Values/@max" /></td>
<td><xsl:value-of select="count(m:Values/m:Value)" /></td>
<td><xsl:if test="boolean(@max)"><xsl:call-template name="alternate-count"><xsl:with-param name="max" select="@max" /></xsl:call-template></xsl:if></td>
<td><xsl:value-of select="m:Values/m:Value[1]/@package" /></td>
<td><xsl:if test="m:Values/m:Value[1]/@package!=m:Values/m:Value[1]/@name"><xsl:value-of select="m:Values/m:Value[1]/@name" /></xsl:if></td>
</tr>
</xsl:for-each>
</tbody>
</table>
<xsl:apply-templates select="m:Metric" />
<hr/>
<div style="font-size:large;font-weight:bold;">Powered by <span style="font-style:italic;">metrics.xsl</span>.</div>
</body></html>
</xsl:template>
<xsl:template match="m:Cycle">
<h1>Cycle</h1>
<table>
<thead><tr><th>name</th><th>nodes</th><th>diameter</th></tr></thead>
<tbody><tr><td><xsl:value-of select="@name"/></td><td><xsl:value-of select="@nodes"/></td><td><xsl:value-of select="@diameter"/></td></tr></tbody></table>
<table><thead><tr><th>Packages</th></tr></thead>
<tbody>
<xsl:for-each select="m:Package">
<tr><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
</tbody></table>
</xsl:template>
<xsl:template match="m:Metric">
<h1><a><xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute><xsl:value-of select="@id"/></a></h1>
<div><xsl:value-of select="@description"/></div>
<xsl:choose>
<xsl:when test="@id='TLOC'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:when test="@id='NOP'">
<xsl:apply-templates select="m:Value" />
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="m:Values" />
</xsl:otherwise>
</xsl:choose>
<a><xsl:attribute name="href">#top</xsl:attribute>back to top</a>
</xsl:template>
<xsl:template match="m:Values">
<h2>Values</h2>
<table>
<xsl:attribute name="summary">values-<xsl:value-of select="../@id"/></xsl:attribute>
<thead><tr><th>per</th><th>total</th><th>avg</th><th>stddev</th><th>max</th></tr></thead>
<tbody><tr>
<td><xsl:value-of select="@per"/></td>
<td><xsl:value-of select="@total"/></td>
<td><xsl:value-of select="@avg"/></td>
<td><xsl:value-of select="@stddev"/></td>
<td><xsl:value-of select="@max"/></td>
</tr></tbody>
</table>
<h2>Value</h2>
<table>
<xsl:attribute name="summary"><xsl:value-of select="../@id"/></xsl:attribute>
<tr><th>name</th><th>source</th><th>package</th><th>value</th></tr>
<xsl:for-each select="m:Value">
<tr>
<xsl:call-template name="alternated-row"/>
<td><xsl:value-of select="@name" /></td><td><xsl:value-of select="@source" /></td><td><xsl:value-of select="@package" /></td><td><xsl:value-of select="@value" /></td></tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="m:Value">
<h2>Value</h2>
<table>
<tr><th>value</th></tr>
<tr><td><xsl:value-of select="@value" /></td></tr>
</table>
</xsl:template>
<xsl:template name="alternated-row">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="boolean(@max) and boolean(m:Values/@max) and m:Values/@max>=@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:when test="boolean(../../@max) and boolean(@value) and @value>=../../@max">
<xsl:if test="position() mod 2 = 1">a_ng</xsl:if>
<xsl:if test="position() mod 2 = 0">b_ng</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="position() mod 2 = 1">a</xsl:if>
<xsl:if test="position() mod 2 = 0">b</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
<xsl:template name="alternate-count">
<xsl:param name="max">dummy</xsl:param>
<xsl:value-of select="count(m:Values/m:Value[@value>=$max])"/>
</xsl:template>
</xsl:stylesheet>
Sunday, July 01, 2007
Saturday, June 16, 2007
JSUG勉強会 第4回 6/15「Springframework in JavaOne2007 + Spring MVC & WebFlow」
勉強会 - Japan Springframework User Group
先月に引き続いて参加してきました。
長谷川さん、スタッフの方々、ありがとうございました。
JavaOne2007もSpringMVCも自分にとってタイムリーな話題だったので、
興味深く聞く事ができました。以下自分のためのメモ。
1.河村さんによるJavaOne2007レポート
全般的な話題
Springの話題
Interface21のマークフィッシャーのブログは要注目
Sunからの各国に対するメッセージ
Thank you->(和訳)->元気です(?)
2.チャトールさんによるSpringMVCとSpring Web Flowの説明
Strutsの問題->依存性が高い
Finite State Machineモデル(有限オートマンモデル)により会話的なやりとりが可能
Spring Web Flowはconversational Scopeをサポート
でも全てをSpring Web Flowでやろうとすると複雑になる(適材適所)
状態や遷移の管理をするのであればSpring Web Flow
3.飲み会
おまけ
長谷川さんにSpring 入門にサインをしてもらった。ラッキー。
先月に引き続いて参加してきました。
長谷川さん、スタッフの方々、ありがとうございました。
JavaOne2007もSpringMVCも自分にとってタイムリーな話題だったので、
興味深く聞く事ができました。以下自分のためのメモ。
1.河村さんによるJavaOne2007レポート
全般的な話題
- JavaEE6には触れられず。背景として仕様書に着手した状態だからか?
- JavaFXに注目が集まる
- JavaSE6,7に注目が集まる Glassfish
- JRubyの年でした
- 各社でのJavaEE5 Application Server対応がのろい
- ボフ?(座談会)でしたEEについて語られていなかった
- JavaEE6 Final Release 2008 Q4
- pruning(仕様削除)により少なくなったAPI
- GlassfishV3は面白そう
- EJB3.1 ejb.jarがいらなくなる Web層でsのEJB利用の簡略化
Springの話題
- 2005,2006に続き依然として人気は高い
- Interface21のエンジニアに人気が集まる
- Spring Web Flow
- Spring Batch
- OSGi
- SCA(参考http://www.arclamp.jp/blog/archives/000790.html)
- JMX Bean
Interface21のマークフィッシャーのブログは要注目
Sunからの各国に対するメッセージ
Thank you->(和訳)->元気です(?)
2.チャトールさんによるSpringMVCとSpring Web Flowの説明
Strutsの問題->依存性が高い
Finite State Machineモデル(有限オートマンモデル)により会話的なやりとりが可能
Spring Web Flowはconversational Scopeをサポート
でも全てをSpring Web Flowでやろうとすると複雑になる(適材適所)
状態や遷移の管理をするのであればSpring Web Flow
3.飲み会
- 森ビルからは東京タワーが見える
- 六本木周辺は食事が高い
- ジャカルタでは危険な場所もあるから注意しよう
おまけ
長谷川さんにSpring 入門にサインをしてもらった。ラッキー。
Powered by ScribeFire.
Sunday, June 10, 2007
ScribeFire
del.icio.usでブックマークはするものの、
なかなかブログは書けません。
ブログを書くのに便利な19 のFirefox拡張機能 - Google Mania | グーグルの便利な使い方
この記事を読んで、ScribFireを導入してみました。
右クリックのコンテキストメニューにメニューが追加されているので、
言及したいページで右クリックしてScribeFireが起動します。
タイトルとページURLを取得して記事Editorに自動的に入れてくれます。
使い勝手は悪くありません。
該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。
これでブログしない自分とお別れできるといいのですが。
なかなかブログは書けません。
ブログを書くのに便利な19 のFirefox拡張機能 - Google Mania | グーグルの便利な使い方
この記事を読んで、ScribFireを導入してみました。
右クリックのコンテキストメニューにメニューが追加されているので、
言及したいページで右クリックしてScribeFireが起動します。
タイトルとページURLを取得して記事Editorに自動的に入れてくれます。
使い勝手は悪くありません。
該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。
これでブログしない自分とお別れできるといいのですが。
Powered by ScribeFire.
OracleのJDBCドライバのデバッグ
OracleのJDBCドライバのデモプログラムに付属のOracleLog.propertiesによれば、
ojdbc14_g.jarを使うとJDBCドライバによるデバッグが可能になります。
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#32_00
Tomcatでこのデバッグを可能にするには、
Tomcat起動時の引数に、-Toracle.jdbc.Trace=trueを指定します。
WTPをお使いの方は「構成と実行」で指定できます。
つぎのような指定をしました。
-Doracle.jdbc.Trace=true
-Djava.util.logging.config.file=OracleLog.properties
-Doracle.jdbc.LogFile="C:\Documents and Settings\sano\My Documents\jdbc.log"
OracleLog.propertiesはTomcat起動フォルダに入れておきます。
ここまではいいのですが、発行しているSQLが表示できていません。
OracleLog.propertiesの記述方法に問題があるのでしょうか?
デフォルトではだめなのかな?
ojdbc14_g.jarを使うとJDBCドライバによるデバッグが可能になります。
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#32_00
Tomcatでこのデバッグを可能にするには、
Tomcat起動時の引数に、-Toracle.jdbc.Trace=trueを指定します。
WTPをお使いの方は「構成と実行」で指定できます。
つぎのような指定をしました。
-Doracle.jdbc.Trace=true
-Djava.util.logging.config.file=OracleLog.properties
-Doracle.jdbc.LogFile="C:\Documents and Settings\sano\My Documents\jdbc.log"
OracleLog.propertiesはTomcat起動フォルダに入れておきます。
ここまではいいのですが、発行しているSQLが表示できていません。
OracleLog.propertiesの記述方法に問題があるのでしょうか?
デフォルトではだめなのかな?
Powered by ScribeFire.
Sunday, June 03, 2007
Firefox「正常にソフトウェアを更新できませんでした。」の対処方法
Firefoxを2.0.3から2.0.4に更新しました。
すると、制限ユーザでの起動時に、
「正常にソフトウェアを更新できませんでした。」
と、メッセージが表示されるようになってしまいました。
いろいろ検索して次の解決策にたどり着きました。
http://kb.mozillazine.org/Updates_reported_when_running_newest_version
上記に従い、ファイルを削除したら、起動時のエラーダイアログは表示されなくなりました。
すると、制限ユーザでの起動時に、
「正常にソフトウェアを更新できませんでした。」
と、メッセージが表示されるようになってしまいました。
いろいろ検索して次の解決策にたどり着きました。
http://kb.mozillazine.org/Updates_reported_when_running_newest_version
Method 1: Delete active-update.xml, updates.xml and the "updates" folder from both of these locations:
- The Firefox installation directory, for example, C:\Program Files\Mozilla Firefox [1].
- (Firefox 2.0.0.2 and later) The corresponding Firefox directory where local application data and settings are stored, depending on your operating system [2]; for example, in Windows XP, C:\Documents and Settings\
\Local Settings\Application Data\Mozilla\Firefox\Mozilla Firefox [3].
上記に従い、ファイルを削除したら、起動時のエラーダイアログは表示されなくなりました。
Saturday, June 02, 2007
デフォルトブラウザをFirefoxに
備忘録です。
僕はPCではいつも制限ユーザで作業しています。
これは不用意にPCの設定を更新しないためです。
ブラウザはFirefoxを愛用しているのですが、
HTMLファイルに対応するプログラムが
Internet Explorerから変更できないでいました。
先日、ハードディスク60GBの未使用率が15%を切ったため、
PCをリカバリしました。
で、Firefoxはもちろん、必要なソフト類をインストールした後に、
作業用の制限ユーザを追加しました。
すると、制限ユーザでもHTMLファイルに対応するプログラムがFirefoxに変更できるようになりました。
覚えたことは、
「Windows XPを使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。
僕はPCではいつも制限ユーザで作業しています。
これは不用意にPCの設定を更新しないためです。
ブラウザはFirefoxを愛用しているのですが、
HTMLファイルに対応するプログラムが
Internet Explorerから変更できないでいました。
先日、ハードディスク60GBの未使用率が15%を切ったため、
PCをリカバリしました。
で、Firefoxはもちろん、必要なソフト類をインストールした後に、
作業用の制限ユーザを追加しました。
すると、制限ユーザでもHTMLファイルに対応するプログラムがFirefoxに変更できるようになりました。
覚えたことは、
「Windows XPを使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。
Saturday, May 12, 2007
springframework勉強会 第3回 5/11「ワークショップで共有しましょう」
http://springframework.jp/index.php?%CA%D9%B6%AF%B2%F1
参加者の皆様ご苦労様でした。
長谷川さん、スタッフの方々、楽しい時間をありがとうございました。
ワークショップにより参加者の共有する問題の最適解を見つけていく作業は楽しい。
以下は自分のためのメモ。
1.問題点の提起
・知らない人にどうやって教える?
・MyEclipse気になるね
・iBATIS最強(?)
・AutoWire最強(?)
2.AutoWireに関する議論
・AutoWire最強!ワイルドカードでBeanをごっそり取ってくる。
・Bean定義の分割方法大事だね。共通は個別に、業務はワイルドカードでごっそり。すっきり!
・ただし、共通のテンプレートクラスにセッターがある場合は効かない。
・layz_initを使うとシングルトンのオブジェクトを起動時に生成しない。
(アプリケーションサーバーの起動が早いよ)
・iBATISは学習コストが低い。Hibernateは覚えるまでが緩やかな双曲線。(しかも下がることもある)
3.ほか
GWT(Google Web Toolkit)はAjaxのウェブアプリケーション作成フレームワーク
AOPで例外処理のハンドリング
4.成果
・インターフェースを使ったパターン抽出
・AutoWireを使用した場合の定義ァイル分割パターン抽出
(詳細はユーザ会Wikiで・・・)
5.飲み会
・Lisp最強!とんがった人はどこかでLispに触れている。
・JavaOneは、かにパーティと化しているらしい。
・JRubyはやりすぎだろ?スクリプト言語はなぁ・・・
・JavaがC++に近づいている。C++にガベージコレクション機能をつけたほうが早いのでは?
・BinaryHack最高!
・Springにより、Javaのプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。
参加者の皆様ご苦労様でした。
長谷川さん、スタッフの方々、楽しい時間をありがとうございました。
ワークショップにより参加者の共有する問題の最適解を見つけていく作業は楽しい。
以下は自分のためのメモ。
1.問題点の提起
・知らない人にどうやって教える?
・MyEclipse気になるね
・iBATIS最強(?)
・AutoWire最強(?)
2.AutoWireに関する議論
・AutoWire最強!ワイルドカードでBeanをごっそり取ってくる。
・Bean定義の分割方法大事だね。共通は個別に、業務はワイルドカードでごっそり。すっきり!
・ただし、共通のテンプレートクラスにセッターがある場合は効かない。
・layz_initを使うとシングルトンのオブジェクトを起動時に生成しない。
(アプリケーションサーバーの起動が早いよ)
・iBATISは学習コストが低い。Hibernateは覚えるまでが緩やかな双曲線。(しかも下がることもある)
3.ほか
GWT(Google Web Toolkit)はAjaxのウェブアプリケーション作成フレームワーク
AOPで例外処理のハンドリング
4.成果
・インターフェースを使ったパターン抽出
・AutoWireを使用した場合の定義ァイル分割パターン抽出
(詳細はユーザ会Wikiで・・・)
5.飲み会
・Lisp最強!とんがった人はどこかでLispに触れている。
・JavaOneは、かにパーティと化しているらしい。
・JRubyはやりすぎだろ?スクリプト言語はなぁ・・・
・JavaがC++に近づいている。C++にガベージコレクション機能をつけたほうが早いのでは?
・BinaryHack最高!
・Springにより、Javaのプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。
Sunday, May 06, 2007
springframeworkとlog4j
簡単ですがlog4jライブラリによるログのとり方の覚書
1.log4jライブラリをWEB-INF/lib/に入れる。
2.アプリケーションのweb.xmlに次のように記述する。
3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
こんな感じです。
以下は失敗談
Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。
二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。
1.log4jライブラリをWEB-INF/lib/に入れる。
2.アプリケーションのweb.xmlに次のように記述する。
log4jConfigLocation
/WEB-INF/log4j.properties
org.springframework.web.util.Log4jConfigListener
3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${petstore.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.org.springframework=INFO
こんな感じです。
以下は失敗談
Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。
致命的: クラス org.springframework.web.util.Log4jConfigListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。
Saturday, May 05, 2007
springmodules
springframeworkを使ったWebアプリケーションの
キャッシュ機能について調査してみた。
というのも、自分で作るほど技術力ないし、作ったとしてもメンテナンスコストが高くつく。
どうやら、springmodulesを使って、
キャッシュプロバイダOSCache、EHCacheなどと組み合わせると
幸せになれそうだ。試してないけど。
http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
http://www.gigaspaces.com/JForum/posts/list/139.page
しかしspringmodulesについての記述が少ないのには驚いた。
実績がないのだろうか。
https://springmodules.dev.java.net/
キャッシュ機能について調査してみた。
というのも、自分で作るほど技術力ないし、作ったとしてもメンテナンスコストが高くつく。
どうやら、springmodulesを使って、
キャッシュプロバイダOSCache、EHCacheなどと組み合わせると
幸せになれそうだ。試してないけど。
http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
http://www.gigaspaces.com/JForum/posts/list/139.page
しかしspringmodulesについての記述が少ないのには驚いた。
実績がないのだろうか。
https://springmodules.dev.java.net/
Friday, May 04, 2007
Acme::Louのインストールができない
やりたいのは、ローカルな環境でも「ルー変換」ができるようすること。
つまづいているのは、Acme::Lou-0.03のインストールでのmake testに失敗。
ログを見ると、lou変換かけても「美しい国、日本」が「美しい国、日本」のままのようだ。
メモリ上に展開したルー語辞書のハッシュからルー語が取得できていないようだ。
引き続き作業・・・
つぎのタスクは作業終了済み
・MeCabインストール(0.95)
・MeCab辞書インストール(0.95)
・Text::MeCabインストール(0.16)
つまづいているのは、Acme::Lou-0.03のインストールでのmake testに失敗。
ログを見ると、lou変換かけても「美しい国、日本」が「美しい国、日本」のままのようだ。
メモリ上に展開したルー語辞書のハッシュからルー語が取得できていないようだ。
引き続き作業・・・
つぎのタスクは作業終了済み
・MeCabインストール(0.95)
・MeCab辞書インストール(0.95)
・Text::MeCabインストール(0.16)
日本の祝日
今日は国民の休日みどりの日だそうだ。
wikipediaによれば
http://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5
「自然にしたしむとともにその恩恵に感謝し、豊かな心をはぐくむ」ことを趣旨としている。
自分がはじめて覚えた祝祭日は次のとおり。ずいぶん変わったものだ。
今では日にちにはあまり意味がないらしい。
1/1元旦
1/15成人の日
2/11建国記念日
3/22-24春分の日
4/29昭和天皇誕生日
5/3憲法制定日
5/5こどもの日
9/15敬老の日
9/22-24秋分の日
10/10体育の日
11/3文化の日
11/23勤労感謝の日
wikipediaによれば
http://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5
「自然にしたしむとともにその恩恵に感謝し、豊かな心をはぐくむ」ことを趣旨としている。
自分がはじめて覚えた祝祭日は次のとおり。ずいぶん変わったものだ。
今では日にちにはあまり意味がないらしい。
1/1元旦
1/15成人の日
2/11建国記念日
3/22-24春分の日
4/29昭和天皇誕生日
5/3憲法制定日
5/5こどもの日
9/15敬老の日
9/22-24秋分の日
10/10体育の日
11/3文化の日
11/23勤労感謝の日
Monday, April 30, 2007
自分のノートPCで流行のルー語変換を試そうとした。
http://e8y.net/repos/mecab-htmltagcloud/trunk/index.cgi
http://e8y.net/repos/lou_trans/lou.cgi
colinuxのファイルシステムの使用量を確認したところ、
90%をオーバーしていることに気がついた。
ファイルシステムをusr,var,rootに分割し、再度立ち上げたら夕方六時。
なんだかなぁ。
tarの実行時にpadding size zerosとかメッセージが出たので調べてみたけど、
あまり同様の事象はあげられていなかった。
tar でファイルコピーする際、/sysはコピーしなくてもいいようだ。
(確証なし・・・)
debian 4.0では出なかったんだよな。
http://e8y.net/repos/mecab-htmltagcloud/trunk/index.cgi
http://e8y.net/repos/lou_trans/lou.cgi
colinuxのファイルシステムの使用量を確認したところ、
90%をオーバーしていることに気がついた。
ファイルシステムをusr,var,rootに分割し、再度立ち上げたら夕方六時。
なんだかなぁ。
tarの実行時にpadding size zerosとかメッセージが出たので調べてみたけど、
あまり同様の事象はあげられていなかった。
tar でファイルコピーする際、/sysはコピーしなくてもいいようだ。
(確証なし・・・)
debian 4.0では出なかったんだよな。
Sunday, April 15, 2007
Seleniumの実行結果を取得する
Results URLのテキストボックスに次のスクリプト名を指定する。
#!C:/Perl/bin/perl.exe
# postResults.cgi
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "\n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "\n" if ($p =~ /^testTable/);
}
print end_html();
#!C:/Perl/bin/perl.exe
# postResults.cgi
use strict;
use warnings;
use CGI qw/:standard/;
my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "\n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "\n" if ($p =~ /^testTable/);
}
print end_html();
Saturday, April 07, 2007
Friday, April 06, 2007
YAPC::Asia 2007 Day2
仕事休んでいったかいあった。
いろいろ刺激を受けました。
DBIx::Classとか、LiveJournalのスケールの話とか、MJDのリファクタリングの話とか。
うー、おなかいっぱい。
消化できるか心配だ。
普通
・普通->最大公約数or最小公倍数?
・perl6は文字列もオブジェクト->Rubyのまね
DBIx::Class
・SQL::Abstract
・Data::pagaer(?),DBIx::Pager(?)
・DBIx::Class::Relataionalship
Asynapse
・REST
・Jiftyのプラグイン
・JavaScriptでファイルの読み書き?
・XUL(ゾールと発音)
・YUI
・my ($a, $b) = (my $c = func(x,y,z));
Pattern in perl
・singleton why use a singleton?
・Class::Singletons
・it is global
・for stateless
・File::Locker
・Is facade design pattern?
・memento
・iterator
・decorator
・Class::Trait
・C/Java クラスを生成することによってPerlの動的な部分を補っている
・CPANの利用によりサポートされる機能
LiveJournalのスケーラビリティ
http://www.danga.com/words/
memcached
perlbal
1->100
RAID->全部書き込みはもったいない、冗長
特効薬はないがやり方はたくさんある
Apacheが生きているか?->OPTIONリクエストを投げて確認
big-ip->mod_proxy->mod_perl->global db->user db
MogileFS->oMgFileS
ジョブ管理?
Gearman::Worker
Gearman::Client
ただし、No Guarantee
TheSchwarz for mail distribute millions of emails per day
djabberd
->デバッグ方法(イベント系のものはデバッグしにくいよね。ケースバイケース)
DBIx::Class
モバイルファクトリーの方
DBIC::from Sledge
_on、_at->日付系のカラム名
http://code.mobfactory.jp/ (?)
Class::C3
Pushmi
いろいろ刺激を受けました。
DBIx::Classとか、LiveJournalのスケールの話とか、MJDのリファクタリングの話とか。
うー、おなかいっぱい。
消化できるか心配だ。
普通
・普通->最大公約数or最小公倍数?
・perl6は文字列もオブジェクト->Rubyのまね
DBIx::Class
・SQL::Abstract
・Data::pagaer(?),DBIx::Pager(?)
・DBIx::Class::Relataionalship
Asynapse
・REST
・Jiftyのプラグイン
・JavaScriptでファイルの読み書き?
・XUL(ゾールと発音)
・YUI
・my ($a, $b) = (my $c = func(x,y,z));
Pattern in perl
・singleton why use a singleton?
・Class::Singletons
・it is global
・for stateless
・File::Locker
・Is facade design pattern?
・memento
・iterator
・decorator
・Class::Trait
・C/Java クラスを生成することによってPerlの動的な部分を補っている
・CPANの利用によりサポートされる機能
LiveJournalのスケーラビリティ
http://www.danga.com/words/
memcached
perlbal
1->100
RAID->全部書き込みはもったいない、冗長
特効薬はないがやり方はたくさんある
Apacheが生きているか?->OPTIONリクエストを投げて確認
big-ip->mod_proxy->mod_perl->global db->user db
MogileFS->oMgFileS
ジョブ管理?
Gearman::Worker
Gearman::Client
ただし、No Guarantee
TheSchwarz for mail distribute millions of emails per day
djabberd
->デバッグ方法(イベント系のものはデバッグしにくいよね。ケースバイケース)
DBIx::Class
モバイルファクトリーの方
DBIC::from Sledge
_on、_at->日付系のカラム名
http://code.mobfactory.jp/ (?)
Class::C3
Pushmi
Wednesday, April 04, 2007
YAPC::Asia 2007
楽しいカンファレンスでした。
Perl worst placticesが印象的でした。
以下メモ(なんかみんな書いてるっぽいので)
・ソースの再利用->二回目以降の開発に役立つ
・依存性の排除(使いたいモジュールより依存性の解消が手間)
・仮想化Virtualization リソースの最適化
・現行:パッケージの配布->将来:環境の配布
・web service->perl service(plagger as a service)
・EC2 CGレンダリングとか
・フレーバー DBは?ストレージが仮想
VOX
・catalyst + JSON-RPC
・sixapart javascript library
・large scale case of LiveJournal by Brad
・Data::Object(cached,partionary)
・TheSchewartz
・Perlbal
・http://code.sixapart.com/
・1st, user->global DB and 2nd, user->user db(DB1/DB2/DB3)
Perl worst placticesが印象的でした。
以下メモ(なんかみんな書いてるっぽいので)
・ソースの再利用->二回目以降の開発に役立つ
・依存性の排除(使いたいモジュールより依存性の解消が手間)
・仮想化Virtualization リソースの最適化
・現行:パッケージの配布->将来:環境の配布
・web service->perl service(plagger as a service)
・EC2 CGレンダリングとか
・フレーバー DBは?ストレージが仮想
VOX
・catalyst + JSON-RPC
・sixapart javascript library
・large scale case of LiveJournal by Brad
・Data::Object(cached,partionary)
・TheSchewartz
・Perlbal
・http://code.sixapart.com/
・1st, user->global DB and 2nd, user->user db(DB1/DB2/DB3)
Sunday, March 18, 2007
Sunday, February 25, 2007
Saturday, February 10, 2007
Blogging: daily blog posting by feedburner
http://semanticvoid.com/blog/2005/11/27/post-delicious-links-to-blogger-now/
によればfeedburnerによりdel.icio.usの内容をBloggerにポストできるそうだ。早速設定してみた。どうなることやら。
によればfeedburnerによりdel.icio.usの内容をBloggerにポストできるそうだ。早速設定してみた。どうなることやら。
Saturday, November 04, 2006
Sageとdel.icio.us
Firefox使っています。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。
Subscribe to:
Posts (Atom)
# スクラムマスターを雇う時に聞いてみるとよい47個の質問
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。 このようなメッセージが出たら http://blog.livedoor.jp/saitotetsuya/archives/20535835.html に従い、エキスプローラーのセキ...
-
# スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...
-
実家のLANに接続したら、colinuxが使えなくなった。 /etc/resolv.confの設定がアップデートした際に戻っていたようだ。 coLinuxを入れてみる (Clouder::Blogger) 次に /etc/resolv.conf を下記のように編集します。 nam...