読者です 読者をやめる 読者になる 読者になる

Masa / Lino Blog

Masanori Satoh ( Masa / Lino ) の徒然ブログです

Java

第十回 #渋谷javaでJenkins実践入門 What's Newをお話しました

第十回 #渋谷javaにて改訂されるJenkins 実践入門のWhat's Newをお話する機会をいただきました。ブログを書くまでが、、、

Eclipse 3.6のニックネームはHelios

Eclipse 3.6のコードネームはHeliosになったようです。 Heliosといえば、ギリシア神話の太陽神のようですが、今後はギリシア神話の神々シリーズになるのでしょうか? Project Plan For Eclipse Project, version Helios http://www.eclipse.org/projects/proj…

久しぶりにJavaプログラムを書いたら・・・

変数宣言忘れまくって、怒られても理由が分からなかったり・・・。

Javaの格言を引っ張り出して読んでみた

気になることが書いてあることを思い出して、Javaの格言をもう一度読んでみました。Javaの格言―より良いオブジェクト設計のためのパターンと定石Nigel Warren Philip Bishop 安藤 慶一 ピアソンエデュケーション 2000-04売り上げランキング : 67109おすすめ…

検査例外と非検査例外(実行時例外)をどう使い分けるか

とある後輩が執拗に検査例外と非検査例外の使い分けについて聞いてくるので、久しぶりに真面目な話を書いてみます。 最初は一般的なJava言語的な解釈。 Effective Java的には次のようなベストプラクティスが書かれています。 40項: 回復可能な条件にはチェッ…

JRuby on Railsと戯れる

JRuby 1.1、Ruby on Rails 2.0、RadRails1.0と次々とメジャーバージョンがアップデートするので、それらと戯れてみました。 JRubyを使うから、war化してTomcatとDerbyをつかって思いっきりJavaっぽく。 結局数時間かかったなぁ。Tomcat on Rails with Derby…

From Java to Ruby Chapter2. PAINでわからなかった単語

Chapter1.に比べて、だいぶ増えた気がします。 まさしくPAIN…。 英語 日本語 suffer 苦しむ disappointment 失望 nagging 苦しめる twinge 苦痛 ache うずき hiccup 障害 symptom 症状 budget 予算 hype 刺激的な宣伝 tremendous ばかでかい thrive 繁栄する…

From Java to Ruby Chapter1.でわからなかった単語

英語 日本語 anxiety 心配 reputation 評判 leverage 影響力 emphasis 強調 convince 確信させる criteria 基準 restrictive 制限的な rave 夢中 maturity 成熟 contemplate 熟慮する nagging 途絶えることのない skeptical 懐疑的 novice 初心者 accumulate…

From Java to Ruby Prefaceでわからなかった単語

英語 日本語 abandoning あきらめる suffer 苦しむ unrelenting 弱まることのない proliferation 増殖 quagmire 窮地 paralyze 麻痺させる desperate 絶望的 candidate 候補 candidate 確信する represent 示す acknowledgment 認知 endeavor 試み pragmatic…

From Java to Ruby

英語の勉強をかねて原著の方を買ってみました。From Java to Ruby: Things Every Manager Should Know (Pragmatic Programmers)posted with amazlet on 07.08.16Bruce Tate Pragmatic Bookshelf (2006/06)売り上げランキング: 62914Amazon.co.jp で詳細を見…

虚無僧2.0リリース

いつもお世話になっているツールの虚無僧が2.0にバージョンアップ! カッコいい公式サイトも出来上がってます。 虚無僧2.0 http://yusuke.homeip.net/komuso/ja/index.html 作者のyusukeさんには そのログ本当に必要ですか?でも、使わせてもらった侍とか、 …

NetBeans IDE 5.5でアプリケーション作成

鋭意原稿執筆中の記事でNetBeansを取り上げているので、サンプルアプリもNetBeansで作ってみることに。 感想は"型にはまった範囲で作業するのは簡単だけど、外れるとものすごく大変"。 EclipseはPluginを入れないと使いものにならないけど、逆にPluginによっ…

Derbyを使ってみた。

鋭意原稿執筆中の記事でOracleを使ったサンプルアプリを作るにあたって、Oracleをインストールするのがめんどくさいから、Apache Derbyを使ってみた。 感想は"さすが軽量DB"って感じでインストールもらくらく。 ちょっとしたアプリケーション作るのにはピッ…

“Stop the World”を防ぐコンカレントGCとは?

“Stop the World”を防ぐコンカレントGCとは? from @it http://www.atmarkit.co.jp/fjava/rensai4/troublehacks02/troublehacks02_1.html たくさんのJavaEEシステムを見てきたけど、コンカレントGCを導入しているプロジェクトって今までなかったし、僕もまだ…

虚無僧2.0リリース

WebLogic8.1では何度も助けられている虚無僧がバージョンアップ。 虚無僧2.0 http://yusuke.homeip.net/diary/2007/03/30/1175217234695.html from 侍ズム しかもTomcatのモニタリングもできるようになった模様。 こういう痒いところに手の届くツールをフリ…

Javaナイトセミナー 2次会に行かせてもらった。

この後は有志による2次会。 前回講師zuisenerさんにこっそり付いて行った。 # 色々ありがとー。 ここで気づく。 そういえば自分結構人見知りだった! あまり色々な人とお話ができず残念…。 ひさしぶりに深い話が聞けて、いい刺激を受けた。 ひとまずGentooを…

Javaナイトセミナー (Vol.4)

楽しみにしていたJavaナイトセミナー (Vol.4)〜2時間集中 Javaトラブル解決ドリル〜に行ってきた。 業務が忙しすぎて開始の乾杯に滑り込みセーフ。 Javaエバンジェリストの岡崎さんが講師。 トラブルシュートにまつわる話が中心で、どこでも同じなんだなーと…

Webアプリの問題点を「見える化」する7つ道具

J2EEアプリのトラブルシューティングで使える道具を紹介していて、僕の@itデビュー記事。 恐れ多くも尊敬するあのお方とのダブルネームです。 現場から学ぶWebアプリ開発のトラブルハック 第1回 Webアプリの問題点を「見える化」する7つ道具 http://www.atma…

JVMオプション一覧

これを調査しているときに先輩に教えてもらったCoolなページ。 A Collection of JVM Options http://blogs.sun.com/watt/resource/jvm-options-list.html この日の日記のも書いたけど、ものすごい量の-XXオプションがあるなぁ。

RMIを使用すると1分周期でFullGCが起きる

RMIを使っていると1分間おきに必ずFullGCが起きてしまう。 GCによるPauseタイムに対する要求がシビアなシステムだと大問題。 デフォルトFullGCの周期が短すぎる(1分)ことが問題。 以下のどちらかをJVM起動オプションにつけることで回避可能。 -XX:+DisableEx…

JavaナイトセミナーVol.4に行きます

毎回行きたいのに行けないJavaナイトセミナー。 今回は「2時間集中 Javaトラブル解決ドリル」らしいです。 http://d.hatena.ne.jp/torutk/20070309 from torutkの日記 Javaパフォーマンスチューニングセミナーで話を伺った方がスピーカー。 久しぶりに楽しみ…

スレッドダンプ(Thread Dump)の取得方法

はじめはメモがてら自分で書こうと思ったけど、いいサイトがあった。 Java - スレッドダンプの取り方 http://yusuke.homeip.net/diary/2006/09/21/1158846052527.html From 侍ズム スレッドダンプ解析で役立つ侍の作者の方のページです。 上の方法にLinuxな…

Eclipseプラグイン開発徹底攻略

待望の本が発売になったの早速買ってみた。Eclipseプラグイン開発徹底攻略―Eclipse3.2対応著者: 竹添 直樹出版社/メーカー: 毎日コミュニケーションズ価格: ¥ 3,990発売日: 2007-03メディア: 単行本Amazonで詳細をみる by Amakerちょっとしか読んでないけど…

WebLogic10が今春リリース

この前9.2が出たと思ったのに、早くも今年の春には10がリリースされるらしい。 http://www.bea.com/framework.jsp?CNT=moreinfo_WLS10.jsp やっとこさ8.1と9.xの違いを理解し始めたのに…。また勉強せねば。

JVM 非標準オプション 特に-XX

何があるか位は把握してるつもりだけど、よくわからなくなるのでメモがてら。 Windows版JVMの標準と非標準(-Xだけ)オプションは以下のリンク java - the Java application launcher http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/java.html 標準オ…

マシンごと…

JavaでGCが大量に発生しているログをとるために、ゴミオブジェクトを生成し続けるプログラムを走らせていたら、マシンごと落ちた。 やりすぎた…。 しかしまさか、マシンごと落ちるとは…。

破壊的メソッドには!

Rubyでは、オブジェクト自体の内容を変更するメソッドを破壊的メソッドというらしい。 5.12 破壊的メソッドとは何ですかオブジェクトの内容を変更してしまうメソッドで、文字列や配列、ハッシュなどにあります。同名のメソッドがあって、一方はオブジェクト…

catch,throw

Rubyのcatch,throwはJavaのそれと全然違う。 catch(:label){ print "before throw \n" #=> before throw throw :label print "after throw \n" # 実行されず }Javaのbreak文とラベルみたいな使い方。Javaと違ってループの中じゃなくても使える。

例外処理

Rubyは例外処理を強制されることはない。 def foo require dummy end begin foo rescue => ex print ex.message #=> undefined local variable or method `dummy' for main:Object end Javaでは"throws"が付いたメソッドは必ず例外処理をやらないと、コ…

メソッドのオーバーロード

Rubyは型宣言がないため、メソッドのオーバーロードは引数の個数と引数に対するデフォルト値で行う。 def hello(name="Lino") name end p hello #=> "Lino" p hello("Ruby") #=> "Ruby"かなりコード量が少ない。Javaではこんな感じ。 package lino; public c…

Rubyのif文真偽判定

真;falseとnil以外のオブジェクト 偽:falseとnilJavaとはちょっと違う。 Javaだったらまずnullかチェックしてから、真偽判定。 if( str != null && str.equals("str") )とか if( "str".equals(str) )Rubyだと特に気を使わなくていいみたい。 軽く書くには…

Rubyは型宣言がいらない。

Rubyは型宣言がいらない。 Javaでは必須。 型宣言がないのは、スクリプト言語ではありがちか。

Rubyではすべてがオブジェクト

Rubyではすべてがオブジェクトとして扱われる。 Javaで言うところのプリミティブ型は存在しない。 そのほうがすっきりしててわかりやすいかな。

RubyとJava オブジェクト比較

Rubyの場合オブジェクトの値を比較する場合、 "=="を使う。他にもメソッドで"Object#eql?"も使用可能。 ただしNumericでは、振る舞いが異なる。 オブジェクトIDが同じかどうかを比較するとき、 "Object#equal?"を使う。 str1 = "hoge" str2 = "hoge" str3 = …

RubyとJava 配列

Rubyの配列は可変長。 Javaで言うところの、CollectionクラスのList。 Javaの純粋は配列はない模様。

条件分岐

Javaだと if( 条件 ){ }elseif( 条件 ){ } Rubyだと if 条件 then elsif 条件 then end "e"がないのか。

Glassbox 2.0 Betaを動かしてみる

"One Cilck Troubleshooting"がキャッチコピーの Glassboxを動かしてみた。 GlassboxはJavaEEのトラブルシューティングツールで、 アプリケーションのスローダウンを検地して、 原因切り分け、解決策の提示などを 自動的にやってくれるツール。 # 解決策の提…

Eclipse Web Tools Project(WTP)を使ってみた

半年位前につくっていたWebアプリケーション開発を再開することになったので、 気分一新のためにEclipse3.2を入れてWTPをインストールしてみた。 # ここを参考にしました。 http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html 使っ…

Struts社内セミナ講師体験

昨日、今日とStrutsの社内セミナの講師を初体験。 普段はパフォーマンスが専門業務。 Strutsを業務で使い倒したことはない。 それでもアーキテクチャや使いどころは理解しているつもりなので 無事2日間の社内セミナ完了。 自分の知識の確認にもなるし、受講…

JVMの基本構造

ふとこんな質問が飛んできた。 ・内部構造が知りたい。 1.クラス、インスタンスが内部的にどうやって管理されているか。 2.メモリの管理の仕方とか。(処理速度とか考えられると・・・) 3.VMの仕組みとか。 去年必死にこんな情報をかき集めた記憶が。…

J2SE 5.0 Management, Internals, and Troubleshooting参加2日目

昨日に続いてJ2SE 5.0 Management, Internals, and Troubleshootingセミナ2日目。Module4はデバッグ。jdbを使ってデバッグ。 これはトラブルシューティングの支援で使えるかと思ったけど やっぱりオーバヘッドがvery hugeらしい。 # 起動後1時間後に再現し…

J2SE 5.0 Management, Internals, and Troubleshooting参加

アジア初開催らしいJ2SE 5.0 Management, Internals, and Troubleshootingに 参加してきた。http://suned.sun.co.jp/JPN/news/javatuning.html今日は初日。JMXまでをトレーニング。 Module 1.のインストールはさくっと終了。 この中で紹介されたClass Data S…

javacコンパイラとJava HotSpot Virtual Machineがオープンソースに

かなり気になるニュース。 Sunの開発者向け製品およびプログラム部門担当バイスプレジデントのLaurie Tolson氏によると、同社は、Javaプログラミング言語で書かれたプログラムを走らせる2つの主要技術である「javac」コンパイラと「Java HotSpot Virtual Mac…

OutOfMemoryエラー

最近OutOfMemoryエラーが発生しているプログラムの調査をしている。 DB検索して結果をファイルに落とすだけのプログラム。 大量データを扱うプログラムなので、データ取扱量を小さくするために 同じ処理をエントリポイントでループさせている。 GC発生状況を…

Javaの解析ツール

Javaでトラブルシューティングが起きたときに使えるツールを 整理がてらメモ。 GCViewer http://www.tagtraum.com/gcviewer.html GC発生状況を"-Xloggc: [-XX:+PrintGCDetails]"で吐かせて グラフィカル表示するツール Eclipse TPTP http://www.eclipse.org/…

一人で開発

なぜこんなことをやっているかというと、 会社でstrutsベースの社内フレームワークでアプリケーション開発をしているから。 学生のころもWebアプリ開発をしてたけど、 また一人で開発している…。 # このときは部分部分で開発していたからソース管理の必要な…

struts validwhenで相関チェック

validatorでActionFormの相関チェックを行うには validwhenを使う。書き方はこんな感じ。 <field property="valid" depends="validwhen"> <msg name="validwhen" key="errors.validwhen" /> <var> <var-name>test</var-name> <var-value> ((otherProperty != null) and (*this* != null)) </var-value> </var> </field>結構簡単に書ける。 #…

JUnit社内セミナー

JUnit社内セミナーの講師をした。 大まかな内容はJUnitの基本的な使い方と、 J2EEアプリでの単体テストの方法。質疑応答で理想論と対決したりはしたけど、無難に終わった。 最後にアンケートの感想で、「喋りが早すぎます」との意見がポツポツ。 昔から捲く…

Javaパフォーマンスチューニングセミナー

sun主催のJavaパフォーマンスチューニングセミナーに行ってきた。http://sdc.sun.co.jp/java/event/java_perf_seminar.html# 手元に資料がないので印象だけをちょっと書いてみる。 目玉は本家sunのパフォーマンスエンジニアMenasse Zaudou (メナセ・ゾドゥ)…

ずばりわかる!Java Javaの良いコード、悪いコード

だいぶ前に買った本。 # ほとんど読んでない。ずばりわかる! Java Javaの良いコード、悪いコード著者: 石原 直樹, 河村 嘉之, 丸の内 とら, 米持 幸寿, 日経ソフトウエア出版社/メーカー: 日経BP社価格: ¥ 2,200発売日: 2006-03-09メディア: 大型本Amazonで…