タイトル/名前 | 更新者 | 更新日 |
---|---|---|
Java/ポストJSP時代のモダンViewコンポーネントメモ | msakamoto-sf | 2013-02-03 18:00:13 |
Groovy/Grails/GSPだけをGrailsから切り離して使えるか?(2013-02-02時点) | msakamoto-sf | 2013-02-03 16:54:16 |
技術/vim/メモ5, uniteとVimFiler入門メモ・参考リンク | msakamoto-sf | 2013-01-28 08:17:53 |
技術/shell/bashシェルスクリプトまとめメモ | msakamoto-sf | 2013-01-28 08:09:37 |
日記/2013/01/19/Eclipseのアップデートで出てたよくわからないエラー (Bug 397495) | msakamoto-sf | 2013-01-19 11:53:48 |
技術/TDD/JUni 4.10 と TestNG 6.x系 機能比較(by JUnit実践入門) | msakamoto-sf | 2013-01-14 18:45:26 |
技術/TDD/WebBrowserAutomation | msakamoto-sf | 2013-01-06 15:43:06 |
技術/Windows/NTFSの外付けHDDのファイルにアクセス出来ない時は・・・(takeown, icacls) | msakamoto-sf | 2013-01-06 15:39:10 |
技術/TDD/TestNG | msakamoto-sf | 2013-01-06 15:21:12 |
日記/2013/01/06/fork(2)とexec(2) | msakamoto-sf | 2013-01-06 15:09:04 |
2013-02-02時点で、JSP以外のモダンなViewコンポーネントについてメモ。
元ネタ:
その1:FreeMarker
その2:Thymeleaf
その3:mustache
その4:StringTemplate
その他(Velocityなど)
GrailsのGSPは便利で使い勝手が良い。そのため、Grailsを使うまでもないケースや、あるいはJavaメインのWebアプリで、GSPの機能だけを単独(standalone)で使いたい、という要望が当然ながら出てくる。
しかしながら、2013-02-02現在では、GSPをstandaloneで使うための公式な手法は存在してないようだ。
以下、その結論に至るまでの簡単な調査メモ。
GSPを使うメリット:(あくまでも個人的な意見です。)
もともとGSPはGroovy本体に含まれていたが、どこかの時点で "https://gsp.dev.java.net/" (2013-02-02時点でリンク切れ)にスピンアウトし、さらにその後Grailsに取り込まれたらしい。
勿論、「GSPを単体で使いたい!」というのは洋の東西を問わず求められている:
Grailsにも要望は挙げられているが・・・一向に動きがないことにしびれを切らしたかは分からないが、個人ベースで単独でGSPを使えるようにした事例があるものの、大きく進展はしていない・・・。
Groovy/JavaのWeb開発で、もうちょっとまともに使える、HTML向けのテンプレートエンジンが無いか探している途中で調べたのが以上になります。もし、GSP以外でより良いHTML向けテンプレートエンジンがあれば、GSPはGrailsオンリーと割り切って特に頭を悩ます必要は無くなるかもしれません。
uniteとVimFiler触り始めました。入門メモというか参考リンク。
"新しいタブを開いてファイルを編集 let g:vimfiler_edit_action = 'tabopen'
bashでのシェルスクリプトの情報源:
"PS1"等のプロンプトに使えるエスケープシーケンスも、上記manページ中に解説があります。
他、/etc/rc.d/ 以下の各種サービス起動スクリプトが参考になります。
日記/2013/01/05/Eclipse 4.2(juno SR1)のアプデートでよくわからないエラーログが出てた で報告した、Eclipseのアップデートで出てたよくわからないエラーで Bug Report 書いた件ですが、それ以前に同様の現象がreportされてて、問題の原因も一緒で対策も終わったらしいので、duplicated & fixed として無事処理されました。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=397495
原因としては・・・正直良くわかってないんですが、update siteのURLの記載とかでいろいろ以前から構成が汚かったみたいで、いろいろ整理してたらしく、update siteのローディング機構にも手を入れてたみたいで、その過程でちょっと改善が必要な点が残っててそれが原因だったようです。(ホントよくわかりませんが)
とにもかくにも、Juno SR2で修正内容がリリースされるようです。
「(僕の知ってる限りでは)このエラーで何か壊れてしまうようなことは無いよ!」とのコメントも付いてますので、Juno SR2まで待たなくとも、日常の利用では特に問題ないようです。
JUnit実践入門(初版)での JUnit 4.10 をベースに、書籍で紹介されている主要なJUnitの機能が TestNG 6.x で提供されているか比較してみました。
※全JUnit4.x系と全TestNGの6.x系のすべてのchangelogやコード、JavaDocを精読して調査したわけではありません。Googleでざっくりと検索した結果のまとめ記事になります。JUnit4.x系も、TestNG6.x系もそれぞれ活発に開発が続けられてますので、本記事で紹介している参考URLの内容や本記事の内容自体も近い将来、内容が古くなる可能性があります。随時気づいたら更新して行きたいとは思いますが、あくまでも 2013-01-14 時点でざっくり調べた範囲でのスナップショットとしてご了承ください。個人的にはTestNGラバーのため、JUnit4.xの最新状況を調べきれてない所も多々あると思います、ご容赦願います。
テストの自動化におけるWebブラウザ操作の自動化関連のメモ。
Selenium WebDriverについて:
Selenium Gridについて:
GroovyとSeleniumの組み合わせ→Geb:
例:PCの移行で、旧PCからNTFSのUSB接続HDDにデータをコピー→新PCにコピー→アクセス出来ないで怒られる→プロパティでセキュリティタブを開いてみるも、編集も何も出来ないためアクセス権を変更できない→手詰まり。
解決方法:
takeownコマンド参考:
icaclsコマンド参考:
TestNGのメモ。
powermockとTestNGの組み合わせ:
MavenとTestNGの組み合わせ:
JUnitとTestNG、その設計思想からの差異について(主にテスト実行単位のインスタンス生成について)
unixのシステムコールを1年以上触ってなかったので、fork(2)とexec(2)の関係ど忘れしてしまい、
「メモリ空間引き継がれるんだから、fork-execしたあとの子プロセス側ではmain()のargvって親プロセスのargvを参照できるのかな~」
などと呆けた疑問をもとにとりあえずman 2 forkとかman 2 execveとかしてみたところ、
「あ、exec(2)ファミリーってargvとか指定できるじゃん、ど忘れしてた・・・。」
となったところで、
「ん?exec(2)ファミリーでargvとか指定すると、結局どういうメモリ操作が行われるんだ?」
と新たな疑問が出てきたんですが、それを突っ込み始めると結局カーネル内部のプロセス管理に話が飛んでしまい手におえないので華麗にスルーしました。