【Markdown】 Windows用オススメ軽量エディタ(2013/03版)
Markdown、そろそろ覚えようかなーと思って。
Windowsでは、どうもいまいち使いやすいクライアントがなかったんですが、結論から言うと、
■DownMarker
(https://bitbucket.org/wcoenen/downmarker/downloads)
がオススメ。
- バイナリが若干古い
- 機能が少ない→(シンプルとも言える)
- フォントサイズが変えられない
- CSSは固定
- たまに見た目がおかしくなる
などの微妙なところはあるんですが、
- 軽い
- CSSの適用具合が一貫してる
- 日本語利用に問題ない
といった感じで、十分実用範囲でした。
ほかにも有名ドコロとして
■MarkDown#Editor
(http://hibara.org/software/markdownsharpeditor/)
も触ってみたんですが、
- 動作がモッサリしてる
- ファイル保存周りとか、動きがおかしくなることが多々ある
- CSSの適用具合にやたらとムラがある
てな感じで、エディタとしては正直、使い勝手がよくなかったです。
ご参考までに。
Spring 3で直接JDBCのConnectionを取得して実行
Spring3はSpringJDBCだのMyBatisやHibernate連携だの色々と充実してるんですが、場合によってはめんどくせえから直接SQL投げさせろやみたいな時もありますよね。(糞畜生)
そんな時はこんな感じで。(データソース関連の設定はできてる前提です)
ApplicationContext.xml
<!-- jdbcTemplateを設定に追加 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"><ref local="dataSource"/></property> </bean>
例えば単純に、JDBCのexecuteUpdate()使って更新用のSQLを投げるだけのクラス(SQLExecUtils)は以下のようになります。
SQLExecUtils.java
import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.stereotype.Component; @Component public class SQLExecUtils { @Autowired JdbcTemplate jdbcTemplate; public void execUpdate(String sql) throws SQLException { Connection conn = DataSourceUtils.getConnection(jdbcTemplate .getDataSource()); Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); conn.commit(); } }
あとは実行クラスで
@Autowired SQLExecUtils sqlutils; // SQL実行 sqlutils.execUpdate("INSERT INTO ....");
とかやるだけです。「いちいちO/Rマッパーとか使ってらんないわー」みたいなときにどうぞ。
Spring3.1から導入されたflashスコープを使う
「リダイレクト先で完了メッセージを表示する」といったよくありがちな用途ですごく便利なSpring 3.1から実装された機能、「flash scope」なのですが、どうも昔ながらの設定ファイルで使われていたクラスだと使えないようです。
https://jira.springsource.org/browse/SPR-8782
詳しい説明はこちら。
http://www.infoq.com/jp/news/2011/11/spring-3.1-rc1-release
Spring 3.1にはアノテーションが付加されたコントローラでリクエストを処理するための新しいクラスが用意されている。RequestMappingHandlerMapping、RequestMappingHandlerAdapter、ExceptionHandlerExceptionResolverの3つだ。この3つのクラスはそれぞれDefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter、AnnotationMethodHandlerExceptionResolverの3つの代替物だ。これらの新しいクラスはアノテーションコントローラがカスタマイズ可能で拡張しやすいかたちでクラスをサポートできるようにするために開発された。将来はこれらのクラスを使うことが推奨されている。
というわけらしいのですが、ExceptionHandlerExceptionResolverについてはなくてもflashスコープを使う上では支障がなかったです。なんで、以下のような感じでApplicationContext.xmlを記述してあげるとよいのではないかと。
ApplicationContext.xml
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"> </bean> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="synchronizeOnSession" value="true" /> <property name="webBindingInitializer" ref="webBindingInitializer" /> </bean>
昔の古いApplicationContext.xmlとか流用してると、特にハマりそうですよね。
ちなみにSpring3とかSpring MVCとか触るなら、この本が結構良い感じでした。
J2EE系のアーキテクチャにある程度詳しくないとわかりずらい部分ありますけど、逆にそのへんを他のフレームワークとかで押さえてれば充分だと思います。
たまに筆者さんの愚痴っぽい解説が交じるのは、ご愛嬌って感じで。JavaのWebアプリっていろいろめんどくさいですよねー
Eclipse 4.2でのm2eclipseの入れ方と動的Webプロジェクト作成
なんか公式リンクが切れたりしてたので。
4.2系の場合、「Eclipseマーケットプレイス」から「m2eclipse」で検索して出てくるのを入れるのがいいようです。
いわゆる「動的Webプロジェクト」としてWTPからも利用できるようにしたい場合は、「Maven Integration for Eclipse WTP」もあわせてインストールしましょう。
あとは「新規」->「Maven」でアーキタイプとして「maven-archetype-webapp」を選べばOK。
「サーバ」から生成されたプロジェクトをデプロイして、http://localhost:8080/[project名]/ でハロワが出るはずです。あとはよしなにー
Mac OS Mountain Lionのダウンロードが始まらない
ダウンロードボタンを押しても特に何かイベントが発生するわけでもなく、アクティビティモニタを見ても通信している気配すらありません。
サーバが混んでるのかなーと思って今日まで待ってみてたんですが、特に何か変わるわけでもなく。
ネットワークがなんか調子悪いのかなーとか思ってルータ再起動とかWiMaxでとかも試してみたんですが、結局ダメでした。特にGoogle DNSとかプライベートファイアウォールソフトとかも入ってないですし。
で、結局、
「App Store -> Store -> ダウンロードが完了していない項目があるか確認」
としたら、もろにMT Lionのダウンロードが「一時停止」状態で固まっていて、どうやら、これが原因だったみたいです。再開ボタンを押したら今までの苦労が嘘のように元気に走り回るCPUファンの姿が。
20分くらいでダウンロードは無事終わりました。なんだかなー
coberturaでカバレッジが二回走る(2012/07版)
coberturaでカバレッジが二回走る に書いていた通り、なぜかJenkinsでは、mvn package と cobertura:coberturaでテストが二回走るんで、今まではそれぞれ別ビルドにして二回にわけて実行していました。
ところがこれが、なぜか今度はcobertura:coberturaはメインのmvnビルドにしないと怒られるという仕様に。
https://issues.jenkins-ci.org/browse/JENKINS-14552
なので結論としては、mvnのメインに
cobertura:cobertura
と書き、後処理とかに
package -Dmaven.test.skip=true
という感じで書くと良いようです。今のとこ。