【java】jdk8も出るし、何か作ってみるか【lambda】

1デフォルトの名無しさん2014/03/17(月) 02:13:19.85ID:EZQcdYaK
リリース目前!

2デフォルトの名無しさん2014/03/17(月) 04:37:09.29ID:JMxqWrlx
建ったか。

3デフォルトの名無しさん2014/03/17(月) 08:43:08.80ID:qMMcKosj
robocodeはどうなるんだろう…。

4デフォルトの名無しさん2014/03/17(月) 14:24:10.58ID:YHJqMXtq
Javaの書き方が気にくわないから
俺はJavaそんなに好きになれない

5デフォルトの名無しさん2014/03/17(月) 16:38:34.63ID:ywio8KhI
いよいよ明日か

6デフォルトの名無しさん2014/03/17(月) 16:53:42.16ID:JMxqWrlx
JDK8 RC版でラムダ書くの面白かったよ。
少し前にリフレクションでnew()するオーバーヘッドを消すために
javassistで書き換えてるフレームワークがよくあったけど、
これからはファクトリーメソッドをラムダで書かせるだろうね。

7デフォルトの名無しさん2014/03/17(月) 17:02:03.36ID:mUTbUFyO
とりあえず初めの方はバグが多いんだろうな
しかし新機能や改良点には期待してる

8デフォルトの名無しさん2014/03/17(月) 17:24:38.63ID:JMxqWrlx
DBUtilっぽいものをちょいと作ってみた(実用性は無理があるけど
http://hoeppe.the-ninja.jp/java_entity_ruler/index.html

// サンプルコード
http://gmdev.xrea.jp/st/up/1018.txt
http://gmdev.xrea.jp/st/up/1017.txt

9デフォルトの名無しさん2014/03/17(月) 17:44:12.40ID:JMxqWrlx
JPA, Hibernate, その他もろもろにおいて、Entity Bean class は
トップレベルであることが必須だった。

これはリフレクション.newInstance()における制約があったからで、
これからは1ファイル内に何個も定義できるようになる方向に変化していくはず。

10デフォルトの名無しさん2014/03/17(月) 19:29:28.32ID:ciRVQ9zl
日本だとJBoss EAP8が出てから1年後くらいじゃないと業務で使えないな

11デフォルトの名無しさん2014/03/17(月) 20:35:18.59ID:JMxqWrlx
>>9についてだが、MVCフレームワークとかも同じだな
Controller(Action)はpublic classである必要があったが〜(以下略

12デフォルトの名無しさん2014/03/17(月) 20:39:06.74ID:xMKm5zL3
職場では、つい先月、やっとJDK7を使えるようになったんだが。

13デフォルトの名無しさん2014/03/17(月) 23:34:38.94ID:JMxqWrlx
たぶん一番恩恵を受けるのはAndroidのイベントリスナーだと思う
googleのAPI対応も早いだろうし

14デフォルトの名無しさん2014/03/18(火) 09:16:23.90ID:cNXBm7Ks
嵐の前の静けさ ←イマココ
嵐の中の静けさ
嵐の後の静けさ

15デフォルトの名無しさん2014/03/18(火) 18:32:14.29ID:s3PeK3NF
何時に出るの?

16デフォルトの名無しさん2014/03/18(火) 19:45:34.17ID:8JATeyAW
PermGenは名前が変わっただけで直ってないんだろ。java9に期待。

17デフォルトの名無しさん2014/03/18(火) 20:06:42.89ID:tRXj2H8I
今でしょ・・・アレ?

18デフォルトの名無しさん2014/03/18(火) 20:59:24.26ID:SyPosiOD
wktk

19デフォルトの名無しさん2014/03/18(火) 21:49:21.41ID:m0FYIubb
ラムダつくのかー

20デフォルトの名無しさん2014/03/18(火) 21:52:07.08ID:khf9ZUrC
ちょうど日付操作したいからJava8を試すかと思ったらまだ来てないとは
Joda-Timeでも試すか

21デフォルトの名無しさん2014/03/18(火) 22:41:55.89ID:maR4oJ9k
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

22デフォルトの名無しさん2014/03/18(火) 23:56:41.57ID:tRXj2H8I
アイちゃん遅刻だよ

23デフォルトの名無しさん2014/03/19(水) 05:51:44.36ID:m51+QobB
>>20
Joda-Timeでなく、敢えてJDK8の日時クラスを使う理由が見いだせない。
設計者の変なこだわりで使いにくくなってると思うんだが。

24デフォルトの名無しさん2014/03/19(水) 10:20:24.37ID:Zr8WYTiP
早朝に来てたか…!

[速報]Java 8が正式公開。ラムダ式、新しい日時API、JavaFX8など。NetBeans 8.0も登場
http://www.publickey1.jp/blog/14/java_8apijavafx8netbeans_80.html

Java SE 8、JDK 8が正式リリース
http://www.atmarkit.co.jp/ait/articles/1403/17/news105.html

25デフォルトの名無しさん2014/03/19(水) 23:18:01.57ID:TKTiQtiy
気のせいか起動が早くなってない?
電源入れた後の初回起動のイライラ感があんまりない

26デフォルトの名無しさん2014/03/19(水) 23:22:11.96ID:pgTJKr0l
ちょぱーり

27デフォルトの名無しさん2014/03/21(金) 02:44:04.79ID:RgzJi1bk
JDT/Eclipseの正式対応が5月くらいになるのか

28デフォルトの名無しさん2014/03/21(金) 03:05:50.90ID:J9XPjdPv
WinとLinuxは入れ替えても良いけどMacだとめんどくさいお
全部のプラットフォームつかってるからなおさらめんどくさいお

29デフォルトの名無しさん2014/03/21(金) 09:40:23.55ID:wYRkXsLz
>>27
4.3.2 JDTのJava8対応は、すでに正式版(GA)。

30デフォルトの名無しさん2014/03/21(金) 23:33:45.67ID:pR5rAGyq
>>25
Linux版だけど起動は確かに速くなってるな

31デフォルトの名無しさん2014/03/22(土) 04:06:59.14ID:RKvZhqtL
どっかからJava8にしないでくださいってメールがきたぞw

32デフォルトの名無しさん2014/03/22(土) 07:10:58.70ID:5gx6vbDt
嬉しくてチンチンたちまくりレイプ事件が多くなるのを心配してるんだよ

33デフォルトの名無しさん2014/03/22(土) 11:46:18.19ID:bsv8fewG
すべってますよー

34デフォルトの名無しさん2014/03/22(土) 12:06:48.36ID:pO1WrkSi
>>31
例えばこれだね www.gaitame.com/info.html
> 現在、「Java8」では『外貨ネクストネオ』のリッチアプリ版が起動しないこと、Webブラウザ版のチャートが表示されないことを確認しておりますので、アップデートをしないようお願いいたします。

35デフォルトの名無しさん2014/03/22(土) 12:09:24.76ID:oreZJNMZ
>>34
今回そんな互換性なくなるような変更点あったっけ?
セキュリティ関連でデフォルトが変わった奴とかのせいか?

36デフォルトの名無しさん2014/03/30(日) 17:15:39.34ID:jhRCncdW
JDTがしょっちゅう固まるのだが

37デフォルトの名無しさん2014/03/30(日) 22:53:50.31ID:pBWL0FS5
lambda?
オッサンにはぜんぜん理解できん(T_T)
あんなんで書かれた日にゃメンテナンス性が著しく低下しそう

38デフォルトの名無しさん2014/03/31(月) 21:14:42.92ID:YRh/37pv
それはさすがに理解してくれよ。
最初は匿名クラスのシンタックスシュガーぐらいのもんだと思ってりゃいいんだよ。

匿名クラス禁止とか言い出すようなら、転職するしかない…

39デフォルトの名無しさん2014/03/31(月) 21:47:34.56ID:QzEXOdpw
http://news.mynavi.jp/special/2014/java8/
この辺の例にある、

list.sort(new Comparator<String>(){
@Override
public int compare(String s1, String s2){
return s1.length() - s2.length();
}
});

が、

list.sort((s1, s2) -> s1.length() - s2.length());

こう書けるのはすごく便利そう。というか下の見た後だと上は冗長過ぎ。
複雑なラムダ式はよう判らんが、こういうレベルのはどんどん普及してほしい。
むしろこれすら理解できない老害は氏ね。

40デフォルトの名無しさん2014/04/01(火) 00:56:28.29ID:NI6qZZms
Androidとかの対応はどうなるんだろうねぇ

41デフォルトの名無しさん2014/04/01(火) 18:06:01.00ID:DnaG0wEC
何か作ってみるかと思ったらインストールできない
調べたらXPはサポート外かよゴミ言語だな

42デフォルトの名無しさん2014/04/01(火) 18:29:50.90ID:bN6Ka3eO
逆!
XPがゴミ

43デフォルトの名無しさん2014/04/01(火) 19:39:57.65ID:PR3x9no5
XPがゴミだとふざくんなよ


いまだにXPでネットやってる >>41 がゴミ

44デフォルトの名無しさん2014/04/03(木) 11:22:03.46ID:ZxAxSvKk
み・・みんな・・ひどい・・・・・

45デフォルトの名無しさん2014/04/03(木) 12:03:37.80ID:KbAl46jm
>>44
酷いつーか、来週からどうすんだ?
割とマジで迷惑だろ>>XP残留組

46デフォルトの名無しさん2014/04/03(木) 20:45:39.26ID:ISM3Ag2e
えっ・・・Java8はWindows XP で動かんの?
プラットフォームに依存しない、ってのがJavaの最大の"ウリ"ではなかったのか

47デフォルトの名無しさん2014/04/03(木) 21:02:33.65ID:KbAl46jm
>>46
終わったプラットフォームとか生まれる前から死んでるプラットフォームでは動かないよ

48デフォルトの名無しさん2014/04/04(金) 23:30:21.48ID:6t2n97/t
Write once, run anywhere

49デフォルトの名無しさん2014/04/05(土) 00:21:43.57ID:3yuavrKE
データベース関連は難しいな

50デフォルトの名無しさん2014/04/06(日) 00:57:50.68ID:IBDsli1X
もう少し違うものを作ってみよう(汗

51デフォルトの名無しさん2014/04/07(月) 00:26:40.02ID:5yVEedO3
EclipseはLuna4.4待ちなのかと思ったら
JDT自体はGA来てたのな

52デフォルトの名無しさん2014/04/09(水) 00:59:51.31ID:jKnccCoL
使った感じeclipseのjdtアドオンはまだ不安定だよ

53デフォルトの名無しさん2014/04/09(水) 18:18:00.80ID:jKnccCoL
サーブレットのライブラリを作ってみる
http://hoeppe.the-ninja.jp/java_markup_ruler/html/tutorial/tutorial1.html

54デフォルトの名無しさん2014/04/11(金) 14:07:16.84ID:6rfX8xtJ

55デフォルトの名無しさん2014/04/11(金) 20:36:22.79ID:0xnK6ibc
Once write, debug everywhener

56デフォルトの名無しさん2014/04/12(土) 14:03:01.71ID:KEuyoGFu
>>37
どこが難しいのかさっぱり。。。
むしろ7より前でコーディングする気が失せた
今の職場は当然のように7だけどね

あとAndroidとかGAE対応はどうなんだろうね
ここあたりすっげー遅いイメージしかないんだが、Google先生

57デフォルトの名無しさん2014/04/12(土) 23:58:58.17ID:oJ1LFVkB
Month while, the dog everyone.

58>>532014/04/13(日) 01:52:36.69ID:cpdOQcgc

59>>532014/04/14(月) 03:48:52.30ID:3UflCQPn

60デフォルトの名無しさん2014/04/14(月) 03:51:49.14ID:3UflCQPn
HTML idだとまずいことに気づいた
独自属性java:keyにして、出力時には消えるようにしよう

61デフォルトの名無しさん2014/04/15(火) 01:17:54.07ID:QjDXpoj9
感想0とはつらいものだ

62デフォルトの名無しさん2014/04/15(火) 13:56:25.77ID:3Sv4k8i4
>>61
なんか読めなかった
後でPCで見ておくよ

63デフォルトの名無しさん2014/04/15(火) 14:20:27.79ID:QGh49XkA
>>61
感想なんて書かれないのが普通なんだからアクセスログでほくそ笑んでれば良いじゃんよ。

64>>532014/04/16(水) 00:28:38.94ID:F5idbQac
一部修正した。html idで全部やってたことを独自属性java:xxxに変更。
これによってhtmlからjavaのスケルトンソースを生成するツールも作れる

65>>532014/04/16(水) 01:08:38.67ID:F5idbQac
Qiitaで書き散らそうかと覗いてみたけどそういう雰囲気じゃなかった

66デフォルトの名無しさん2014/04/16(水) 15:47:25.91ID:ZPDSwdSk
感想:

ラムダ使う必要なくね?

67デフォルトの名無しさん2014/04/16(水) 18:35:30.68ID:F5idbQac
サーブレットのdoGET, doPost... に値するところは
メソッドのオーバーライドでも大して変わらんね

少し前のフレームワークではアノテーションでやっていた
httpパラメータからのコンバータやバリデータをラムダでやると効果的かもしれん
wicketのそれが近いと思う

68デフォルトの名無しさん2014/04/16(水) 18:48:21.55ID:EhohGL0g
Lambdaでやらせるなら表示の絞り込みとかの方がよくね?(SQLで得た一覧をmemcachedに蓄えたりした奴のフィルターとかソートね)

69デフォルトの名無しさん2014/04/16(水) 19:58:23.28ID:F5idbQac
Model側で別の層になるなそれ。

少し前にEntity Rulerという名前で
RDBライブラリ(O/Rマッパー)作ろうとしていたのだが
アイデアがフラフラしたあげくに頓挫しちゃったんだよね

70デフォルトの名無しさん2014/04/16(水) 20:12:03.87ID:F5idbQac
>>68
で言われているようなことをする場合、普通はSQL内でやるもんだよね。
whereとかjoin書かないで全部拾ってきて、java側でフィルターすると
ネットワークIOがボトルネックになるからさ。

HSQLかH2に限定すれば、ストアド(具体的にはユーザー定義関数)を
javaで書けるから何でもストアド化するって手もあるんだけど、
(そうするとネットワークIOの問題は解決する)
RDBに関する全般的な知識がないから、おれにはちょっと荷が重い

71デフォルトの名無しさん2014/04/18(金) 00:52:11.94ID:qfiz40wI
さて、Webライブラリの話に戻るんだけど、
cakePHPとかだとバリデータがModelの処理とされているように、
web(http/html)と直接関係ないものは全てModelとして扱う。
(コンバータ、バリデータ etc...)

そして本ライブラリはMVCのVとCのみを扱うため、
HTTPクエリ/パラメータからのコンバータなどは作らない。
従ってあとはクッキーとセッションあたりをどうするべきか考えれば
とりあえず完成、version1.0をリリースできるな。

72 忍法帖【Lv=10,xxxPT】(1+0:5) 2014/04/22(火) 00:31:42.80ID:+hEYAfLs
おいJava8めっちゃ高速になってないか
GCの性能もめっちゃ良くなってるようなきがするんだが
みんなどう?

73デフォルトの名無しさん2014/04/22(火) 20:25:51.82ID:LK8qL++Z
みんなまだ様子見くらいしかしてないんじゃないの?
JRE7とJRE8でパフォーマンス計測したなら教えてよ

74デフォルトの名無しさん2014/04/23(水) 10:28:23.85ID:IIePiM6b
ベンチの結果が20%向上した
うちの場合

75デフォルトの名無しさん2014/04/23(水) 10:30:45.74ID:IIePiM6b
あと、Nashornクソ遅い
巷ではRhinoより速いと言われてるらしいが

76デフォルトの名無しさん2014/04/23(水) 13:35:11.28ID:kB34xYG+
>>75
何と比べて遅いん?

77デフォルトの名無しさん2014/04/23(水) 13:53:28.44ID:qlKuU/ND
>>76
Rhino-1.7R5

Node.jsのサブセットみたいなものを自作して使用中なんだが
使い方が悪いのかしらんがNashornは超遅い

78デフォルトの名無しさん2014/04/24(木) 01:25:00.86ID:uw+Asd59
おとなしくnode.js使えよ
V8パワーを実感できるぞ

79デフォルトの名無しさん2014/04/24(木) 03:52:08.38ID:ic8Kyj+r
自作言語をjavascriptに変換して実行とか面白いかもな
javassist使ったほうがいいかもしれんが

80デフォルトの名無しさん2014/04/25(金) 16:51:13.24ID:tzejnHu3
>>78
JSだけで完結するならそうなんだけど、
Java資産を流用せにゃあかんという要求がありまして

81デフォルトの名無しさん2014/04/28(月) 03:07:46.77ID:4J9xjlOi
ランバダ?

82デフォルトの名無しさん2014/04/29(火) 00:15:08.02ID:9kKuqxmA
UncheckedIOException 見て
Javaはそろそろ限界だと感じた

83>>532014/05/09(金) 11:50:47.96ID:SYgUl/A2
ソースのプロトタイプ生成ツールの試作品ができた
具体的には.htmlから.javaを生成するツール

入力(html)

<?xml version="1.0" encoding="UTF-8"?>

<html xmlns:java="http://hoeppe.the-ninja.jp/" java:page="Tutorial4">
<body>
<div>Item List</div>
<div java:canvas="list">

<div java:group="fragment">
<div>Item</div>
<div java:key="index"></div>
<div java:key="name"></div>
</div>
</div>
</body>
</html>

84>>532014/05/09(金) 11:51:44.16ID:SYgUl/A2
出力(java)

package org.ruler.markup.tool.export;

import org.ruler.markup.api.Page;
import org.ruler.markup.api.Canvas;
import org.ruler.markup.api.Group;

@Mount(path="/default.html")
@Source(file="tutorial4.java")
public class tutorial4 extends Page {

@Source
Group fragment = new Group();

@Source
Canvas list = (node) -> {

};

@Override
public void action(Http http) {
http.GET = (event) -> {

event.setCode(Code.OK_200);
event.setType(Type.html);
event.draw(this);
};
};

}

85デフォルトの名無しさん2014/05/09(金) 13:20:04.59ID:uFy0rdVu
ラムダ??

BGM聴きたい

86>>532014/05/11(日) 17:47:09.64ID:4QdDd3nu
とりあえずjavadocとjar本体をアップしたぜ
チュートリアルだけ試せます

87>>532014/05/11(日) 19:56:13.04ID:4QdDd3nu
tomcatプラグイン紛らわしいね。使わないほうが良さそう

88デフォルトの名無しさん2014/05/13(火) 20:45:35.20ID:0208S0UM
javaさようなら。

見捨てられたXPユーザより。

89デフォルトの名無しさん2014/05/13(火) 22:05:00.93ID:M8thHBuI
XPはjava以前だろうにwww

90デフォルトの名無しさん2014/05/13(火) 23:10:44.12ID:yjKm7ka1
>>88

はいさようなら シッシッ

91デフォルトの名無しさん2014/05/14(水) 09:43:53.65ID:Yp3DnhFD
>>88
頼むからネットに繋ぐのはやめてもらえないか?

92 ◆JuV6RhVrAM3h 2014/05/14(水) 20:38:43.95ID:9YZWsYJ2
おちんこぴゅっぴゅぴゅ

93>>532014/05/16(金) 15:09:03.38ID:t+BktqNJ
協力者募集中〜

94>>532014/05/17(土) 01:56:05.90ID:C6+8ucAK
わびしい。キータに投稿してみっか

95デフォルトの名無しさん2014/05/17(土) 01:59:54.60ID:cEn7MAy/
UIラップだけに切り出した方がいいんじゃないかねぇ

96>>532014/05/17(土) 02:59:52.74ID:C6+8ucAK
それは可能だし、Viewのみにすると規模が縮小して俺も楽なんだけど、
どちらにせよSpringMVCとかJersey、JSF2といった
今主流のControllerと連携はできないんだよね

97デフォルトの名無しさん2014/05/17(土) 03:51:13.79ID:cEn7MAy/
Controller周辺は拡張ライブラリで自由に選べるようにして置けば汎用性高いのが出来ると思う
コンテナまで実装は無駄が多すぎる
IDや特殊IDでマッピング出来てピュアなhtmlで作れるのはそれなりに需要高いと思う

98>>532014/05/17(土) 13:17:10.19ID:C6+8ucAK
参照実装つくるならstruts1だろうね
単なるライブラリとして完全に分離された状態で連携できる
(サーブレットAPIのRequestとResponseを直接使えるから)

SpringMVC、Jersey、Playだとフレームワーク毎に対応したもの作るの大変

99>>532014/05/17(土) 21:23:21.32ID:C6+8ucAK
前言撤回w よく調査したら、独自Viewを持つJSF2以外は簡単に連携できそう

とりあえず自作コンテナ or Jersey(EE標準)で利用可能な方向に修正しようと思う
SpringMVCやPlayでもそのまま動かせると思うが、触れないで置く

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.ruler.markup.api.Page;
import org.ruler.markup.api.Source;
import org.ruler.markup.api.Canvas;

@Source(file="/xml/template.xml")
@Path("/hello")
public class HelloWorld extends Page {

@GET
@Produces(MediaType.TEXT_HTML)
public String sayHello(){
String html = super.draw();
return html;
}

@Source
Canvas canvas = (node) -> {
node.setAttr("style", "color:FFFFFF;");
node.addText("Hello World");
};
}

100>>532014/05/18(日) 00:29:13.30ID:LWas9+0T
そのさい、多少APIを変更するのは避けられない

Responseを乗っ取れないようなので
いったん丸ごと一つの文字列にしなければならなくなる
無駄に大きい文字列結合は結構コストになる

それでもDI、コンバータ、バリデータが全部流用できるのが大きいが

101>>532014/05/18(日) 17:37:20.86ID:LWas9+0T
JAX-RS v2.0 を試そうとApache CXFを試したが、hello worldも実行できず断念
Glassfish(Jersey)やJBoss(JBoss Rest Easy)はtomcatで使いたいので断念

JAX-RS v1.1 しか使えないが、jarも少なくてコンパクトなApache Winkで調査中〜

102デフォルトの名無しさん2014/05/18(日) 19:26:31.34ID:TTQj//9Y
>>53
よくわかんねーや、仕様を日本語で書いてくれ。

103>>532014/05/18(日) 21:25:44.60ID:LWas9+0T
javadocとかhtml書くのも大変なのよ
javadocは日本語と英語を併記しようとして失敗した
チュートリアルも日本語がおかしいかもしれない

もしくは、もっと全体的な概要のことだろうか?

104デフォルトの名無しさん2014/05/18(日) 21:29:41.51ID:N+11ThYv
>>103
そうだよ、ぱっとみてなにやってんの?てなかんじ

105デフォルトの名無しさん2014/05/18(日) 21:30:57.47ID:N+11ThYv
それとDOMが遅いのは知ってるよね?

106>>532014/05/18(日) 22:53:36.54ID:LWas9+0T
どれを指していってる?

107>>532014/05/18(日) 23:02:35.40ID:LWas9+0T
その指摘はたぶん半分正しい。

XML(REST, AJAX)だとDOMは遅くない
HTMLだとDOMは遅い。

なぜならHTMLはほとんどが静的なデータの塊であって、
動的でない部分をDOMで保有していると、直列な文字列へと変換する無駄が生じる。

チュートリアル1では、全てをDOMで操作しているので、たしかに処理に無駄がある。
従ってチュートリアル1は最も自由度の高いAPIであるが、HTMLではなくXML(REST, AJAX)向きだ。

108>>532014/05/18(日) 23:08:29.27ID:LWas9+0T
これを踏まえたうえで、チュートリアル02, 03を見てほしい。
Canvasというクラスがでてくる。Canvasに指定されたノードは、動的な領域である。

逆説的に言えば、それ以外の領域は静的であるということ。
実は、内部で静的な領域を最適化している。

Node.classにはjavadocに載っていないが、onReady()というメソッドがあって、
あらかじめ直列化された(変わりに変更不能になった)文字列へと最適化している

109>>532014/05/18(日) 23:18:39.38ID:LWas9+0T
具体的に書くと、Nodeは通常以下のデータを持っている

String タグ
HashMap<String, String> 属性
List<Node> 子ノード

コレを連結して < + タグ + 属性="属性値" + > </ + タグ + >を生成する。
静的な領域として登録されたNodeは、次のように固定される

String 開始タグ <div class="xxx" onclick="xxx">
String 終了タグ </div>
List<Node> 子ノード

従ってDOMは自動的に、最適な形式で最適化されるのだ

110>>532014/05/18(日) 23:21:28.16ID:LWas9+0T
ちなみに、このonReady()というメソッドはサーバー起動時に行われる
初期化の中で実行され、アプリ開発者には触れないようにパッケージアクセスになっている

111>>532014/05/18(日) 23:29:41.69ID:LWas9+0T
そんなわけで、計測していないが、JSPでタグライブラリ使うよりは
むしろ早いんじゃないかと思う。

JSPだとBeanUtilsとかでリフレクション使うが、
こちらはまったくリフレクションと無縁だし。

112>>532014/05/19(月) 01:30:36.99ID:sKL+/ft2
そーいえば、バグを修正してからソースアップしてなかったや

113>>532014/05/19(月) 23:11:24.30ID:sKL+/ft2
質問してた人は分かってくれたのだろーか?
ま、いっかー♪

114デフォルトの名無しさん2014/05/19(月) 23:14:52.36ID:tS67yV1L
わかんねーよ、まあいいよ

115>>532014/05/20(火) 12:43:37.30ID:6S2+5F+I
このフレームワークは、JSPを代替するものである。他はあってもオマケなのさ
SpringMVCといったモダンなフレームワークやJSP/Servletをそもそもほとんど知らないと
さすがに厳しいだろうね

116デフォルトの名無しさん2014/05/20(火) 13:29:36.59ID:01pyNPJw
.どうでもいいけど^2、大きくでたね、恥ずかしい。

117>>532014/05/20(火) 20:12:46.72ID:6S2+5F+I
どうでもいいなら最初から質問しないこと
そして>>105のような知ったかをかまさないことだな

118デフォルトの名無しさん2014/05/20(火) 20:41:00.48ID:PNoH4CCh

119デフォルトの名無しさん2014/05/21(水) 08:29:43.45ID:5ztNVRYW
スルースキルなさすぎ

120>>532014/05/23(金) 18:50:26.17ID:a5qO5SrY
2chの調子がおかしい。またscの件だろうか

121デフォルトの名無しさん2014/05/28(水) 00:33:35.50ID:9OS265q7
JAX-RS(Jerseyとか)に対応したかったが、
あれJAXB専用だという結論に達した

EE標準で他になんか無かったっけ

122デフォルトの名無しさん2014/05/30(金) 02:26:09.40ID:tZAWFEUT
テンプレート指定でpojoぶち込んで変換する程度なのになぜそんな難しい事だと思うんだろう・・・
ちゃんと考えたらオプショナルなライブラリとして切り出せるよ

123デフォルトの名無しさん2014/05/30(金) 06:22:55.92ID:6rGA/Qk9
JAX-RSはInputStreamでリクエストを処理できるから何使ったっていいやろ

124デフォルトの名無しさん2014/05/30(金) 16:50:49.26ID:qoYBEuMa
いたいんだろう

125>>532014/05/31(土) 22:40:21.59ID:5baBS0eH
@Templateはglassfish独自だったような。
もう一度JAX-RSの勉強してみる。

126>>532014/05/31(土) 23:19:28.12ID:5baBS0eH
できれば、glassfishに依存しない、jbossでも可能な純粋なJAX-RSが望ましい

それでプレーンテキストではなく、xml/htmlやjsonを
次のような形式で返すのはダメだった気がするけど、俺の気のせいか?
まあ試してみるか!

public class POJO {
@GET
@Path("/aaa")
@Produces("text/html") // @Produces("text/plain")
public String hello(){
return "<? XML宣言 ?><html><body>fuck you</body></html>";
}
}

127>>532014/05/31(土) 23:24:09.73ID:5baBS0eH
あと良く見たら、HttpServletResponseのOutputStreamで出力みたいな方法があるね
どうやって使うのか分からないけど、上記の方法(>>126)がダメだったらこっちを調べる

128>>532014/05/31(土) 23:55:24.75ID:5baBS0eH
今やってみたら普通にできた。俺は一体なにを勘違いしてたのだろう・・・。

今後の方針。
>>99の形式のAPIで作りなおす。
Apache Winkライブラリ実装によるJAX-RX1.1環境でテスト。
JBoss(JBoss Rest Easy)・GlassFish(Jersy)・Apache CXFでそのまま動くと思う。

129デフォルトの名無しさん2014/06/01(日) 20:41:47.80ID:NBeHYS0k
アホは見得をはるな

130>>532014/06/01(日) 23:39:25.02ID:wxYsWL3a
まあそういうなって。とりあえず動く段階までできたよ

最適化の余地があるのと、ファイルパスのミスなどに対して
親切にエラーメッセージを吐かなかったり、内部実装は雑だが、
とりあえず前回のチュートリアル4(繰り返し出力)までできるようになった
http://hoeppe.the-ninja.jp/java_markup_ruler/html/tutorial/tutorial4.html

131>>532014/06/01(日) 23:42:32.85ID:wxYsWL3a
出力結果とリソースとなるhtmlは>>130のチュートリアルと同一のもので、
今回のバージョンでは次のようなコードになる

package test;

import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/rest")
public class HelloApplication extends Application {


public HelloApplication(){
}

@Override
public Set<Class<?>> getClasses() {

Set<Class<?>> set = new HashSet<Class<?>>();
set.add(HelloWorld.class);
return set;
}

}

132>>532014/06/01(日) 23:45:36.71ID:wxYsWL3a
package test;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.ruler.markup.api.*;

@Source(file="/WEB-INF/html/tutorial4.html")
@Path("/hello")
public class HelloWorld extends Page {
@GET @Produces(MediaType.TEXT_HTML)
public String hello(){
String markup = super.draw();
return markup;
}
@Source
Group fragment = new Group();
@Source
Canvas list = (node) -> {
String[] names = {"A", "B", "C", "D", "E"};
for(int i=0; i<5; i++){
Node copy = new Node(fragment);
copy.in(node);
Node name = copy.key("name");
name.text(names[i]);
Node index = copy.key("index");
index.text("index("+i+")");
}
};
}

133>>532014/06/02(月) 00:28:07.03ID:avVQoG9D
HTMLでドキュメント書くのめんどくさい
今月末にEclipse4.4がリリースされる前には、こっちも仕上げたい

134>>532014/06/02(月) 15:17:04.58ID:avVQoG9D
ホームページに2.0のjar, javadoc、環境設定をアップしたぞ

135デフォルトの名無しさん2014/06/02(月) 22:31:14.92ID:oBwkaK0R
何するフレームワークなの?
サイト見てみたけど、そもそもプロジェクトの大目的も書いて無ければ
設計思想も不明。誰に対して何を発信してるのかさっぱりわからん。

伝えるべき思想を失ったプロダクトは、やがて自身が失われていくだけ。

136>>532014/06/03(火) 00:41:34.09ID:W3xt/cSk
だからそういうのをhtmlで用意するのも手間がかかるんだって
見て分かる人は分かるし、分からない人は待つか、何か考えてちょうだい

137デフォルトの名無しさん2014/06/03(火) 01:14:51.76ID:M8ABeZfO
>待つか、何か考えて

いや、もうすでにメジャーな解決手段が山ほどあるわけで。
先入観も予備知識もなく、いちJava開発者としてあなたのプロジェクトの
サイトを見た時に、なにがしたいのか、なんのために情報発信しているのかが
さっぱり理解できなかっただけ。
このスレ見たって、だれもダウンロードもしてなけりゃ使ってもいなさそうだし。

個人的な趣味や研究としてやるぶんには全然いいと思うけど、だったら
2chじゃなくてそれこそQiitaなりForkwellなりGitHubあたりで発信したほうがいいと思う。

138>>532014/06/03(火) 01:35:20.27ID:W3xt/cSk
>個人的な趣味や研究としてやるぶんには全然いいと思うけど、
>QiitaなりForkwellなりGitHubあたりで発信したほうがいいと思う。

その辺くわしくないの。ツールの使い方覚えるのも面倒くさいしさ
スレ違いという話だったら、ここ俺が建てたところだし、他に話題もないようだからいいでしょ

139>>532014/06/03(火) 01:37:36.98ID:W3xt/cSk
マ板が、2ch自体もすごく過疎ってるのは分かっている
それでも有用な案を出してくれる人が全くいないわけでもないんだよね

140>>532014/06/03(火) 19:48:44.30ID:W3xt/cSk
>なにがしたいのか?
考えてみたら特にないんだよね。なんとなく作ってきたものを改めて自己定義してみる

自分はもともとwicketの信者で、プレーンなHTMLでデザインするというのが構想の根幹にあったのだけど、
新バージョン(2.0)では、方向性を変えてテンプレートエンジンに収まった感じかな

velocityとかsmartyと競合するわけなんだけど、違いは.vmファイルとか、独自スクリプトがないところ

2.0シリーズはテンプレートエンジンのみで他のフレームワークと組み合わせて使い、
1.0シリーズはオレオレコンテナー付きでたぶんパフォーマンスも少し良い

141>>532014/06/04(水) 14:47:53.40ID:Q5ELIKYC
チュートリアルを足した
あと2つ足したら、ショッピングカートとか
解説本によくあるサンプルアプリを作りたいところだ

他のtodoリストとしては、ver2.1において
wicket:removeやjsp:includeにあたるものがほしいかな
それと、htmlに埋め込む属性がjava:canvas="xxx"のように、
属性の名前空間が"java:"なんだけど、なんとなく"view:"に変えようと思う

142デフォルトの名無しさん2014/06/07(土) 13:43:51.09ID:A9n/DlGy
どうせ誰もダウンロードしてないしな
こっそり互換性のない変更しとくか

143デフォルトの名無しさん2014/06/08(日) 02:34:45.24ID:XG86MQWF
プレーンなHTMLで書けるテンプレートエンジンは、Thymeleafってのが既にアルヨ
http://www.thymeleaf.org/

144>>532014/06/08(日) 08:48:30.26ID:muM/tUAt
それは全く参考にならない
ホームページのデザインがカッコイイのは認めよう

145デフォルトの名無しさん2014/06/10(火) 07:59:12.82ID:ktfRooiL
チュートリアル追加
「02.動的なページ」

146デフォルトの名無しさん2014/06/10(火) 22:46:27.33ID:JLLjF1QC
変なのが居着いちゃったな

147>>532014/06/12(木) 11:36:50.08ID:Ti9BpqIm
OGNL系のテンプレートエンジン、テンプレートにスクリプト埋め込むエンジンは根本的に失敗してるんだな

148>>532014/06/20(金) 13:51:47.16ID:jx2J3NNK
最近進める暇が無い。PHPはもう嫌だー

149デフォルトの名無しさん2014/07/03(木) 22:45:18.73ID:yCk6IM6o
Javaもc#のマネしてlinq機能採用すればいいのに
λも中途半端で使いづらい

150デフォルトの名無しさん2014/07/04(金) 15:51:21.82ID:G5qrkZAQ
xml,json,csvあたりは必要としていないし、RDBには力不足、
KVSではよく分からんけどlinqは汎用ではなく何か専用にならないと使えない

151デフォルトの名無しさん2014/07/04(金) 16:24:59.01ID:Qs7fnNPT
>>149
λとかQuery関係はjvmで動くLispのClojureとか使うと楽なんだけどそういうのは無しな方向なんだろうなぁと思うとちょっとかなしい

152デフォルトの名無しさん2014/07/05(土) 14:24:57.02ID:+lHURxz4
俺が一番ほしいのは右辺型推論の進化かな

jdk7で次のように書けるようになったけど

ArrayList<String> array = new ArrayList<>();

左辺と同一の型の場合、このくらい略せてもいいよね。

ArrayList<String> array = new();

ラムダができても以前のイベントリスナーみたいなのは今後もあるわけだし、
無名クラスが楽になるんだわ。

Listener listener = new(){
@Override void onA(Event e){}
@Override void onB(Event e){}
};

153デフォルトの名無しさん2014/07/05(土) 22:56:30.92ID:CDO6L6dP
符号なしバイト変数さえあれば他はどうでもいい

154デフォルトの名無しさん2014/07/06(日) 02:46:09.09ID:dYSoFRpx
とりあえずJigsawの実用化に全力を出せばそれでいい

155デフォルトの名無しさん2014/07/10(木) 14:30:00.56ID:GIbup2ZZ
忘れてたけど先月にEclipseの新しいやつでてたね

156デフォルトの名無しさん2014/07/16(水) 13:40:07.49ID:espMUnFN
>>155
LunaからJDK8に対応したね
Streamはstream()オブジェクトを作ってからフィルタを通す感じで、最初に
オブジェクトを作る必要がある以外は正直LINQと同じだと思った
ただクエリ形式がなくメソッド形式のみという違いはあるが
ラムダ式で使う事を前提にしてるんだからそれでいいと思うけど

ジェネリック型(総称型)もC#が入れてからJDK5で入れたもんな

157デフォルトの名無しさん2014/07/16(水) 21:20:06.52ID:CuJEK7rH
JAVAでオンラインゲーム作れる?ブラウザゲームの

158デフォルトの名無しさん2014/07/18(金) 07:00:39.21ID:ebrrZgfr
作れるよ。しかも方法はひとつじゃない〜

159デフォルトの名無しさん2014/07/18(金) 07:07:01.90ID:ebrrZgfr
>>155
前のやつでもJDK8プラグインあったけど
何かインテリセンスがちょこちょこバグって初期化させられたり酷かった

コレで安心

160デフォルトの名無しさん2014/07/19(土) 17:36:20.89ID:l+e584H0
インテリセンスはMS用語だボケ

161デフォルトの名無しさん2014/07/19(土) 17:38:57.19ID:EB3tijtC
>>160
汎用的にはなんて呼ぶの?
Abbrebiation?

162デフォルトの名無しさん2014/07/19(土) 17:58:29.28ID:1hzYIwWV
>>161
自動補完でいいんじゃね?
Eclipse的にはコンテンツアシストだけど

163デフォルトの名無しさん2014/07/19(土) 19:02:08.22ID:EB3tijtC
>>162
おお、日本語で考えること放棄してた、ありがと

164デフォルトの名無しさん2014/07/22(火) 02:25:39.78ID:WNvZZG9N
λ式勉強するのに良い本ある?
検索したらこんなのみつかったけど、どうかな?

Java8ではじめる「ラムダ式」
清水 美樹
http://www.amazon.co.jp/dp/4777518418/

Java 8 Lambdas: Pragmatic Functional Programming
http://www.amazon.co.jp/dp/B00J3B3J3C/

165デフォルトの名無しさん2014/07/22(火) 04:42:35.99ID:oJhyWV2m
>>164
プログラムの根本からやるなら「計算論 計算可能性とラムダ計算 」とか「プログラム意味論」とかの方が良いよ。
jdk8のラムダ式を理解したいってだけだと後で困ると思う(jdkが消える未来とか嫌だけど)

166デフォルトの名無しさん2014/07/22(火) 07:12:52.02ID:uw3Yx8Ji
C++とかC#にもラムダ式あるけど言語毎に覚えれば済む話じゃん
学者になって言語そのものを開発したいわけでなければね

167デフォルトの名無しさん2014/07/22(火) 11:45:21.95ID:iu3Ufd63
構文やらをおぼえるんじゃなくて
機能的な限界と回避方法・設計アプローチを把握することが重要なのは理解出来てるよな

168デフォルトの名無しさん2014/07/22(火) 21:25:25.74ID:uw3Yx8Ji
内容のない掛け声だな。アーキテクト様()ですか?
標準APIや大手OSS、GoogleのAndroidフレームワークとかが示す設計に従うだけだろ

アプリケーション層なんて別に昔のやり方でも十分なのよ

169デフォルトの名無しさん2014/07/23(水) 20:13:35.66ID:QSNktYB/
その「設計に従う」ってことができない奴が多くてな…

170>>532014/08/02(土) 16:18:37.55ID:jWpcYE6C
結局、ラムダを連発するようなものは何も思いつかなかったぜ

171デフォルトの名無しさん2014/08/02(土) 19:28:08.08ID:B8TVS7ae
ラムダ無駄
ラムダ無駄
ラムダ無駄

172デフォルトの名無しさん2014/08/03(日) 07:42:15.61ID:VwgAezGJ
λ:波長
ε:エネルギー、微少量
δ:変分

173デフォルトの名無しさん2014/08/03(日) 08:40:48.79ID:yEk1GdIN
θ:角度
ω:猫っぱな

174デフォルトの名無しさん2014/08/07(木) 13:49:26.82ID:6rKKJZ7q
散々いわれてるかもしれないけど
ラムダ式、マルチスレッドの勉強するときに凄い便利だね
本文にスレッドの内容直接書いてる感じで
うさんくさいprivate class...{public void run()...って長ったらしく書く必要もないし

175デフォルトの名無しさん2014/08/07(木) 20:00:29.48ID:AO7k9w1g
(;´Д`)ノθヴイィィィン

176デフォルトの名無しさん2014/08/16(土) 00:33:31.18ID:RxOZrK77
この本買ってみた。分かりやすくてなかなかいい。

Java8ではじめる「ラムダ式」
http://www.amazon.co.jp/dp/4777518418/

O'Reillyにもこういう本あるけど翻訳でるのかなあ?
http://shop.oreilly.com/product/0636920030713.do

177デフォルトの名無しさん2014/08/16(土) 10:41:32.32ID:uEJao/p1
ラムだって本一冊書くほど難しいことあるか?

178デフォルトの名無しさん2014/08/16(土) 19:51:46.69ID:pdj/Wpw5
ない
C#のLINQと大して変わらない

179デフォルトの名無しさん2014/08/23(土) 02:24:00.98ID:giz2gH8K
(;´Д`)ノθヴイィィィン
javaもいいけどさ、Groovyどうよ。
ラムダ風も昔からサポートしてるし、
並列処理GParsも備える。

javaコードからの動的スクリプト対応強化されてるし、もっとgroovyユーザー増えてほしいわ。
なんか日本は食いつき悪いよねこの言語。

180デフォルトの名無しさん2014/08/23(土) 02:41:54.74ID:3qxK8v5g
厳密さがJavaのいいとこなのに
それ取ったらただの使いにくい言語やん

181デフォルトの名無しさん2014/08/23(土) 16:42:17.69ID:67RgqQJA
そうだな
Scalaも完全にオワコン化しているしな

182デフォルトの名無しさん2014/08/23(土) 19:31:51.75ID:ypGwZfbR
だってJavaで同じもの書けるんだもん。

「Javaのライブラリを呼び出せます!」っていかにも利点のように言うけど、
Javaを常に意識しながら、GroovyなりScalaの文法で書け、ってことじゃん。

すでにPythonやRubyの文法を知ってる人がJythonやJRuby使うのはわかるけど…。

183デフォルトの名無しさん2014/08/23(土) 19:56:44.05ID:NjTFO7Nu
そこに颯爽とclojureが

184デフォルトの名無しさん2014/09/11(木) 23:02:07.22ID:3OFSQCDc
つまりJavaにGenericsは不要である

http://pc5.2ch.net/tech/kako/1055/10555/1055519583.html

185デフォルトの名無しさん2014/11/01(土) 12:47:48.17ID:xWhOrI96
floatの二次元配列を作ったけど、1次元目は行の管理用で、floatである必要ないんですが、
これってムダですかね?
でもArrayListだと値の再設定とか面倒だし・・・・

186デフォルトの名無しさん2014/11/02(日) 02:58:33.29ID:Rnn+BjWS
ここって53のためのスレじゃないの?

187デフォルトの名無しさん2014/11/10(月) 21:14:43.63ID:WFh7SgJF
>>185
昔みたいに1バイト減らすのにあれこれする必要もなかろう
どーんといっとけ

188デフォルトの名無しさん2014/11/16(日) 09:30:37.74ID:CWn0dPnD
ムダというか作り方が悪い

189デフォルトの名無しさん2014/11/16(日) 13:00:17.01ID:JHjMVLlI
mapじゃダメなんだろ

あぼーん

191デフォルトの名無しさん2015/07/15(水) 22:15:06.97ID:jtYC3/OV
ラムダってzendの呼び出しっぽいの?

192デフォルトの名無しさん2015/07/15(水) 22:15:54.85ID:jtYC3/OV
>>185
フロートって使う意味あるの?
ダブルじゃダメなん?

193デフォルトの名無しさん2015/12/19(土) 10:23:22.99ID:BwkC8e+4
プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.net/test/read.cgi/news/1450395043/

194デフォルトの名無しさん2016/07/05(火) 11:10:25.61ID:r4+ml8tJ
「Java EE以外の仕事に取り組むように指示が出た(中略)
Java EEチームへの資本投下がすでに終了している(中略)
収益的な意味があるという意見に加え、今後どちらにも転がる可能性がある(中略)
Java EEはエンタープライズ向けシステムなどで使われている」

Oracle、Java EEから手を引く可能性も | マイナビニュース
http://news.mynavi.jp/news/2016/07/04/261/

195デフォルトの名無しさん2016/07/12(火) 09:21:04.68ID:cmjSgBCd
「2016年7月に開催されるJavaOneにおいて詳細を公開する計画でいる。
Oracleが次期Java EEに関してどういった方向性を示すのかは今年の9月に公開」

Java EEは死んでいない、これからも進化する - Oracle | マイナビニュース
http://news.mynavi.jp/news/2016/07/11/145/

196デフォルトの名無しさん2016/07/26(火) 06:52:02.44ID:HN1KCMsQ
F#覚えた方がマシ

197デフォルトの名無しさん2016/09/21(水) 21:13:13.14ID:meh3BzuJ
おいもう9月も終盤だぞ

198J2017/03/26(日) 18:52:28.58ID:ZQ7XFyaE
J

199デフォルトの名無しさん2017/04/08(土) 18:47:44.33ID:2tXL0+qU
「2017年7月には待望のJava SE 9がリリースされるほか、Java EE 8も年内にリリースを予定(中略)
Project Jigsaw、jshellなどの新機能が追加される。一番の目玉はやはりProject Jigsaw(中略)
不要なAPIを含めないことでランタイムの軽量化、セキュリティの向上(中略)
APIは、module-info.javaファイル内にrequires文で指定する。また、
exports文により自作のパッケージをどこまで公開するかを指定(中略)
jlinkコマンドを使えば、必要なAPIのみを含めたカスタムJREを作成することもできる(中略)
Javadocは、HTML5に対応する。また、ついに検索機能が導入される(中略)
複数のバージョンに対応するjarファイルを作成できる(中略)
one plus three backというポリシー(中略)
JDK 9では6、7、8、9までがコンパイル可能」

アプリ開発の新しい潮流に向けて進化するJava SE 9/Java EE 8の概要【デブサミ2017】 (1/2):CodeZine(コードジン)
http://codezine.jp/article/detail/10061
2017/04/07 14:00

200デフォルトの名無しさん2017/04/10(月) 01:33:00.26ID:A6Pl03C/
Java SE 9 の次は Java SE X かね

201デフォルトの名無しさん2017/04/13(木) 09:53:09.45ID:kmYX1ADk
「Jigsawの導入で開発者が気をつけるべきことは?(中略)
ライブラリへのアクセス制限が厳しくなる(中略)
リフレクションを使ってアクセスしようとした時、例外がthrowされる(中略)
最小限のモジュール・システムとして入れることになりました。そうして入れてしまえば、
機能を追加するのは後からできます(中略)
Jigsawにより大規模システムをより作りやすくなる(中略)
既存のクラスパスがほぼ使えなくなるので、初めは
クラスパスとモジュールの併用や使い分けが必要となり、そこでコンフリクトが起きる(中略)
現状はセントラル・リポジトリもない(中略)
モジュール関連の例外がthrowされたとしても、
それをハンドリングするためのオプションが用意されている」

「Java SE 9」がいよいよ7月リリース。櫻庭祐一氏と吉田真也氏に注目ポイント、移行時の留意点を聞いた
- builder by ZDNet Japan
https://builder.japan.zdnet.com/sp_oracle/35099496/?ref=rss
2017-04-12 16:40:00

新着レスの表示
レスを投稿する