最近のJava関係イベントの個人的なまとめと感想

デブサミやJava Day Tokyoなど、会社の許可をもらってイベントにありがたく行かせてもらっているけど、ちゃんとレポートできていなかったということで、社内勉強会で話すことにしました。 まとめ資料を作ったので、このブログにて先行して公開してしまいます…

Redmineのカスタムクエリを少し便利にするプラグイン

会社の業務で必要に迫られているものとは別に、Redmineのプラグインを作りました。 Redmine Query with Version Plugin プラグインの概要 カスタムクエリと任意のバージョンの組み合わせによるチケット検索を可能にするプラグインです。 特定のバージョンの…

Qiitaのブログパーツのカスタマイズ&設置

伊藤さんのブログの「Qiitaのブログパーツをはてなブログのサイドバーに設置する方法」を参考に、便乗してこのブログのサイドバーにもQiitaのブログパーツを貼り付けてみました。 同じく、@suinさんの作られているQiita Widgetをカスタマイズしています。 カ…

いいコードをみんなで書く

Keynoteに慣れるために、適当なスライドを作ってアップロードしてみました。 このスライドは、1年くらい前にチームで行ったLT大会の初回に発表したテーマです。プログラミングをする上で考えていることとか、これまでの反省点とか、LTみたいな場がないと話さ…

Dropwizard 0.7.0でWebSocket

Dropwizard 0.7.0では組み込みWebサーバとしてJetty 9.0.7が使われており、Jettyであれば非Java EE7環境でもWebSocketが使えるはずだと思ったので、一番簡単なechoを作って試してみました。 build.gradle まず、websocket-server への依存関係を追加します。…

Dropwizard0.7.0でのassets

Dropwizard続き。 Dropwizardで作るアプリケーションのビューとしては、「Dropwizard Views」にあるように、FreeMarkerとMustacheが使えるみたいなのですが、せっかくJAX-RSベースのRESTfulアプリケーションを開発しているので、ビューとロジックは分けたい…

「qpstudy 2014.04 ~俺の屍を超えて行け、でも踏まないで~」をニコ生で観た

140文字にきれいに収まらないかもしれないので(きれいに収まっていないのはいつもだけどw)、こっちに感想を残しておこう。 「qpstudy 2014.04 ~俺の屍を超えて行け、でも踏まないで~」がニコ生で観られるとのことだったので、昨日観てました(途中から…

DropwizardでWebアプリケーションを作る

調べものをしていたらたまたまDropwizardを見つけたので試してみました。 Dropwizardとは? Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. 公式サイトにある通り、「運用に優しく、ハイパフォーマ…

VeeweeでCentOS6.5のboxを作る

ただの作業記録です。 以下のGemfileを作って bundle install source 'https://rubygems.org' gem 'veewee' CentOSのテンプレートを探す # bundle exec veewee vbox templates | grep CentOS CentOS6.5が見つからないため(veewee 0.3.12時点)、CentOS6.4を選…

Jenkins×Capistrano3×Chef×serverspec×Dockerを使った一気通貫な開発

ここ最近、タイトルの通りのことをやろうとしていて、そのための雑記(記録)を書いていこうと思います。 目的 自動化できるところは可能な限り自動化し、テストできる(すべき)ところは可能な限りテストする、といった当たり前のことを当たり前にやって、…

Qiitaとの棲み分けを考えるテスト

ブログでは最近の活動とか、Qiitaで書いた内容を紹介してみたらどうだろうか?というものです。 読んだ本 なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェクト管理術 なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェ…

はてなブログに移行しました

はてなブログに移行しました。移行したのにあまり理由はありません。強いて言うなら、Markdown記法が使えるということと、タイトルが浮かんだことくらい。 ただ今後は、整理したトピックはQiitaに書くようにしていくかもしれないです(この辺の棲み分けは試…

Enterprise × HTML5 Web Application Conference 2014に行ってきた

2月28日は、会社に許可をもらって、終日Enterprise × HTML5 Web Application Conference 2014(明星大学 日野キャンパス)に参加してきました。明星大学は初めて来たのですが、のどかで落ち着く所だなと思いました。気温も寒くなく、普段のように窮屈なスー…

デブサミ2014に行ってきた

Developers Summit 2014に行ってきました。2日目のみ、そして残念がら途中まででしたが、少ない時間の中で面白い発表が聴けて満足です。自分の見た範囲では、雪の影響もほとんど感じさせず、盛況でした。大雪の悪天候にも関わらず、毎年のことながら素晴らし…

Knockoutの小技集 〜左右二つのリストで移動可能なセレクトボックス(2)〜

第3回は予告通り前回の続きで、項目がダブルクリックされたら、他方のリストに項目を移動する機能を追加します。 ViewModel まずはViewのことを気にせず、ViewModelでどのような関数が必要になるかを考えます。なるべく前回の構造を維持するという前提で、ぱ…

Knockoutの小技集 〜左右二つのリストで移動可能なセレクトボックス(1)〜

第2回は、2つの左右のボックスを互いに移動できるセレクトリストです。 完成形 リポジトリは同じです。これ、よく見るんですけど何ていう名前が適切なんですかね…?とりあえず、RichFacesのネーミングを借りて、List Shuffleとしました。まぁシャッフル機能…

Knockoutの小技集 〜チェックボックスの全選択ON/OFF〜

年明け最初のエントリーでは、軽めの内容として、何回かに分けて、Knockout.jsの小技(HTMLの画面開発でありがちな実装について、Knockoutでの実装例)を紹介していきたいと思います。第1回は、チェックボックスの全選択on/off(いわゆるtoggle)機能です。…

2013年のふりかえり

昨年に引き続き、今年をふりかえってみたいと思います。仕事の感想はブログだと書きにくいので、それ以外の部分で。ただのメモみたいなものですが。 書籍 購入した書籍のリストです。 JBoss Enterprise Application Platform 6 構築・運用パーフェクトガイド…

レガシーテストコード改善ガイド #TddAdventJp

TDD

はじめに このエントリーは、TDD Advent Calendar 2013 - Qiita [キータ]の参加エントリーです。前日のエントリーは、@PoohSunny(swimming_pooh)さんによる「2013年のTDDイベントをまとめてみた」でした。今回が初のAdvent Calendar参加になります。どうぞよ…

Replica Setとfluent-plugin-mongoでハマった話

久しぶりのブログになってしまいました。リハビリも兼ねて、手短なネタでも書こうと思います。Advent Calendarではないですが、FluentdとmongoDBの話です(ちょどブログをサボっていた時期はNode × mongoDB × Fluentdを組み合わせたアプリケーションの開発な…

Gradleのチートシート

以前Twitterでつぶやいたのですが、Gradleのチートシートが欲しかったので、自分で作ってみました。 ソースコード https://github.com/tq-jappy/Gradle-CheatSheet ダウンロード 内容はもっと洗練させていきたいですが、ひとまず以下に公開します。https://g…

GlassFish Users Group Japan 勉強会 2013 #1

久しぶりの勉強会エントリですが、GlassFish Users Group Japan 勉強会 2013 #1に参加して来ました。勉強会の内容は、サブタイトルの「Java EE 7リリース記念・集中勉強会」の通り、先日リリースされたJava EE7の機能についての紹介がメインでした。個人的な…

Gradleを使ったWebアプリケーションのさくさく開発(環境ごとの設定ファイル管理)

ちょうどキクタローさんが「Challenge Java EE ! - maven-war-pluginで環境ごとの設定ファイルを管理してみた」を書かれていたので、便乗してGradleでやってみようと思いました。 前置き Gradleで設定情報を外出しして環境ごとに切り分ける方法については、…

Gradleを使ったWebアプリケーションのさくさく開発(Herokuデプロイ編)

久しぶりのGradleシリーズです。これまで作ったアプリケーションをHerokuにデプロイしてみます。昔はRailsアプリケーションに限っていたようですが、現在のHerokuではベータ的にGradleもサポートされています。 Q: Does Heroku support Gradle builds? A: Ye…

ページオブジェクトパターンとマッパーを使ったメンテナンスしやすいSeleniumテストケース

Selenium Webdriverを使ったテストで、前回のスローテストと別に起きる大きな問題が、テストコードのメンテナンス性の悪さでした。SeleniumのJUnit4テストコードを作るために、今までやっていたことは以下のような方法です。 Firefoxの「Selenium IDE」プラ…

WebDriver(Firefox)の起動・停止を抑制してスローテスト問題を緩和する

以前からSelenium WebDriverを使ってWebアプリケーションのテストを行なっているんですが、ずっとつきまとっていたのがスローテスト問題(テストに時間がかかる!)。スローテスト問題は、テストの並列化やテスト数の削減などの解決策とともに随所で議論され…

CoffeeScriptとKnockout.jsのサンプル

JavaScriptのMVVMフレームワーク「Knockout.js」を使ってみました。 Knockout.jsを選んだ理由 深い理由はないですw双方向バインディングがイメージしやすく、ライブラリ自体が軽量で他のライブラリに依存しないので、シンプルでわかりやすい印象を受けたか…

CoffeeScriptとJSフレームワークによるHTML5 Canvasアプリ(2)

アイテム(○、△、□、コネクタ(不完全)、直線、曲線)の追加ができるようにしてみました。フレームワーク使わずに野良MVC(MVVM?)でやってますが、今のところ楽しいです。Canvasはともかく、上のツールボックスはKnockout.jsとかを使うとうまく扱える…のかな…

Sublime Text 2でよく使う基本キーバインド

CoffeeScriptで開発している時に覚えたものから。 Ctrl ] インデント Ctrl [ アンインデント Ctrl / コメントアウト Ctrl + フォントを大きく Ctrl - フォントを小さく

CoffeeScriptとJSフレームワークによるHTML5 Canvasアプリ

諸般の事情により、今までは少し遠目で見ていたCoffeeScriptに踏み込んでみることにしました。とりあえず慣れとか開発のノウハウをためるのに、行ったことをメモ的に書いていこうかなと。 目標 簡単にWebで使えるマインドマップツールを作るやりたいことに近…