C#でフィールドのgetterのみを使用する場合

特に引っかかるような所じゃなさそうなのにつまったのでメモ。 概要 C#ではgetterやsetterを書く際に以下のように書ける。 public class Sample1 { private string Hoge { get { return this.Hoge; } set { this.Hoge = value; } } public Sample1(string ho…

Gitの練習2

勉強したコマンド git config user.name "hogehoge" git config user.email "exsample@exsample.com" そのリポジトリで使用される名前(メールアドレス)を設定。 これが設定されていないとglobalの設定が使用される git config --global user.name "hoge" g…

Gitの練習1

とりあえず使ってみる 今年の目標としてGitをあげたので、とりあえず使う。 恥ずかしくても何でもとりあえずやった事、やった意味をblogに書きだす事で少しでも慣れるはず。 やったことを箇条書き ディレクトリ作成 適当にファイル作成 gitbash起動(以前導…

2013年の反省と2014年の目標

2013年の目標と結果 2013年の目標は2つでした。 月1以上ブログを書く 2013年は21でした。 数としては12を超えていますが、月1の更新は行えておりません。 そもそも、最後の更新が9/1ではお話にもならない。 html1つでも、js1つでも遊べるものを公開 公開して…

H2Databaseを使用してみた

なんとなく軽量データベースを使用したくなったので、いじってみた。 使用するまでが一瞬、そして操作も簡単、組み込みも簡単と非常に手軽でした。 H2Databaseとは H2 Databaseとは、Javaプラットフォーム上で動く、ACIDリレーショナルデータベース。オープ…

Unix上のMYSQLで大文字でTableを作成後にlower_case_table_names=1とした場合に、大文字のTableが検索できない。

概要 OSがUnixかつ大文字でTableを作成後に大文字小文字を区別しないとした場合に、大文字のTableが検索できなくなります。(RedhatとCentOSで現象を確認、Windows7で発生しないことを確認) 詳細 MySQLでは大文字小文字の区別を行うかどうかは「lower_case_…

Tomcat6で動作していたJSPでTomcat7では例外が投げられる事がある

先日Tomcat6で動作していたアプリケーションをTomacat7で動作確認した所、いくつか例外が発生したのでメモ。 現象 JSPを表示した際に「org.apache.jasper.JasperException」が発生する。 私が遭遇した現象は2つ Attribute qualified names must be unique wi…

糞コードを見て思った事

先日、こんな糞コードをみつけた。 String hoge = ""; if (!a.equals(b)) { hoge = b; } else { hoge = a; } 最初見た時に違和感を感じたのでよく見たらこれは簡潔に書ける。 String hoge = b; 一応解説。 上記コードは「!」があるからわかりくい。*1 「!」…

ユニットテストの並列実行

経緯 現場でのJunit実践入門の読書会にてユニットテストの並列実行について話題になったので調べてみました。 JUnit、Ant、Maven、Gradleでの実現方法をメモ。全てのコードはgithubに置きましたので興味のある方はどうぞ。(今更ながらgithubに初push) 尚、…

Cobertura、Ant、Jenkinsでコードカバレッジを取得する方法

JenkinsでAntを使用してビルドする際に、Coberturaを使用してコードカバレッジを取得しようというお話。 GradleやらMavenが主流みたいで、日本語ドキュメントがあまりみつからなかったので書いてみます。*1 前提 Jenkinsは既に動作している Jenkins上でAntを…

Gebを使ってみた。

G*系の勉強会で何回か聞いたことあるので名前は知っていましたが、使ったことはなかったのでとりあえず使ってみました。 資料が少なすぎる、あっても古くてそのままじゃ使えない、色々わかってる前提で書かれてる等々、苦労はありましたがなんとか動作する所…

ランダムクラスを使用してhello worldを出力する件の解説

最初に Twitterで↓URLが凄いというのが流れていました。 java - Why does this code using random strings print "hello world"? - Stack Overflowコードを実行すると確かに「hello world」と表示される。 実行時に渡している数値を使用して乱数列を作成する…

Spockを使ってみた

G*界隈でよく聞くテスティングフレームワークのSpockを使ってみました。 名前や記事は良く見てたのですが、JUnit自体を殆ど使用していなかったので実践はしていませんでした。 が、JUnitをいくらか勉強してみたら興味がわいたので試してみた次第。 前提 IDE …

httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる!(Groovy版)

一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。 http://blog.64p.org/entry/2013/02/21/…

パラメータ化テストを行うか否か迷った話

テスト対象メソッド 下記のようなメソッドの引数に入出力のファイルPATHを受け取り、ファイル出力するメソッドのテストを作成した時のお話。 割りと紆余曲折があったのでメモがてらまとめます。 コードは書きやすいのでGroovyで記述していますが、Groovy知ら…

社内「JUnit実践入門」読書会第二回まとめ #junitbook

前回に引き続き、第2回目の「JUnit実践入門」読書会を開催しました。 社内「JUnit実践入門」読書会第一回まとめ #junitbook - 旧山pの楽しいお勉強生活今回は参加者は少なかったですが、本格的なJUnitの内容になってきたこともあり充実した読書会になったと…

groovyのleftShift(<<)で文字コードを指定する

前置き 私はGroovyをプロダクトに使えるような感じではないので、ちょっとしたツール作成やら、ちょっとした作業を自動化する時に主に使っています。 こういう用途だとファイルに出力することが結構多いので、「 new File("c:\\work\\output.txt") << "あう…

groovyでenumをネストするようにするとコンパイルが終わらない場合がある。

まともやenumにハマりました。 前回ハマったのはこれ → enumの抽象メソッドはgroovyでサポートされてない? #jggug #q - 旧山pの楽しいお勉強生活 現象 ↓のコードはコンパイルが終わりません。 public enum EnumSample { HOGE() public enum NestEnum { HUG…

MarkupBuilderで要素の定義を別で定義したい。

少しタイトルが変わってますが、MarkupBuilderで要素の作成を別メソッドにする方法がわからない。 - 旧山pの楽しいお勉強生活の続き。前回、delegateを使用することでクロージャを外部に定義する方法がわかった。 import groovy.xml.MarkupBuilder def xml …

JVMはDNSキャッシュを保持している

はじまり Tomcat上で動作しているWebアプリケーションで、設定しているホストに通信ができなくなったとの問い合わせ。 聞いてみたら、hostsに書かれていたIPアドレスを変更したとのこと。 状況 サーバ[localhost]上のWebアプリケーションは「example」という…

社内「JUnit実践入門」読書会第一回まとめ #junitbook

社内で「JUnit実践入門」読書会を開催したのでそのまとめです。 読書会初回、私がこのような催しを開催するのも初だったのですが、5人も参加していただけました。今回の対象範囲は本当に基本的な部分だったので、私がそれなりにまとめた資料を読み進めつつ参…

Windows7上のViretualBoxにCentOS5.8をインストールしてみた

概要 業務でLinux環境が必要になったが、既存の環境がいっぱいいっぱいかつ、事情によりローカルで管理したかったので仮想化して作成することにした。 仮想化のツールとしてはViretualBox、VMware、Virtual PCなどがあるようだが、違いがよくわからないので…

パラメータ化テストでの例外確認方法がわからない #junit #q

新年早々JUnitでテストを作成していたのですが、例外のテストがうまくできないことに気づいた。 (コードはjavaっぽく書いてますがgroovyで動作確認しています。) class ASample { public int method(int i) { if (i > 10 || i < 5) { throw new IllegalArg…

enumの抽象メソッドはgroovyでサポートされてない? #jggug #q

表題の通り。 groovyでenum書いててコンパイルできなかったのでメモ。 (構文ミスってるかと思って何度も確認したので。。。) 前提 javaではenumで抽象メソッドを定義することが可能です。 これにより、新たに値を増やした際に抽象メソッドの実装漏れを防ぐ…

2013年の目標

あけましておめでとうございます。 今年もよろしくお願い致します。1年を過ごす上で何かと指針となるので、目標というのはあった方が良いかと思います。尚、私は高い目標を立てて挫折するのが一番無駄だと思ってますので、難易度の高くない確実に達成できる…

社内勉強会での発表資料「勉強会のすゝめ 2.0」

2012/12/22に社内でプレゼン大会が行われました。 私も「勉強会のすゝめ 2.0」というタイトルで発表してきたので、資料を公開してみます。 勉強会のすゝめ 2.0 from Kyouichi Yamashita ※スライド内に記述がある「Junit実践入門読書会」ですが、社内での開催…

jdk5かつ、tomcat5.5.35以上か、6.0.33以上の場合にrequestパラメータが取得できない場合がある

先日、Strutsであるパラメータが空文字でActionFormに値が設定されるという事象に遭遇。 全てが取得できないとか、nullだとかならわかるんだけど、 「パラメータの値が1バイトの場合に空文字として設定」されるもんだから訳がわからない。かなり苦しんでなん…

MarkupBuilderで要素の作成を別メソッドにする方法がわからない。

GroovyでXMLを出力するにはMarkupBuilderを使えば簡単らしいのでやってみた。 <root> <id>1</id> <user> <name>yamada</name> <car> <name>car1</name> </car> </user> <company> <name>kaisha</name> <car> <name>car2</name> </car> </company> </root> このXMLを出力したい場合には以下のコードで出力可能。 import groovy.xml.MarkupBuilder new MarkupBuilder().root(){ …

DELL Vostro 1540でタッチパッドを無効にする

通常、タッチパッドを無効化する場合はマウスのプロパティ(コントロールパネル → マウス)で設定ができます。 が、タイトルの通り、DELLのVostro1540にはタッチパッドを無効にする項目がなかったので調べました。DELLに限らずマウスのプロパティに設定項目…

Gradleはじめました

実務でbuildはAntで行っていて、build.xmlを調べながら変更できる位の理解度の私がgradle使ってみた。 ちなみに、Mavenは使った事がある位。理解なんて微塵もしていない状態。きっかけは「5月21日 第21回 G*ワークショップ #jggug(東京都)」でのid:nobusueさ…