3 :
デフォルトの名無しさん :2013/10/21(月) 16:41:41.91
やっとか
ふー
移植性を考慮した場合 ゲームのシステムの部分と インターフェースは別に作ったほうがいい感じかな
6 :
5 :2013/10/21(月) 17:56:22.81
誤爆スマソ
spring ideでrooプロジェクトを作成したのですが、mavenからエラーがでます >プラグイン実行がライフサイクル構成でカバーされていません: >org.codehaus.mojo:aspectj-maven-plugin:1.4:compile (execution: default, phase: process-sources) これって、どうやれば解決しますか?
日本オラクルはAPIドキュメントだけじゃなくチュートリアルも日本語化しろよ
javaはフレームワークめんどくさい
10 :
デフォルトの名無しさん :2013/10/22(火) 02:35:18.29
JDKってWindowsにインストーラ使ってインストールするとスタートメニューに項目が追加されるんだっけ? 久しぶりにスタートメニュー見たらJava Development Kitって項目が出来てたんだけど・・・
11 :
デフォルトの名無しさん :2013/10/22(火) 02:37:10.79
Java Mission Control って何ぞ・・・
Java の布教を弾圧するってことだ
15 :
デフォルトの名無しさん :2013/10/22(火) 06:53:42.98
JavaってPCI-Expressのコントロールプログラミングはできますか?
C/C++のライブラリを呼ぶぐらいはできるが
17 :
デフォルトの名無しさん :2013/10/22(火) 07:31:37.23
18 :
デフォルトの名無しさん :2013/10/22(火) 15:17:15.88
携帯からの乱筆失礼します。 常駐スレッドでJMSの土管プロセスを走らせようとしています。 これを止めるにはプロセスをkillする以外どの様にするのが一般的でしょうか。 環境はjava6、Linuxです。
PHPにおけるPearのようなメジャーなライブラリ群はJavaにはありますか?
それがJDKだが
>>19 ちょっと違うがmaven。
具体的にどういう使い方か言ってくれないと。
jspでJSPタグの中に<%=xxx%>は使用できないのでしょうか? 以下がコンパイルエラーになってしまいます。 <c:if test="${not empty requestScope.footer}" > <jsp:include page="<%=request.getAttribute("footer") %>" /> </c:if>
EL式
いくつかのクラスのオブジェクトが格納されるList<T>で、 すべてのクラスに共通のメソッドで処理を行いたいのですが方法はありますでしょうか 以下のようなイメージです。 String mehod(List<Class> list){ for(int i=0;i < list.size();i++){ list.get(i).originalmethod(); } } ループの中で実行するメソッドは、各クラス持っています。 引数の型にインターフェースを指定して、 そのインターフェースを実装したクラスでは、コンパイルエラーでした。
26 :
デフォルトの名無しさん :2013/10/24(木) 04:15:05.60
>>25 <T extends Interface> String mehod(List<T> list)
ワイルドカード
>>26 >>27 出来ました!ありがとうございます!
単体試験が5分の1になりました!
全体から見れば大したことないですが、こういう積み重ねが後々効いてきますね。
たかがこんなことで5分の1だと、、、?
>>29 今まで5つメソッドあったのを、これで1つに出来たからです。
>>26 の場合とワイルドカード使う場合って何か違いあるのかな?
<T extends Interface> String foo(List<T> list)
と
String foo(List<? extend Interface> list)
の違いって意味ね、前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね
T を複数箇所で使える <T> void swap(List<T> list) { T x = list.get(0); T y = list.get(1); list.set(1, x); list.set(0, y); } とか そうでなければ一緒
質問です class Aaa extends Bbb<任意の型,任意の型> のようになっているコードを見たのですがこれを class Test extends Aaa<任意の型,任意の型> のように更に継承させて使いたい場合はどうしたらいいでしょうか?
>>33 super<型,型>() って使えないの?
型のところにどの型でも入れる方法がわからないです
36 :
デフォルトの名無しさん :2013/10/24(木) 21:11:58.51
もうjavaはほぼマスターした。 もし俺がjavaで人間作ったらアナフィラキシーショックとか 自分自身で異常を起こしているバグみたいなのをなくすことができるとおもう
よかったね、南極29号でも作ってよ
Swingのライブラリを使っている上で気になったのですが、 例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を コピーしたものをsetしているけど、setLayout(LayoutManager manager)は LayoutManagerのインスタンスの参照を直接setしてますよね? このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、 あるクラスBのインスタンスの参照を渡すようになっている場合において、 そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、 Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを 知るためには、ライブラリのドキュメントを確認するしかないのでしょうか? setメソッドだけではなく、その他の参照を引数に取るメソッドや、 参照が戻り値になってるメソッドにおいても、色々と怖いような気がします もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな 暗黙の規則があるのならばそれも教えていただきたいです
39 :
デフォルトの名無しさん :2013/10/24(木) 21:54:23.63
相手のスマホに保存されてる画像を見れてしまうウイルスって作れますか?
通報すました
>>38 swingだろと他ライブラリだろうと、ドキュメントに書かれてないことは基本何でもアリ。
自分で防衛するしかない。
>>31 >前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね
java7までは型パラメータはObjectとして推論するから型安全じゃない。パラメタ指定したほうがいい。
8から正しく推論できるからもうちょっとの辛抱や。
jadでデコンパイルした.classファイルを.javaに戻すにはどうすればいいですか? あとデコンパイルするソフトってjad以外にありますか?使いやすいやつを探してます
44 :
デフォルトの名無しさん :2013/10/25(金) 07:08:55.12
>>33 class Test<A, B> extends Aaa<A, B>
>>38 >>41 が正しい答え。
あと補足しておくと、ソースコードを見れば内部でどういう処理を行っているかはわかる。
ただしソースコードの実装は「無保証」であるから、いつ実装内容が変更されても文句は言えない
よって仮にソースコードを読んで内部実装を知ってもそれを利用することは避けるべき
Javaが嫉妬する言語ってなにかな
47 :
デフォルトの名無しさん :2013/10/25(金) 11:35:24.86
嫉妬という概念すらない
Javaプログラマが嫉妬することはあるかもしれないが、 Javaが嫉妬することはないだろうね。
49 :
デフォルトの名無しさん :2013/10/25(金) 12:14:33.73
>>46 C#だろう。Java8は完全にC#の後追い。
インタフェースがあれば他に何もいらないと言っていた在りし日の姿からは程遠い色物になってしまったよ。
.NETがマルチプラットフォームなら 世界は平和だったのに…
新しい言語はいいとこ取りし放題なわけだし、そのうちC#よりも優れた言語も出てくるだろ ポケベルが消え、公衆電話が消え、携帯電話が消え、スマホが使われまくってるみたいに Javaが消え、そしてC#もいずれ消える定め
C#とJavaってどういう分野で競合してるんだろう WindowsアプリをJavaで作る人間はいないし、 マルチプラットフォームをC#で作る人間もいない
aspかjspか
誰か助けてくれますか?
Can I help you.
ほぼ素人ですみませんが、質問です isEof = c.moveToFirst(); while (isEof) { item.setText1(String.format("%d:%d", c.getInt(4), c.getInt(5))); item.setText2(c.getString(7)); customAdapter.add(item); isEof = c.moveToNext(); } listView.setAdapter(customAdapter); 上のループで CustomData item = new CustomData(); を外側に置いた場合、リストの内容が全て一番最後に入力したものになります これはsetAdapterしたときにitem内に格納されているデータ(最後に入力したデータ)を読みにいっているために起こるという認識で良いのでしょうか また、内側に置くことで全て表示出来るようになりましたが、この場合はなぜ表示できるのでしょうか
外側に置いた場合は CustomData をひとつしか new してないわけだから アダプタの中には全項目でひとつの CustomData を共有している 内側に置いた場合は一項目ごとに新しい CustomData を new しているわけだから アダプタの中には項目ごとに別々の CustomData がある
mavenを使ってjarだけダウンロードする方法ないんですか?
60 :
デフォルトの名無しさん :2013/10/26(土) 14:48:28.34
Commons LangのEqualsBuilderとHashCodeBuilderって便利そうだけど、かなり遅くなりますか?
61 :
デフォルトの名無しさん :2013/10/26(土) 14:54:44.59
security managerが動いてると駄目なのか、いまいち使えないな。
すみません、fc2ブログで、多数の画像のaltを一括で一つの文章(単語)に変更したいのですが、 javaとかでこう言う事は可能でしょうか? また可能なら参考になるサイトがあれば教えてください。
>>62 HTMLの変換ならXLSTでできる、XML Javaの本かggrb見つかる
>>59 mvn dependency:copy-dependenciesじゃ駄目かな。
ほしいJarをdependencyに書いておいてこのコマンドで依存性も含めて全部落としてきて
target/dependency内にコピると思うけど。
>>63 レスありがとうございます
そちらの方を検索して探してきます
>>62 xmlstarletで簡単にできそうなんでやってみたら、xhtml的に解釈できないとこがあって無理だった。
import javax.swing.text.html.parser.ParserDelegator; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTML; import javax.swing.text.MutableAttributeSet; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; import javax.swing.text.BadLocationException; class Hoge extends HTMLEditorKit.ParserCallback { public static void main(String[] args) throws FileNotFoundException, IOException { Hoge hoge = new Hoge(); FileReader file = new FileReader("unko.html"); ParserDelegator pd = new ParserDelegator(); pd.parse(file, hoge, true); file.close(); }
68 :
デフォルトの名無しさん :2013/10/26(土) 18:32:12.60
eclipseってなにがいいの? swingはnetbeansのほうが優れてると思うし、 eclipseってwebアプリケーションとかの人が使ってるんだろうか
if ((p = (char *)malloc(size)) != NULL){...} javaでこういう比較と代入を一括でできませんか?
出来るけど古いイディオムかな。 書かれているmallocの例の場合は処理の流れの読みやすさを優先して個人的は二行に 分割すると思う。 比較的頻出するパターンだとwhileを使ったファイルの逐次読み込み。 Java File whileでググるとwhileの条件内で代入と比較を同時に行う例がよく出てくる。 ただ最近はこういった逐次読み込みもイテレーターとして抽象化してfor(:)で手軽に 行えるようにする場合が多い気がする。
8ならStreemにする。 Files#lines(java.nio.file.Path, java.nio.charset.Charset)とか
>>57 >>58 同じ名前でもループした分だけちゃんとクラスが作られてるんですね
親切に教えていただいてありがとうございます。謎が解けました
ジャバのウンコさんたちはイテレータとかストリームとか難しいこといっぱい知ってるんですねT_T
うんこがしゃべった
藁
>>74 なんの亀レスかと思ったら
>>56 のextentの話か
>(最後に入力したデータ)を読みにいっている
見えるか見えないかじゃなくて存在するかしないかの話。見えるのと存在するのと代入はそれぞれ違う。
>同じ名前でもループした分だけちゃんとクラスが作られてるんですね
javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する、
ループ抜けるとスタックからpopするから存在しなくなる。これが繰り返されるから結果ループ回すたびにループした分だけちゃんとクラスが作られる。
無限ループするとStackoverflowするじゃん。スタック足らなくなって変数作れなくなったぜベイベー!って合図。
うんこをプッシュしたりポップしたりして長いループでベイベーなんですか?
例えば、80秒を1分20秒に変換してくれるフォーマットはありますか? 60秒に満たない場合は秒表示のみできると助かるんですが。
82 :
デフォルトの名無しさん :2013/10/26(土) 23:52:56.95
>>78 >javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する
違う。同じローカル変数を初期化して再利用してる。
コンパイラがブロックスコープで名前解決してくれてるだけ。
java6でもそうだっけ
実装次第と言えばそうなんだが、
C系の静的言語の設計ではブロック変数を
>>82 のように実装するのが大々大前提だからね
よほど今と大きく異なるアーキテクチャのマシンで動かすのでもない限りは変わることはありえない
85 :
デフォルトの名無しさん :2013/10/27(日) 00:30:51.25
>>81 30分ぐらい探してたので、ないと言ってもらえて助かりました。
private String fomatSecound(int secound){
int h = secound / 3600;
int m = (secound - (h * 3600)) / 60;
int s = (secound - (h * 3600) - (m * 60));
String duration;
duration = h == 0 ? "" : h + "時間";
duration = m == 0 ? duration : duration + m + "分";
duration = s == 0 ? duration : duration + s + "秒";
return duration;
}
こんなコード書いたんですけど、
もっとスマートな方法あったら教えてください。
jettyでspring3を使おうと思うのですが、怒られてしまいます。 何か設定が悪いからなのでしょうか? SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
軽く調べてみたらSpringの各コンポーネント間のバージョンのコンフリクトが 原因で起こっている事例がいくつか。
>>85 無いのなら自前で作ったものをライブラリとして公開するとかしたらとても
おし!ライブラリ公開だ! class TimeFormater { public static void main(String[] args) { int s = TimeFormater.toSeconds(7, 33, 55); System.out.println(TimeFormater.format(s)); } public static int toSeconds(int hours, int minutes, int seconds) { return 3600 * hours + 60 * minutes + seconds; } public static String format(int seconds) { int h = seconds / 3600; int m = (seconds / 60) % 60; int s = seconds % 60; return (h > 0 ? h + "時" : "") + (h + m > 0 ? m + "分" : "") + s + "秒"; } }
>89 つ Joda PeriodFormatter
>>85 "Java time pretty print"でググればそれなりに方法は出てくる。
あと時刻に関してJavaでちょっと凝ったことをする場合はJodaが定番。
93 :
デフォルトの名無しさん :2013/10/27(日) 03:54:18.30
>>92 これはいいかも!
Calendarにはガバガバメモリーリークしてるバグがあるからなw
ヨーダのステマ
>"Java time pretty print"でググればそれなりに方法は出てくる。 英語で検索とは・・・日本語圏での情報は少ないってことか
96 :
デフォルトの名無しさん :2013/10/27(日) 05:31:30.09
ちなみにCalendarを1つインスタンス化する度に600kbメモリーリークしてたと記憶している。
英語の方が情報がたくさんあるというのもあるけれども、この手の「読みやすい文字列として 出力する」という操作はpretty printという呼び方で決まり切っているから。 Googleで検索もしやすい。
Prettyprint (or pretty-print) is the application of any of various stylistic formatting conventions to text, source code, markup, and other similar kinds of content.
99 :
デフォルトの名無しさん :2013/10/27(日) 07:28:06.68
>>93 マジかお・・・Java 7の話?昔の話?
javaをこれから始めるんですが 本に書いてあった.javaを.classにする作業で使うjavacというコマンドをコマンドプロンプトに入力すると エラー:メイン・クラスcom.sun.tools.javac.mainが見つからなかったかロードできませんでした とメッセージが表示されて.classが作れません、どうすればできるか教えてください jdkはインストールされてます、pathも確認しました
エスパーするとだな、JAVA_HOMEとしてJDKではなくJREをセットしているでしょ。
102 :
デフォルトの名無しさん :2013/10/27(日) 07:55:43.71
>>100 tools.jarが見つからないのじゃないか。
jdkを再インストールすればいいよ。
>>102 再インストールは2回しましたが解決できませんでした
>>101 つまりどういうことですか?
Java_homeとはなんのことですか
105 :
デフォルトの名無しさん :2013/10/27(日) 08:16:54.98
>>104 ごめん。環境変数JAVA_HOMEのこと。コマンドプロンプトから
set JAVA_HOME
set CLASSPATH
それぞれのコマンドを実行した結果をコピペしてみて。
(ユーザー名などが含まれる場合があるので要注意。その場合は名前の部分を書き換えて)
馬鹿には無理
>>105 jdkの中のbinというフォルダです
C:\Program Files\Java\jdk 1.7.0_45\bin\だった気がします
Windowsのversion、32bit版か64bit版か、 jdkのversion、32bit版か64bit版か
>>109 win64bit、jdkは1.7.0_45もちろん64bit版です
スペックが足りてないんでしょうか
javaを始めるのはこんなにも難しいものなんですね
JAVA_HOMEとCLASSPATHの設定値はどうなの・・・
本に書いてないことがたくさん・・・ ここのほうかよっぽど頼りになります java_homeはわかりません、設定してみます
設定しなくて良いし勝手に小文字にしない > JAVA_HOME 繰り返すけどSET JAVA_HOMEとSET CLASSPATHの実行結果はどうなの?
JAVA_HOMEはないならないでpathから推測してくれるのだが、 逆に変な値が設定されているとそうなるね。 set JAVA_HOME= で解除できる
116 :
デフォルトの名無しさん :2013/10/27(日) 20:53:55.61
正規表現で マッチさせたい文字列が、対象文字列の中に複数存在する時、 指定した回数目に現れる部分をマッチさせる方法ってある? 例えば s = "hoge foo hoge bar hoge piyo hoge qux"; この文字列の左から3つめのhogeから文末まで後方参照とかしたいのです ループ文を使うほかない?
117 :
デフォルトの名無しさん :2013/10/27(日) 21:43:27.19
>>100 tools.jarはjava1.7から廃止されたんじゃなかったけ?
>>116 方法はある
>>116 方法の有無でいえばすぐ例は出せるだろうに
(?:hoge.*?){3}(hoge.*)
上手な正規表現で済ませたいって話なら正規表現のスレで相談しろという話になる
119 :
116 :2013/10/27(日) 22:42:28.37
はい…ありがとうございます
プログラミング経験なしでAndroidアプリを作ろうと思っているんですけど、何か良い書籍教えていただけませんか?
>>121 本屋のjavaコーナー行って端から端まで買え
サーブレッドを使ってプログラムを作っているのですが、設定ファイル(ORMの設定ファイル)はどこに置くのがベストですか? /WEB-INF とかが無難なところでしょうか
>>114 set JAVA_HOMEの実行結果は
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\bin;でした
set CLASSPATHは
環境変数 CLASSPATH が定義されていません でした
CLASSPATHを設定すれば使えるようになりますかね
やってから言え
JAVA_HOMEにbinは不要だと思う。
java7のjavacならJAVA_HOMEは参照してないから問題ないはずだけどな。 もしかして古い版のjavaが入ってて、pathがそっち先になってないかな?
となると javac -version でまずバージョン確認か。
jdkのインストールは最大の難関だから
そんなもんJavaプログラミング自体の面倒臭さに比べれば全く無視して差し支えないオーバーヘッド
>>131 コンピュータ(というかシェル)について基本的なこと知っていれば朝飯前だろ。
普段から人任せで、どうやって動いているのか理解してないと、結局プログラムもサンプル以上のことできないから、先にコンピュータについて学んだほうがいいと思うぞ。
馬鹿には無理
jdkのインストールできる=javaできます!だろ
馬鹿には無理
WindowsならJDKのインストーラが細かいとこまでやってくれんじゃねえの?
Eclipse落とすだけでいいじゃない
環境変数くらいプログラミングやってたらどのみち使うだろ
>>137 トラブルに対しては無力だから、そーっとそーっと崩さないように使い続けなければいけなくなる。
141 :
デフォルトの名無しさん :2013/10/30(水) 12:47:29.08
>>122 入門書の棚買いはさすがに未だかつて無いのでは
クラスパスだろうjk
>>121 本を読むより先にエクセルなり使って
具体的なアプリの画面イメージとか動作イメージを作ってみる方が有意義
ランタイムの話はjreポータブルはどうなん?
>>142 PATHの仕組みを理解してれば、CLASSPATHの仕組みを理解するのも簡単じゃないかな。
>>145 結構はまった記憶がある、どこにオブジェクトがあってどこで実行されるとか
>>146 そりゃ実装でなくて概念で理解しないとハマるだろうけど。C言語使いに多い気がする。
IDE使ってると頭つかわねーからな、コマンドラインにうつるととまどう
javaはc#の生産性に勝てるかい? .netばかりやっている上司を論破できるのか、俺にはそれが問題だ!!
そうかよかったね
>>149 ビジネスモデルや開発手法を無視してそう。
C#ってCI(継続的開発)ツールって使えるの?
馬鹿にかまうなよ
153 :
デフォルトの名無しさん :2013/10/31(木) 00:01:09.18
>>149 JavaかC#かは関係ない。
コレクションやオブジェクト関係のメソッドを知ってるか、知ってないかの差が大きい。
意味不明
155 :
デフォルトの名無しさん :2013/10/31(木) 00:58:31.27
>>154 ハッシュコードの概念とかequalsメソッドの意味
知らないとリストを回してGetしはじめる
156 :
デフォルトの名無しさん :2013/10/31(木) 01:00:04.85
ダメなプロジェクトは Equalsメソッドとハッシュコードの自動生成をやってない
自動生成ってEclipseの?
159 :
デフォルトの名無しさん :2013/10/31(木) 01:09:35.53
>>157 フレームワークでも、Eclipseでもどっでも良いんじゃないの?
フレームワークならアノテーションつけといてAntやAPTでDTOの自動生成とか。
自動生成しないとどうなるの?
161 :
デフォルトの名無しさん :2013/10/31(木) 01:29:31.58
>>160 List、Mapの機能で本来の機能を果たさなくなる。
そんなバカな
Objectに実装されてるequals()とhashCode()で通常は十分っしょ
同じ内部データを持つクラスを同一として扱いたいのならオーバーライドは必要だけど
ObjectはIDベースだろ。フィールド毎に等値性が必要ならオーバーライド必須
前提を後付けされても。
いつからMapはhashCode()の呼び出しが必須になったんだよ。
168 :
デフォルトの名無しさん :2013/10/31(木) 02:55:50.58
>>167 オブジェクトをキーにputすると、取り出せない。
そろそろ豪快な空振り三振くるぞ。
EnumMapサイコー。なぜC#に無いのか不思議。
IDベースってなに?
ジャバはオワコンなんだからもういいじゃないですかあ><
>>168 インスタンス作り直してキーにする使い方するのにequalsやhashcodeをオーバーライドしない奴とかいたら根本理解が足りてないとしか言いようがないな
君は勉強不足
自前クラスをキーに使うなんてやったことないから知らんなあ
176 :
デフォルトの名無しさん :2013/10/31(木) 03:42:33.98
そもそもequalsをオーバーライドしない理由がない。==で比較すれば同じ結果だからequalsをIDで比較する必要がない。 equalsをオーバーライドしたら、hash codeもオーバーライドする。
equalsやhashcodeを必要とする使い方しないクラスも無駄にオーバーライドしてそう
さっきからIDって何なんだよ、APIドキュメントにもIDについて書かれてないぞ
保有する値が同じだろうと別のオブジェクトとして扱いたいとき内部値で比較するequalsやhashcodeをオーバーライドとかして余計なことをしそう
昔ハッシュでツリー構造作ってたアホがいたなぁ。パフォーマンスは最悪。
スライムAとスライムBのHPが同じ値になったらスライムが1匹減るという仕様
>>161 ,168
MapやListはただのインターフェースなので
実装は作り手の自由であり、作り手が必ずしもhashCodeを使うと言うわけでは無い
バカにはムリw
オブジェクトはIDだよおっかさん
だからIDって記述ないってば
メモリアドレスはIDにはなりません。別のオブジェクトが同じアドレスに再割り当てされることもあるからです
知的障害者には優しくしないとな。 ID = identifier = 一意識別子 = 他と被らない名称
オブジェクトのID知らない奴超雑魚
httpheadersのmapなんてnullがキーなんだぜ なんで取り出せないと思ったのか
Objectのfinalizeってデストラクタと同じ?
ちがう いつ呼び出されるか分からない 書くだけでGCによるメモリ開放が遅れてパフォーマンスに悪影響が出る 重要な外部リソースの開放は自分でやるかCloseableインターフェースを使うべきだし 外部リソースを持たないなら書くだけ無駄だし 基本的にはいらない子
194 :
デフォルトの名無しさん :2013/10/31(木) 18:18:00.34
javaにRAIIをってのはどうなったの?
try with resourcesでお茶を濁して終了
お前ら基本が出来てなさすぎ
>>188 この場合はidentifierじゃなくてidentity。Object#equalsとObject#hashCodeの汎用規約はidentityと決まってる。
だからequivalencyが必要な時オーバーライドするんだろうがggr
ttps://www.google.com/webhp?q=java+equals+identity&safe=off >>182 collections frameworkの実装はHashMap以外にもObject#hashCode使ってる。(List実装は使ってないけど)
Object#equalsをオーバーライドするとき常に一緒にオーバーライドするのがObject#hashCodeの要件だし、
Object#hashCodeはObject#equalsがfalseのときでも同じハッシュ返してもいいからObject#equalsがfalseのとき常に違う値返すようにしないとパフォーマンス悪い。
>>187 ハードウェアでノイズ生成でもしないと必ず一意になる値は生成不可能だから一般的にはダブる確率が低くてコストも低いメモリアドレスで代用する。
openjdkの実装もそうなってるしjavadocにも記述されてるからラッパークラスのキャッシュと同じでAPI側の仕様。
>>191 nullのidentity hashは必ず0と決まってるからnull時の動作は別途記述がない限り定義済み。
collections frameworkの実装は基本的にnullableだから
>>168 の話とnullは関係ない。
>>199 project sumatraでGPUと共有するメモリをGPUが使い終わるまでGCしないようにVMに変更入った。
RAII自体はとっくの昔に方向性が変わって成果物はtry with resourcesとその他諸々になってる。
>>201 野良ライブラリ作った奴がMapやListの実装にequalsやhashCode使ってるかは分からないだろJK
204 :
デフォルトの名無しさん :2013/11/01(金) 02:02:07.60
>>201 細かいやつだな。キーを定義しなおすほど潔癖症なのかそれともHashMapをHashSetと勘違いしてないかい?
hash codeは完全一意に作れるわけじゃないのでIDの定義には当てはまりません hash codeに求められるのは一様に分布することです
>>201 のどこが間違ってるのかわからん
お前らは自分のチンケな自尊心を守るために難癖つけてるだけだろう
※通常
16bitマシンや64bitマシンではメモリアドレスを返すという仕様は満たせない
>>211 へんなところで文章切るなよ。
> (これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、
> この実装テクニックは JavaTM プログラミング言語では必要ありません。)
> この実装テクニックは JavaTM プログラミング言語では必要ありません これはオーバーライドするときに内部アドレスのこと気にせずにオーバーライドできるよって意味だろJK
Java言語では必要ありません、に対しての通常なわけだから 「他の言語では内部アドレスを整数に変換することによって実装されますが」と同等の意味だろう。 普通に読めば。
ObjectのhashCode()の実装はJavaで書かれてません
しかも1.2の頃から確認できる文だからなぁ。10数年前は一般的だったテクニックだったっつー事だね。
221 :
デフォルトの名無しさん :2013/11/01(金) 16:19:16.50
>>218 どうしてこんな頭の悪い奴ほど主張が強いのだろう。
Javaで書かれてないけどデフォルトでは os::random() 呼んでるからなぁ。
223 :
221 :2013/11/01(金) 16:22:31.29
っつかVMのソースコードからデフォルトで乱数使ってるの判明してんのに、さすがに見苦しいわ。
偶数しか返さないhashCode()、とか、やだなあ。おい
そりゃ内部アドレスを返してたらセキュリティ的に危ないだろJK
JDKのインスト―ルフォルダ内にあるsrc.zip
>>227 今回の Object#hashCode() の場合はネイティブだからそれ見ても無駄。
これやれば分かる Object[] obj = new Object[200]; for (int i = 0; i < obj.length; i++) { obj[i] = new Object(); System.out.printf("%d %d\n", obj[i].hashCode(), obj[i].hashCode()); }
はい、この話はこれでオシマイ、次の質問どうぞー
おーばーらいどってなんですかー?
おーらいおーらい
本来の争点からズレてないか?hashCodeのオーバーライドについて話してたんじゃなかったのか?
オブジェクトはIDだよおっかさん
乱数はID
論破完了
>>151 -
この辺りからの流れか、えらく続いてるな
もうループしてるだけだろ
iPad air ほぢい
馬鹿には無理
eclipseでメソッドのヘルプをeclipseについてるブラウザで閲覧しようとしたところ、 eclipseごと固まってしまいました。 1時間ほどの作業を保存していないので、 消えるとショックなんですが、 復元機能はついてますか?
次の方
248 :
デフォルトの名無しさん :2013/11/02(土) 12:19:39.67
javaの中級レベルのテキストでお勧めのものはありませんか?
effective java
250 :
デフォルトの名無しさん :2013/11/02(土) 12:34:38.02
有難うございます
251 :
デフォルトの名無しさん :2013/11/02(土) 12:38:46.61
でも第二版が品切れだな。 他のんない?
>>249 改版するわけでもなさそうなのに、ピアソンて商売気ないのね
ピアソン日本として活動してた会社がグループ離れて、全部絶版になった
以前も業務提携解消で同じようなことがあったような気がするけど、 その時は、一部の本が別の会社が出て、 しばらくして、ピアソン日本で出るようになった記憶。
使用しているサーバはTomcat5.5なんだけど、JDBCRealmのdigestをMD5に設定した途端に認証に失敗します。もちろんテーブルにMD5のパスワードを入れてるのですがうまくいきません。どうすればいいか教えてください。
7.0にする
spring <--> mybatisの連携をやろうと思っているんですが、 どうやってmybatisに依存性を注入すればいいんですか? これじゃだと、依存性が注入されないんですが、やり方おかしいですか @Service public class Sample extends HttpServlet { @Autowired SqlSession sqlSession;
そこはこのスレより過疎、意味ない
5 名前: 1 投稿日: 2013/03/21(木) 16:53:49.51 でもリンク書いてくれたスレ、レベル高いなぁ もっとこう、初心者が気軽に書けるスレがあればいいんだが・・・ warota
263 :
257 :2013/11/02(土) 22:28:32.53
>>261 誘導先に書き込んだら、自己解決してしまったorz
アスペクト指向って役に立つの?
ロギング、トランザクション、認証以外に用途が全く思いつかないんだけど
methodA()が呼び出される前・後に、ロギングするようにしたいのですが どのようにすればいいでしょうか?
リスペクトされてないアスペクト
267 :
264 :2013/11/03(日) 08:16:43.37
>>265 「java メソッド呼び出し フック」ggrbしあわせ
アスペは役に立たない
270 :
デフォルトの名無しさん :2013/11/03(日) 13:51:29.11
ggrasaws
gdgdurusai
javaってas演算子無いんだね キャストに失敗した時、nullがセットされるからめちゃ便利なのに
嘘はよくない
SocketChannelクラスにbindが実装されてたんだな
>>273 おもいっきり、DOCに例外が発生するって書いてないか
277 :
デフォルトの名無しさん :2013/11/03(日) 17:51:36.30
>>273 おまえ一度もjavaに触ったことないんじゃね?
きっとVMがSunやOracleやGoogleじゃないんだよ MSとかさ
それをいうならSunやOracleやIBMだろ GoogleのああいうのこそまさにえせJava
プログラミング言語としてのJava言語は特許とってないのか
JVMやライブラリの中は特許だらけだよ Oracle神以外が作った処理系をJavaとして世に出すには Oracle神に大金を支払ってライセンスを受ける必要がある
JVMを借用する言語を作ったらなんらかのライセンス問題にひっかかりますか?
馬鹿には無理
JVM上で動くJava言語ライクな言語を作ったらライセンス違反ですか?
このご時世、何かしら特許で言いがかりを付けることは可能だろうね ただ現実としてScalaみたいなのが問題になっていない以上、 あなたの言語がそれを超えることはあり得ないのでまず問題ないといえる
じゃあ逆にJDKでのコンパイル物が実行できる俺俺JVMを作るのは
>>286 それはアウト
GoogleとOracleは実際それで絶賛喧嘩中
x86のエミュレータはOKだのにJVMのエミュレータはアウトなのか
OpenJDKからフォークしたことにすればおk GPLになっちゃうからドブに捨てるようなもんだけどな
Integer Java Virtual Machine のエミュレータ試作 - 日本大学 www.tani.cs.chs.nihon-u.ac.jp/g-2004/karaika/ijvm.pdf 教育用JVMエミュレータの設計と試作 www.gsim.aoyama.ac.jp/~ida/jvm-emu 4L-3 教育用 JVM エミュレータの設計と試作 ci.nii.ac.jp/naid/110002894678 教育用なら大丈夫なんじゃね
IKVM.NETとかKaffeもOracleに特許料を払ってたりするのか?
取るに足らないからだよ 商業的に邪魔になるようなら攻撃される可能性はある
IKVMなんて広く使われるようになったら訴訟確実だろうな Javaの主戦時で衝突するわけで、Androidよりヤバイよあれ
ところでオラクルvsグーグルのジャバ裁判はどっちが勝ったんですか?
決着ついてたら
>>294 のwikiにも書かれてるはず
Google vs Oracle裁判は裁判の経過というより「そもそも何が争点になってるのか」がわかりにくい ・VMがパクリ ・APIの名前がパクリ ・APIの中身がパクリ こういう争点だと認識してる
よかったねつれて
テンプレ見たんですが なんで文字列の比較に==を使っちゃいけないのですか? 理由が書いてないのですが教えてください
int[][] ary = { {1,2}, {3,4}, }; 上のコードは問題なくコンパイルできるんですが 下のコードはエラーになります int[][] ary = new int[2][2]; ary[0] = {1, 2}; ary[1] = {3, 4}; 二次元配列のときはこういう書き方はできないのでしょうか?
304 :
デフォルトの名無しさん :2013/11/04(月) 15:36:42.85
できない
そうでしたか、わかりました
306 :
デフォルトの名無しさん :2013/11/04(月) 15:41:00.36
ary[0] = new int[]{1, 2}; ary[1] = new int[]{3, 4}; だとコンパイル通るよ
おお、ありがとうございます
class Test{ private String test = "test1"; main{ hensuutest("test2"); } test(String test){ System.out.println(test); System.out.println(Test.test); } } クラス内の変数とメソッド内の変数名が一緒の時に、 それぞれ区別して参照するためには何を変数の前につければいいのですか?
this
ありがとうございます。 メッソトにstaticをつけろと言われまして、 つけたらthisはstaticだと使えねーよと怒られてしまったのですが。。。 static void Test(String test){ System.out.println(test); System.out.println(this.test); }
あ、メソットが変数名と被ってるのは書き込み用だから 気にしないでください。
自己解決しました
313 :
デフォルトの名無しさん :2013/11/04(月) 17:39:14.34
してないですw
314 :
デフォルトの名無しさん :2013/11/04(月) 17:39:18.20
>>310 静的メソッドからインスタンス変数を参照することはできないんで
testを参照したいならtestにもstaticつけなきゃいけないよ。
もしくはオブジェクトを作ればいい。
test(String test){
Test o = new Test();
System.out.println(o.test);
}
なるほど。ありがとうございます。 なぜ、情的メソッドからインスタンス変数を参照できないのか、 ちょっと整理がついていないですが、 クラスを利用したいと思います。
317 :
デフォルトの名無しさん :2013/11/04(月) 18:12:38.28
>>315 静的メソッドね。インスタンスメソッドを呼ぶときはオブジェクトを作って
呼ぶでしょう。オブジェクトを作ったときにインスタンス変数のメモリも
確保されるからインスタンスメソッドからはインスタンス変数を参照することができる。
けれども静的メソッドを呼ぶときはインスタンスを作成する必要がないんで
インスタンス変数のメモリが確保されてない。だからインスタンス変数を参照できない。
EJB3の単体テスト。EJBContainer.createEJBContainer()で参照したEJBに InjectしているManagedBeanが解決されずにNullになる。 何か設定が不足している?仕様?
Eclipseでプロジェクトを循環参照したら、怒られちゃった javaってプロジェクトの循環参照できないのかよ!!! c#に負けてんじゃん
よかったねー
>>317 なるほど!
カップラーメンにお湯入れてねーのに、スープ飲めるかよってことですね。
自分はmainメソッドから他のメソッドを呼ぼうとしたらstaticつけないと呼べないよと Eclipseに怒られたのでstaticを付け、そのメソッドから他のメソッドを呼ぼうとしたら また怒られたのでstaticをつけ・・・ 気がつけばそこにはstaticメソッドしかいない。 そんな恐怖物語を学生実験の現場で何度か見てきた。
324 :
デフォルトの名無しさん :2013/11/04(月) 21:20:25.02
これはstatic感染症と命名しなければなりませんね。
性的感染症
staticスパイラル
よくストリームをcloseするコードとして Reader reader = new FileReader("a.txt"); try { doSomething(reader); } finally { reader.close(); } というコード(@)と、 Reader reader = null; try {  reader = new FileReader("a.txt"); doSomething(reader); } finally {  if (reader != null) {   reader.close();  } } というコード(A)を見るのですが、どちらが正しいのでしょうか? 個人的に@で十分だと思うのですが、Aじゃないとreaderのcloseが漏れることがあるのでしょうか?
nbspとかいう文字が羅列するコードなんて見たことねえよ
329 :
デフォルトの名無しさん :2013/11/04(月) 22:22:41.98
>>327 遅れるとかそういう問題じゃなくて、new FileReaderのところでファイルが無いと例外が発生するから。
330 :
デフォルトの名無しさん :2013/11/04(月) 22:23:12.69
>>328 にわかか?この間までは で空白が出力されてたんだけどな
>>330 お前はプログラム修正で文字化けが発生するようになったことを客に指摘されて
同じことを客に抜かすのか?
332 :
329 :2013/11/04(月) 22:25:17.57
凄い勘違いをしていた無かったことにしておくんなまし。
>>329 すいません、大外にはFileNotFouneExceptionを捕まえるtry〜catchがあると思ってください。
ただ単純に、@、Aのどちらでも、close漏れは防げるのか、防げないのかということが知りたいです。
すみません、Javaでandroidアプリを作っているのですが、 TableLayoutで作った表の幅と高さを調整したいのですが、どうしたらいいでしょうか? TableLayoutでテキストとボタンを配置したのですが、実機で起動したところ 表示したものが、1/9の大きさで左上隅に表示されました。 これだと、小さすぎるので幅を大きくしたいのですが、 調べたところ、xmlファイルのはあるのですが、Activityファイルでは見つかりませんでした。 どこを調べたらいいのでしょうか?
335 :
デフォルトの名無しさん :2013/11/04(月) 22:26:59.26
>>331 何の話してんだバーカ
2chの仕様をいってんだよ
自己解決しました
337 :
デフォルトの名無しさん :2013/11/04(月) 22:35:23.94
>>333 close漏れは(@、A)どちらでも防げるよ。
@ってtry {の部分が失敗することってないのかな?
>>328 ,330,331,335
おまえら面白杉だろw
341 :
デフォルトの名無しさん :2013/11/05(火) 00:06:07.20
close()メソッドも例外投げなかったっけ?try-catchでくくる必要あった希ガス
343 :
デフォルトの名無しさん :2013/11/05(火) 00:10:20.03
>>342 あるね。
try{
FileReader reader=new FileReader("unko");
try{
...
}finally{
reader.close();
}
}catch(Exception e){...}//ヌルポとIOExceptionを補足
で良い感じもする。
>>327 前者と後者の違いはclose()の漏れに注目してる違いのコードじゃないよ
new FileReader("a.txt")の失敗をキャッチしたいかしなくていいかの違いだよ
前者はa.txtが無かった場合どこで処理されるか知らんけど、後者はそこのcatchで処理されるからcloseメソッドの呼び出しに気を遣うためにnullチェックしてる
だけど自分の場合過去のソースの99%は以下 FileReader reader=null; try{ reader=new FileReader("unko"); ... }catch(IOException e){ ... }finally{ try{ reader.close(); }catch(Exception e){...} }
つまり 前者の@はnew FileReader("a.txt")の失敗を想定しなくていいコード 後者のAはnew FileReader("a.txt")の失敗をそこで処理したいコード (ただAにはcatch文が書かれてないけど、本来は処理する)
馬鹿には無理
質問者名前欄にレス番号入れてくれないと見落とすだろんバカん
質問者は根本問題として@とAのコードの違いをcloseの漏れを防ぐために厳重にしてるかどうかの違いだと勘違いしてるからあんな質問したんだろJK
自信がなかったのでFileReaderのソースコード見たけど@でOK
354 :
デフォルトの名無しさん :2013/11/05(火) 01:27:27.96
>>347 これはまずいと思うぞ。
コンストラクタが例外投げたらぬるぽじゃないか。
ぬるぽ地獄に陥りたいのか!!
355 :
デフォルトの名無しさん :2013/11/05(火) 01:29:31.91
実際にはこんな感じになると思う。 void load(File f)throws IOException FileReader reader=new FileReader(f); try{ ... }finally{ reader.close(); } }
スレ汚しすまんね。 void load(File f)throws IOException,NullPointerException {...}
358 :
デフォルトの名無しさん :2013/11/05(火) 01:36:21.44
もうだめだ地獄だ。357は間違っている。
tryの行で失敗するってことはないのん??
構文であるtryが失敗ってどういうこと?
@のコードの Reader reader = new FileReader("a.txt"); // ここに何か処理があったらreaderのclose()のフォローができない try { って話をしたいの?
自分以外の誰か、あるいは自分がうっかりして、そこに失敗の危険性のあるコードを書き足したらヤバいな
構文であるtryが失敗する心配をするならfinallyが失敗する可能性も検討しないと、finallyが呼び出されず異常終了したらcloseされないじゃん!って
いや、try って多分例外が発生したときのためにスタックをどこまで巻き戻すかとかやってると思うんだけど
構文であるtryが内部で何をやってようとJavaプログラマがそこを配慮する必要は全くないだろJK
try自体の失敗にビビったら何のメソッドも呼び出せなくなるだろ、呼び出し先のtryでシステムエラー投げられたってどうしようもないぜ
メモリのスタックサイズを気にするような環境でJavaを使うのか
test(cursor c1){ Cursor c2 = c1 c1.close } こんな感じのコードを書いたんですが、 c1をクローズするとc2まで閉じちゃうんです。代入ってコピーするんじゃなくて、メモリで持ってるインスタンスそのものにアクセスするエイリアスみたいなものなんでしょうか?
ハードリンクみたいなもんだよ
Object obj1 = new Object(); Object obj2 = obj1; obj1 = null; //obj2はnullにならない もしエイリアスなら、obj2はobj1と同じ物を指さないといけないからobj1をnullにしたならobj2もnullにならなければならない
む、、、難しい。
375 :
デフォルトの名無しさん :2013/11/05(火) 03:58:04.78
コピー姿態ならメソッドclone()が必要かも
Human tom = new Human(); //新しい人間を1人作ってそいつにtomというニックネームをつけた Human joe = tom; // tomとニックネームをつけた人間にjoeというニックネームもつけた tom = null; //tomというニックネームを使うのをやめた インスタンスの概念
>>376 ジョーさんはその後もトムという通名を使ってるのですか?
>>377 それは違うよ、本人がtomやjoeと名乗ってるわけじゃない、周りが勝手にtomやjoeと呼んでるだけなんだよ
プロレスラー 武藤 = new プロレスラー() プロレスラー ムタ = 武藤 ムタ = null ムタ止めた 武藤.dead 武藤(ムタ)は引退した こ・・・こういうことか 理解した
Human tom = new Human("Jack"); //新しい人間(本名Jack)を1人作ってそいつにtomというニックネームで呼ぶことにする Human joe = tom; // tomとニックネームをつけた人間(Jack)にjoeというニックネームでも呼ぶことにする tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない) tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomと呼ぶことにする Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする }
Human tom = new Human("Jack"); //新しい人間(本名Jack)を1人作ってそいつにtomというニックネームで呼ぶことにする Human joe = tom; // tomとニックネームをつけた人間(Jack)をjoeというニックネームでも呼ぶことにする tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない) tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomというニックネームで呼ぶことにする Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す tom.die(); // tomと呼ばれてる人間(Cindy)を死なす joe = null; // joeというニックネームで誰かを呼ぶことをやめる、joeというニックネームで呼ばれる人間はいなくなる、また同時にJackをニックネームで呼ぶ者がいなくなったためJackは失踪する joe.die(); // joeと呼ばれてる人間はいないので存在しない者を死なすことは出来ない void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする }
荒らすな雑魚
383 :
デフォルトの名無しさん :2013/11/05(火) 05:12:16.69
>>382 ノ ⌒γ⌒)
(( (
( )
) ヽ
ノノ ))
( ノノ ノノ )
((( ノ乂ノノ从 人乂 ヽ
) )ノノ__」」__| )
( )) (●) |(●)/( ))
)) ( ノ | ヽ | )ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( メ ヽヽ 」 / ノ < え!ここ荒らしちゃいけないの!?
((乂 ノノ | llllllllllllll ノノ ) \________
((乂 ヽヽ ++++ノノノ)((
ヽ乂 ヽ  ̄ ̄/ ノ
ヽllllllノ
どんどん書き込んでね
アンドロイドはすれ違い
変数とは認識。
馬鹿には無理
JNIの技術使えばandroid携帯の色々な機能が使えたりする?
色々な機能が使えるよ
Jarファイル内にDLLを入れてJNIでアクセスすることできる?
ヒマ人だなお前w
>>391 直接は出来ない。MANIFEST.MFをごにょごにょすれば出来るとかは基本的に迷信。
getResourceAsStream等でJAR内のDLLを一端テンポラリディレクトリ等に書き出して
System.loadで読み出す必要がある。
396 :
デフォルトの名無しさん :2013/11/06(水) 08:47:18.80
XML使うときってどのライブラリ使うのが一般的というか簡単ですか?
java
>>196 重くても楽がいいなら標準DOM
でなきゃ標準SAXで
rhino上のjQuery経由
馬鹿には無理
pull型最強
Pullはいかにも手続き型って感じで嫌だ
アホには無理
ガンバって勉強して下さい
util.Dateを使えって事ですか?
Date は、地域や暦によらない不変の日付時刻を表す Calendar は、ある特定の地域と暦における年月日時分秒を表す 例えば、日本時間における西暦2013年11月6日12時27分38秒は、 アメリカ東海岸では西暦2013年11月5日22時27分38秒になる Date は特定の地域や暦に結びついていないので、 Date 的にはどちらも等しい 同じ Date をまた別の地域や暦の Calendar にセットすれば、その地域や暦に応じた年月日時分秒になる
未だに日付関連APIすらまともに使えないって… 初心者未満のレベルだってことを自覚した方がいいぞ
質問スレで上から目線()
Runnableのような単一のメソッドのみ持ったインターフェースを、コールバック用の 関数っぽく扱うために(メンバ変数などを持たせずに)、runメソッドのみを実装することに なると思うんですが、そのような関数のためのインスタンスでも、いちいちヒープ領域に インスタンスを作ったり開放したりするコストなどがかかるのでしょうか? 同じようなモノをJava8で追加されるラムダ式で実現すると、static finalで作った関数と 同程度の最適化が起こると聞いたので気になります
ゆっくり休んだほうがいいぞ
だなw
>>414 getTime の戻り値は Date
Date は地域に結びついていないと言った
Calendar の年月日時分秒は get で取る
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
馬鹿には無理
JavaDBを使ったアプリを作って配布する際にJavaDBのファイルを含めないとアプリをダウンロードしたユーザはアプリを使えないよね? JavaDBのファイルってアプリに含めて配布してもいいのかな?どのファイルをアプリに含めればいいんだろ
418 :
デフォルトの名無しさん :2013/11/07(木) 06:38:48.39
java初心者で申し訳ないですが質問です。 public class Sample2 { public static void main(String[] args) { int count=5; while (count !=5&&count>0){ System.out.println("while :count=" +count); count--; } do{ System.out.println("do-while : count="+count); count--; }while (count!=5&&count>0); } } で結果が do-while : count=5 do-while : count=4 do-while : count=3 do-while : count=2 do-while : count=1 になるのですが count!=5 のところの ! の意味がよくわかっていない為よくわかりません。 階乗の意味か逆の意味のどちらかと思い自分なりに考えてみたもののさっぱりでした。 count!=5 の意味に重点においた解説をどなたかしてはもらえませんか?
甘えてばっかりだなゆとりは
420 :
デフォルトの名無しさん :2013/11/07(木) 07:05:04.47
きみが5歳ならおしえてあげる。
421 :
デフォルトの名無しさん :2013/11/07(木) 07:08:29.05
>>418 count != 5は、countが5ではないって意味。
while (count != 5 && count > 0)
はcountが5ではなく、0より大きければという条件。
countは5なので、条件は不成立。最初のwhile文は実行されない。
do while文では最初にdoのところが処理されて
count--でcountが4になる。
countが5ではなく、0より大きければという条件が成立する。
オレオレ語を使われてもわかりません。
423 :
デフォルトの名無しさん :2013/11/07(木) 07:23:51.37
>>421 解説ありがとうございます!
おかげで理解することができ、スッキリしました!
テキスト検索ボックスに入力されるたびにリストのフィルター処理しているんですが、一文字目のフィルター処理中に2文字目が入力された場合、処理を中断して2文字目の処理を優先する方法はありますか?
>>421 なるほど、大変良くわかりました。
どうもありがとうございました!
javadbは、jdk7/db/LICENSE のファイル(linux)によると Apache License Version 2.0 とあるので、dbフォルダごと全部そのフォルダの構造やファイルを一切編集しないでコピーすれば、再配布できるはず。
一番年下のたらちゃんに敬語を強制させているさざえ家の闇に触れた気がした。
集合の比較ができるクラスはありますか? int配列1 1,2,3 int配列2 1,3,5 とあって、 この場合、1,3を取得をしたいのです。
Set、検索するきもないのか
教えてクレクレ君っていうのはくだらない理由で大学教授を怨むパターンが多い。
>>430 ありがとうございます。
こういうの探してました!
ちょっと試してみます。
434 :
デフォルトの名無しさん :2013/11/07(木) 13:28:14.66
JWS (Java Web Start) 捨てて、 自分でJWSが管理していた部分を実装してるんだけど、 ウェブ上のファイルの最終更新日時の取得ってどうやるんだ? 毎回ダウンロードさせるわけにもいかないし、 更新するファイルだけになんらかの属性つければ話は済むんだが、 なんか方法あるなら教えてください。
そういうのこそ、自分で管理しないのがコツ
436 :
434 :2013/11/07(木) 13:36:57.43
自己解決
URL url = new URL("
http://... ");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Date date = new Date(conn.getLastModified());
>>435 証明書の警告がなければ使い続けてたよ。
>自分でJWSが管理していた部分を実装 この実装をダウンロードさせてインストールさせることには抵抗が無いと?
438 :
デフォルトの名無しさん :2013/11/07(木) 15:11:27.17
>>437 >この実装をダウンロードさせてインストールさせることには抵抗が無いと?
”させる”ってことは俺について言ってるんだよな?
答えは「ない」だ。
大体JWS使ってる時だってオレオレ証明書だったし。
もしユーザー側の抵抗について言ってるんだとしても
やっぱり「ない」けどな。
大体 ユーザーはどうやって実装してるかなんて気にしてないし。
むしろJWSのセキュリティ警告出る方が心配あおるだけだし。
ライブラリやアプリの開発者は、ユーザが用意した任意のシステムやオーエスについてのセキュリティまでをもサポートする必要はない
441 :
417 :2013/11/07(木) 15:43:35.10
ジャバはオワコンでこれからはシー・シャープですよ? つまりこれからはサーフェースとエックス・ボックスとウィンドーズ・ホンの時代ってことです!! マイクロソフトが豊富な資金力で壮大なマーケティングをやってるの知らないんですか!?
アスペ..netですね、わかります
構文とライブラリの覚え直しですね
グーグルがモトローラーを買収して、マイクロソフトがノキアを買収して、オラクルも携帯端末ハード企業を買収して、nexusやmssurface(amr)みたいなjavameのハードウェアのリファレンス・モデルを出してほしい。
SQLiteみたいにデータベースっぽくファイルへの読み書きができるライブラリとかないの?
>>446 それがsqliteでは。
他のアプリからも読みるフォーマットでということかな。
perlの頃にcsvファイルフォーマットでsqlとかあったから、それの頭にjつけて探せばあるんじゃね。(適当)
javadbを使ってるんですが、例えばselectで出てきた2行目だけを削除したいときのsqlはどう書けばいいんですか?
1, taro 2, jiro 2, jiro 3, san となってるときwhereを使うと全ての2, jiroの行が消えちゃうんですよ。 例えばこのとき2行目だけを消せるようなsqlはどう書くんでしょうか?
>>452 ライセンスをちゃんと理解できればそうもできるけど、分からないなら全部配布した方がいい。
>>452 >derby.jar単体を自分のアプリのjarに含めて
そんなことそのページに書いてないよ
distinctはそういうときに使うんですか。 selectはできても、deleteはできないみたいですね。
>>457 dbで直接updateしないで、csvをインポートしたtableを作成したりなんで、sqlはまったく同じデータが複数行で被ってるときに弱いんですよ。
今はこの脆弱性をどうしようか思案中です。
>>459 ROWNUMが無いならどうしようもないな
sqlだと結局そうなるんですよねー^^
462 :
デフォルトの名無しさん :2013/11/07(木) 17:45:13.15
distinctはもれなくgroup by nameに置き換え可能ですか?
>>453 お前には2番目と3番目に出てきたものの違いがわかるのか?
CSVを取り込んだ時の順番かどうかは実装次第じゃないのか?
自分で実装したプログラムで取り込むなら主キーを設定すればいいが そうではないのだろう だから無理
前処理で行番号付ければいいんじゃね。
>>454 derby.jarの中のMETA-INFにapache license 2.0の要求するLICENSEファイルとNOTICEファイルが入ってるみたいだし、derby.jar単体で再配布とか使ってもいいとかそういうことではない?
>>467 derby.jarだけでなく、他に必須のderbyclient.jar, derbyLocale_ja_JP.jar にもライセンスの喚起のファイルがあるね。
それならjarの中身をいじらないままなら該当のだけを個別に配布しても多分大丈夫だろう。
ただし己のJARにderby.jarを含めるなら話は別だ
組み込み型のderbyとSQLiteとどっちのほうが
[ThinkIT] 第1回:Javaはまだまだこれからだ! (1/3)
http://thinkit.co.jp/free/article/0708/9/1/ > JARという配布形式では依存しているライブラリを1つにまとめて扱えない
>
> JARはその内部にJARを持つような構造をサポートしていません。
> あるライブラリが依存するJARを一緒にまとめて配布することはできても、まとめて1つのファイルとしてJVMにロードすることはできません。
あいかわらず変な奴が多いなここ
Pure Javaに拘る奴はバカ
JNI
「PureJavaじゃありません」とかわけのわからんこと言って客の要求を却下してこそ一流
SQLiteは著作権放棄だからJavaに移植して使えばいいのよ
>>455 java6からderby (javadb)とrhino (scripting)がjavase jdkに含まれてるから、一応このすれで扱っても問題ない。
しかも、それらはjdkのスタンダード・ライブラリ扱いってことで、いい宣伝にもなるんじゃないか。
Apache Licenseなのだからjarの中身を弄ろうがバラそうが自分の成果物と混ぜて uber jarにしようが、使ってますということをリンク付きでどこかに明示して オリジナルのNOTICEファイルを配布物の目につくどこかに突っ込んでおけば無問題。
ライセンスの人為的解釈だとそうもいえるけど、著作物の同一性保持の法的保護ってのが先立って存在するから、何でもありって分けじゃあない。
926+1 :デフォルトの名無しさん [↓] :2013/10/25(金) 00:03:45.26 javafxを習得しても、javafxは現状、iphoneでもandroidでもwindhowsphoneでも、ipadでもnexusでもsurfaceでも動かん。
>>482 派生物の許諾を許可するライセンスなのに巻き戻して同一性保護とかわけわからん。
日本だとOSSプロジェクトのフォークは永遠に無理だな。
派生物の許諾 > 派生物の配布
そのライセンスは、派生物の何を明示的に許諾するのか、暗黙では何ができて何ができないのか、そういうのを理解できないならその成果物の塊のままで再配布すればいいですよ。 とくにプログラムものでは、それの二次創作なのか、ライブラリとして利用するだけなのかとかも、ちゃんと理解してないといけません。 そうでなければ、スクラッチで、まったくの無から作って下さい。 オープンとかフォークとか成果物自体は結構どうでもよくて、自分である程度形になったものを作れるようになると、著作権とかライセンスとかにある意義の大事なところが理解できてくるでしょう。
>>484 日本でオープンソースのプロジェクトなんてのは成功しなくていい
日本人が中心になってやってるのなんかは想像するだけできもい
ボかさないでApache Licenseで許諾されている派生物の配布がどのように同一性の 保護云々で妨げられるのか説明してくれ。 そしてApapche commons等々がバラされて混ぜられて一つのjarに固められたものが 当たり前のように配布されていたりMaven centralから落ちてきて頭を抱える昨今、 DerbyというApache Projectの成果物をそのように扱うことにどの程度のリスクが あるのか実務的な観点から答えてみてくれ。 ヒマ人以外にとっては単に「杞憂」。
そんなに知りたいならアパッチに聞けよw
アホか。個別に直接聞かなくてすむように契約書として文面におこしているんだろうが。
javadbの配布物の一部を再配布したいんだから、apacheじゃなくてoracleに聞けばいいんじゃないの
>>491 はい。一定の義務の元に派生物の配布を明示的に許可しているのでOKでFAね。
>>491 無駄に話をややこしくする一方で根拠を聞くとまともに答えない人って何なの。
>>492 JavaDBは中身もCopyright noticeもDerbyそのものなのでApacheで桶。
>>495 もう結論出ているから移る必要無いよ。終了。
Jar弄るなら云々とか自分のJarに含めるなら云々といっている人は外の世界をもっと
よく見るかあるいは手元のJarの中身をもっと眺めてみようね。
>>496 もう分かったから。仕事行けよ。
500get
501get
自己解決しますた
Jarを一つの成果物とみなすか、Jarとただのアーカイブとみなすかに関係なく Apache License 2.0にはLICENSEやNOTICEを派生成果物や成果物の中につければいいとあるんだからderby.jar内に書いてあるんならどちらも問題ないだろう ただユーザはJarを展開して配置するわけではないからderby.jarを中に入れようが外に添付しようがJar内のLICENSEやNOTICEは読まんだろうな
SMTPappenderのsubjectって、固定文字列だけ? ホスト名とか動的にいれらんないの?
SMTPappenderって何?
Apacheのdocはみた。 log4j.xmlで、subjectを動的に設定できないから困ってる。 環境変数とか読み込めたりする?
ベータ版であるlog4j 2.0を使うのが悪い
>>512 可愛いヤツめ。
>>510 mdc。なんかいけそうな気がする。
ありがとう!試してみるよ。
ken arnoldKava本?5th editionってなんで売ってないの?
初心者の質問です。 一応、Java SE7 programmer Silver の資格を持ってますが。 あんなのは、ただの意地悪問題だけのテストだったので意味が無かったのですが Stringに関しての質問で 例えば int num = 10; とあったとして Stringに変換する時 ""+num か、 ((Integer)num).toString() か、 String.valueOf(num) どれが一番適切なんでしょうか。 疑問です。
プロジェクトの規約に従う 以上
すごいね、以上
初心者の質問です。 一応、Java SE7 programmer Silver の資格を持ってますが。 あんなのは、ただの意地悪問題だけのテストだったので意味が無かったのですが Stringに関しての質問で 例えば int num = 10; とあったとして Stringに変換する時 ""+num か、 ((Integer)num).toString() か、 String.valueOf(num) どれが一番適切なんでしょうか。 疑問です。
519 :
デフォルトの名無しさん :2013/11/10(日) 09:13:38.92
>>515 ((Integer)num).toString()は
Integer.valueOf(num)#toString()で
Integer#toString()はInteger.toString(num)を呼んでいて
String.valueOf(num)は
Integer.toString(num)を呼んでいる。
なのでInteger.toString(num)でいんじゃないか。
俺は野良goldしか資格をもってないが別に疑問に思わない 性能評価でもすりゃべつだろうけど
一応その場合はString.concatが最強だけど、そういうことは気にしない方がいい
資格とかめんどくせぇ。スーパードカタの俺でもやっぱやらなきゃいけないの?
Oracle Certified Java Programmer, Silver SE 7 (90問中70問正解で合格) public class Test { public static void main(String args) { System.out.println("Hello"); System.out.print("Java"); System.out.println("World"); } } 上記のコードはどのような出力をするか、選択肢の中から1つ選べ。 A. HelloJavaWorld B. Hello Java World C. Hello JavaWorld D. コンパイルエラー E. 実行時エラー
524 :
デフォルトの名無しさん :2013/11/10(日) 09:50:12.02
D.
E.
C.
O.
A
そういうのは英検とかトーイックとかと同じ検定試験であって、資格(ライセンス)というしろものじゃないんだけどね
TOEICは役に立つぞ
試験結果の判定 スコアに応じて、コミュニケーション能力のレベル (Proficiency Scale) がA、B、C、D、Eの5段階で評価される[16]。 また、スコア分布も公開され、受験者中のおおよその順位を知ることもできる。TOEICスコアとコミュニケーション能力レベルとの相関表は以下の通りである。 A 860点〜 Non-Nativeとして十分なコミュニケーションができる。 自己の経験の範囲内では、専門外の分野の話題に対しても十分な理解とふさわしい表現ができる。 Native Speakerの域には一歩隔たりがあるとはいえ、語彙・文法・構文のいずれをも正確に把握し、流暢に駆使する力を持っている。 B 730点〜855点 どんな状況でも適切なコミュニケーションができる素地を備えている。 通常会話は完全に理解でき、応答もはやい。 話題が特定分野にわたっても、対応できる力を持っている。業務上も大きな支障はない。正確さと流暢さに個人差があり、文法・構文上の誤りが見受けられる場合もあるが、意思疎通を妨げるほどではない。
532 :
518 :2013/11/10(日) 11:30:44.86
>>523 E
理由:mainの引数のStringが配列になってない。
マジでこんなひっかけばっかり。
ちなみにいまだ答えの解らなかった問題をひとつ
クラスを作った時に有る可能性のあるものを2つ選択せよ
A:import
B:package
C:メソッド
D:フィールド
意味不明
>>531 まさに検定だな。
運転や医療行為や海賊行為のように禁止されていることを特別に免除される、免許ではないな。
ソフトウェア開発も、資格を持っている人でないと販売してはならない、という時代がいつか来るかもな。
535 :
デフォルトの名無しさん :2013/11/10(日) 11:34:47.14
>>532 {
int a=1;
int getA(){return a};
}
と書いた後にclass Aと書けばメソッドとフィールドも「作った時にある」可能性はあるよな。
536 :
デフォルトの名無しさん :2013/11/10(日) 11:37:56.60
3万払って池沼が作った問題解かされるなんて・・・
>>532 クラスを定義する時点でObjectクラスのフィールドとメソッドを継承してるのだから、C、D。
クラスを定義する時点でパッケージとimport元のクラスは存在してるだろうから、A、B。
英語だともっと適切な表現なのかな。
古今東西、殺しのライセンスを持たなくても殺人は現実可能なので、ライセンスとか認定とかそういうしろものがなくても個人的なことがらであればなんとでもなりますよ。 理解力試験とかライセンス法制度とかの具体例は、システムの生成というものを考える上で具体的でおもしろい話だとは思いますけど、ついてこれる人は少ないでしょうね。
539 :
518 :2013/11/10(日) 12:12:12.41
>>537 そうなんだよ。
たぶん英語の問題を無理矢理日本語に訳したみたいだったしね。
ところで池沼ってなに?
>>538 あくまで販売する場合なので、開発チームに安全衛生責任者を置くような感じ。
開発現場で事故が起きるわけじゃないし必要ないか。しかし、販売する商品の品質管理はひどいものだ。
>>540 それを使ったからけが人が出るとか言うのなら基準も作れるだろうが
実際の害は↓
この商品(システム)を運用すると御社に最大○○名程度の余剰人員が発生しますが
くれぐれも解雇なさいませんようお願い申し上げます
>>543 カード番号とか個人情報流出の被害はどうかな。
対象となるシステムが限定されるけど。個人情報保護法の適用されるシステムとか。
だからjavawebstartは仕様変更したんだろボケ
547 :
デフォルトの名無しさん :2013/11/10(日) 17:32:55.17
ベンダー系の資格ってなんであんな高いの? オラクルシルバーなんてほとんど意味ないのに。
番号指定で挿入も参照も高速なリストって何ですか?
普通のリスト スーパーリスト ハイパーリスト メガトンリスト
B木
551 :
デフォルトの名無しさん :2013/11/10(日) 21:49:23.88
String.joinなんてものいいけど、 String.concat(String...) String.concat(CharSequence...) があれば最強なんだけどね・・・
初心者です あるクラスの内部クラスを、他のクラスで委譲することはできるのでしょうか それとも委譲する場合は内部クラスではなくしっかりとクラスを作らないとだめなのでしょうか よろしくお願いします
その内部クラスのスーパークラスやインターフェースがパブリックなものなら可能だろうけど Objectしか継承してないような内部クラスなら渡しても使い道ないがな
自己解決しました
すごく初歩的な質問なんですがエラーが出た際、 例えば Aメソッドの最初に「ここまで実行できてる」と書いてその後の処理でエラーが出る Aメソッドの最後でBメソッドを呼び出し Bメソッドで「Bメソッドまで実行できてる」と書く この場合「Bメソッドまで実行できてる」というメッセージが出てるのはおかしいですか? Aメソッドの処理でエラーが出ているはずなのにどうしてBメソッドが呼び出されてるのか分かりません
人に聞く前に自分で考えるようにすれば知能は2倍になりますよ
デバッグすればここで聞かなくともすみます
>>559 それだとStringを作るためにappend,toString時にchar[]のコピーが2回必要になる。
文字列のパフォーマンスを考えるとStringに追加してもらうしかないし、解決するには+=, concatでなく、concat(...)が必須ってことが理解できるはず。
他の代替案もあるけど、これ以上はジャバのハックになるから、このうんこスレのレベルを越えてしまいます。
>>563 結局おまえは何がしたいんだ
Stringは、アドレスを保持していて
concatした結果はStringのインスタンスに影響無く
戻り値で再度Stringのインスタンスで受けるしかねーだろ
よく考えれば理解できますよ。 System.arraycopy, Arrays.copyOfのところですが、少なくともcharAtの呼び出しと評価も回避できます。 javaではパフォーマンスはあまり考えませんが、memory copy (java.awt)やStringについては少し気にしてもいいかなと思います。
その手の改良は本当にそこがボトルネックだと計測されてからやればいい 細かいところをいくら気にしてもその8割は労力の無駄
馬鹿には無理
>>560 んなもんAメソッドが投げるのがRuntimeExceptionか、Exception
か、Errorか、しらんが
AメソッドがExceptionを投げました。
Exceptionの詳細が表示される。
でBメソッドが実行されます。
それだけの話し。
File file = new File("sample.txt"); RandomAccessFile raf = new RandomAccessFile(file, "r"); raf.seek(2); String s = raf.readLine(); System.out.println(s); raf.close(); これで3文字目から改行まで文字列を表示しますが 3文字目から6文字目までと範囲を指定して読み込む書き方を教えてください
raf.seek(2); byte 三文字目 = raf.readByte(); byte 四文字目 = raf.readByte(); byte 五文字目 = raf.readByte(); byte 六文字目 = raf.readByte(); byte[] b = { 三文字目, 四文字目, 五文字目, 六文字目 }; String s = new String(b); System.out.println(s);
文字列?
>>571 なんか面倒くさいんですね
ありがとうございます
いや、わかりやすさを優先して面倒くさく書いただけ もうちょっと便利メソッドがあるからRandomAccessFileのリファレンス見るよろし
>>570 RandomAccessFileを使う理由は?
文字列を巻き戻したりせずに読み込むだけならReaderで十分だよ。
char[] buf = new char[4];
BufferedReader in = new BufferedReader(new FileReader("sample.txt"));
in.skip(2);
in.read(buf, 0, 4);
in.close();
String s = new String(buf);
バイト単位では無く文字単位で読み飛ばしたり読み込んだりするのであればむしろ Readerを使うのが正しいな。
DataInputStreamも忘れないでやってください。
>>577 あれはObjectInputStreamの下位的な位置付けで文字列の読み込みも
シリアライズとかで必要なものに特化してるからなぁ。
579 :
570 :2013/11/11(月) 21:02:29.64
すいませんGoogleで「java seek ファイル」で検索したときにヒットしてみつけたのがRandomAccessFileだったので
これを使うものだと思ってました
BufferdReaderも使ってみます
>>574 read(new byte[10])こんな感じの書き方を覚えました
580 :
デフォルトの名無しさん :2013/11/11(月) 21:13:25.31
write = new BufferedWriter(new FileWriter(file,true) とし、例外Exceptionのprintstacktraceの内容をファイルに書き込むことは 可能ですか? 試行錯誤しましたがわかりません。
>>579 ファイルを読んでいる途中でファイルの先頭方向に戻るとかいう操作が必要で無い
場合はRandomAccessFile使う必要無いよ。こっちを使うのがむしろ特殊ケース。
大抵はInputStreamでskipを使って指定バイト数を読み飛ばすので用に足りると思う。
あとキャラクターエンコーディングとかを意識してバイト数ではなく文字数単位で
読み込んだり読み飛ばしたりする場合はReaderを使わないとダメ。
うんこすれ乙
複数のプロジェクトによってシステムが構成されている場合、jarファイルの参照設定はどのようにしてますか? 全てのプロジェクトに対して、ビルドパスを通すことは賢いやり方とは思えないのですが
悪評高きMavenは例えばそのためにある。 そのような疑問を抱いた時こそMavenやGradleといった依存性管理ツールを学ぶ好機。
589 :
587 :2013/11/11(月) 22:10:17.54
>> 588 あぁ、そうなっちゃうんですね mavenすごく面倒なので、使わないようにて思ってたんですが ありがとうございます
Mavenが面倒? すごく楽じゃん。規約に沿ってきれいにまとまる範囲までは。 今となって特殊な事情でも無い限りこの手の依存性管理を「使わないようにする」理由が薄い。 ライブラリやフレームワーク等も依存性管理ツールの利用を前提としてプロダクトを細かく モジュールに分割して配布する(そしてfat jarが敬遠される)ようになったから、過去のjarを 手作業でコピって上書きしたら以降運任せではとうてい持続しない。 もう新規プロジェクトは規模にかかわらず依存性管理ツールの使用がデフォで良いと思う。 規模にかかわらず便利だし、特殊なことをしない小さなプロジェクトほど楽が出来る。 入門に際してもjavacでHello Worldが済んだら以降はMavenなりGradleといった今時のビルド ツール強制で良いと思うけれどもね。
java.util.logginのようにjavaseに組み込まれるならあって当然として利用してライブラリの設計もするけど、そうでないなら一過性の流行りものでしかない。
>>575 Reader#skip(2)でエラー出なかったからといって、
ほんとに2文字スキップしたのかは戻り値確認するまで解らんぞ
サンプルだから省略したんだろ馬鹿は黙ってろ
うんこすれ乙
>>580 PrintWriterでないと無理。コンストラクタにWriter渡して作ればいい。
ネット系InputStream.skip()の気まぐれには泣かされた
依存性管理が一過性の流行ということは無いと思うけれどもなぁ。 mavenでさえ2以降でもすでに8年たっているし。 Jarを手作業で落としてコピれば動くので今時の依存性管理付きビルドツールは不要です pomの類いも書きませんというのは、手作業で動作チェックすれば動くのでテストケースは 書きませんというようなもの。
8年経つならやっと取り扱ってもらえるんじゃないか。 場合によってはジャバ9のモジュラリティーとかそのあたりで入ってくるかもしれない。
「クラスローダは自作するもの」と周知させれば 「derby.jarはバラさなければならない」 とか馬鹿なレスも減るべ。 JREに無料で付いてくるクラスローダ実装引き合いに出して 「これがJavaだ!」みたいなことドヤ顔で言う人ってなんなの… しかし 「このアプリの起動にはMavenが必要です」 な未来はイヤ。 Mavenスレ落ちて何年経つんだよ
C#やるとJavaが面倒くさい
jarはそのままでも展開しても差異はないし問題もない。
>>600 そりゃそーだろ
C#は、javaのいいとこ取りして
さらにこういう機能があったら良いのに
っていうものを追加したもんだもん
ちなみに俺はC#→java(android)って感じで勉強してきたけどね
c#勉強してもwindowsとかmicrosoft製品でしか動かないでしょ。 ubuntuでmonoを使う選択肢というのはmicrosoftの性質を鑑みてストールマンや他多数の著名人が禁止してるし。 microsoftもので動かしたいときがあればjs,ruby,phpとかのスクリプトだけ勉強しとけばいいのかもと思う。
GithubはC#に移行
自分がよく使いそうな独自クラスを管理するにはパッケージを使うのですか? いつもよく分からないからコピペで済ませてるんですが、eclipseでこういう風に管理してるってのがあれば教えてください。
>>606 独自クラスうんぬんじゃなくて
パッケージってのは名前の衝突を避けるため
分離化するのが目的
>>607 自分がよく使う汎用クラスの管理はどうなさってます??
サブドメインくれる無料ブログ作って、パッケージ名に使えばいいんじゃないの。 旧SunMicroは、メアド文字列使って一意なjavaパッケージ名を求める手順を 提案すべきだったと思うんだが
>>610 で、その外部jarライブラリを作るにあたって、結局パッケージ名も関わってはくると思う。
デフォルトパッケージ?
>>599 >「クラスローダは自作するもの」と周知させれば
なしてわざわざ自作するの? どうしてあるものを使わないの?
>しかし 「このアプリの起動にはMavenが必要です」 な未来はイヤ。
頓珍漢な心配はまず実際にmaven使ってみてからにしてくれない?
All-in-oneなexecutable jarにせよ必要なjarがlibディレクトリ等に入ったtar.gz等に
せよ、配布用のパッケージをどうmavenで作成するかなんて世の中具体例に溢れている。
>>599 >「derby.jarはバラさなければならない」 とか馬鹿なレスも減るべ。
そういうレスがいつあったのか、それとも単なる思い込みかよく分からんが、
「そのほうが楽なら」バラすしそれ全く手間じゃないし。
それこそpomにプラグイン指定すれば手作業ゼロで自動化できる話。
実行用のパッケージ作るのにオレオレなクラスローダー使ったりどこかの
Jar-in-Jarソリューション使うより、単にバラして動くならそっちの方が
シンプルだし確実。
可愛い子ちゃんなんだからあまりいじめるなよ
>>611 デフォルトパッケージは使っちゃダメ。
ちゃんと自分用のパッケージ名を適当に決めて、機能別にさらにパッケージに
分けて管理した方が良い。
自分でライブラリを作り始めるのであれば、まず既成のライブラリがどのように
パッケージを分けて管理しているのか観察してマネをしてみるところから始める
と良いと思うよ。
>>611 それを言ったら、パッケージなしで書くのはhello worldまでになる。つまりパッケージ名は常に考えているので、ライブラリだからどうこうと言うことはない。
すまん。ランチャーがわりにmaven使ってるのオレだわー。 これはこれでなかなか便利でな…
自己解決しました
質問です。SwingでJFrameのデフォルトの大きさを決めておこうと思って static final Dimension DEFAULT_SIZE = new Dimension(400, 300) みたいにしたのですが、 このインスタンスってプリミティブ型と違って書き換えが可能なんですね・・・ こういう場合では縦横それぞれのプリミチブ型を記述するしかないのでしょうか? せっかくDimensionというクラスがあるので使いたいと思うのですが
>>617 すまん。自分もテスト走らせたり開発用のインスタンス起動するのにmavenつかうよ。
ただどうも便利なビルドツールとランタイムの区別がついていない人がいるようでつい。
>>619 static final Dimension2D DEFAULT_SIZE = new UnmodifiedDimension(400,300);
setとか呼ばれたら、UnsupportedOperationExceptionを投げる。
Collections.html#unmodifiableListあたりを参考に。
クラス定義が面倒なら、キャストはしてはいけませんとコメントで書いといて、= new DImension。
Dimensionとして渡さないといけないような相手なら、簡便さとコストを優先しているのだろうから諦める。
>>621 ありがとうございます、参考になります
単純にインスタンスをラップして、リードオンリーなメソッドのみ委譲して、
それ以外は例外を投げればいいんですね。
このあたり、自作のライブラリを作るときは参考にしようと思います。
繰り返しですが、だりがとうございました!
こちらこそだりがとう。
だりがやねん。 Jframe.setSizeはDimension2Dでなくて、Dimensionでないとダメらしい。残念。
初期化するときに1回しか使わないから直接書けばよくね? デフォルトサイズ後から使わないでしょ?
簡単に書けることをわざわざややこしく書きたい人もいる
スタティッククラスってどういうときに使うの?
>>627 内部クラスの事を言っているのであれば外側のオブジェクトへの参照がいらないとき。
外側のオブジェクトへの参照が不要なときは可能な限りstaticにすべき。
つまりクラス定義に付けるstaticは内部クラス用ってことか
言語仕様の用語的にはstaticが付かない外側のクラスへの参照を持ってる奴だけを内部クラスと呼ぶ のでstaticが付いたら内部クラスとは呼ばない。
class Foo {} // 普通のクラス static class Bar {} //??? class Hoge { class Unko {} //内部クラス static class Chinko {} //??? }
>>627 別クラスにstaticメンバ見せたいけど
どうしてもメンバをprivateにしておきたい場合にstatic classを使う。
あるいはMap.Entryみたいに、成り行きでなんとなく使う
swingを勉強しています。JFrameを作ってマウスクリックしたら*.pngファイルを読み込み JLabelに貼り付けて表示するプログラムを作りました。ですが*.pngファイルが表示されないのです。 何が原因でしょうか?pngファイルをJFrameのコンストラクタで読み込んでJLabelに貼り付けると うまく行きます。またmouseClicked()にブレークポイントを設定すると、そこで停止します。 アドバイスよろしくお願いします。 public class sample01_38a { public static void main(String[] args) { my_frame frame = new my_frame() ; frame.setBounds(0,0,500,500); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); <略> public class my_frame extends JFrame implements WindowListener,MouseListener { public void mouseClicked(MouseEvent e) { icon = new ImageIcon( "images/anomalocaris.png" ) ; label = new JLabel("test label",icon,SwingConstants.CENTER); getContentPane().add(label) ; <略>
その質問何回目
すいません、自己解決しました。
static finalとか良く分からん。 外に見せたい定数とかに定義してんだけど。
>>636 複数のインスタンスで別個に持つ必要がない定数に使う
>>637 なるほど、分かり易い。
あるクラスをインスタンス化したら、中のインスタンスが見えてしまうんだが、プライベートとかつけても消えてくれない。。。
>>638 インスタンス化される側のクラスの中でメンバー変数をprivate宣言する必要がある。
>>639 かったぱしからprivateつけてみてはいるんだけどなぁ。
勉強します。
同じクラスの中からだと見えちゃうよ > private
どういうことやってるのか ソースコード見ないと何とも言えんなあ
実はデバッガで見てるのでは
インスタンスをどこから隠したいのかが不明瞭 他のパッケージから隠したいのか 同一パッケージの他クラスから隠したいのか 同一ファイル内の他クラスから隠したいのか
ウェブページと対話するようなプログラムをかきたいんですけど ログイン状態を維持したままウェブページにアクセスするのってどうやるんでしょうか? HTTPURLConnection から InputStream を開いてページソースを取得するのはできるんですが クッキーとかセッションの扱いがいまいちわかってない程度の知識です
プログラミングよりも先にネットワークの仕組みを勉強すればいいんじゃね?
だなw
サーバーサイドJavaの本を買えばのってるぞ
ネットワークの仕組みなんて要らないよ クッキーについてだけ勉強すればおk
そういわずにせめてどのクラス使えばいいとかヒントになるページとか教えてください!
ウェブの仕組みについて勉強すれば ここで訊かずともどのクラス使えばいいのかおのずと見えてくる
バカにはムリムリww
java cookieでググレばおk
わざと古すぎる記事を紹介とか
>>654 軽くよんでみたんですけどこれってサーバー側で動的ページを表示させる方法にみえるんですけど
クライアント側でもHttpServletっていうクラスを使えばできるんですか?
まだServretの中身よんでないんですけど
方針がまちがってなければちゃんと調べてみます
ゆとりは手取り足取り教えてもらわないと何もしないのな
ゆとり乙w
自己解決しました
うぅ;; ゆとりですいません… というかそもそも読むだけしかできなくて パスとIDをポストして結果をクッキーにためる処理もできないことに気づきました;; Cookie = new Cookie(); url.post("id=...&pass=..., cookie); とかすれば勝手にクッキーに情報がたまって url.openStream(cookie); みたいに引数でわたしたら勝手にクライアント認識してくれるようなクラスがあると思ってました;; もうちょっと勉強しないと自分には無理っぽいです>< どうもおさわがせしました…
涙目wwwゆとり乙wwww
相変わらず役にたたねえスレだなw
バカにはムリw
Javaでのクライアント側のクッキー管理なんてデフォルトのクッキーマネージャを使ってりゃ十分だろJK
CookieManager manager = (CookieManager)CookieHandler.getDefault(); //でデフォルトのクッキーマネージャ取り出して CookieStore store = getCookieStore(); //クッキーのデフォルト保存先(メモリ)へのアクセス取り出して CookieStoreのadd get removeを使ってファイルに書き出すなりファイルから読み込むなりして管理すれば十分だろJK
相変わらず役にたたねえレスだなw
自己解決しました
質問です。 まず、Javaのクラスは常にヒープを使用するというのが気になったので、 配列などにあらかじめインスタンスをたくさんnewして格納しておき、必要なときにその配列から 未使用のインスタンスを検索して取り出して、不要になったら配列に返す、という方法で 擬似的にスタックを再現しようと思いました。 叩き台としては、十分なreserve数を用意したArrayListにインスタンスをnewして詰め込んだあと、 インスタンスを使用するときにpop、返却するときにpush、という方法で作りました。 しかしながら、テストをしてみるとインスタンス化するクラスがよほど大きなクラスでない限りは newしたまま放置するのとほとんど差がありませんでした(むしろ遅いときの方が多かった) ここで質問なのですが、実際のところ、このような方法で素のnewやGCの機能を使うよりも 高速化を図ることはできるのでしょうか?
疑似スタックに何の意味が
疑似スタックがヒープ上に作られるので何の効果もありませんでした
それスタック関係なくてインスタンス化の時間を省きたいだけだろ
>高速化を図る Javaを使うことを諦める
全体的にコードがぐちゃぐちゃで遅いだけじゃね 特にコンストラクタが
「よほど大きなクラスでない限り」素でGCが発生しないからpushで戻す時間遅くなってるんじゃ? GCが発生しそうなプログラムなら速くなると思いますけどね new って実際メモリ確保する時間はほぼ一瞬なのでインスタンス化の時間は変わらないと思います
>>671-679 みなさんありがとうございます。
>>679 とても参考になりました。今回とは関係ないけれど不変オブジェクトについても
大変興味深かったです。Scalaやりたくなってきた・・・
不変オブジェクトについては少し古いかもな 誰がなんと言おうとプリミティブラッパーは普通の数値として計算に使おうとするとゴミだし
>>679 こういった「その時代時代のパラダイム」に依拠したネイティブ・ハッキングは、たとえお金を積まれたとしてもあまりやりたくないね
最近のGC実装は、 使い道の無いかもしれないオブジェクトを後生大事にプールしておくより、 短寿命のオブジェクトをポコポコ作る方が効率よい。
ゴッツさんってラムダの人でしょ。 関数型言語の名手で関数戻り値マンセーだから不変オブジェクトにこだわりがあるのもよくよく分かる。 ただ、オブジェクト指向言語を使ってライブラリを設計するというのは、不変オブジェクトやシングルトンだけでなく、関数型由来の方法以外の、他の方法論もたくさんある、ということは一言いっておきたい。
>>682 そういうのは気にしなくていいと記事には書いてある
>>687 レスありがとうございます
これすごいですね
ぱっとみた感じ HTTP のプロトコルわからなくても
フォームにかかれてるの name と value の Map を渡すだけで
POST リクエスト作ってくれるみたいですね
あれからもずっと調べてたりプログラムかいたり試行錯誤してたんですが
そもそもログインフォームのソースみながら
POST してクッキーを受け取る部分すらできなくて困ってました…
さっそく使ってみようと思います
もはやJavaが怖い
めでたしめでたし、「ここはどこわたしはだれ」になるであろうに10ペリカ。
>>686 プリミティブ型は後方互換のために存在するって言い切って良いレベルだとでも?
ジャバのプリミチブ型の本質は、JVMのネイチブ型とのマッピングなんで、記事にあるNEW演算子のことだけでなく、その点でも気にしなくていいです。
そんなハイレベルな宿題とかいったいどんな学校なんだ
>>694 ていうか2ch用のネタの投下だってことに気づけw
バカにはムリw
>>687 ようやくポストするとこまでいけたけど HTTP コード 302 が帰ってきてボディがからっぽになる;;
302 って軽く調べたらリダイレクトらしいんですけどリダイレクト先の URL がどこにもない;;
>>697 本当にリダイレクト先のURLが書いていないのなら、それはサーバーが意図的にそういう設定にしてるってことだからどうにもできない。
POSTしたデータがおかしいからサーバーがエラー吐いてる可能性もある。
>>697 HTTPヘッダのLocation見ろ。
そして、HTTP勉強してから出直せ。
とりあえずcurlとか使って、手動でできるレベルになれ。
こんなことしたい時、皆さんどうしてますか? MyInterfaceを実装するMyClassを総称型引数に持つList<MyClass>のインスタンスを、myMethod(List<MyInterface> myInterfaceList)に渡したい
ちなみに出来ないのは分かってますが、なんで出来ないようになってるかも疑問なんです
頑張ればできる
extendsキーワード使えばいいんじゃないの? myMethod(List<? extends MyInterface> myInterfaceList) こんな感じ?
出来なくなかった! ありがとうございます 職場で試します
>>698-700 レスありがとうございました
>>700 さんの方法がうまくいけば簡単そうなので試そうとしたんですが
パッケージ内のクラスに DefaultRedirectStrategy ってクラスがないみたいで
HttpClient に setRedirectStrategy ってメンバーメソッドもないみたいだし
4.3.1 をおとしたんですけどこの記事とバージョンが違ったのかな…
@Override っていう書き方はじめてみたんですけど
匿名クラスを自分で定義する感じなんでしょうか…
>>698 ,699
Location って HTTP ヘッダよむ方法がようやくわかってなんとかリダイレクト先のURL取得できたので
明日また手動でリダイレクト先を取得しにいこうと思います
いろいろアドバイスありがとうございました
ジェネリクスで、なんでint型はintegerを指定しなきゃいけないんだよ。 Stringはそのまま使えるのに。 統一しろや。
>>708 httpclient-4.3.1.jar
httpcore-4.3.jar
が適切にクラスパスに追加されてれば以下のコードが動くはず
http://ideone.com/Ukqu1n 俺の環境で実行に成功したコードをそのままコピーしてきたから、
これがエラーで動かない場合はクラスパスの設定がおかしいってこと
>>710 プリミティブ型もクラスとして扱う考え方は後付けで色々ほころびがあるのはやむを得ない。
文句を言わず我慢しろ。
List<int> と書いたら自動的に List<java.lang.Integer> のことだと解釈してくれれば便利なのに
Stringはプリミティブ型じゃねーだろ
>>711 LaxRedirectStrategy使うんじゃダメなん?
いうなればお前の顔が不自由なのは仕方なくそれなりに生きていけ、ということであり。 優性交配した次世代はもっとイケメンだから。
なんだこの場所的にも生物学用語の用法的にも頓珍漢な誤爆は。
ようやくやりたいことができました
昨日からいろいろレスくれたみなさんありがとうございました
とくに HttpClient と Location を教えてくれた
>>687 ,699 さん本当に助かりました!
HTTP や クッキーの実装意識しなくてもソーステキストレベルでウェブトラバースするだけで
クッキーの処理1文字もかかずにすんだんですけど
最初 HTTP とクッキー勉強しないと無理っていわれてすごい困ってました
普段UIや画像処理系のプログラムしかかかないので
ネットワークプログラミングがこんなに大変とは…
手動なら30秒とかでできることをプロgyラムにさせるのに丸一日かかっちゃいました;;
ブラウザってすごいことやってたんですね…
>>711 さんわざわざ動作確認までしていただいたのにすいません
たぶん httpclient だけ落としてて core の方をおとしてなかったせいだと思います
ただ POST した時点でログイン処理は成立してて
リダイレクト無視していきたいページ GET するだけで
普通にログイン状態維持できてたので自分的にはこれでOKでした
ゆとり乙
つぎはいつかな?
期限切れの時にまた来そうだ。 標準のCookieManagerの実装の問題って直ってるのかな。
久しぶりにbsh触ってみたけど、全然変わってないな。 あれ使えたら、ちょっとしたコード試すとき便利なのに。
>>722 java7では直ってないので俺は1から作りなおしたけどな。
Cookie日付をパースできるAPIがJava8からまた復活するんだっけ。 DeprecatedなDateコンストラクタでもいいんだけどさ。
あれれ;; さっそく動かしてみたらしばらくすると java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated. Make sure to release the connection before allocating another one. at org.apache.http.util.Asserts.check(Asserts.java:34) ってエラーが出始めて1回でるとずっと GET に失敗する… やってることは HttpClient client = new DefaultHttpClient(); for(;;) { if(!login) { HttpPost post = new HttpPost(ログインページ); params.add(...) // ID PASS セット HttpResponse response = client.execute(post); post.abort(); login = true; } HttpGet get = new HttpGet(みたいページ); HttpResponse response = client.execute(get); // ここでエラー if(response.getStatusLine().getStatusCode() == 403) { login = false; continue; } BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 以下読み込み get.abort(); } っていう感じなんですけどループの中の GET execute でエラーがでる;; なんかもう Java とは関係ないセッションのステートの話だと思うんですけど もし詳しい人いたら原因わかりませんか? アサートの中でエラーがでてるのでネットワークの状況というよりローカルでの使い方の問題な気もするんですが…
728 :
デフォルトの名無しさん :2013/11/14(木) 21:52:59.08
例外だけから判断するとちゃんとクローズしてないのが原因じゃね?
>>728 最後の br.close() はやってるんですけど…
730 :
デフォルトの名無しさん :2013/11/14(木) 22:12:19.70
HttpClient使ったことないから自信ないけど client.getHttpConnectionManager().closeIdleConnections(1); とやってコネクション閉じたら直るかも。 というかそもそもclientをPOSTとGETで使いまわしているけど それぞれ別のHttpClientを使ったらどうよ?
>>727 >>729 DefaultHttpClientのインスタンスを使いまわす場合は注意が必要
例えばこういうコードはダメ。実行すればそれと同じエラーがでる
【エラーが起きるコード】
HttpClient client = new DefaultHttpClient();
while (true) {
HttpGet get = new HttpGet("
http://example.com ");
HttpResponse response = client.execute(get);
Thread.sleep(1000);
}
【問題ないコード1】
HttpClient client = new DefaultHttpClient();
while (true) {
HttpGet get = new HttpGet("
http://example.com ");
HttpResponse response = client.execute(get);
EntityUtils.consume(response.getEntity()); // これでDefaultHttpClientは再利用可能になる
Thread.sleep(1000);
}
【問題ないコード2】
while (true) {
HttpClient client = new DefaultHttpClient(); // ←client.execute()を実行するたびにDefaultHttpClientを作り直す
HttpGet get = new HttpGet("
http://example.com ");
HttpResponse response = client.execute(get);
Thread.sleep(1000);
}
このレベルでつまづくようならPythonなどスクリプト言語のネットワークライブラリ使った方がいいと思う 使い方も簡単だしインスタンス使いまわしのエラーなど妙なハマりどころがないから
いきなり他言語に飛躍する脳もどうかしているぞw
相変わらずアホなスレですな
>>730 ,731
おおお ありがとうございます
>>731 とかまさにやっちゃダメなコードになってる気がします
さっそく書き換えてみます
>>736 一応 C java perl PHP ぐらいは使ったことあるんですけど Python はないかも…
GUI扱えるのが C++ と Java だけなんですよね…
今回やりたかったのはピクシブってサイトでおきにりの絵師さんが絵投稿したら
ポップアップだして絵を表示するみたいなことをしたかったのでGUIが使える言語でJava選びました
というかスクリプト言語って変数宣言の自由度が高すぎて
知らないうちに名前空間が被ったりしてデバッグ大変そうで…
代わりにやってもらうスレ立てたほうがいいんじゃないか。
PHPでもQtやGtkとかでGUI作れるんじゃないの?
>>731 レスポンスをクローズするのじゃダメなの?
PerlならGtkとQtに加えtkも使える!
PerlやPHPでGUIが出来るならJavaはオワコン
743 :
デフォルトの名無しさん :2013/11/14(木) 23:24:05.13
大学の知人でperl信者がいたけど、 他人に解からない難解なものがカッコいいというのが彼のポリシーだったようで。 再利用性皆無なコードだったな。
再利用する価値もないコードならどんな汚く書いてもOK
745 :
デフォルトの名無しさん :2013/11/14(木) 23:29:57.91
ある出版社の携帯アプリのjavaコードも他人にわからないようにハゲが工夫をこらして難解にしてたなw そのハゲにとって他人に簡単に理解されたら辞めさせられておまんま食い上げだからしょうがないが。
proguardとは違うのか
うー;; だめだー;;
>>731 のがまさにこれだったのでうまくいくかと思ったのに
EntityUtils.consume(response.getEntity());
を加えても同じエラーでちゃいます…
3つめの HttpClient を毎回生成するのはセッションまで新しくなっちゃうみたいで
エラーはでないんですけどログイン状態が維持されない…
>>730 さんの試してみたんですけど
getHttpConnectionManager がみつからないっていわれるんですよね…
軽く調べたら 3.x 系のサンプルがでてきたんですけど 4 系と違うのかな…
748 :
デフォルトの名無しさん :2013/11/14(木) 23:33:50.18
難読化ツールとかそういうんじゃなくて、無意味にスレッドを増やして同期をとっておらずミリ秒差で処理の流れが変化するような難解コード
もうJavaは諦めてPHPとcurlとphp-qtで作ればいいじゃない
初歩的な質問をさせてください。よろしくお願いします。 環境はTomcatで、JSP/Servletで簡単なページを2−3つぐらい作成するのですが、 これで、Webサーバ(Apache)を使う必要(メリット)はあるのでしょうか? (クライアントからのリクエストは、特に多いといわけでもありません)
752 :
デフォルトの名無しさん :2013/11/14(木) 23:55:41.90
tomcatにapacheの代用をさせることもできるが 画像表示はapacheの方が圧倒的に早い。
>>727 の件で
ときどき 503 がでてるみたいでその後に GET したときに必ずエラーが出てるみたいです
根本的な解決方法がわからないけど
とりあえず例外はいたら HttpClient のインスタンスを作り直して
ログインからやり直すって感じの応急処置にしてみました
若干解決方法が気持ち悪いけど現状安定してるみたいです…
アドバイスくれた方々ありがとうございました!
次はいつかな
>>754 ちょっと
>>727 を見ていて思ったのだけれども、for(;;)で無限ループを回すのは
良いとして、一回GETリクエストをしたら次のGETをする前にちゃんと数秒間の
スリープは入れているよね?
あらすな馬鹿とあらしがいう
PNaClがAppletを反面教師として堅牢なプラットフォームに育ちますように…
ネットで拾ったソース実行しようとしたらjava.until.vectorがないって言われたんですけど どっかでダウンロードすることはできますか?可変長配列を使えれば別のものでも大丈夫とは思うのですが
utilとuntilのタイプミスでは
utilでした。すいません java.utilはあるのですがそこから予想で挙げられてるクラスがネットに書かれているのよりずっと少ない…
765 :
764 :2013/11/15(金) 19:34:25.49
すいません、自己解決しました
>>757 はい! いれてます!
実際に使うときは1時間に1回ぐらいみにいくだけで十分なんですけど
デバッグのために一時的に1分に1回とかにしてました
ご質問させてください 現在javaの資格について調べているのですが オラクルjava認定資格アソシエイツ(OCJ-A)とjavaプログラマbronzeはなにか違いがあるのでしょうか 今は駆け出しなので初歩から取得しようと思って調べたのですがいまいちよくわかりません どなたか返信お願いします
すきにすれば
mavenで親子関係のあるプロジェクトを作りたいのですが、親のパッケージングはpomなんですか? 親プロジェクトはmaven専用のプロジェクトになる気がするのですが、気のせいでしょうか
>>767 アソシエイツって何か知らないけど、java プログラマー bronze
は、日本だけの資格だから取るならsilverをお勧めします。
ちなみに、silverの問題は、「こんなコード誰が書くか!」とか
「問題文が曖昧すぎるんだよ!」みたいな問題ばっかりで
俺の場合、silverの公認教科書を100%解けるレベルで
試験結果は、80%後半だった。
Sevletでwebアプリ作ってるんですが、 アプリ稼働中はログインしたユーザー情報を個別にMapに突っ込んでおきたいのです。 そこで、認証が済んだユーザ情報をコントローラから public class LoginUtil{ private static Map loginUserSubInfo = new Map(); public static void setLoginUserSubInfo(){}; public static User getLoginUserSubInfo(){}; } みたいなpublicクラスのクラス変数にstaticメソッド経由で入れようと 思ってるんですが、これだとloginUserSubInfoはスレッドセーフにはならず 同時アクセスがあった場合は意図しない値がセットされたりするんでしょうか? そもそもこういう実装にはせず、sessionオブジェクトとかで ユーザー情報を管理したほうがいいですか?
>>771 最初のうちはstaticつけようが何しようが
動くものを作る。
その後で、「あっ、これをこうすればstaticいらないや」
とか後から改変したら良し。
>sessionオブジェクトとかでユーザー情報を管理したほうがいいですか? YES
774 :
デフォルトの名無しさん :2013/11/17(日) 11:20:33.92
あとsessionだと範囲が狭いならservlet context(applicationスコープ)で管理すべきです。
775 :
771 :2013/11/17(日) 16:49:07.93
>>772-774 ありがとうございました。
HttpServletクラスのgetServletContextで
applicationスコープ使うことにしました。
てとりあしとり、みんなしんせつだね
後継者を育てる楽しみ
778 :
デフォルトの名無しさん :2013/11/17(日) 19:49:06.95
布教しないと終了だからね。 GCCがJava見捨てるとか検討だって。 もちろんc#とかMicrosoft関連は崖っぷち。 ハーメルンの笛吹きに踊らされた連中のデスマーチだけどさ。 未来は意外と最古の言語Lispかも。
OpenJDKがあるからGCJいらなくね?って話を「Javaが不人気だから見捨てられた」と読み替えるネガキャンはもっとレベルの低いスレでやらないと意味ないよ > OpenJDKという活発な開発コミュニティが存在していること、 > OpenJDKの活動を引き出すというGCJの当初の目的はすでに果たせたこと、などが理由としてあげられている。
GoよりもDartのほうが普及しそう 動的型付け言語は使っててストレスが溜まる やっぱり静的型付け言語のほうがいい
javaって自由すぎて、難しいよね フレームワークが沢山あるくせに古かったり・まともに動かなかったりする所が もう、.リソース分散しないで欲しい
787 :
デフォルトの名無しさん :2013/11/18(月) 00:57:16.91
本来なら規格化された電子部品の様に中身を知らずに何処でも使えるソフトウェアの部品化だったはず。 所が現実はどの部品も信用ならずだし、他の言語に比べ異常に長い名前を知らなきゃ何も出来ない。 大昔にGOTO文の多用で分岐するFORTRANがスパゲッティプログラムと揶揄されたがJavaは店じゅうにスパゲッティをブチまけて隣りテーブルと繋がってる様な惨状だ。
惨状ってほどでもねぇな。ゴミゴミした街並みを記憶できる程度には整理されている。
789 :
デフォルトの名無しさん :2013/11/18(月) 10:50:08.16
普段生活してない他所の街について汚ねぇ街並みだと言うことはできるが、同時それはおまえがまるで余所者(プログラマに向いてない者)である事を意味している。
Javaが主に扱ってる領域って 同名やバージョン別で区別とか平気で出てくるぞ そういう分野何でもかんでもグローバル空間にぶちまける言語使うと すぐスパゲッティになる
コンストラクタ呼び出す前って、newをつけるけど、つけないで呼び出す場合はあるんですか?
認識がおかしい newが本体でコンストラクタはオマケ
newだけで勝手に呼び出してくれるんですか?
>>791 自分自身のコンストラクタ呼ぶときには付けない。
別クラスが呼び出すなら、まずない。
他はリフレクションでのnewInstanceぐらい。
スーパークラスのコンストラクタって明示的に呼び出さないとダメなんすか
>>795 引数なしのデフォルトのコンストラクタでよければいらない
Smatraってどうよ?
ArrayList list list.get(0); list.remove(0); これを同時に処理はできるような方法はありますか?
>>798 釣りなの?removeの戻り値って何か知ってる?
自己解決しました
自己解決じゃねえw
俺も知らなかったw
スタックから削除と同時に要素も取得とか普通の発想だろ…
スレッドセーフの幻想が健在だった頃の名残だよな
まさか返してくれるなんて・・知らんかったw
>>804 プログラミング全般の常識だが…
配列操作でpush/pop/shift/unshiftは当たり前のテクニックだし、
Ruby, JavaScript, Perl, Pythonなどスクリプト言語では組み込みでshift関数(配列の先頭の要素を削除して返却)が用意されてる
>>807 俺もそれが普通の発想だと思うが、世の中には削除と同時に取得するのが安全でないC++という言語もあるんだ
でまわってるコンテナライブラリなら スレッドセーフかどうかくらい明記してるとおもう。
Queue使えよー。ArrayListの頭チョップとか何の罰ゲーム。どこがスタックなのよ。
3ヶ月javaやって使って、ようやく簡単な画面作れたんだけどさ これって、時間かかりすぎかな? ちなみに、職業プログラマね
tomcatにデプロイしたのですが、*.jarが読み込めないよーみたいなエラーがでます。 /webapps/sample/WEB-INF/libに、*jarを配置したのですが... 何でダメなんですか?
>>813 ちょっと長いかな程度。注入時間わからないけど。
サーバとか組込とかいろいろあるわけで、Javaというキーワードだけで仕事取ってくる営業は無能だと思うの。言語の文法覚えるのはすぐだが、フレームワークや開発手法を理解するのには時間かかる。
>>815 会社では.NETで開発しているんだけど、上からjava覚えてきてねーと言われた
だから、3ヶ月間家に帰ってきてから、一人でjavaの勉強しているわけなんだ
spring/mybatis/tomcatを作って、画面項目4個でDBへ問い合わせるプログラムを作ってみた
そしたら、進捗遅くねー?って言われた。だから、皆さんどのくらい時間がかかるのかなって思ったんだ
勤務時間外に勉強してるのに泣かせる話だな
>>812 一般的なスタックは動的配列のサブセットとして実装されるのが普通だからだよ
だからって動的配列がスタックの操作を提供しなきゃいけないという理屈はないが、慣習的にそうなってることが多い
.NETではスタックと動的配列は別になってて、動的配列のRemoveも値を返さないね
removeが値を返すのが標準か否かじゃなくてさ removeをAPIリファレンスも読まずに使ってるのが怖いなあって思うわ 他のメソッドとかも注意書きとかも読んでないで使ってるんだろうなって思う
phpとかweb(js)からjavaに来たゆとりだとそんなところだろ
感覚的に使えるものってマニュアル読まなくてもある程度使えちゃうからマニュアル読む人減るんだよね 車や家電の操作だってそう
LIFOとFIFOの区別は付けとこうな・・・
java.nio.Buffer をなぜリングバッファにしなかったのか、残念
話のネタにもならない一般の知識しか持ち合わせていないならそろそろブログでやってくれる?
そのBuffer系列は全部抽象クラスでオーバーライド面倒
え?
馬鹿には無理
java.nio.Bufferはコンストラクタ公開されてないからそもそもオーバーライドできんかったような記憶が……
メジャーなアプリでのShift_JISなどの日本語文字の対応といい、Javaの公式日本語ドキュメントといい、世界は日本への配慮しすぎだは
>>810 C++が使いにくいのは確かだが、
Atomicかどうかに言語関係なくないか?
java8のByteBuffer, java.nioについては、もともとは配列wrapperでもあるしmemory mappedが作れるのだからCharSequence::charsと同じくstream対応の方がいい。
833 :
デフォルトの名無しさん :2013/11/20(水) 22:05:20.55
>>831 810 ではないが、810 で言っている「安全でない」というのは
例外安全性のことであって、GC がない C++ では本質的な問題。
>>833 なんでGCが?それ、ものすごく狭い範囲で言ってないか?
操作のAtomicityは実装によるわけで、
DBのトランザクションみたいに、
きちんと気をつけてないと、例外安全にはならないよ。
removeの戻り値を誰かがきちんと評価してやらないと C++でfree()するチャンスが永遠に失われるよ、と言う話でわ
コピーコンストラクタが例外を投げうるということが本質であって Atomicity は関係ない。だからスクリプト言語のようにすべての オブジェクトをヒープにおいてコピーしないようにすれば 例外安全に pop できる。 もちろんコピーコンストラクタが例外を投げないクラスであれば 例外安全に pop できるが、テンプレートで実装されているので C++ である以上仕方ない。
stlに限っての話でしょ? 結局実装によるって事じゃん。
>>832 の付け足しで思い出したんだけど、charsでIntStreamを取得するだけでなく、各Bufferのバルク処理用としてforEachも欲しいなってこと。
いや配列に読み出せよ 一個ずつforEachなんてやってたらクソ遅くなってバッファの意味ないぞ
そうそう、配列、配列。 配列で何か引っかかって考えてたんだけど、streamは、配列で使うよりBufferでラップして、buf.intStream(); buf.forEach();がjavaぽいなと思って。 allocateDirectのときもあるし、配列に読み出すとコピーが発生するし、配列はreadonlyにできないし。 場合によってはIterable, Collectionのように、iterator, spliterator, forEachがBufferに追加された方がバルク処理にはいいかもしれない。
SIMDではfloatが主役なんだからFloatStreamも追加しろよおい
javaやってる人間にc++なんて理解できるわけないじゃないですか><
別に理解しなくていいよ Javaの常識がプログラミング全般で通用すると思わないでいてくれればそれで
手続き型言語なら大概通用する C++が変態すぎる
845 :
デフォルトの名無しさん :2013/11/21(木) 21:45:39.87
CとかC++は自由度が高いからなー 色々経験しとくとおもしろいぞ。 日本語で書くCOBOLとかな
streemって並列化が効果出るような何万個もあるような要素数じゃないと元々意味ないぞ。
javaでは元々小手先技は通用しないから、streamは個々の処理の高速化が期待できるという代物ではないと思うよ。
>>847 いや、悪い。
そうだから外部イテレータ使う処理にforEach使っても意味ないぞと
>>840 に言いたかったんだが安価忘れた。
やるなら無限ストリームにしなきゃ使い道がない。
ん? streamの設計目的は元々バルク処理の効率化(と多少のメモリアクセスの高速化)がメインじゃなかった? つまり内部イテレートをしたいからstreamを導入したんじゃなかったか。 lambdaはコンカレントの煩雑コード削除と、アクセスをnew経由からmethodhandle経由に切り替えるのが目的だし、lambda,streamはそのゴールは微妙に違う。 基本型のstreamを考慮しているかどうかは知らないけど、project sumatraを見てると基本型int,float,long,doubleのstreamは必要となってくるんじゃないのかと思うけど。 日本語のブログばかり見て勉強した気になってないで、ちゃんと英語ブログとかjavaoneとかの一次二次資料もみないと、どうやって使うのか、どういうときにつかうのか全然理解できなくなるよ。
一要素一操作ごとに仮想メソッド呼ぶのに速くなるわけないでしょ 相当に粒度の大きい処理でないと大幅に遅くなるよ
851 :
デフォルトの名無しさん :2013/11/22(金) 00:01:21.88
Servletの高速化やってたとき思ったのは、ストリーム使うと 処理の途中で処理されたものから逐次転送されていって効率的になることが実感できた。 まとめて転送より遥かに早い。
そりゃそうだけどw そういう話なら別にjava8関係ないだろw
C++の関数呼び出しとJavaのメソッド・コールはまったく別物と考えた方がいいですよ。 そもそもJavaではメソッドのコールは、hotなものはJITでその環境に最適化されてネイティブ・コンパイルされて、コールのコストは無しを前提(つまりこれを単位元として)として考えます。
>>851 はまさに逐次処理じゃん
プリミティブ型のstreamによるバルク処理の効率化がどうのとは全く関係ない
そもそもIOバウンドだろうから元々全く別の話だけど
855 :
デフォルトの名無しさん :2013/11/22(金) 00:27:01.99
>>854 昔ストリーム指向なんて言葉があってね。そんな限定的な目的で作られたんじゃないんだよストリームは
流れ切りすみません 現在、JavaでAndroidアプリを開発する研修をうけているのですが、 その中で、HTMLとPHPファイルを端末の方に送信して、 端末側でHTMLとPHPを動かすことを習いました。 そこで思ったのが、 ゲームアプリを開発すると仮定して、 複雑な処理がいらず、画面を表示するだけならHTMLで記述し、 ゲームなど複雑な処理がいる部分はJavaで書き、 サーバーにアクセスする必要のある処理は、PHPで行うという、 言語の使い分けをして、一つのアプリを作るということは、 技術的に可能でしょうか? それとメリットとかあるのでしょうか? 個人的には、HTMLは比較的短時間で完成するものなので、 全てJavaで行うよりは負担が少ないと考えているのですが、どうでしょうか?
>>856 そりゃ画面がHTMLなら基本的に全てサーバーサイドだよ
アニメーションなどで必要ならJavaScriptを使う
AndroidアプリはWebView貼るだけでJavaはほとんどいらない
最近だとリッチなゲームを作るためにクライアントをUnity(C#)なんかで作ってるのも多いね
その場合はサーバーは画面に関知しないでAPIを提供するだけだよ
>>856 端末でphpを使うの? それなんてフレームワーク?
普通はサーバ側でphpにより動的にhtmlやjsonを生成し、端末へ送る。
AndroidのWebViewでアプリ作るなら、中で動かすHTML+CSS+JavaScriptは なるべくシンプルにしないとドツボにはまるよ WebViewのバグも多いし、特にCSS周りをリッチな作りにすると死ねる CSSアニメーションとかは期待できない 何かのクライアントアプリなら充分いけるけど、ゲームとかを AndroidのWebViewで作るのは自殺行為
>>850 のようにバッファで必要一括で取って来て処理するのが、メモリキャッシュも期待できるし、その外部イテレートのブロックで処理するので関数呼び出しコストもないし、処理だけに着目した方法としては従来の単純なそれが一番理にかなってます。
しかしjavaでいう効率化とは、外部イテレートを使うと一時変数が必要になったり(代表ではfor loopのcounter変数など)、ブロック外に状態を管理したりする変数が必要になったり、メイン処理以外の下準備が必要なことが多くなりますが、
内部イテレートだとそういった状態管理はsqlのように実装任せに出来ます。
例えば
>>851 だと、メモ化(キャッシュ)によってコードが大幅に簡略化し、ステートフルにも出来て、作業(処理)の効率化がなった(処理コードが分離した)といえます。
これは高速化とは別の効能であり、言語・ライブラリの仕様レベルでこのような効果が簡単にできる仕組みがlambda,streamで行えるということです。
速度を求めるだけならc++でやればいいでしょうが、javaではパフォーマンスは一応考慮してますが、ネイティブでもないですしc++とは目指しているところがまったく違います。
>>854 javaでもfileのmemory mappingできるけど
>>857 レスありがとうございます。
講師の先生は、HTMLとPHPを区別して述べていたので、それに習いました。
そうなると、サーバーにアクセスする必要な処理、例えば、ガチャのようなランダムでキャラクターが出る、
戦闘画面で登場する敵のデータとかをPHPで受け渡して、
そのデータをクライアントに渡して、ガチャを引き当てたり、
決まったステージの敵が出てきたりという処理を行う形になるでしょうか?
Unityも勉強していますが、プログラムがわからないので、
きちんとプログラム勉強してからチャレンジしたいと思い、
まずJavaできちんとしたゲームを作れてから、挑戦したいと思います。
アンドロイドはすれ違い
スレ間違えてすみませんでした。 androidアプリ開発向けのスレが見つからなかったので、 こちらに質問させてもらいました。 どちらに行けばよろしいでしょうか?
>>865 ありがとうございます。
早速行ってきます。
配列を後ろから取り出したいのですが綺麗な方法ありますでしょうか? for (String hoge : hoges) { } みたいな綺麗な書き方ができればいいのですが、添え字を計算しないと ダメでしょうか?
Collections.reverse(Arrays.asList(hoges)); for (String hoge : hoges) { }
reverseって降順にソートされちゃいませんか?
ソートはしない 順番を上下ひっくり返すだけ もういっかいやれば元に戻る
おお。すばらしいです。ありがとうございます。
逆順のイテレータ使うんは古いんすかねえ
>>873 そういうゴチャゴチャしたの以外がないかってことかと
File.existsでfalseが返ってくるのに mkdirsするとエラーになってしまうのってどういう原因があるのでしょうか
どうせ書き込みの権限がないんだろ
sがついているから。
File.existsで確認したあと、かつ、mkdirするまえ のタイミングでディレクトリが作成されてるとか
>>878 たまにが、
同じパラメータなのに、たまに起きるのか、
たまに起きるパラメータがあるのか、
によって大きく違うと思う。
質問です、組み込みの方の配列(int[] など)をコピーする際は Arrays#copyOfを用いればネイティブな性能でコピーできることを教わったのですが、 例えば、int[]型のインスタンスをdouble[]型になるようにコピーしたり キャストするような方法は提供されてるのでしょうか? また、もし無い場合は効率的な方法などがありますでしょうか? (自分で考えつくのはFor文でコピーしていく程度です・・・)
>>879 そんなはずはないんですよね。
>>880 同じパラメータで連番がつくだけです。
ただ共有フォルダにmkdirしてます。
>>881 ない。そもそもintからdoubleに変換する必要性がわからん。
そのままintを使えばいい。
>>883 それもそうですね。ありがとうございます、設計を見なおしてみます
アプリケーションサーバはどこがおすすめ? JBossは本当に人気があるのか疑問
お前ら職業なに?
SNEPというエリート職だよ
農協の工員です
自宅安全警備保障に24時間臨戦態勢で在籍しております。
>>882 共有ってネットワーク経由か。そりゃ失敗するかも。
>>892 なぜでしょうか?
遅延とかあるのでしょうか?
>>893 ネットワークが繋がってないとか、サービスがbusyとか、普通にあるでしょう。特にSMBとかひどい。
>>894 対策としてはリトライすればいいでしょうか?
>>881 ByteBufferにバイトオーダ指定してから、intで書いてdoubleで読めばいい。
ダイレクトバッファ使えばさらに高速。
>>896 JNI使ってネイティブコードがダイレクトバッファ触る場合は速くなる可能性高いけど、
Javaからダイレクトバッファ触る場合は速くなる可能性殆ど無いぞ。
>>895 繋がってなかったら、リトライしても同じ。
神に誓って普通にループ回してキャストしていった方が遥かに速い
>>898 なるほど。やはりリトライしか無いのですね。
わろた
>>875 アクセス権、容量不足、誰かが同時に書いている、まだ親ディレクトリが無い、
CDROMだった、長すぎるパス、エントリがパンク、コネクタの緩み、
いろいろあるだろ。全部君が確認するんだよ。
mkdirsでなくmkdirで試すとか相対パスなら絶対パスにしてみるとか
>>902 なるほど。やはりリトライしか無いのですね。
eclipse wtpでtomcatデバッグをしたいのですが、*.javaはいつコンパイルされるのでしょうか?
web.xmlはサーブレットの数だけ、<servlet><servlet-mapping>を書く必要があるんですか
本買ってね byつだ
ServletのapplicationContextに、session-idをkeyとした 数万件単位のkey-value値を格納して、 リクエスト毎にそれを出し入れするのはナンセンスですか? key-valueを格納したMapなどを1つ用意して、それを applicationContextに格納したほうがいいのでしょうか?
909 :
デフォルトの名無しさん :2013/11/24(日) 02:42:13.10
>>908 ナンセンスだろ。ServletContextのアトリビュートは多目的だから一つのMapのためだけに使用すべきじゃない。
エラーをキャッチして表示
>>906 何のために書くかが分かれば答えは自ずと出てくるのでは
自己解決しました
なんかもう初歩以前の質問ですが、エクセルVBAを職業訓練で習ってjavaを独学で勉強しようと思ってるんですがやっぱり全然別物ですか?おすすめのサイトや本、ゆくゆくはゲームを作りたいと思ってるのですがこういう勉強法がいいよ!などアドバイスください
早起きならそれでも良いけど夜更かしならまず生活習慣の改善からかな。
>>913 似ているかどうかって主観的な問題だと思う。
シェパードとブルドッグは似てないけど、犬と猫よりは似てる。
両方ともオブジェクト指向というものに基づいている。VBAはかなり中途半端だけど。
型というものがあるのだけど、Javaは静的、VBAは動的。ここが一番違う。
文法的には両方とも、C言語を祖先にしているので近いものがある。
言語を理解するには、予約語の一覧を見るのが良い。
ただきっと知りたいのはクリックとか操作方法の違いとかで、そんなのは同じ言語ですらツールによって違う。
>>913 ゲーム作るのに必要なのは絵、音楽、シナリオ、これらが全てで、
プログラマの役割はそれを機械的に繋ぎ合せるだけの空気みたいなもんだが。
つまりプログラマは「与えられた設計図を基にゲームという製品を完成させる人」であって、
設計図を作る人ではない。そういうのはプロデューサーの仕事。
プログラマーになりたいの?
プロデューサーになりたいの?
どっち?
豆腐がビーム撃つぐらいのゲームなら絵だの音楽だのシナリオだのは要らんし、 勉強したいならその程度から初めてきゃいいでしょ。 そこから、3D勉強したければ立方体がビーム撃つゲームにしてもいいし、 ネット対戦したければ豆腐同士がビーム撃つゲームにしてもいいし。
>>916 絵、音楽、シナリオが全てって、それノベルゲーだろ
どんな閉じた世界のゲームだよ
アーティスト…素材を作る人 プロデューサー…素材の使い方を決める人 プログラマ…プロデューサーの決めた設計図に従う人 プログラミングを学んでも一番最後の土方仕事しかできない。 ゲームに必要な素材は作れないし素材の使い方も学べない。
>>913 第一障壁「変数の名前と変数の値が区別できる」を突破したのなら、
たぶん君には素質がある。JavaでもなんでもGOGO
プロデューサーはプロデュースする人だ。馬鹿か
ほっとけよ。バカがプロデューサになってプロジェクトが失敗して会社から追放されるのを見るのが楽しみなんだw
雑魚相手にいちいちレスするな
925 :
908 :2013/11/25(月) 18:48:55.49
>>909 ありがとうございます。
applicationContextには、マップを1つだけ入れて
そこにkey-valueをいろいろ出し入れすることにします。
質問をさせてください。Java初心者です。 System.out.println("出力"); というコードに関してお願いします。 このコードに関して、テキストでは、Systemクラスの、outフィールドのprintlnメソッドを使い コンソールに"出力"と出力させる、と書いてあります。 普通、メソッドってクラスから呼び出すものなのでは、と考えていたのですが、 上記の説明では、フィールドにあるメソッドを呼び出しているということですか? printlnメソッドは、outフィールドに定義されている変数的な意味があるメソッドなのでしょうか?
outはクラスだよ
ありがとうございます。 自己解決しました
つってみたい年頃なのだろう
信頼できるかどうか微妙なサイトを誤ってJava確認メッセージ不要状態にしてしまったのですが、 これを必ずメッセージで確認する状態に戻すにはどうしたら良いのでしょうか?
>>926 こう書けば、わかりやすいんじゃなかな。
PrintStream output = System.out;
output.println("出力");
System.outフィールドやローカル変数outputは、PrintStreamクラスのとあるインスタンスを参照してるだけ。
System.getProperties()などクラスのメソッドを直接呼び出す方が特殊。クラスメソッド、static メソッドという。
まず、クラスとインスタンスの違いを理解しよう。
javaで開発している時、ストアド使いますか? それとも、APサーバで頑張りますか
ストアドは極力使わない方がいい
日本語でおk、かな
>>934 他のアプリからも使うときはスドアドも使う。そうでないなら、DBに依存しにくいようにする。後は性能と設計次第。
JSP/Servletで、シンプルなWebアプリを作ってみたいのですが(画面2,3ぐらい)、 MVCモデルで作る場合、フレームワークなしでも簡単にできるのでしょうか? 素人ですみませんが、よろしくお願いします。
できるよ そんな小規模なアプリだとクソ見通し悪くなるだけで全くお勧めできないけど
画面ってページのこと?
小さいならHTML5で書いてlocalstorageでもいけそうだな
>>933 ありがとうございました。
復習します!
皆さんやっぱり仕事はプログラマなの?知識のレベルが高すぎだと思うんだけど。 もし趣味でプログラミングしている方がいたらどのようにして高度な知識を得たのかぜひ教えてください後を追いたいです
質問の仕方が上手だね ただこの低レベルな流れでそのヨイショは少し魂胆が見え透き過ぎてるかな
荒らしたいに決まってんだろ
仕事より趣味の方が拘れるから高度な知識を得られる。研究職とかは知らないけど。
JSF使っている人居ますかー?
仕事だとクソみたいな設計とかコーディングルールを押し付けられるんじゃないかと。変な内製ライブラリとか。
仕事で得られる技術スキルなんてバッドノウハウばかり
CUIで罫線使ったマス目を書きたいんですけど簡単に書くとしたらどうすれば良いんでしょうか?
>>951 CUIならコンソールの問題だから言語は関係ない。
>>951 テキストファイルに罫線を使ったマス目を出力したいんですけど、って質問と同じ。
そんなものはどういうテキストエディタで開くのかによって決まるだけ
コンソールの種類によって決まるだけ
おなじような質問が過去ログにあったねー
宿題の時期になると定期的に出てくる
>>950 根本的な改修をしたがらず小手先の対応でツギハギになる。
そうやって問題が蓄積してにっちもさっちもいかなくして
顧客にバージョンアップを促し金をむしり取る。
>>956 それ客から要求して、どうしようもなくなった時は作り直すからとか言っておいて、約束破るからなぁ。で、不具合起きたら怒る。
あ、もう取り引きやめたから安心して。
はじめまして。50代の初老男です。今までは、プログラミングへの憧れというか興味を持ち続けながらも 仕事が忙しく、学ぶことができませんでしたが、この年になり、やっと学べる余裕ができました 趣味程度に学んでいければと思い、Java→Androidと進もうと考えていますが おすすめのテキストや、WEB教室、通信教育や、おすすめの学習方法があったら教えてくださいませんか? プログラミングは全くの初心者です
>>960 本屋で立ち読み。入門書はそこで読み終える。
気に入ったリファレンスマニュアルを「2冊」買い、相互補完しながら読む。
あとは実践あるのみ。
だが立ち読みして本買うという簡単なことが50歳になるまで出来なかったということはすでに無理ってことかな。
963 :
デフォルトの名無しさん :2013/11/28(木) 09:06:39.60
学生のときから囲碁将棋やってた俺がいつも思うのは 老後の趣味として囲碁将棋初めても手遅れということ。 可哀想なくらい全く強くなれない。
それは相手がほしいのだろう、強くなくてもいいんでないかい
プログラミングは11歳から始めないと誰にも勝てない
コミュ障になる
仕事しながらだと職業訓練校はムリか。 いくつかあるAndroid開発者認定試験のテキストを探すもよし。 試験の主催者のサイトに行けば、週末コースありのスクール情報とかもあるはず。
皆様、色々とご指導をありがとうございます。 始めるのは遅いし才能ないかもしれませんが亀のように進みたいなと考えてます。 とりあえず、入門書を何冊か読んでみます。 主催者側のサイトも探してみます!本当にありがとうございます!
基本から学びたい…とかよりも、 俺はどうしてもこういうアプリ、こういうゲームを作りたいんだ! という具体的な目標を持ってる人のほうが上達は早いと思うな。 語学でもなんでもそうだけどね。
エロ画像収集アプリ作りたい!とかな
>>970 本能と直結してるので動機付けとしては優良だな。
映画フェイスブックでザッカーバーグが画像収集してたけど、いい練習になるよね。ただしemacsでperlだったっけ。サイトごとに仕様が違うのが良い。
そういうのはスクリプト言語向けだよな Javaでやるとコード量10倍
馬鹿には無理
ザッカーバーガーザッカーバーガー
javaでスクレイピングするの難し
何このまたRubyスレからお叱りが飛んできそうなデジャヴーは
るーびー?ってなんですか?鉱石?わかんない
フリガナのことです
じゃ幼稚園児でも読めるんですね!すごーい!( ゚Д゚ノノ☆パチパチパチパチ
誘導した先で大活躍してくれると、誘導した側も鼻が高いよな
周りに回って誘導した側が教わることになるんですね良くあることです
るびーはすれ違い
JEP182ついでにライブラリに残ってるレガシーなAPI削除してほしいな。
じすれ?
ほ
3状態のライフゲームを作りたいんだけど、どうすればいいか分からない アドバイス的なものとか、参考になるサイトとかあれば教えてほしい
何を教えて欲しいのかがわからない。 ライフゲームに必要な生物学の仕組みがわからないのか? それともJavaのGUIでライフゲームを実装する方法がわからないのか?
ライフゲーム実装するだけなら生物学とか要らんだろ……
将棋できない人でも将棋ゲームは作れるってか?
格子データ1つでライフゲーム作ると面倒なので、 観測用と次世代格納とで2つ格子データを用意しよう。
ほ
も
て
す
人生ゲームと勘違いしてるんじゃね?
次
スレ
1000get
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。