Eclipse統合M25【Java/C/PHP/Ruby/Python/Perl】
at TECH
1:デフォルトの名無しさん
08/05/23 10:18:14
●公式サイト
Eclipse.org home
URLリンク(www.eclipse.org)
Eclipse downloads home
URLリンク(www.eclipse.org)
●JDK
JDK 1.4.2
URLリンク(java.sun.com)
JDK 5 (1.5.0)
URLリンク(java.sun.com)
JDK 6 (1.6.0)
URLリンク(java.sun.com)
●関連サイト
エクリプス - Eclipse Wiki (日本語)
URLリンク(eclipsewiki.net)
Eclipse Plugins
URLリンク(eclipse-plugins.2y.net)
Eclipse Plugin Central
URLリンク(www.eclipseplugincentral.com)
2:デフォルトの名無しさん
08/05/23 10:19:32
●前スレ
Eclipse統合M24【Java/C/PHP/Ruby/Python/Perl】
スレリンク(tech板)
●関連スレ
統合開発環境Eclipseプラグイン開発QA
スレリンク(tech板)
●リリースプラン
2008/06 Eclipse 3.4 Ganymede
2009/06 Eclipse 3.5 Io
3:デフォルトの名無しさん
08/05/23 10:22:11
すいません
ちょっと質問です
eclipseでJavaを書いているのですが,入力をリダイレクションで指定することはできないのでしょうか.
実行->構成および実行->引数
で指定しても,リダイレクションの部分が無視されてしまいます.
実行->構成および実行->共通
で標準入出力の「コンソールに割り当て」のチェックを外し,ファイルの方にチェックを入れ,ファイルをし指定した場合は
出力はファイルに切り替えることができるものの,入力はできないみたいです.
4:デフォルトの名無しさん
08/05/23 13:09:53
>>3
前スレも残っているというのに。
前スレ926で
>そもそもリダイレクトは引数じゃないからな
と答えが書いてあるじゃん。
リダイレクトはargじゃないぞ。
System.inから読めば出来るはずだが。
5:デフォルトの名無しさん
08/05/24 02:20:19
●関連サイト
UnOfficial EclipseWIki
URLリンク(www.eclipse.jp)
これ、テンプレに追加しよーぜ。広告もねーし。
eclipsewikiのほうはもう色々あったこともあって、
書き込みも激減してるし、管理人の色が濃すぎる。
でも、将来的に広告が表示されるようになる可能性があるって書いてるな・・・
6:デフォルトの名無しさん
08/05/24 02:29:01
>>5
宣伝乙。テンプレにするほどの情報量も何もないだろ。
7:デフォルトの名無しさん
08/05/24 02:36:08
EclipseWiki管理者乙。
前のEclipseWikiが、お前らの書き込みは俺のもの、転載は俺に聞けとか
うぜーこと言ったりしてたらから、こっちを成長させたいと
思っただけだ。少なくとも俺はEclipseWikiに情報は書かなくなった。
8:デフォルトの名無しさん
08/05/24 21:10:56
>>7
UOEclipseWiki管理者乙。
9:デフォルトの名無しさん
08/05/25 00:32:42
>>5
テンプレ化したければ
もっと情報を充実させてくれ。
言いだしっぺのお前が。
まずWiki管理者がどういう方針を持って
どういう方法でWikiのコンテンツを構成したいか
はっきりしないことにはな。
10:デフォルトの名無しさん
08/05/26 18:58:50
tes
11:デフォルトの名無しさん
08/05/26 19:13:00
"C:\folderA" というフォルダにいろんなプロジェクトを入れてたとして
これをまるごと "C:\folderB\folderA" っていうふうに移動したいのですが
ただ単にWindowsの方で移動しちゃうとeclipseの方で
今まであったプロジェクトを全部見失っちゃいますよね?
これをどうやって教えてあげたらいいのでしょうか?
プロジェクトを1つずつ "Create project from existing source"
でやらないといけないのでしょうか?
それとも移動を全部1つずつ "Refactor>Move"でやらないといけないのでしょうか?
簡単に複数のプロジェクトをまとめて移動する方法があれば教えていただけないでしょうか?
12:デフォルトの名無しさん
08/05/26 22:01:19
ダイナミックボリュームなら C:\folderB\folderA を C:\folderA にマウント出来ますよ
13:デフォルトの名無しさん
08/05/27 00:06:24
>>11
eclipse -data C:\folderB\folderA
って話ではない?
14:デフォルトの名無しさん
08/05/27 00:29:50
リファクタームーブじゃなくて、
左上のメニューで[ファイル]->[インポート]か[エクスポート]を選ぶんだよ。
そこから先は、プロジェクトエクスポートかZIPアーカイブを選び
どのプロジェクトを移動したいかを選んでプロジェクトをZIPで圧縮するか
他のディレクトリにコピーする作業が自動的に始まると思った。
その後、別のワークスペースやEclipseからプロジェクトのインポートをすれば完了する。
15:デフォルトの名無しさん
08/05/27 14:31:37
>>5
はっきしいって、広告ないとやってけない気がする。
とくに自前でサーバ運用しているときは。電気代とか
空調とか回線の費用とかさまざまな運用コストがかかるし。
広告くらい許容してやってもいいんでない?
俺だったら広告入れたくなる。
確かに情報力が少ない・・・
最近更新したページ
URLリンク(www.eclipse.jp)
情報を増やさないとだれも利用しない可能性があるし。
Wikiが重複しているし。
じゃあどこから更新していけばいいのって話が
16:デフォルトの名無しさん
08/05/27 15:51:44
VSだとソリューションっていう単位があったけど
Eclipseにも同等のものってあるの?
17:デフォルトの名無しさん
08/05/27 17:44:01
ワークスペースがそれに近い単位かな。
ワーキングセットという概念でプロジェクト群を
同じワークスペース内フィルタリングすることもできる。
18:デフォルトの名無しさん
08/05/28 00:57:24
空調ってばかになんない金額かかるよね
下手したら通信費超えるw
19:デフォルトの名無しさん
08/05/28 09:34:36
エディタの行間幅は変更できないのだろうか。。
20:デフォルトの名無しさん
08/05/28 22:09:02
そこだけ秀丸とか
21:19
08/05/29 06:14:43
>>20
実は現状としてはそれに近い。
でもそれだとIDEである意味が半減。。
22:デフォルトの名無しさん
08/05/29 08:08:14
Eclipseに慣れちゃった方がいいと思うよ。
23:デフォルトの名無しさん
08/05/29 16:29:19
>>14
めんどくせーーーーーーー!
eclipse だと既存のプロジェクトを流用して新しいプロジェクトを作るのが
超超超超超超超超超超超超超超超超超〜〜〜〜〜めんどくさい!
ここだけは Visual Studio がうらやましい。
24:デフォルトの名無しさん
08/05/29 18:18:44
Eclipseで使用したAPIのソースを表示したいのですが、どのようにすればいいのでしょうか?
25:デフォルトの名無しさん
08/05/29 18:29:57
>>24
使用したAPIっていうのは何のこと?
System.out.println のソースを見たいとかって話?
26:デフォルトの名無しさん
08/05/29 21:07:43
>>23
ディレクトリごとコピーして
.hogehogeファイル
ソースファイル名
ソース中のパッケージ記述パス
を書き換えれば済むのに
27:デフォルトの名無しさん
08/05/29 21:50:40
↑
おまい、Eclipse 使ったこと無いだろ?
本で読んだだけだろ?
な。バレバレなんだよ。
28:デフォルトの名無しさん
08/05/29 22:06:54
>>19
行間変更できそうだったので試しに作ってみた・・・
URLリンク(uproda.2ch-library.com)
・・・けど微妙に表示がバグいみたい
29:デフォルトの名無しさん
08/05/29 22:08:50
VM引数に入力した値をmainメソッドなりで受け取って処理するのは
どうすればいいのでしょうか?
すいませんいくら調べてもわからないので教えてください。
30:デフォルトの名無しさん
08/05/29 22:26:44
public static void main(String[] args)
{
String unko = args[0];
}
31:デフォルトの名無しさん
08/05/29 22:48:51
>>15
Ecslipseって何?ってマジで思った
32:デフォルトの名無しさん
08/05/29 23:12:28
>>30
プログラム引数はそれで取れますがVM引数はその方法では
取れませんでした。
そういえばさっき書き忘れてしまいましたがEclipseのバージョンは3.1で
OSはXPです。
33:デフォルトの名無しさん
08/05/29 23:14:31
>>32
ManagementFactory.getRuntimeMXBean().getInputArguments()
しかし何のためにそんなことをしたいんだ
34:デフォルトの名無しさん
08/05/29 23:39:29
>>26をだれか詳しく教えてください
35:デフォルトの名無しさん
08/05/29 23:44:20
>>33
ありがとうございます!こういうクラスもあったんですね、、まだまだ勉強不足ですね。
先輩に『ほとんど使わないけどこういうやり方もあるんだぜ?』といわれ
やり方は教えてもらえずやきもきして自分で調べてたんですがこれで
少しすっきりしました。
36:デフォルトの名無しさん
08/05/29 23:45:10
>>26 は "Hello World" しか書いたことが無いと思われ。
37:デフォルトの名無しさん
08/05/29 23:48:31
>>30
「javac hogehoge で終了できません!」
ってなると思う。
38:デフォルトの名無しさん
08/05/30 06:38:49
>>14
エクスポートは必要ないよ。
移動先のワークスペースを開いてインポートを実行するだけ。
移動対象のプロジェクトフォルダに正常な.projectファイルさえあれば
インポートできるはず。
39:デフォルトの名無しさん
08/05/30 14:31:01
>>25
そうです
40:デフォルトの名無しさん
08/05/30 15:38:37
F3 押せば見れるよ
41:デフォルトの名無しさん
08/05/30 22:06:01
だれか Phortran について教えてください!
コンパイルどうやってやったらいいんですか?
URLリンク(www.od.eng.kansai-u.ac.jp)
を参考に、してやったんですけど
なぜか実行ファイルができません・・
Cygwin からコンパイルするとできるんですが。
makefile に
FC = abc
とか適当なこと書いても Eclipse でビルドするとき
エラーが出ないので、ビルド時に make がちゃんと
実行されていないんだと思うんですけど、
どこの設定が悪いのかわかりません・・・
コンパイラは Cygwin の f77 でやってます。
42:デフォルトの名無しさん
08/05/30 22:19:17
>>41
cleanしてないとかそんなオチじゃないだろうな?
43:デフォルトの名無しさん
08/05/31 18:06:14
>>31
それはひどい。
(「エクスプリス」または「イクスプリス」)は
なんだこれは・・・
本当にEclipseなのか?それともEclipseのパチモンWikiなのか?
44:デフォルトの名無しさん
08/05/31 18:07:30
>>41
> だれか Phortran について教えてください!
Phortran....
PythonとFortranの融合?
45:デフォルトの名無しさん
08/05/31 19:22:27
>>15のWikiのスペルミスを直しておいた。
ついでにリンク集も作成しておいた。
あとはこのWikiの管理者にコンテンツの充実と
今後の編集方針について頼む。
どうページを編集してゆけばいいかわからないから
46:デフォルトの名無しさん
08/06/01 03:09:44
>>41
Pathを設定しておかないとうまく動かない&Pathにスペースがまじるとアウト
47:デフォルトの名無しさん
08/06/01 16:55:09
>>42
cleanしてもだめでした。
>>44
EclipseでFortranのプログラムが書けるプラグインです。
>>46
PathってWindowsの環境変数ですか?
Cygwinのbinとかは通してあります。
コマンドプロンプトからも
g77 test.f
だけでコンパイルできます。
プロジェクトのプロパティ見てもPATHらしきものはちゃんと通ってるみたいです。
だれか超能力で助けてください・・・
48:デフォルトの名無しさん
08/06/01 17:48:01
C言語でCallTreeという関数の呼び出し順をリスト化してくれるソフトが有るのですが、
Javaでも同じような機能は無いでしょうか?
いろいろ調べても、それらしい機能は見あたらなかったです。
Eclipseでそのような機能が有りましたら、是非ご教授ください。
49:デフォルトの名無しさん
08/06/01 18:05:03
>>48
メニューバーのナビゲートとか検索とか、右クリックメニューとかに、
Java言語に特化したいろいろな検索機能がある。
メソッドの呼び出し順だと「呼び出し階層を開く」というのがあるな。
(LanguagePackが入ってないなら適当に読み替えてくれ)
まぁ、interfaceから先がたどれなくてがっかり、ということも多いのだが。
(implementsしてるクラスから適当に選んでさらにたどるってできないのかな)
50:48
08/06/01 19:15:19
>>49
ありがとうございます。
こんな機能も、あるのですね。
これって行数も一緒に表示できないのですかね?
51:デフォルトの名無しさん
08/06/01 19:15:51
>>47
コマンドプロンプトでmakeは通る?
52:デフォルトの名無しさん
08/06/01 20:19:39
Ajaxアプリケーション用のプラグインないかなあ・・・。
53:デフォルトの名無しさん
08/06/01 21:06:32
Ajaxが何を意味しているのか分かってるのか?
54:デフォルトの名無しさん
08/06/01 21:23:27
>>52
GWT
55:デフォルトの名無しさん
08/06/01 21:49:50
>>53
コナミのゲーム
56:デフォルトの名無しさん
08/06/01 21:52:32
それは正解であるが、そこから分かるのはあなたはオッサンだということだw
57:デフォルトの名無しさん
08/06/01 22:03:21
55だが、あれはA-JAXであってAJAXではないんだな
58:デフォルトの名無しさん
08/06/01 22:24:29
ATFでよくね?
59:デフォルトの名無しさん
08/06/02 02:21:04
AJAX 用のプラグインなんかありすぎだろ。
まー、AJAX っていうと範囲広すぎだし、使いもんになるかどうかは別だ。
RAP、DLTK、ATF、Aptana、マスカット、OpenLaszlo、MyEclipse、、、
60:デフォルトの名無しさん
08/06/02 03:13:24
ウガンダさん亡くなったらしい
ご冥福をお祈りします 人
61:デフォルトの名無しさん
08/06/02 07:16:08
カレーは飲み物の人か…
62:デフォルトの名無しさん
08/06/02 13:55:23
>>58
ATF単体は開発止まってる 3.4でwtpにマージされるみたい
#3.4は起動遅くて嫌だ
63:19
08/06/02 20:21:36
>>28 レスが遅くなってすみません。
good job!
まさに求めていたものです。ありがとうございます。
行間が広がって見やすくなりました。
こういった拡張ができちゃうところがさすがですね。
メニューから設定変更もできるみたいですね。
カーソル行の背景色のゴミが残ることがあるようですが、実用上問題ないでしょう。
64:デフォルトの名無しさん
08/06/03 06:14:57
>>49
interfaceから先を辿るには、
1) コンテキストメニュー「Declarations」を実行
2) Search viewで所望のmethodを選択してコンテキストメニュー
「Open Call Hierarchy」を実行
とすれば良いと思う。
>>50
Call Hierarchy view の右側のテーブル(Layoutの設定による)に行番号が
表示されていないかな。
65:47
08/06/03 23:07:43
>>51makeはできます。
---helloFORT.f---
program helloFORT
write(*,*)'hello FORTRAN'
end program helloFORT
---Makefile---
TARGET = helloFORT
FC = g77
all: $(TARGET).exe
$(TARGET).exe: $(TARGET).f
$(FC) $(TARGET).f
clean :
rm -f $(TARGET).exe
エクリプスの設定が悪いと思うんですけどわからない・・・
66:デフォルトの名無しさん
08/06/04 01:13:09
>>3でも書いてますが、結局eclipseで実行させるときに標準入力のリダイレクトはできないのでしょうか?
ファイルを標準入力から読み込んで処理…というようなプログラムを作らないといけないのですが…。
67:デフォルトの名無しさん
08/06/04 02:23:27
>>60
誰?
難民?
68:デフォルトの名無しさん
08/06/04 02:47:07
>>66
メインメニューの Run > Open Run Dialog... > Arguments タブで、
プログラムの引数にファイル名を指定すればいいんじゃない?
69:デフォルトの名無しさん
08/06/04 04:48:54
>>67
人を食った大統領
70:デフォルトの名無しさん
08/06/04 10:52:31
プロジェクトで、ターゲットバージョンとなっている jdk は 1.5 なのですが、
Java GUI アプリを動かすとき、jdk 1.5 より 1.6 のほうがパフォーマンスがよいと聞きました。
eclipse.exe を動かすときは jdk1.6 で動かし、プログラム開発時のコンパイル、Eclipse 内での実行は
jdk 1.5 ということはできますか?
eclipse.exe を動かすときの環境変数 JAVA_HOME、PATH は jdk1.6 が動くようにしておき、
メニュー > ウインドウ > 設定 > Java > インストール済み JRE で、jdk1.5 を登録しておいて、そっちに
チェックをつけておけばいいのかな。
71:デフォルトの名無しさん
08/06/04 11:23:55
>>70
プロジェクトの方に設定があると、別のが使われてしまうかも
プロジェクトツリーの中にあるJRE System Libraryを右クリックしてConfigure...
72:デフォルトの名無しさん
08/06/04 12:29:10
>>69
ググッたらEclipseと全然関係ないじゃねえか。がっかりしたよ
73:デフォルトの名無しさん
08/06/04 13:31:21
新しくeclipsePDTにしたのですが、
いままで変数にカーソルのせれば左に、
同じ変数が何処で使われているかBARに表示されたのですが
なぜかされません・・設定色々みたのですが;;
表示可能にできるのでしょうか。
74:デフォルトの名無しさん
08/06/04 17:01:19
>>73
BARって何?
同じ変数はダブルクリックで反転できなかった?
75:デフォルトの名無しさん
08/06/04 23:29:46
すみません。初心者なのですが…
Javaの場合、ひとつのプロジェクトの中に複数の(mainを含む)クラスを作る
ことができますが、CDTの場合はこういうことできないのでしょうか?
たとえば、現在はhelloプロジェクトの中にhello.cとhello.exe(ひとつのプロジェクト
の中にひとつのmainを含むソースとexe)しか作ることができません。
プロジェクト名がexeの名前になるからみたいなのですが…
76:デフォルトの名無しさん
08/06/05 00:56:12
>>75
Eclipse関係無い。C/C++のお勉強しといで
77:デフォルトの名無しさん
08/06/05 00:57:43
>>75
それ(mainが全体で一つ)は、CDTじゃなくて普通にC/C++の仕様だ。
それ以上のことは適切なスレで聞いてくれ。
78:デフォルトの名無しさん
08/06/05 01:16:03
CDT関係の質問です。
C/C++でライブラリとくっ付けたソースコードをデバッグしたいのですが、
ライブラリ側にコマンドを投げるときにRaise Exceptionが発生してexeが落ちてしまいます。
ライブラリ側にはexportした関数を用意してあって、それの引数として変数( int hoge; 的な物)
を渡して、それの戻り値を取得したいのです。
下のような感じで取得を行っているのですが、デバッグを行う際に
ステップ実行で、C/C++側のmain部分でとまった場合、
実体が定義される前にIStackFrameには値が入ってしまっているので、
それが原因で落ちてしまうというのは理解できたのですが、
実体が定義されていなくても落ちないようにできるのでしょうか?
どなたかご教授ください。
環境は eclipse 3.3.2 CDT 4.0.3 gdb 6.8.0 です。
public void handleDebugEvent(DebugEvent[] event) {
for ( int i = 0; i < event.length ; i++) {
Object source = event[i].getSource();
if ( source instanceof ICThread ) {
ICThread thread = (ICThread)source;
if(thread.isSuspend()) {
try {
IStackFrame stackframe = ((ICThread)source).getTopStackFrame();
if (stackframe instanceof ICStackframe) {
String test = ((ICStackFrame)stackframe).evaluteExpressionToString("Func(hoge)");
System.out.println(test)
}
}catch(DebugException e) { e.printStackTrace(); }
}
}
}
79:デフォルトの名無しさん
08/06/05 01:46:23
文字を選択してCtrl+ドラッグでコピペしようとすると
横方向に勝手にスクロールしちゃうんですけど
スクロールしないようにできませんか?
80:デフォルトの名無しさん
08/06/05 09:28:06
>>75は、一つのプロジェクトで複数の実行ファイルを作れないかということでは?
81:デフォルトの名無しさん
08/06/05 12:50:21
JavaでできてC++でできないものはないと思うぞ
と言ってみる
82:デフォルトの名無しさん
08/06/05 21:36:25
いや、初めてのプログラミング言語がJavaって人は増えてるよ。
83:デフォルトの名無しさん
08/06/05 22:17:41
ちょいと教えてくださいな
CTRL+Cで終了するようなコンソールアプリを作ってて、eclipseで
実行したときにeclipseのコンソールからCTRL+Cを入力することが
できないんだけど、これはうちの環境が悪いんかな?それとも仕様?
2つくらい前のスレに出来るようなことが書いてあったんだけど
ダメだったんで質問させてください。
環境はWindowsでeclipse3.2.0(AIOEclipse3.0.1)使用です。
84:デフォルトの名無しさん
08/06/06 00:21:41
>>82
ものが何々ができる
の視点から
人が何々ができる
に変わったアレンジは面白いな
85:デフォルトの名無しさん
08/06/06 00:22:28
>>83
EclipawのCTRL + CはEclipse用に作られているからだろう。
っていうかどうやって自分で作ったプログラム実行した?
86:デフォルトの名無しさん
08/06/06 01:37:03
getter/setterを間単に作る方法はありますか?
private int _count;という変数がある場合に
getCount(){return _count;}/setCount(int count){_count = count;}
のようになることを期待しています。
private int count;の場合にはうまくいくのですが、上記の場合、
メニュー>ソースのウィザードを使ってはうまくいきません。
thisをつけるのが面倒なことと、ローカル変数とメンバ変数を見分けるために
先頭に_をつけるのがルールになっています。
VisualStudioでいうところのコードスニペットみたいなものは無いのでしょうか?
getter/setterはよく使うので楽にしたいです。
Eclipseは3.3を使用しています。
87:デフォルトの名無しさん
08/06/06 02:11:06
>>83
キーバインディングの設定を変えてなければ、
EclipseのコンソールではCtrl+Cはコピーのはず。
プラグイン(Wicked Shellなど)を入れて実現するっていう話?
88:83
08/06/06 04:57:22
>>85>>87
レスどもです。
実行は「実行」か「デバッグ」の「Javaアプリケーション」でやってます。
ログやらはコンソールに出て普通の文字は入力できるんですが、
コントロールコードは入力できないようです。
(EOFだけはCTRL+Zで入力できるようになってるみたいです)
>>87さんが言ってるようにキーバインドでデフォルトなのでCTRL+Cは
コピーになってました。
すみません、肝心の何をやりたいかを書き忘れてたんですが、
アプリ終了時にシャットダウンフックで後始末をしていて、その部分の
確認をeclipse上でしたい、ということなんです。
終了(Terminate)で終わらせるとシャットダウンフックが走らずにアプリが
終了してしまうため、なんとかならないものかと。
もしプラグインや別のやり方などでできそうならご教授下さい。
89:デフォルトの名無しさん
08/06/06 05:04:51
>>86
ローカル変数とフィールドは色の違いで簡単に識別できない?
また、"this"をつけるのはローカル変数と衝突する場合だけで
それほど機会は多くない。それよりもメンバ変数を書く度に"_"を
タイプしなければならないことの方が面倒だと思うけどなぁ。
Window > Preferences... > Java > Code Style > Code Templates で
生成されるコードを設定できるけど、
getCount(){return _count;}/setCount(int count){_count = count;}
のようには出来ない。
90:デフォルトの名無しさん
08/06/06 05:47:40
>>88
シャットダウンフックを強制的に呼び出したければ、
System.exit(0)を試験的に挿入すれば良いんじゃないかな?
もしくは、デバッグ中に任意のコードを任意の箇所で実行する機能
を使っても良いと思う。
1) Breakpoint Propertiesダイアログを開く
2) Enable Condition をチェックする
3) テキストフィールドにコードSystem.exit(0)を書く
91:86
08/06/06 08:18:36
>>89
レスサンクスです。
確かにEclipse上であれば色でも分かるのですが、
TracなどのBTSやWinMergeからも簡単に見れるという点で_付きの方がよいです。
他にも_と打つだけでフィールドを補完候補に絞り込めますので
_をつける方がメリットが多いと感じております。
蛇足ですが・・
VisualStudioの方が使い易いなぁと思いつつ、NetBeansはどうだろう?と試してみたところ
NetBeansではイメージに近いことができるようでした。
いつの間にかかなり完成度高くなっていて驚きました。
92:デフォルトの名無しさん
08/06/06 09:50:03
まあ、Eclipseは無料、Visual Studioは有料だから
Visual Studioが優れていて当然だけど・・。
93:デフォルトの名無しさん
08/06/06 09:58:29
Express Editionなら無料
94:デフォルトの名無しさん
08/06/06 10:37:29
>>86
設定の
Java→コード・スタイル
「変数命名規則」の「フィールド」の「接頭語リスト」に _ を追加してから
GetterおよびSetterの生成をやってみて。
VSのエディタなぞEclipseと比べればクソ。NetBeansも遙かに及ばない。
JavaエディタとしてはEclipseは最強。あくまでエディタとしてね。
95:デフォルトの名無しさん
08/06/06 12:32:29
>>91
アンダースコアの接頭辞はいつ見ても嫌な命名規則だな。
時代遅れじゃねえ?
C++時代の汚物だろ。Javaに持ち込む必要性はまったくないわい。
96:デフォルトの名無しさん
08/06/06 12:34:35
>>90
> >>88
> シャットダウンフックを強制的に呼び出したければ、
> System.exit(0)を試験的に挿入すれば良いんじゃないかな?
できればJUnitでやるべきものだろう
97:デフォルトの名無しさん
08/06/06 12:35:55
>>92
当然と思いきやなにかと機能的に中途半端なとこがあって
有料の癖にあれはないだろうってのはいくらかあったけどな
98:デフォルトの名無しさん
08/06/06 15:03:18
>>95
オレも未熟なころは、そう思った。
あるオープンソースの巨大プロジェクトが、急にフィールド変数に _ を付け出したから
「なんだよ〜ダセェ〜」 とかバカにしてたけど
>>91 の言うようにメリットもあって、単に見た目で嫌ってはダメだと思った。
_ が嫌なら $ だっていい。マイクロソフトみたいに m_ でもいいんだよ。
せっかくのメリットなのに、過去のくだらない固定観念に固執して意地を張ってると
そのうち置き去りにされちゃうよ。
99:デフォルトの名無しさん
08/06/06 19:48:09
StringBuilder sb = new StringBuilder(2000);
sb.append("<html>" +
"<title>かけざんの苦苦</title>" +
"<body>");
sb.append("<table>");
for (int i=1; i<=9; i++) {
sb.append("<tr>");
for (int j=1; j<=9; j++) {
sb.append("<td>" + i*j + "</td>"); // ←ココ
}
sb.append("</tr>");
}
sb.append("</table>");
まぁ、こんなコードに出合ったワケですよ。
sb.append("<td>" + i*j + "</td>"); に注目してください。
これは、実はコンパイル時にこう展開されるんです。
sb.append( new StringBuilder("<td>").append(i*j).append("</td>").toString() );
なんか変です。StringBuilder の append の中に StringBuilder が生成されて
さらに toString() つまり String オブジェクトに変換されてから、元の sb に append されるワケです。
sb を StringBuilder で宣言したのは、無駄なオブジェクトの生成を抑えて効率よく処理するためな筈なのに
結局は見えないところで String オブジェクトの生成・破棄がなされてたワケです。
無駄ですね。こんなおバカなコード書くのって恥ずかしいですよね。
じゃぁ実際どう書けばいいかというと、
sb.append("<td>").appned(i*j).appned("</td>");
なワケですが、これがメンドクサイ。いちいち ).appned( で連結するのがヒジョーにメンドクサイんです。
見た目も横に長〜いコードになりがちで、パッと見てわかりにくい。
なんか便利な方法は無いですか?みなさんは、せっせと ).appned( を書きまくってるんですか?
100:デフォルトの名無しさん
08/06/07 00:16:57
_は好きだが$は嫌いっつーか許せん
なので糞ウンコPerl死ね
101:デフォルトの名無しさん
08/06/07 00:18:19
s/糞ウンコPerl/糞PHPウンコPerl/
102:デフォルトの名無しさん
08/06/07 01:17:21
>>99
> みなさんは、せっせと ).appned( を書きまくってるんですか?
はい。
String を + で加えていくと、>>99 のようになるのは、しょうがない。
103:デフォルトの名無しさん
08/06/07 02:19:29
>>98
> >>91 の言うようにメリットもあって、単に見た目で嫌ってはダメだと思った。
ダサいとか見た目の問題ではなく見やすさと可読性とトラブルの元になる危険性の問題なんだけどなあ。
> _ が嫌なら $ だっていい。マイクロソフトみたいに m_ でもいいんだよ。
> せっかくのメリットなのに、過去のくだらない固定観念に固執して意地を張ってると
> そのうち置き去りにされちゃうよ。
その_とm_をつける手法が過去のくだらない固定観念に固執して意地を張ってることじゃないの。
メリットに挙げられている「Tracやwinmergeからも簡単に見られる」っていう理由も
Eclipseの比較ビュー機能を使えば必要性を感じないし「_と打つだけでフィールド補完候補になる」も
thisと打てば同様に補完候補にもなるし。打たなくてもctrl+spaceで補完候補に宣言したフィールドが出てkるし。
それでは_やm_をつける理由としては説得力に欠け過ぎだよ。
それでもまだまだ他にメリットはある?あるなら是非とも教えて欲しい。
グローバル変数もないんだし、よほど特殊な変数でもない限りそういう命名をする必要性が感じないな。
getter/setter用の変数かどうかなんてJavadocコメントでわかるようにするでしょ。
人や組織によって_やm_の命名規則が異なると混乱の元だし
どうせならアノテーションつけたほうが利便性が高いんじゃないの?
104:デフォルトの名無しさん
08/06/07 02:28:52
>>99
そういうときこそテンプレートを自作するときだね。
StringBuilderのコーディングの面倒くささとは
直接は関係ないけどRope for JavaというStringBuilderよりも
高速な文字列処理クラスがあるよ。
105:デフォルトの名無しさん
08/06/07 02:33:54
>>99
StringBuffer 使うべきじゃないの?
106:デフォルトの名無しさん
08/06/07 03:46:40
>>99
つテンプレートエンジン
……って、ここ、JavaスレじゃなくてEclipseスレじゃねーか。
107:デフォルトの名無しさん
08/06/07 05:38:37
Eclipse昨日初めて入れてみたんだけど
約60秒ごとに一瞬CPU使用率が30〜50%くらい行って
マウスカーソルが止まるくらい重くなるんだけど俺だけですか?
108:デフォルトの名無しさん
08/06/07 05:57:49
パソコン買い換えてください
109:デフォルトの名無しさん
08/06/07 07:29:31
EclipseというよりJavaのガベージコレクションのせいです。
110:デフォルトの名無しさん
08/06/07 09:32:04
本体メモリとか環境かけよ
111:デフォルトの名無しさん
08/06/07 11:49:12
>>107
何も操作しなくても周期的に起きるのか?
112:デフォルトの名無しさん
08/06/07 12:22:05
>ダサいとか見た目の問題ではなく見やすさと可読性とトラブルの元になる危険性の問題なんだけどなあ。
 ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
「見た目の問題ではなく」 と 「見やすさと可読性の・・・問題なんだけど」 の矛盾した文章みてワラタ。
113:デフォルトの名無しさん
08/06/07 12:31:42
>>106
「テンプレートエンジン」 を知りませんでした。
ググってみたらJSPのようです。
やりたいのはJSPじゃなくJAVAのコーディングなんですが。
あと、例題では <html> とか買いてますがウエブアプリじゃありません。
html はウエブアプリ専用言語じゃ無いんですよ。
>>104
「Rope for Java」 はググっても出てきませんでした。
も少し調べてみます。
>>105
氏ね
114:デフォルトの名無しさん
08/06/07 12:52:57
>>113
刺ね
115:デフォルトの名無しさん
08/06/07 12:54:32
>>113
テンプレートエンジン=JSPとか
お前の方が氏んだほうがいいよ
116:デフォルトの名無しさん
08/06/07 13:00:33
>>113
馬鹿は際限が無い
117:デフォルトの名無しさん
08/06/07 15:41:42
イジメかっこわるい
118:107
08/06/07 16:10:56
>>108 P4の2.23GHzだから古いといえば古いけど…十分じゃね?
>>109 そんなに頻繁にかつ定期的に起こるの?
>>110 RAM1GB+Win2000SP4+Java1.6.0_05+Eclipse3.3.2+公式C++用プラグイン
>>111 何故か起動直後は起きないんだけど、一度何かの操作をしたら
以降は画面上の全部のビューを閉じても関係なく起こり続ける。
何かが何なのかは?
まあ俺だけなら俺が悪いんだからそれが分かるだけでいいやと思ってたんだ。
でもせっかくだから何か分かる人がいたら教えてくれると嬉しい。
俺もCPU優先度を低くして使い続けるからそのうち何か分かるかも。
119:デフォルトの名無しさん
08/06/07 16:34:15
「テンプレートエンジン」はソーステンプレートとデータモデルから
成果ドキュメントを生成するコンポーネントの総称。
言うまでもないがJSPではないしWebアプリ以外の用途にも使える。
120:デフォルトの名無しさん
08/06/07 16:35:16
テンプレートエンジンApache Velocityを使った例:
***ソーステンプレートファイル(sample.vm)
<table>
#foreach($i in [1..9])
<tr>
#foreach($j in [1..9])
<td> $kuku.getValue($i,$j) </td>
#end
</tr>
#end
</table>
121:デフォルトの名無しさん
08/06/07 16:35:46
***Javaソースコード
public class Sample {
static public class Kuku {
public int getValue(int i, int j) {
return i*j;
}
}
public static void main(String[] args) {
try {
VelocityContext vc = new VelocityContext();
Kuku kuku = new Kuku();
vc.put("kuku", kuku);
StringWriter sw = new StringWriter();
Template template = Velocity.getTemplate("sample.vm");
template.merge(vc, sw);
System.out.println(sw.toString());
sw.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
122:デフォルトの名無しさん
08/06/07 16:46:12
>>118
eclipse.iniファイルを編集してヒープサイズを
十分大きくすれば良いんじゃないかな。
123:デフォルトの名無しさん
08/06/07 20:13:44
以前、EclipseでPHPをやろうと思い、PDTを入れたのですがPHPサーバーの設定をしようとすると
「現在表示されているページに、無効な値が含まれています」
というエラーが表示され、内部ブラウザが使用できませんでした。
Eclipseのバージョンを下げてみたり、日本語化する前にPHPサーバーの設定をしてその後日本語化したり、
URLリンク(homepage.mac.com)
のページの方法を試してみたりしたのですが、解決できませんでした。
仕方なく使用を諦めていたのですが、今日設定をしてみたら、何故かPHPサーバーの設定ができ、内部ブラウザも使用できました。
今後このままEclipseでPHPの製作は可能だと思いますでしょうか?
以前やった時は延々とエラーがでていたので、未だにいつエラーが出るのか怖くて設定すら開くことができません。
又、今後再びこのような症状がでた時の対処法が分かる方はその方法もよろしくお願いします。
124:デフォルトの名無しさん
08/06/07 23:36:27
質問です。色々調べてみたのですが分からなくて。。。
eclipseを2つのパソコンにインストールしました。
1つのパソコンで打ったソースをフォルダなどに保存し、
もう一つのパソコンで見たいのですが出来ませんでした><
どうしたら見れるようになりますか?
どなたか教えて頂けると嬉しいです。
125:デフォルトの名無しさん
08/06/07 23:45:48
>>124
Windows ファイル 共有
でググレ。
126:デフォルトの名無しさん
08/06/07 23:59:52
複数人で同一のプロジェクトを管理するなら、
専用のソフトをおすすめします。
127:デフォルトの名無しさん
08/06/08 01:28:12
すいません。
もう少し詳しく説明してもらえると嬉しいです。。
あ、複数ではしないので専用は大丈夫かと。
128:デフォルトの名無しさん
08/06/08 01:46:08
>>127
>>125
129:86
08/06/08 02:39:33
>>94
できました。ありがとうございます。
>>103
「Eclipseの比較ビューを使えば・・・」の時点でうちでは駄目なんです。。
_は1文字でthisは4文字です。thisは一度入力してから消すのもメンドイです。
thisを付けると横に長くなるので見辛いです。
自分にとってはこれが十分な理由ですね。
Javaが最初に習った言語だったので固定観念にとらわれているということもないと思います。
this.で初めてどこかのソース触って_派に改宗、最初は>>98のようにダサいと思ってた。
いっその事、言語レベルで決まっていればいいのに・・ Rubyの@fieldみたいに
130:デフォルトの名無しさん
08/06/08 09:53:30
十分とらわれてるだろw
131:デフォルトの名無しさん
08/06/08 10:02:34
Rubyの場合プリコンパイルで「@」が「this.」に置き換わってるだけなんだよね
132:デフォルトの名無しさん
08/06/08 10:18:36
>>129
eclipseの設定で「ローカル変数がフィールドを隠蔽していたらエラー」みたいな設定にでもしておけよ。
133:デフォルトの名無しさん
08/06/08 11:36:20
>>131
JRuby?
CRubyについてならそれはダウト
134:107
08/06/08 19:23:26
Javaアプリはほとんど使う機会がなかったから検索しまくってやっと少し分かってきたよ。
ログとるとメモリ使用量に関係なく1分毎にFull GC (System)が実行されてるらしい。
というわけで-XX:+DisableExplicitGCを指定すると止まった。
勝手に止めていいのか不安だけど一応解決しました。
135:デフォルトの名無しさん
08/06/08 19:50:14
>>113
質問しておいて、
最後に死ねはねえだろ。お前が死ね!ファック野郎!
136:デフォルトの名無しさん
08/06/08 19:51:41
>>120
そういえばSimteecプラグインという奴があったきがする
137:デフォルトの名無しさん
08/06/08 19:53:36
>>123
> 以前、EclipseでPHPをやろうと思い、PDTを入れたのですがPHPサーバーの設定をしようとすると
> 「現在表示されているページに、無効な値が含まれています」
> というエラーが表示され、内部ブラウザが使用できませんでした。
プロキシの設定は?
> Eclipseのバージョンを下げてみたり、日本語化する前にPHPサーバーの設定をしてその後日本語化したり、
> URLリンク(homepage.mac.com)
> のページの方法を試してみたりしたのですが、解決できませんでした。
> 仕方なく使用を諦めていたのですが、今日設定をしてみたら、何故かPHPサーバーの設定ができ、内部ブラウザも使用できました。
> 今後このままEclipseでPHPの製作は可能だと思いますでしょうか?
わかんなかったらPHPEclipse使え
138:デフォルトの名無しさん
08/06/08 19:56:10
>>129
> 「Eclipseの比較ビューを使えば・・・」の時点でうちでは駄目なんです。。
理由は?
> _は1文字でthisは4文字です。thisは一度入力してから消すのもメンドイです。
> thisを付けると横に長くなるので見辛いです。
それだけの理由でやると
Eclipseのテンプレートも使いこなせないクチかね。
getter/setterの自動生成機能がどこかにあったと記憶しているが。
リファクタリングだったかな。
> Javaが最初に習った言語だったので固定観念にとらわれているということもないと思います。
> this.で初めてどこかのソース触って_派に改宗、最初は>>98のようにダサいと思ってた。
また同じことを。ダサいという理由だけではなく利便性があるのに。
139:デフォルトの名無しさん
08/06/08 20:04:42
>>132
それだ。それやっとくと、
黄色い波線をクリックするだけで勝手にthisつけてくれる。
だったらアンダースコアなんていらないな。
Checkstyleプラグイン、FindBugsプラグインもついでとして
入れておくといいな。
140:デフォルトの名無しさん
08/06/08 20:53:03
>>139
Preferences -> Java -> Compiler -> Errors/Warnings -> Code Style -> Unqualified access to instance field
じゃねーかと。
まぁ、プロジェクトの規約が許すなら接頭辞つけてもどっちでもいいと思うけど。
宗教論争で時間使うほうが間抜けだし。
141:デフォルトの名無しさん
08/06/08 21:15:41
VisualEditorプラグインについて質問させて下さい。
JButtonなりを継承してオリジナルのパーツを作って
それをD&Dで貼り付ける時、サイズを固定させる事って
可能でしょうか?
自分でサイズプロパティをいじるのは無しの方向で・・・
142:デフォルトの名無しさん
08/06/08 21:30:53
>>99
遅レスだが、それって無駄な生成ではあるかもしれないけど、
それほど馬鹿なコードじゃない
AにBをappendするとき、多くの場合、Aが長いから問題なのであって、
Bの部分は別にちょっと無駄なコードが入っても構わない
143:86
08/06/08 23:54:33
>>130
確かにw
>>132
ありがとうございます。そういうのがあるのですか、参考になりました。
>>138
ご意見ありがとうございます。
>理由は?
メンバのバックグラウンド的な問題です。Emacs使いがいるとか
>Eclipseのテンプレートも使いこなせないクチかね。
はい、現状そういうクチです。
>また同じことを。ダサいという理由だけではなく利便性があるのに。
まだ、その利便性が実感できてないようです。
_付きの方が利便性があると感じます。
this.が_よりも冗長に見えるのです。
_付きの場合、補完時にprivateフィールドメンバだけ補完することができる。
this.の場合、全てのメンバが候補に出てしまいます。
>>139
Checkstyleプラグイン、FindBugsプラグイン入れてるんですけど、
デフォルトのSun規約使って、リファクタ機能使うと
(this.xxx = xxx)のようなコードが生成されて警告でるので胃が痛くなりました。
>>140
慣れって言うのは結構大きいですよね。
宗教論争は本位ではないので、適当に決めたいと思います。
144:デフォルトの名無しさん
08/06/09 00:00:08
>>143
this.はJavaの言語仕様で保証されている書き方。
それに沿わないやり方をするのは自由だが
アンダースコアの使い方が異なるソースと出会ったときに苦労するだけだね
145:デフォルトの名無しさん
08/06/09 04:28:24
>>143
thisよりも_がいいっていってるおまいは、
ハンガリアンの短縮記法が好きなのか。
短いのが好きだったらJavaよりもC++のほうが向いてる。
その理屈だと、
クラス宣言が面倒くさいから関数だけで短く済むC++のほうがいいとも言えてしまうぞ。
Javaのクラスやメソッドはやたらと長い名前のが多いから短縮できるCやC++のほうがいい
とかな。
146:デフォルトの名無しさん
08/06/09 11:29:29
> ***ソーステンプレートファイル(sample.vm)
> <table>
> #foreach($i in [1..9])
> <tr>
> #foreach($j in [1..9])
> <td> $kuku.getValue($i,$j) </td>
> #end
> </tr>
> #end
> </table>
で、?これのどこが、javac でコンパイルできるわけ?
バカじゃねーの?
147:デフォルトの名無しさん
08/06/09 12:00:06
そうだな、バカだな
146が
148:デフォルトの名無しさん
08/06/09 13:57:58
>>146
お前はアホだ。Velocityで実際にサンプルプログラムを実行してみることだな
149:デフォルトの名無しさん
08/06/09 14:30:24
>>147
「+」 一文字を 「).append(」 に書き換えるだけのために >>120-121 はむご過ぎるだろ。
テキストエディタでイッパツ置換した方が、まだマシ。
1000本のソースコードを全部、1から書き直せるほどヒマ人じゃ無ぇ!
sb.append( new StringBuilder("<td>").append(i*j).append("</td>").toString() );
 ̄ ̄
この余分な new を削ってオブジェクトの生成破棄を少しでも抑えようと苦労してるのに
Velocity など使えるか!
Velocity 内部でどれだけオブジェクトの生成破棄が繰り返されてるのか
Velocity のソースコードをちょっと覗いてみればすぐわかるだろ。
隣町のスーパーで10円安いモヤシが売ってるから、わざわざ電車賃100円使って買いに行くようなもん。
3億円の宝くじを当てるために、くじを100億円分買うようなもん。当たってもちっとも嬉しくない。
費用対効果を考えろ、っちゅうの!
おまいら普段からそんなぬるい仕事してるんか?頭悪すぎ!まるで、莫大な赤字を生み出した大阪府職員やな。
で、土日かけて perl で置換スクリプト書いてみた。
"文字列" + "文字列" だけ避けて、それ以外の 「+」 を 「).append(」 に置き換えるという単純なスクリプト。
置換した結果のコードを javac にコンパイルさせて、元のソースコードはそのまま手付かずに残るから
リポジトリと同期とるときに支障が無い。
これを ant の javac タスクに executable= で呼び出すよう細工してやれば、今までの環境をほとんど変えずに済む。
ちょっと自慢話みたいになってしまったが、おまいらは一生、ぬるい仕事してろ。
150:デフォルトの名無しさん
08/06/09 14:46:23
>>149
そんな後で見た奴が首ひねるコード書かれて自慢されても・・・・
Velocityは本末転倒でお遊びコードだとしても、
普通に、"+" 演算子使うのが普通の仕事で使うコードです。
チューニングは、実際に問題が出ている部分で、しかもシンプルに行うものです。
151:デフォルトの名無しさん
08/06/09 14:49:53
>>149
> 1000本のソースコードを全部、1から書き直せるほどヒマ人じゃ無ぇ!
千本? 今までどうしてきたんだか。
とりあえずリファクタリンゴ
>
> sb.append( new StringBuilder("<td>").append(i*j).append("</td>").toString() );
>  ̄ ̄
> この余分な new を削ってオブジェクトの生成破棄を少しでも抑えようと苦労してるのに
> Velocity など使えるか!
> Velocity 内部でどれだけオブジェクトの生成破棄が繰り返されてるのか
そこでstaticなVelocityContextで
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4043日前に更新/270 KB
担当:undef