タグ

javaに関するsmartstyleのブックマーク (61)

  • JUnit 4.12の新機能紹介まとめ - うさぎ組

    全国50万のJUnit4ユーザーさん。使っている言語とテスティングフレームワークののMLとGithubやBitBucketリポジトリを監視していると思うので今さらかもしれませんが、2014/7/30にJUnit4.12 Beta-1がリリースされました。 結構楽しい機能が追加されているので、見逃している方のために情報を共有させていただければと思います。 基的にリリースから抜粋しながら紹介ですがご容赦ください。 Release Notes junit/ReleaseNotes4.12.md at master · junit-team/junit · GitHub 全体の感想 JUnit4がおれの足元にやっと追いついたと思った。(今までJUnitとSpockを魔改造しまくってた。) テストランナー系 クラス階層化 JUnit魔改造コミュニティに朗報です。私たちのテストランナーでよしなにやっ

    JUnit 4.12の新機能紹介まとめ - うさぎ組
  • StrutsのClassLoader脆弱性はSAStrutsに影響しません - ひがやすを技術ブログ

    Struts2に見つかった脆弱性と同様の脆弱性がStruts1系にも見つかりました。 Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響 HTTP(S)のリクエストでJavaのClassLoaderのメソッドが呼び出せてしまうという脆弱性です。 もう少し噛み砕いて言えば、リクエストのパラメータをJavaBeansにセットする時に、リフレクションを使い、パラメータ名にaaa.bbb.cccのようなネストした名前をサポートしているフレームワークは同様の問題が起こる可能性があります。 パラメータ名をclass.classLoader.xxxのような感じにして、ClassLoaderのメソッドを呼び出す訳です。 このような問題を起こすリフレクションフレームワークで最も有名なのは、Apache Commons BeanUtilsです。リクエストのパラメータ

    StrutsのClassLoader脆弱性はSAStrutsに影響しません - ひがやすを技術ブログ
  • JavaBeansに対するリフレクションとClassLoader脆弱性 - ひがやすを技術ブログ

    今回の問題は、(SA)Strutsだけの問題ではなく、いろんなフレームワークでもちゃんと調べた方が良い話しなので、もう少し詳しく書いておきます。 Javaで、JavaBeansのプロパティにアクセスする場合、 PropertyDescriptor[] descriptors = Introspector.getBeanInfo(クラス).getPropertyDescriptors();で取得できるPropertyDescriptorを使うことがほとんどです。この中に、classプロパティは含まれます。 ここまでは良くて、ネストしたリクエストパラメータ(class.classLoader.xxxなど)をJavaBeansにセットする時に、BeanInfo.getPropertyDescriptors()で取得したものをそのまま使うのが問題なのです。 Seasar2(BeanDesc)では、

    JavaBeansに対するリフレクションとClassLoader脆弱性 - ひがやすを技術ブログ
  • Amazon.co.jp: Javaプログラミングの処方箋: ひと味違うコードを書くための50の鉄則: arton, 宇野るいも: 本

    Amazon.co.jp: Javaプログラミングの処方箋: ひと味違うコードを書くための50の鉄則: arton, 宇野るいも: 本
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • もうエンタープライズJavaなんて捨ててしまえ - ひがやすを技術ブログ

    これまでずっとなるべく言わないようにしていたのだが、もう平たく/明快に言うことにしました。 1)エンタープライズJavaはもう立ち直れないと思う。 だから、 2)GAEを勉強してそのままクラウドというバズワードに踊らされる道を真剣に考えてみて欲しい。 これまでは、1)は言わずに、2)だけ言ってきた。で、「クラウド」の中でも、私が知っている「GAEで開発する」ことの楽しさをなるべく具体的に紹介するようにしてきた訳なのであるが、前半も言うことにしました。 その理由は、若い人に早く気づいて欲しいから。年を取ったら駄目、というわけではないが、あるフレームワークになれて、その経験が長くなってくると、進路変更は大変になる。ところが、多くの人が「もはやそのフレームワークは、時代にあっていない」と気づく頃には、そういう「進路変更大変状態」になってしまっていることが多い訳です。 というわけで、明言することに

    もうエンタープライズJavaなんて捨ててしまえ - ひがやすを技術ブログ
  • 自分の仕事を憎むには人生は余りにも短い

    mjaiという麻雀AI対戦サーバの仕組みがあるのでこれのAIを開発してみたい gimite.net とりあえず対戦サーバをインストールして動かすところまでは以下とかを見てできるのだが自分で新しいAIを作ってみようと思うとなかなか大変だったのでメモ 麻雀AI対戦サーバMjaiのインストール #Ruby - Qiita 方針 何事にも先達はあらまほしきことかなというのが持論なので誰かが作ったものを改造していきましょう。 件gimiteさんの王道AIであるhttps://github.com/gimite/mjai-manueをベースにします。 ライブラリ取得 体であるmjaiとmjai-manueをローカルにcloneしましょう。 https://github.com/gimite/mjai https://github.com/gimite/mjai-manue で、ここから動かすのが結

    自分の仕事を憎むには人生は余りにも短い
  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:最近Java周辺が面白い - livedoor Blog(ブログ)

    的に技術的なことからは遠ざかってるのですが、最近あまりにもわくわくさせられることが多いので、少しクールダウンするためにもはき出してみます。 GAEJでは多言語の利用が可能ということで盛り上がってますが、JVMというプラットフォームのおかげでクラウド上でも色んな言語で(Java SEのAPIを利用しながら)色んなアプリケーションを作れるということでもあり、それはつまりAzureはGAEの.net版だと考えることも出来るのだよなぁと思うと、Chromeの存在も含めてMS vs GoogleのWebOS戦争の様相を呈してきたなと感じられます。それはSun vs MSの分散プロトコル戦争(RMI vs DCOM)にも似てる気がして、そうするとAmazon EC2などは上手い距離感だなぁと感じたりもします。結果としてロックインしませんというスタンスをアピール出来るわけですから。中庸とはこういうこ

  • Java Programming Tipsクラスローダーを自作する方法

    【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu

    Java Programming Tipsクラスローダーを自作する方法
  • OGNLよりも軽量/高速で表現方法もシンプル - 式言語実装「MVEL」 | エンタープライズ | マイコミジャーナル

    5日(米国時間)、The CodehausにおいてMVELの最新版となる「MVEL 1.2」が公開された。MVELはJavaベースのアプリケーション向けに開発された強力な式言語実装。OGNLとよく似た言語で、提供している機能も同じようなものだが、OGNLと比較して動作がきわめて高速だという特徴がある。 MVEL 1.2は多くの機能が追加されたメジャーアップデートリリース。キャッシュの必要性を削減した高速なランタイム実装、型変換APIの改善、ラインデバッガAPIの導入、インライントランスパレントJITバイトコードコンパイラの提供、きわめて高速なリフレクションベースのオプティマイザの導入、プリコンパイルやキャッシングを実施しなくとも効率よく実行できるインタプリタの実現、シンタックスの改善、Pythonスタイルのクラス/関数リファレンスの実現、コンパイラの最適化など、多くの面で機能追加と改善が実

    smartstyle
    smartstyle 2008/08/27
    上司はたまにこういうのさくっと探してくれるので助かる。
  • 第1回Wicket勉強会を開催しました - 矢野勉のはてな日記

    Java, Wicket追記: ustream放送の録画です http://www.ustream.tv/recorded/601826 8月1日にWicket勉強会を開催しました。15名くらいはあつまるかなあと思っていましたら50名の応募がありました。ありがとうございます。 結局会場スペースの都合で30名+発表者ということにしたのですが正直入りきるのかどうかちょっと不安でした。がしかし思ったよりも余裕ありましたね。バランスボールなどを駆使して一応全員何かに座れたようでした。会場はXarts株式会社様東京オフィスをお借りしました。ありがとうございました。 あと、当日のustreamはmesoさんのノートパソコンで行いました。結局最初から最後までustreamに使ってしまいましてすみません。ありがとうございました。 やの私の発表は例のみんな大好きなショートメッセージサービスを150行で動かそ

  • Strutsの常識を知り、EclipseとTomcatの環境構築 (1/4) - @IT

    Strutsの常識を知り、EclipseとTomcatの環境構築:Webアプリの常識をJSPとStrutsで身につける(2)(1/4 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です いまさら聞けないStrutsの常識 今回は、「Strutsの常識」と題し、Webアプリケーションフレームワークの1つであるStrutsについての概要を説明したうえで、JDKやEclipse、TomcatなどのWebアプリケーション作成の環境構築を行い、サンプルプログラムを実際に作成してみましょう。 連載第1回の「いまさら聞けない、Webアプリケーションの常識」で、「連載ではStrutsを取り上げていきます」

    Strutsの常識を知り、EclipseとTomcatの環境構築 (1/4) - @IT
  • HugeDomains.com

    smartstyle
    smartstyle 2008/07/31
    これがあればnative2asciiはいらない、と。
  • WTPとStrutsを使用したアプリケーション開発

  • サーバサイドJava入門 Java DBによるデータベースアクセス:CodeZine

    はじめに サーバサイドで各種のデータを管理する場合、テキストファイルなどで済ませるケースはあまり多くないでしょう。やはり、ある程度以上の規模ともなれば、データベースで管理をすることになります。一般的には「SQL(Structured Query Language)」と呼ばれる問い合わせ言語を使ってデータベースに問い合わせを行うタイプのものが多用されます。このデータベースにSQLを使ってデータアクセスをする方法について説明をしていくことにしましょう。対象読者Javaの基(文法全般および基的なクラスライブラリの使い方程度)をマスターしている人。サーバサイド(JSP、サーブレット)について基礎から勉強したい人。Eclipse WTPを使った開発に興味がある人。 Java DBの利用について SQLに対応したデータベースは多数存在します。ここでは、Java 6よりJDKに標準で組み込まれること

  • InfoQ: Kilim - Java で利用できるアクタとメッセージパッシング

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: Kilim - Java で利用できるアクタとメッセージパッシング
  • Javaの性能を分析する10のツール | エンタープライズ | マイコミジャーナル

    JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な

  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

  • 名詞の王国 - あどけない話

    「君のプログラミング言語で、これ、できる?」で紹介されていた「Execution in the Kingdom of Nouns」を訳してみました。英語よりも、つたない日語訳の方がよい方は、どうぞ。 おかしな訳があれば、教えて下さい。適宜、訂正します。 「C の関数はファーストクラスじゃないよ」などの突っ込みは、原文の著者へどうぞ。 名詞の王国での実行 彼らには気分ってものがある。ものによるが...特に動詞がそうだ。誇り高いことったらない...形容詞相手ならなんとでもできるが、動詞はどうしようもない...じゃが、このわしにかかれば皆思いのまま! -- ハンプティ・ダンプティ 世界のみなさん、こんにちは!今日は、邪悪な王 Java の物語と国中の動詞を滅ぼした彼の冒険について語ろう。 警告:この物語は幸福な結末を迎えない。心臓の弱い人や批判家向けではない。もし、あなたが怒りっぽい性格である

    名詞の王国 - あどけない話