Past & Future of null in Java JJUG CCC 2015 Spring #CCC_CD1
ST-JS is a Java-to-JavaScript transpiler that outputs readable, recognizable code. It lets you write code that uses the JavaScript and DOM APIs using Java's syntax and tooling. ST-JS helps you manage the complexity of large dynamic single-page web applications by combining the strong, static typing of Java, with the wealth of existing libraries of JavaScript. Example source code (Java) StockData s
Error Prone It’s common for even the best programmers to make simple mistakes. And sometimes a refactoring which seems safe can leave behind code which will never do what’s intended. We’re used to getting help from the compiler, but it doesn’t do much beyond static type checking. Using Error Prone to augment the compiler’s type analysis, you can catch more mistakes before they cost you time, or en
弊社ではテストのエビデンスとして、JUnitの結果とコードのカバレッジを提出するルールにしておりますが、開発者それぞれの環境でallTestをするようなこともあります。その時に環境によっては、マシンのスペックが悪くallTestにけっこう時間が掛かってしまうこと、またその影響でマシンの負荷が高くなり、他の作業を並行してやれず仕事にならないようなことがありました(注1)。その対応としてJenkinsにブランチのallTestが流せるジョブを作って対応しました。 あと、Jenkinsのバージョンはこまめに更新した方が良いなと実感しました。バージョンアップする前はビルド、AllTest、ページビューなどが結構遅くて、周りの人からも遅いという声があがっていました。改善として、サーバのスペックをすぐに上げることは無理そうだったので、jvmのチューニングをしたりしましたがさほど効果はなく、Jenkin
Javaのgetter/setterのお話。 僕は当時を語るには若すぎるのだけど、過去を振り返って書いてみる。当時を知る人は誤りがあれば指摘してほしいし、情報があればコメントなりトラックバックなりして欲しい。前世紀の話というのは今となっては探すことがなかなか難しくなりつつある。 「privateな変数にpublicなアクセサを定義する」? - ネットの海の片隅で getter/setterとは何か Javaのオブジェクトにフィールドがあったとして、そのフィールドに値を設定するメソッドがsetter(せったー)、そのフィールドの値を取得するメソッドがgetter(げったー)と呼ばれる。慣習としてsetterはsetXXX(int value)といった様にsetから始まる名前をつけ、引数はひとつ。戻り値はvoid型。getterはgetXXX()といった様にgetから始まる名前をつけ、引数はな
JJUG CCC 2014 Spring の発表資料です。
日本Javaユーザーグループは2014年5月18日、「JJUG Cross Community Conference 2014 Spring」を開催した。「JJUG Cross Community Conference」(以下、JJUG CCC)は毎年春と秋に開催されるカンファレンス。初心者向けからエキスパート向けまで、Java/JVMに少しでも関連すればいいという広いテーマでさまざまな講演が行われている。 今年は4トラック同時進行、合計25ものセッション、ハンズオンセミナーという規模で大いににぎわった。 そして最新仕様であるJava EE 7に準拠しているのは2014年5月現在「GlassFish」「WildFly」のみで、主流は多種多様なアプリケーションサーバーが対応しているJava EE 6とのことだ(楽天はGlassFishを活用していることでも有名)。 エンタープライズ分野でJa
デブサミやJava Day Tokyoなど、会社の許可をもらってイベントにありがたく行かせてもらっているけど、ちゃんとレポートできていなかったということで、社内勉強会で話すことにしました。 まとめ資料を作ったので、このブログにて先行して公開してしまいます*1。少し前のエントリで資料をアップロードしたのはこのための準備でした。 資料の位置づけ 古いJavaの知識で止まっている人(自分含め)やこれから本格的にJavaを学ぼうと思っている人に、最近のJava関連の新機能などをざっくりつかんでもらうための資料です。内容の深さ・広さは、聴く人のJavaスキルに合わせた一応合わせたつもりです。 Java SE 8がリリースされて、その界隈では「for文禁止」などと言われる一方で、会社の新人研修で教えるJavaでは、「ループはforやwhileを使って書きます」みたいに教えるわけで、その辺のギャップを埋
potatotips #7 at DeNA を開催しました! 今回も面白い話が多く大変勉強になりました。 さて!私はここ二週間ほど開発していたAndroid Power Assertについて発表しました。 https://speakerdeck.com/gfx/jun-hapower-assertwozhi-tuteiruka-number-potatotips https://github.com/gfx/android-power-assert-plugin まだ出力がイマイチな部分はありますが、とりあえず仕事上の自分のプロジェクトで使い始めました。実際、assertが信頼できるというのはかなり安心感があります。これはもっと使えるように、これからも改善していきたいですね。
Java 8がリリースされたので早速インストールしたが、まだJava 7も残しておきたいし、切り替えることもあるので調べてみた。 Macでは、 /usr/libexec/java_home を使ってJAVA_HOMEを変えるのが一番スマートっぽい。 インストールされているJDKのバージョン一覧を出す % /usr/libexec/java_home -V Matching Java Virtual Machines (2): 1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home 1.7.0_45, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
IntelliJ IDEAの次期バージョン、13.1ではChronon Debugger をプラグインでサポートしいます。既にEAPよりお試し頂けます。ご存じでない方のために説明しますと、Chronon はJavaプログラムの動作状況を記録して、後から解析することができる革新的ツールです。複雑なバグを追跡するのにとても有効です。 Chrononは商用ツールで、通常はライセンスを購入する必要がありいますが、なんとIntelliJ IDEA 13.1 Ultimateをお使いの方は完全に無料でご利用いただけます。 プラグインのインストール Chrononを有効にするにはまずSettings → Plugins → Install JetBrains pluginよりChrononを選択肢、インストールしてください。 Chronon Include/Excludeパターン Chrononはcod
昨日、出版元の丸善出版から届いていました。今週末ぐらいから書店の店頭に並び始めるのではないかと思います。Amazon.co.jpでも、来週から購入できるようになるかと思います。
Improve your Java builds with Buck 31 October 2013 Shawn Pearce Maintainer, Gerrit Code Review Build Languages Suck My Application package org.eclipsecon.europe2013; import com.google.common.base.Joiner; public class Printy { public static void main(String[] argv) { System.out.println(Joiner.on(' ').join(argv)); } } Prints command line arguments. Uses Guava (an external library) to join strings. S
この記事は、TDD Advent Calendar 2013 の第23日目(の一日遅れ)です。 昨年のアドベントカレンダー以来、記事を書いていないという事実に、本人も驚きです。 あなたはJavaでTDDしてる人ですね そうじゃなくても構いませんが、一応、そういう人が対象です。 または、Javaでテスト気軽に書きたいけど面倒で〜、という方も対象です。 あるいは、Javaでテストとかただの二重苦だろw、という方も対象です。 偉大なJUnit、しかし苦行 Javaでテストと言えば、プログラマに開発者テスト文化やTDDを根付かせた偉大なツール、JUnitがあります。 JUnitの最大の利点は、Javaプログラマがその知識のままテストを書けることですが、それと同時に、Java自体の表現力の弱さも100%享受してしまうのであります。脱初心者後に、JUnitで沢山のテストを書き続けるというのは、ちょっと
Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不本意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気に食わなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも
昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基本的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基本的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く