daybreaksnow's diary

私を私と呼びたい

開発

[Java]JavaプログラムをWindowsでサービスとして起動する

Java Service Wrapperを使って、前回作成したjarをWindowsサービスにして実行する。 (コンソール出力を行うだけのプログラムなのでサービスにする意味は全くないが。)以下のページを参考にした http://wrapper.tanukisoftware.com/doc/japanese/qna-service.…

[GWT]Seleniumで非同期処理のテストを行う

GWT(gwt-dev)とSelenium(selenium-server)を同じビルドパスに入れると、内部jarでバージョンの競合が起きた(リンク)ので、別プロジェクトでSeleniumを動かすことにした。 ソースコードの準備 参考URL:http://stackoverflow.com/questions/5445034/gwt-id-el…

[GWT]Seleniumを同一プロジェクトで動かそうとして諦めた調査ログ

結論としては諦めてGWTとSeleniumを別プロジェクトにしてテストを書いた。 →GWTでSeleniumを動かす GWT(2.4)のプロジェクトに最新のSelenium(selenium-java-2.35.0.jar、selenium-server-standalone-2.35.0.jar)のビルドパスを通し、FireFoxDriverをnewした…

[GWT]RPCの自動テスト

公式:http://www.gwtproject.org/doc/latest/tutorial/JUnit.html 日本語訳を行っているブログ:http://mole-kingdom.com/wpbl/category/%E7%BF%BB%E8%A8%B3/page/15 シンプルなテスト testパッケージにクラスを作って、GWTTestCaseを継承してgetModuleName…

[GWT]環境構築とサンプル

1.Eclispeのダウンロード GWTプラグインが3.7までしかサポートしていないので、3.7.2を落とした。 http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/index.php#EclipseSDKついでにEGitプラグインもインストール。 なお、デフォルト…

[Scala]入門 カリー化他

以下の連載の10回目読んだ。9回目のスレッドは浅く見てもよく分からなかったのであとで。 http://www.atmarkit.co.jp/ait/kw/scala.html 名前付き引数 その名の通り、引数指定時に変数名を表記できる。引数の順番も変えられる。 かゆいところに手が届く機能…

[git]入門git 5.履歴の改編

コミット履歴の入れ替え 最新3件のリビジョン値とコミットメッセージを表示 git log --pretty=format:"%h %s" HEAD~3..HEAD 出力例 8cb2edb head_second da18f38 body_first 8a5aac0 head_first 順番を入れ替えて、以下のようにしたい da18f38 body_first 8c…

[Scala]入門 型パラメータと暗黙の引数

以下の連載の8,9回目読んだ。 http://www.atmarkit.co.jp/ait/kw/scala.html 型パラメータ Javaでいうジェネリクスみたいなもの。準備 class Base class Hoge extends Base class Piyo extends Hoge class Fuga 上限境界 Javaでいう<Foo extends Base> Scalaの慣習として、型パ</foo>…

[git]入門git 4.コミットの取り消し

公開してはいけないパスワードなどを含んだテキストをコミットしてしまうことは稀にある。 リモートリポジトリに変更をpushしてしまうと、もう取り消すことは難しい。 しかし、ローカルにコミットしただけであれば、取り消しが可能。 直前のコミットの取り消…

[Scala]入門 trait

以下の連載の7回目読んだ。 http://www.atmarkit.co.jp/ait/kw/scala.html インターフェース的な存在がトレイト(trait)。ただし実装も書ける。コンストラクタも書けるが引数は渡せない。 複数のトレイトを継承することをミックスインという。コンストラクタ…

[Scala]入門 クラスとパッケージ

以下の連載の6回目読んだ。 http://www.atmarkit.co.jp/ait/kw/scala.html 覚えておきたいことメモ クラス ・コンストラクタに渡した値はそのまま使える class Hoge(val v:Int) val hoge = new Hoge(1) println(hoge.v) //err hoge.v = 2 valもvarもついてい…

[git]入門git 3.ログとディフ

重要そうなものには★つけた 直近5時間のコミットログを見る git log --since="5 hours" 出力例 commit b48bea88a002c357143d32952eb7a16238c9b709 Merge: 5edd6fd b8f2c6f Author: Hoge Piyo Date: Wed Sep 18 18:53:40 2013 +0900 コンソールに表示されない…

[git]入門git 2.ブランチとマージ

重要そうなものには★つけた ブランチ ブランチの作成 git branch new_branch ブランチの切り替え git checkout new_branch ブランチ名の変更 git branch -m master mymaster masterを基にブランチを作成して切り替え git checkout -b new_branch master ブラ…

[git]入門git 1.環境構築からコミットまで

入門git読む。(Travis Swicegoodの方(http://www.amazon.co.jp/%E5%85%A5%E9%96%80git-Travis-Swicegood/dp/427406767X)。入門Gitはもう一種類ある) Git on MSysをインストール サイト https://code.google.com/p/msysgit/ 1.8.3 https://code.google.com/p/…

[Scala]Scala触ってみた 基本構文~関数まで

関数型言語の一つくらいは知っておきたいと思い、とっつきやすそうで流行ってるっぽいScala始めた。 以下の連載の5回目の途中まで読んだ。 http://www.atmarkit.co.jp/ait/kw/scala.html覚えておきたいことメモ ・varで宣言すると変数、valで宣言すると定数…

[JUnit4]Ruleアノテーションを使って共通する処理をまとめる

複数のテストケースで共通の初期化処理があるとき、以下のようにリソースクラスを作って、各テストクラスでセットアップメソッドを呼んでいた・共通するリソースクラス public class DatabaseConnectionResource{ private SessionFactory sessionFactory; pu…

[Java]Apache POI でパスワードがかかったExcelを読み込んだ際に発生する例外

Apache POI 3.6-20091214 パスワードがかかっているExcelファイルを読み込んだ際に発生する例外 拡張子 読込パスワード 書込パスワード 例外クラス xls 有 有 RecordFormatException xls 有 無 EncryptedDocumentException xls 無 有 例外は発生せず読み込み…

[Linux]cronで定期的にtopを実行

CentOS6.4cronを使って定期的にtopを実行してサーバ負荷を調べるようにした。1.cronが起動しているか確認(cron daemon) ps -ef | grep crond 2.ユーザhogeのcron編集 crontab -e -u hoge 編集内容 MAILTO='' #5分ごとにtopの結果をtop_yyyymmdd_HHMM.logに出…

[Linux]suが使えない時の対処

CentOS6.4担当の人にWebサーバの環境設定してもらったら、suでrootになれなくて困った。(正しいパスワードなのにパスワードが違いますといわれる)原因:以下の設定によりwheelグループ以外のユーザはsuが使えないようになっていた。 ファイル:/etc/pam.d/su…

[Hibernate]sqlProjection使用時はjoinしたエイリアス名を解決できない?

sqlRestricionであればルートエンティティ、子エンティティのどちらもエイリアス名を取得することができる(参考)が、sqlProjectionでは、どちらかしか取れない?以下のコードでは子エンティティの方のプロジェクションしか有効にならない。 (setProjectionは…

[Tomcat]セッションタイムアウト時間を確認する

バージョン:tomcat6.0.32web.xmlのタイムアウト時間を変えて再起動しても変更が反映されなかったので、ブラウザ上で確認することにした。ローカル8080ポートで起動している場合、以下のアドレスにアクセスする。 (hogeは有効なアドレス)http://localhost:80…

[Windows7]管理ツールからサービスが消えた

スタート→コントロールパネル→サービスで検索、としても、サービスが表示されなくなった。 管理ツールを開いても、サービスだけがない。対策をググったところ、マイクロソフト公式の掲示板がヒットした。 http://answers.microsoft.com/ja-jp/windows/forum/…

[Java]インスタンスの遅延初期化時の注意

シングルトンインスタンスを遅延初期化するときに以下のようなコードを書くと、Javaでは意図しない動作(複数回newされる)を引き起こすことがある。 参考:http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html public class Hoge{ priva…

[Hibernate]デフォルトで用意されているResultTransformerの利用

Criteriaに対し、ResultTransformerをセットすることで、取得される結果の形式を変換することができる。デフォルトでは以下の四つがCriteriaSpecificationに用意されている。 変数名 クラス ROOT_ENTITY(デフォルト) RootEntityResultTransformer DISTINCT_R…

[Spring Framework]SpringFramework DIサンプル

環境設定 spring-framework-2.0.8.zipを以下からダウンロード。*1 http://sourceforge.jp/projects/sfnet_springframework/releases/ 以下をビルドパスに通すだけでよい。 ・spring.jar(ダウンロードしてきたzipの中のもの) ・commons-logging.jar*2 サンプ…

[Eclipse]ワークスペースランチャーから不要な候補を削除する

Eclipse起動時のワークスペースランチャーに間違ったパスの候補が残ってしまっていると紛らわしい。以下の設定からワークスペースの候補を削除できる。ウィンドウ→設定 →一般→開始およびシャットダウン→ワークスペース

[Java]Eclipse Memory Analyzerによるメモリリーク調査

極端にメモリが少ない環境で大きいファイルを読み込んでパースしなければならない状況があり、易々とOutOfMemoryErrorが発生したので、その原因調査にEclipse Memory Analyzerを利用した。http://www.eclipse.org/mat/ バージョンは1.2.1をダウンロードした…

[開発][日常]フリーのSVNリポジトリが消されそう

twitterのbotを作るのに、Assemblaという海外サイトでリポジトリを利用していた。 https://www.assembla.com/最後のコミットが2010-08-18になっていて、使われていないからそろそろ定期クリーンで消すよ、というメールが来ていた。で、実際に見に行くと… $0.…

[Java7]正規表現のグループに名前を付ける

Java6以前では正規表現にヒットした文字列をするために、Matcher.group(int)で何番目のグループかを指定しなければならなかった。順番指定だと、新たにグループを付け足した際にすべて修正が必要であり、正規表現の黒魔術度を上げていた。Java7では、"(?正規…

[SQL Server]bcpコマンドでレコードをコピーする

本番機のプログラムに不具合があり、正しいレコードが生成されなかったため、検証機で正しいデータを作成し、データコピーを行いたい場合があった。以下のコマンドで検証機のデータのダンプを取り、本番機へのデータコピー作業を行うことができた。・export …