ログ日記

作業ログと日記とメモ

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

Wicket で Bookmarkable な PagingNavigator

ステートレスにする方法は https://cwiki.apache.org/WICKET/seo-search-engine-optimization.html ここに書いてある。 PagingNavigatorの部分は return your bookmarkable link here とだけ書かれているので、共通で使えるようなものを書いた。 http://nish…

S2JDBCでデータベーススキーマ中心の開発

S2JDBCはJavaを修正→DB修正っていう方針だけれど、使い始めてからずっと逆向きでやっている。 やり方をメモ。 制作中のワークフローは EclipseのERMasterでERD作成 DDL生成 DBリビルドスクリプト実行 ※1 Java更新スクリプト実行 ※2 S2JDBCのタスク実行 とい…

DebianでTeX powerdotのPDFが文字化け

いつの間にかPDFが化けるようになってた。 acroreadを9にバージョンアップしたかららしい。 https://forums.ubuntulinux.jp/viewtopic.php?pid=36964 この辺を見ながらKozGoProVI-Medium.otf を取ってきたら解決した。 この設定をしてもpowerdotを使ったPDF…

Tomcat で S2Wicket、S2Chronos を使った時にログに clearReferencesThreads が出る

アンデプロイ時にエラーが出る。 S2Wicketの場合。 2011/12/13 16:57:37 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 致命的: The web application [/app] appears to have started a thread named [ModificationWatcher Task] bu…

CayenneからS2JDBCに戻した

これの続き(?) http://d.hatena.ne.jp/n314/20111129/1322592759 ブラウザバックでPersistent Object が Hollow 状態になる件は解決した。 http://nishimura-note.blogspot.com/2011/12/way-of-preventing-state-of-persistent.html 検索しても英語の記事…

Let's note の Windows XP の終了が極端に遅い現象

Windowsの終了が遅いことにふと気付いた。 いつから動作が遅くなったのか不明だが、ほんの一ヶ月程度*1で再現したので軽くショック。AndroidやRS-232Cのドライバなどを入れたあとに遅くなった気はする。 遅いまま今後使っていくのは悲しいので今回は原因究明…

git revert で 複数のコミットを取り消した状態でコミットする

Git

git revert --help を見る。 EXAMPLES git revert HEAD~3 Revert the changes specified by the fourth last commit in HEAD and create a new commit with the reverted changes. git revert -n master5..master2 Revert the changes done by commits from …

WicketとCayenneとGuice

Guiceを使うための設定を getComponentInstantiationListeners().add(new GuiceComponentInjector(this, new GuiceModule())); このように書いていた。 ここで何が行われているかというと GuiceComponentInjector 初期化、GuiceFieldValueFactoryを生成する …

Cayenne + Wicket のシリアライゼーション

もやもやしていたのでCayenneのデシリアライズとHollowの状態についてメモ。 http://cayenne.apache.org/doc/persistent-object-lifecycle.html CayenneDataObject.java private void writeObject(ObjectOutputStream out) throws IOException { out.writeIn…

S2JDBCからApache Cayenneに移行した

Wicket+Seasar(S2Container、S2Wicket、S2JDBC)で一通り開発したけれど、なんだか合わないなと感じた。不満だったのは以下の点。 S2JDBC-Genで生成したサービスクラスが使いにくい。 S2ContainerとWicketの両方にオブジェクト生成機能がある HOT Deployが…

Windowsに入れているソフトのメモ

Windows再インストールメモ - より良い環境を求めての続き的なアレ。 ちなみにWindows XP。VistaのOSもあるけど、VistaかXPかと言えばまぁXPだよね。 Windows Live Syncが無くなって Live Mesh がXP非対応っていうところだけ不便。 今入っているソフトは再イ…

cygwinでminttyを入れた

Cygwinは元々使っているので普通にsetup.exeから入れた。 参考 http://tanakh.jp/posts/2011-11-15-windows-terminal.html http://d.hatena.ne.jp/runfor/20080927/1222536300 オプションで半透明設定とTERMをcygwinに設定。フォントを変えてウィンドウサイ…

関数型言語が普及しない理由

mod_haskell がないから。 あと日本語の扱いがややこしかったり、メール送信がややこしかったりする。 ExcelとかPDF生成になると絶望的な雰囲気がする。 リンクが必要なライブラリも多くて、staticリンクするとhello worldでもサイズが巨大になる。 とりあえ…

s2wicket と リストの入れ子 と injectDependency

wicket で リストのネストで li を階層表示する。 <ul wicket:id="treeFragment"></ul> <wicket:fragment wicket:id="fragmentBody"> <li wicket:id="tree"> <a wicket:id="link"><span wicket:id="text">link</span></a> <ul wicket:id="treeFragment"></ul> </li> </wicket:fragment> Panel か Fragment を使う。 ループの中から自分自身を再帰呼び出しするとliタグを階層化…

キーワードHDBCを作った

最近HDBCを使っている方を発見したので捕捉のためにキーワードを作った。 手を出したいと思いつつ1年以上触ってないなあ…。

Wicket1.5がリリースされていた

既に Wicket 1.5.2 になっている。 それから s2wicket も 1.5.0 が出ている。 依存関係に s2wicket だけ指定すると wicketの方も1.5.0がダウンロードされるので、1.5.2も個別に指定して使ってみる。 前に自分用に作ったs2wicket*1 は破棄で。 Tomcatのメモリ…

Windows再インストールメモ

Let's note Y7 をリカバリした。 Windowsの終了が何分もかかるようになったのでレジストリを掃除していた。レジストリ掃除アプリを使っていてワンクリックしたらRunが8割ほど消た。それで色々動かなくなってしまった。 今まではregeditでやっていて、ふと思…

squeezeのpsqlで日本語が通らない

利用ライブラリが libreadline から libedit に代わったことが問題らしい。 psql -n したら通るけど、そうすると履歴などが使えない。 http://pasero.net/~mako/blog/s/229 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=607907#10 簡単にできるっぽい…

etchからsqueezeにアップグレード

squeezeにアップグレードしようとしたらエラーが出た。 よく見てみると、lennyじゃなくてetchを使っていたんだった。 apt-lineをlennyに変えて、まずはlennyにアップグレード。 http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.ja.ht…

ディスクサイズが僅かに小さい場合のRAID復旧

RAID1 復旧のためのディスクを取り付けて復旧しようとしたら、表記されているサイズは同じなのに実際パーティションを切ると微妙にサイズが違う場合がある。 運悪く新しいHDDの方が若干容量が少なかった場合、パーティションを縮小する。 前も同じようなこと…

PHPの小規模用テンプレートエンジンを作った

今までPHPで何かを作るときはLaizを使っていたわけだけれども、レンタルサーバー的な構成だと使いづらい。 数ページのフォームとかだとPATH_INFOに対応するためにApache設定ファイルにAliasMatchを書いたりフレームワーク設定ファイルを書いたりするのが面倒…

VMWare上のWindowsパーティションを拡張する手順

Debian上のVMWareでWindowsXPを使っている。 パーティション構成は HDD1 C: 8GB D: 12GBこのようになっていた。 最初にインストールするときは少ないサイズで作成することが多いが、大抵後から拡張したくなる。 本格的に使い出すと 8GB や 12GB じゃ足りない…

wicket:messageの入れ子ってどうするんだろう

<wicket:message key="myKey"> This text will be replaced with text from the properties file. <span wicket:id="amount">[amount]</span>. <a wicket:id="link"> <wicket:message key="linkText"/> </a> </wicket:message> https://cwiki.apache.org/WICKET/wickets-xhtml-tags.html あと一歩。 wicket:message > wicket:id …

英語のマニュアル的な文章の主語

英語での簡易的な説明の書き方が分からない。 検索しても主語は省略できない/しない方が良いというページばかりが出てくる。 かろうじてヒットしたのが 一貫性があるように、関数の説明文字列の最初の文の動詞は 『to』を省いた不定詞にする。 たとえば、『R…

GitとRedmineの連携

gitからredmineを使えるようにするためのスクリプトはいろんな人が作ってる模様。 http://yumewaza.yumemi.co.jp/2011/08/git-redmine-integration-using-rest-api-python.html http://d.hatena.ne.jp/mzp/20110806/ticket http://d.hatena.ne.jp/authorNari…

DropDownChoiceで全て選択

DropDownChoiceの選択項目として「全て選択」を例外的に追加したい場合がある。 nullで代用する方法もある 「すべてのXXX」などを表示させるシーンではsetNullValid(true)を使用して表示させました。 http://koohzi.sakura.ne.jp/blog/?p=55 が、今回の場…

HITACHI HDDのDMAエラー、または寿命

前に書いた *1 エラーが直らない。 同じハードの他のサーバーではエラーが出ないと書いたが、10台中7台ぐらいエラーが出るようになった。これはまずい。 Sep 3 23:00:49 node2 kernel: [5538990.017176] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 act…

LiftでWebアプリ(4): フォーム用共通処理を作る 1

フォームの書き方は複数ある。 http://stable.simply.liftweb.net/#toc-Chapter-4 LiftScreenを使ったフォームの自動生成は、HTMLを編集しにくいので却下。 手軽そうなStatefulSnippetを使ってみる。 サンプルに上がっているようなprocess関数でのエラーチェ…

LiftでWebアプリ(3): データベースの設定

本番用・開発用のデータベースを設定する。 Debian squeeze 標準の PostgreSQL 8.4 を使う。 aptititude install postgresql pom.xml を編集。 <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.4-702.jdbc4</version> </dependency> データベースを作成。 createuser scala-cart -P createdb -O scala-car…

LiftでWebアプリ(0): Scala の Liftフレームワーク で Webアプリケーションを作る

Scalaの断片的な記事は見かけるが、一つのアプリを作ろうとすると迷うことが多い。 Liftになると尚更情報がない。 そこで簡単なメール送信ショッピングカートをサンプルアプリとして作る過程をメモする。 「ScalaやLiftの機能を色々使ってみよう」ではなく、…