タグ

programmingとjavaに関するthraktのブックマーク (141)

  • HOT reloadingとClassLoaderを理解しよう - ひがやすを技術ブログ

    JavaではClassはClassLoaderに読み込まれます。これはほとんどの人が知っていると思います。AOPを使うときのエンハンスされたクラスも同様にClassLoaderに読み込まれます。 これらの情報は、パーマネント領域に格納されますが、ClassLoaderがGCされると解放されます。 Seasar2のHOT reloadingでは、リクエストの度にClassLoaderを作って、そこにClassをロードし、そのClassLoaderは、リクエストが終わったら破棄しているので、Classの情報は、リクエストごとに破棄されています。 HOT relodingによって、パーマネント領域が使いつくされることはありません。 さらっと書きましたが、きちんとClassLoaderを破棄するのは、かなり大変です。リフレクションの情報がキャッシュされているとそれだけで破棄されなくなってしまうから

    HOT reloadingとClassLoaderを理解しよう - ひがやすを技術ブログ
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
  • EclipseでJava版App Engineを始めるための基礎知識

    EclipseでJava版App Engineを始めるための基礎知識:Google App Engineで手軽に試すJavaクラウド(1)(1/4 ページ) Google App Engineがやって来るJa!va!だぁ! 米グーグルは2008年4月7日、Pythonで作成したプログラムが動くクラウド・コンピューティング環境「Google App Engine」(以下、GAE)を発表しました。それからちょうど1年後の2009年4月7日、GAEはPythonに加えてJavaへの対応(以下、GAEj)を発表しました(参考:グーグルのクラウドがJava対応、JRubyも稼働か)。 2008年のGAE発表当初、日ではPythonのプログラマ数があまり多くなく、反響もいまひとつの感じがありましたが、今年になって開発者や利用実績が多いJavaに対応したことで、GAEのユーザー数が一気に増加する可能性

    EclipseでJava版App Engineを始めるための基礎知識
  • Hibernateで覚えるO/RマッピングとBeanの常識

    Hibernateで覚えるO/RマッピングとBeanの常識:Webアプリの常識をJSPとStrutsで身につける(9)(1/3 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です 前回の「MySQLの常識を知りセットアップしてJSPからDB操作」では、アプリケーション開発におけるデータベースとの連携と、その仕組みを説明しました。 今回は、データベース操作において重要なO/Rマッピングや、長らく連載で触れながら説明できなかった、MVCモデルの「Model」の部分であるBeanについて説明していきます。今回も引き続きMySQLを使用するので、環境作成がまだの読者は前回の記事を参照しておいてくださ

    Hibernateで覚えるO/RマッピングとBeanの常識
  • 【レポート】JARがJAMに進化する! - Java SE 7で導入されるJava Module Systemを探る (1) Mavenで解決できない問題に対処 | エンタープライズ | マイコミジャーナル

    皆さんは、JSR-277として提案されている「Java Module System」をご存知だろうか。Java 7に導入される予定の仕様であり、ドラフトがこちらのサイトで公開されている。 Java SE 7では、広範にわたって様々な変更が行われると考えられており、その変化の度合いはJ2SE 5.0を上回る可能性があると指摘されているほどだ。なかでもJava Module SystemJavaプログラムのパッケージング、配布、実行の方法を根から変えてしまう可能性のある、魅力的な仕様だ。今回その詳細について調査を行ったので、レポートしたいと思う。なお、稿はEarly Draftバージョンを基にしているので、正式リリースまでに仕様変更が生じる可能性がある。この点はあらかじめご容赦いただきたい。 Java Module Systemが解決しようとしている問題は以下のようなものだ。 使用してい

  • [ThinkIT] 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)

    この連載は、WebアプリケーションのテストツールであるSelenium(セレニウム)についてサンプルを用いながら概要と基的な使い方を解説していきます。連載第1回の今回は、Seleniumの概要について紹介します。 Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。 そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。 より重要なことは「自動化することによって試験を繰返し実施できる」こと

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

    thrakt
    thrakt 2009/06/03
    これは便利・・・ 今まで全部自前で実装してたがな・・・
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Java での不変オブジェクト?? - 宇宙行きたい

    リフレクションは黒魔術っぽいなぁと思うわけです. Field value = String.class.getDeclaredField("value"); Field count = String.class.getDeclaredField("count"); value.setAccessible(true); count.setAccessible(true); value.set("hoge", "bar".toCharArray()); count.set("hoge", "bar".length()); System.out.println("hoge"); System.out.println("hoge".equals("bar")); これの結果が bar trueになったりします. (あ,コンパイラによっては違うかも……) 折角なので String を可変オブジェクト

    Java での不変オブジェクト?? - 宇宙行きたい
  • ORM比較(3) - EclipseLink - しがないプログラマ の日記

    ちょっと前にJPA2.0の参照実装に決まった、EclipseLink(元『TopLink Essentials』)です。名前の通り、Eclipseプロジェクトのサブプロジェクトになっています。これから有名になりそうなライブラリですね。 プロジェクトの公式ページは http://www.eclipse.org/eclipselink/ になります。 動かすために必要なライブラリは、上記のページからDownloadしたら揃う様になっていますね。実際には以下の通りです。 eclipselink.jar javax.persistence_1.99.0.jar javaxactivation_1.1.0.jar javax.mail_1.4.0.jar javax.xml.bind_2.0.0.jar javax.xml.stream_1.0.0.jar jaxb-impl.jar jaxb-xj

    ORM比較(3) - EclipseLink - しがないプログラマ の日記
  • グーグルのクラウドがJava対応、JRubyも稼働か - @IT

    2009/04/08 グーグルは4月7日、利用者が作成したアプリケーションをスケーラブルなホスティング環境で稼働させられるクラウド系サービス「Google App Engine」で、新たにJavaをサポート言語に加えたと発表した。現在、早期テスト版として1万ユーザーに限定してSDKを提供している。 提供するJavaランタイムや、そのほかのApp Engine上のサービスはJSRなどの標準に従っているため、Java開発者は違和感なくApp Engineを利用できるという。既存のサーブレット環境からのアプリケーションをApp Engine上に移植するのは容易としている。今回新たにEclipse用プラグインでApp Engineをサポート。GWT(Google Web Toolkit)を使った開発も可能だ。 Java 6対応のサンドボックス化したJVM Google App Engineはグーグ

  • 「Google App Engine」でのJavaサポート--切り開かれたメインストリームへの道

    カリフォルニア州マウンテンビュー発--「Google App Engine」はローンチから1周年を迎えた米国時間4月7日、コンバージェンステクノロジに関し、メインストリームへといくらか前進した。同時に現在、クラウドコンピューティング全般の概念が受け入れられつつある。 クラウドコンピューティングでは、企業サーバや個人のPCで稼働するソフトウェアではなく、インターネットでアクセス可能なサービスとしてアプリケーションを提供する。それは、「Amazon Web Services」の場合のように、組み合わせ可能な「未加工の」コンピューティングサービスから、写真編集サイトの「Picnik」やSalesforce.comの顧客管理サービスのような完成した製品まで、あらゆるものを意味する可能性がある。Google App Engineは中間のレベルにあり、汎用的な基盤を提供している。 Google App

    「Google App Engine」でのJavaサポート--切り開かれたメインストリームへの道
  • グーグル、「App Engine」でのJavaサポートを発表

    カリフォルニア州マウンテンビュー発--Googleは米国時間4月7日、Googleのコンピュータインフラでソフトウェアを動かすクラウドサービス「Google App Engine」に、Javaサポートを追加することを発表した。 App Engineは現在、Pythonで書かれたアプリケーションのみをサポートしている。PythonGoogleエンジニアの間で人気の言語だが、一般的には広く使われている言語ではない。一方、Javaは企業のサーバソフトウェアでよく利用されており、JavaサポートはApp Engineでもっとも要求されている機能だった。 Googleの開発担当ディレクターを務めるGraham Spencer氏は、7日午後に開催されたGoogleの開発者向けイベントGoogle Campfire Oneで、「App EngineでのJavaサポートのアーリープレビューを紹介できる

    グーグル、「App Engine」でのJavaサポートを発表
    thrakt
    thrakt 2009/04/10
    バイトコードが動くって事なら他の言語も・・・
  • http://blog.collectivemeta.com/2008/09/ci-bayes-java.html

  • はじめて使うProject Zero

    記事では、IBM発の次世代Webアプリケーションプラットフォーム「Project Zero」の概要と、AppBuilderによるRESTサービスの開発およびFlowの開発について紹介します。Project ZeroはJavaで構築されており、「シンプルで軽量」「アジャイルな開発スタイル」「Web2.0との親和性」「マッシュアップ」「ワンストップ」「Java資産の有効活用」といった特徴があります。 Project Zeroとは? ここ数年で、Webアプリケーション開発の分野は大きく様変わりしました。Web2.0というキーワードで代表されるような、高機能で使い勝手のよいWebアプリケーションが当たり前のように求められるようになり、AjaxやREST、マッシュアップをいかに使いこなすかということが重要になってきています。また、従来に比べ開発期間が短縮される傾向にあることも、最近のWebアプリケ

    はじめて使うProject Zero
    thrakt
    thrakt 2009/03/11
    導入方法がわからなかったのでありがたい / 紹介を聞いた感じだとすごい面白そうだったけど、はたして
  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS

    こんな名前のAPIがありますね。主にXMLの読み込みを行う為のAPI群であります。SAX以外は、書き出しもできますね。そう、SAXは書き出しできないのですね、基的に。 <foo> <bar>baz</bar> </foo> っていうもの凄い単純なXMLを、これらのAPIでどのように扱うのか。比較なエントリ。 まずはDOM DOMは、パース時にXMLの内容を全てメモリ上に保持し、パース後にどの要素にもいつでもアクセスできるような環境を作り出す。 import java.io.ByteArrayInputStream; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.t

    DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS
    thrakt
    thrakt 2009/02/28
    わかりやすい!StAX便利そう
  • Javaにおける開発・Test(Unit/Web/負荷)環境のまとめ - よねのはてな

    うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence

  • 動的なインターフェイスの追加(擬似的な方法) - 都元ダイスケ IT-PRESS

    public interface Foo { void foo(); } public class FooImpl implements Foo { public void foo() { // ... } } ある、Foo という仕様と同時に、Fooに対する実装を提供したとします。普通ですね。 ここで「Fooはプラガブル*1にしたい。実装によって「動的に*2」新しい機能を追加することができるようにしたい。」と考えたとします。 public interface Foo extends ExtenderA, ExtenderB ... { void foo(); } こんなイメージ。Fooのインターフェイスを「動的に」追加したい。しかし、これはJavaの言語仕様上不可能*3なことです。 拡張したければ、Fooを継承して新たなインターフェイスを作るしかありません。 public interfa

    動的なインターフェイスの追加(擬似的な方法) - 都元ダイスケ IT-PRESS
  • Javaでも気軽にWebサービス公開!!Java版Google App EngineとでもいうべきStAXで遊んでみる - ゆろよろ日記

    はい、またまた遊んでみるシリーズです。 触るだけ触って深く掘り下げてないのは時間がないのと飽きっぽい性格だからですがまぁ気にしてません。 ってことで!! 「Stax Networks」というPaaS(サービスとしてのプラットフォーム)の話です。 PaaSとは、プラットフォーム一式をサービスとして提供するビジネスモデルのこと。 クラウドコンピューティングとしてプラットフォーム(サーバ環境やDatabaseなど)をネットワーク経由で利用者に提供するサービスをいいますが、要はAmazon S3やGoogle App Engineみたいなサービスのことです。 Java対応のGoogle App Engineとも言うべき「Stax Networks」ローンチ PaaSとは (Platform as a Service) 用語解説 | Impress Innovation Lab. Jungle Ja

    Javaでも気軽にWebサービス公開!!Java版Google App EngineとでもいうべきStAXで遊んでみる - ゆろよろ日記
    thrakt
    thrakt 2008/12/28
    テンション上がってきた!はやくメール来い!