日刊きむきむちゃんねる。 このページをアンテナに追加 RSSフィード

Information

2016年04月09日(土)

[]Javaフレームワーク開発入門 Javaフレームワーク開発入門を含むブックマーク

一度廃盤になりましたが、Kindle版で購入出来るようになっています。

http://www.amazon.co.jp/exec/obidos/ASIN/4797353406/amazonbooks08-22/ref=nosim

2014年05月07日(水) このエントリーを含むブックマーク

[S2Struts][Seasar][Struts]Strutsの脆弱性の続編

Struts1.2.9を利用の方は、CodeLibs Struts (cl-struts)に差し換えることで

前回ブログに書いた内容の脆弱性を回避できます。

https://github.com/codelibs/cl-struts/

groupId:org.codelibs.struts

artifactId:cl-struts

version:1.2.9.1

2014年04月25日(金)

[][][]Strutsの脆弱性 Strutsの脆弱性を含むブックマーク

http://qiita.com/kawasima/items/670d2591bc8fea19dc1d

http://d.hatena.ne.jp/Kango/searchdiary?word=*%5B%C4%B4%A4%D9%A4%C6%A4%DF%A4%BF%5D

S2Struts(1.2.X,1.3.X両方とも)は、問題の部分はStrutsに依存しているため、直に影響を受けてます。


利用している方は、下記のようなフィルターを適用することで回避できます。


http://www.mbsd.jp/news20140422.html

http://www.mbsd.jp/img/testFilter.java


とりいそぎ。


追記:Formを利用しないで、POJOのActionだけで作ってあるようなアプリは問題ありません。(1.2.X,1.3.X両方とも)

追記:フィルターでの対応はmultipart/form-dataのPOSTに対しては無力なので、一番最初のリンクでの対応をするとマルチパートにも対応できます。(commons-beanutilsのバージョンが1.8.0以降での対応なのでpom等の修正も場合によって必要)

2012年05月17日(木)

[][][]『Eclipseで学ぶはじめてのJava 第3版』読者セミナーのお知らせ:〜他の会社の女子と一緒にプログラミングをしてみませんか?〜 『Eclipseで学ぶはじめてのJava 第3版』読者セミナーのお知らせ:〜他の会社の女子と一緒にプログラミングをしてみませんか?〜を含むブックマーク

ソフトバンククリエイティブと『Eclipseで学ぶはじめてのJava』シリーズの著者である木村聡は、

世界を変えるような製品やサービスを世に送り出すために、多様な経験、

アイディアや文化を持ったプログラマが育つことが重要であると考え、

より多くの方がプログラマとして活躍できるよう、読者セミナーを実施します。

「JavaやEclipseについてもっと知りたい」「社外の勉強会、セミナーに参加しようか迷っている」という方を対象に、

Eclipseで学ぶはじめてのJava 第3版』読者セミナー を開催します。

お友達をお誘い合わせの上、ぜひお気軽にご参加ください。


●日時: 6 月 8 日(金)19:00〜21:00

●会場: ソフトバンククリエイティブ(株) 6F 会議室3・4

●会場所在地: 東京都港区六本木2-4-5

●地図: http://yahoo.jp/dbKE5t

●対象: JavaあるいはEclipseに興味を持っている「女性」と「男性」(社会人・学生を問いません)

●内容:

・ Java7で追加になった構文について

Eclipseに空気を読ませて楽する術

・ TDDのリズムをプログラミングのデモにて体感

※ 内容は変更になる場合があります


参加登録: 6 月 4 日(月)正午までに、こちらよりお申し込みください。


●参加費: 無料


●その他:

※ 応募者多数の場合は、課題を出す場合がありますので、あらかじめご了承ください。

(特定のハッシュタグをつけてTwitter上でつぶやくなどの簡単な課題です)

※ さらに、課題達成者多数の場合は、若手社会人・学生を優先とさせていただきますので、あらかじめご了承ください。

※ ご参加いただく方には、6 月 6 日(水)までに確認の連絡をします。

※ 当日は、筆記用具などをお持ちください。

※ 普段の服装でお越しください。

※ 基本的にセミナーにPCは不要です。


皆様のご参加を心よりお待ちしております。


テンプレ

http://googledevjp.blogspot.jp/2012/05/google-technical-workshop.html


●お申し込みはこちらから

女性枠:http://www.zusaar.com/event/294001

男性枠:http://www.zusaar.com/event/294002

2012年03月04日(日)

[]Eclipseで学ぶはじめてのJava 第3版が出ます Eclipseで学ぶはじめてのJava 第3版が出ますを含むブックマーク

 Amazonでは第2版が一時的に在庫切れになったりしていますが、4月に第3版が出版予定です。

 授業の教科書としても利用されているらしく不安な方もいると思いますが、もう少しで次の版が出ますので、ご安心ください。

 ちなみに、Java7で新しく追加された構文やAPIの事もちゃんと追記しています。

2011年09月27日(火)

[]「Eclipseで学ぶはじめてのサーブレット&JSP」 「Eclipseで学ぶはじめてのサーブレット&JSP」を含むブックマーク

Eclipseで学ぶはじめてのサーブレット&JSP」という本を執筆しました。

Eclipseで学ぶはじめてのサーブレット&JSP

Eclipseで学ぶはじめてのサーブレット&JSP

内容は Servlet3.0 で、プロトコルの説明から入り、最終的に簡易Twitterアプリケーションを作るというものです。

Webということで(?)、T2プロジェクトの id:c9katayama, id:shot6, id:skirnir, id:yone098 にもガチンコのレビューをしてもらいました。

Servlet3.0 は結構良いので、よければお手にとって見てみてください。だって、web.xmlを書かなくて済むんだから。

Amazonなどでは既に予約できます。10/1発売となっていますが、9/28くらいには書店に並ぶと思います。

dd4d4kyddd4d4kyd 2011/12/09 11:22  6章の簡易twitterアプリを作成しているのですが、どうしてもエラーが出ます。
358ページまでのコードを書いたのですが、ユーザー登録ができずエラーになります。一応サポートサイトの6章をダウンロードしてそのままeclipseにコピーしてみたのですが、それでも同じエラーが発生します。
エラー内容

HTTPステータス 500
説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

java.lang.NullPointerException
chapter6.utils.DBUtil.rollback(DBUtil.java:69)
chapter6.service.UserService.register(UserService.java:33)
chapter6.controller.SignUpServlet.doPost(SignUpServlet.java:46)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
chapter6.filter.EncodingFilter.doFilter(EncodingFilter.java:30)

skimuraskimura 2011/12/09 19:36 DBに接続できない(例えば、HSQLDBが起動されていない)や、
CREATE TABLEしていない可能性などが考えられますが、どうでしょうか?

原因がつかめないようでしたら、下記のようにコードを変更してみてください。

} catch (RuntimeException e) {
e.printStackTrace(); // この行を追加
rollback(connection);
throw e;

2011年02月10日(木)

[]お薦め 「Javaルールブック 〜読みやすく効率的なコードの原則」 お薦め 「Javaルールブック 〜読みやすく効率的なコードの原則」を含むブックマーク

献本ありがとうございます。

Javaルールブック 〜読みやすく効率的なコードの原則
大谷 晋平 米林 正明 片山 暁雄 横田 健彦
技術評論社
売り上げランキング: 96170

執筆はT2メンバーでおなじみの大谷 晋平さん、米林 正明さん、片山 暁雄さん、横田 健彦さん、監修はISIDです。

今回、私はレビュアーとして参加しました。


Java1.4以前のベースがあるために、Java5以降の構文などを後ろの方で付録的に扱っている書籍やコーディング規約もありますが、

そうではなく、今の現状に合わせた内容としてJava5以降の事柄も当たり前としてきちんと記述されています。


「プログラマが知るべきの97のこと」という書籍がありますが、このJavaルールブックに関しては、知っておくだけではなく、実際にコーディング出来ておいて当たり前のことが非常に多く書かれています。別のタイトルをつけるなら「Javaプログラマが出来ておくべき○○のこと」でもOKだと思います。

出来るためには、先に知っておく必要がありますよね。なので、是非読んでください。


もちろん、プロジェクトごとに異なるルールもありますよね。そういう場合でも大丈夫です。

書籍の中で、ルールにはランク付け(★★★★★ほぼ無条件で適用〜★このようなやり方もあるという紹介まで)

がされているので、この★の数を見ることでカスタマイズするときの指針にも使えます。


それから、付録によく使う「Eclipseのショートカットの一覧」が載っているのも非常にうれしいです。


お勧めしたい方

 仕事でJavaを使う人全員


それから、全国発売は2/15からですが、2/7から下記の書店で先行販売しているそうです。

・紀伊国屋 新宿本店

・紀伊国屋 新宿南店

書泉ブックタワー

・三省堂神田神保町本店

有隣堂ヨドバシAKIBA店

ジュンク堂 池袋本店

・丸善丸の内本店


というわけで、書店でみかけたらチェックしてみてください。

そしてそのままレジにGOしてくださいw

2011年01月18日(火)

[][]samurai-aop-interceptors-V1.0.1リリース samurai-aop-interceptors-V1.0.1リリースを含むブックマーク

http://code.google.com/p/samurai-aop/


リリースしました。


・Bug

 なし

・Improvement

 なし

・New Feature

 AsyncInterceptorを追加しました。


# samurai-aop-coreは、1.0.0のままで変更はありません。


某金融機関で使ってるという実績ができた。

[][]『Eclipseで学ぶはじめてのJava 第2版』の在庫が252冊 『Eclipseで学ぶはじめてのJava 第2版』の在庫が252冊を含むブックマーク

在庫が252冊と連絡がきました。

ご購入はお早めに。

http://www.amazon.co.jp/dp/479735903X/

2011年01月12日(水) 11インチ = 27.94 センチメートルらしい このエントリーを含むブックマーク

2010年12月22日(水) 『参加した』

[]logger.isDebugEnabled()とか logger.isDebugEnabled()とかを含むブックマーク

http://d.hatena.ne.jp/wkoichi/20101128/p1


ログ出力が単純な文字列だけならあまり気になりませんが、

文字列連結をしているような場合や

logger.debug("BEGIN ["+ hoge + "]");

メソッド呼び出しを行っている場合や

logger.debug("BEGIN ["+ hoge.getClass().getSimpleName() + "]");


文字列だけしか出力しないログでfor文の中で大量にログ出力する場合なんかでも、

ログにコードの行数を出力する設定をしていると、Log4Jの中で例外をスローしまくり(GCしまくり)なので効果があります。



入門書とかで触れといた方がいいのか?

wkoichiwkoichi 2010/12/23 00:02 if文でいくら分岐しようがdebugレベルのログを取得したい時には結局ロギングしますよね?
その際には例外をスローしまくるというように読めましたが、その理解は間違ってないですか?
それとも、僕が読み取れてない前提条件がありますか?

フレームワークのような使われ方が想定しきれいないコードを書いたことがないので、こういう問題に突き当たったことがないのです。
そもそも、プロダクトコードをJavaで書いたこともないですが。

skimuraskimura 2010/12/23 13:12 > if文でいくら分岐しようがdebugレベルのログを取得したい時には結局ロギングしますよね?
> その際には例外をスローしまくるというように読めましたが、その理解は間違ってないですか?
> それとも、僕が読み取れてない前提条件がありますか?

常にdebugレベルなら、if文を書く意味は無いです。
前提としてはINFO以上にしたときに効果があるということです。

> フレームワークのような使われ方が想定しきれいないコードを書いたことがないので、こういう問題に突き当たったことがないのです。
> そもそも、プロダクトコードをJavaで書いたこともないですが。

ロギングの話は、フレームワークに限った話ではないですね。
プロダクトコードでも同じです。
あと、Javaに限った話でもないです。例えばRubyには「isDebugEnabled()」に相当する「debug?」というのがあります。

wkoichiwkoichi 2010/12/26 01:38 いやいや、debugレベルでログを取ることを想定しているから、logger.debug()とコードするけれども、普段はdebugレベルログを出力しないようにしているので、パフォーマンスが劣化しないようにif文を書きましょうという主張ですよね。それは、分かってるんですよ。

ただ、Log4Jの中で例外をスローしまくりなんて書いてあったので、結局debugレベルのログが欲しいときには例外をスローしまくるんですか?という質問だったのです。趣旨から外れた質問だったので、誤解させてしまったようですが。Javaで書いたことがないのでって書いたのは、Log4J特有の問題なんかは知らないよというアピールのつもりだったのですが、わかりにくかったですね。

しつこいですけど、個人的な経験ではログメッセージを組み立てる位のオーバーヘッドは、問題になったことがないんですよね。だから、パフォーマンスと可読性(ノイズは一行たりともコードに持ち込みたくない)を天秤にかけて、if文はやっぱり書かないですね。もし、問題になったら、その時に考えますよ。

skimuraskimura 2010/12/30 02:07 ログレベルに関係なく、ログ情報として「行数を出力する時」は例外がスローされます。これは特有の問題です。
最初からパフォーマンスを意識するよりは、キレイなコードを書いた方が良いとは思いますが、
よく利用されるライブラリや〜Utilのようなクラスはその辺を意識した方がエコですね。