Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
JJUG CCC 2015 Fall 2015-11-28T15:00-15:50 の発表資料です。 話せなかった分は切りましたが、言いたいことは言い切っています。Read less
渡辺です。 DevelopersIOでの100本目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterやGitHubでフィードバックを! JUnit Lambd
S-JIS[2008-07-07/2024-03-23] 変更履歴 Java新機能(Javaの変更点) Javaのバージョンによる変更点。 JDK1.4 [/2013-12-20] JDK1.5 [/2019-12-08] JDK1.6 [/2017-06-10] JDK1.7 [/2017-09-30] JDK1.8 [/2022-10-22] JDK9 [/2021-03-21] JDK10 [/2018-06-02] JDK11 [2018-10-01] JDK12 [/2020-09-29] JDK13 [2019-09-22] JDK14 [/2021-03-16] JDK15 [/2020-11-08] JDK16 [2021-03-21] JDK17 [2021-09-19] JDK18 [2022-03-23] JDK19 [2023-09-23] JDK20 [2023-
Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015 サンフランシスコで「JavaOne 2015」が開幕。基調講演の後半では、2018年かそれ以降になると見られるJava 10やJava 11に向けて開発中のプロジェクトが紹介されています。 最新のハードウェアに最適化されたデータ構造の実現により、実行速度の向上などが見込まれる「Project Valhalla」と「Project Panama」です。 基盤となるハードウェアやOSに適合していく Java Platform Group Java LanguageアーキテクトBrian Goetz氏。 Java 9の先、Java 10、11を見ていこう。 JavaVMにとってハードウェアの進化は重大なことだ。JavaVMはその基盤となるハードウェアやOSに適合
検索しているとなにかとNetflixのgithubリポジトリがヒットするので、全部(2015/07/18現在分)調査してみた。 github APIで https://github.com/Netflix のリストを全部取得して、名前・概要・URL・最終更新日時 (なんの更新だ?) を抽出。 AWS用のプロダクトが多かったのでまずそれらと、その他という分類にした。その他はほとんどがJavaライブラリ・システムだが、一部WebアプリケーションやPythonライブラリがある。 日本語での説明はReadmeやWikiを見て書いているが、理解が正しくないかもしれない。 AWS用 aws-autoscaling Tools and Documentation about using Auto Scaling URL: https://github.com/Netflix/aws-autoscalin
エンタープライズJava開発に従事している方であれば、一度はStruts 1を扱ったことがあるでしょう。Struts 1はJavaのWebアプリケーションフレームワークとして2001年ごろに誕生しました。 MVCモデルに基づいたアーキテクチャと高い生産性から、数年後にはデファクトスタンダードとなるほどの人気を獲得。当時、多くの企業がこぞってStruts 1を使った企業システムを構築しました。筆者自身が業界に入ったのは2004年のこと。最初に参加したプロジェクトがStruts 1を使った企業システムの構築だったことをよく覚えています。 当時に作られたシステムの多くは、今でも現役で稼働しています。最近でもStruts 1ベースの企業システムを改修する話はよく聞きます。しかし、2013年にサポート終了を迎えたため、今後Struts 1を使い続けることは大きなリスクになりました(参考)。つまり、新
Javaでのプログラムでは、Optionalが入ったとはいえ、nullとのつきあいは依然として重要です。 そんな中で、nullが入ってると困る処理を書くときには、nullチェックを行うほうが安全です。 そのとき、どのようにnullチェックを行うかというのが問題になります。 Java7からは、Objects.requiredNonNullというメソッドが導入されたので、このメソッドを使って、以降の処理でnullじゃないことを保証するということができます。 けど、このrequiredNonNullが遅いんじゃないかという話があるので、どう遅いのか調べてみました。 requireNonNullと同様に、値がnullだったらNullPointerExceptionを吐いて、null以外だったら素通りするという書き方のひとつに、getClassメソッドを呼び出すというものがあるので、これと比べてみま
データ構造など技術的な背景をちゃんと知っていれば、データ操作に関する正しい英語を使えるねーて話です。用語のイメージもつかめるようにしていますので、shift / unshift とかイメージできない方もどうぞ。 1. push / pop = スタック push pop は、スタックの用語で、それぞれ pop はスタックから取り出す、push は挿入する事を意味します。JavaScript や Ruby の Array には、スタックとしてのコンセプトもあるので、push / popという用語が使われます。 対して、Javaの ArrayList (インターフェースは Collection) は、単なる集合を表すインターフェースなので、抽象化のために add / remove というネーミングが使われます。そういえば、Javaには、Stackというクラスも別途用意されていますね。Stack
10万件のUPDATEをマルチスレッドで分割した場合、実行時間にどのような影響があるか。実際にやってみる。 環境 DB CentOS-6.5-x86_64 Oracle Database 11g Release 2(11.2.0.1.0) Enterprise Edition Java Java SE Development Kit 8u31 Eclipse Luna(4.4.1) IDE for Java EE Developers ツール A5:SQL Mk-2 Version 2.10.1 (x64 edition) rlogin Version 2.16.6 準備 下記のテーブルに10万件追加し、このテーブルに対してUPDATEを1件ずつかけていく。実行時間の計測開始前にテーブルのDROP&CREATE&10万件INSERT&バッファキャッシュクリア、を行う。 DROP TABLE
第10回 Jenkins勉強会の資料です。 https://www.meetup.com/ja-JP/Tokyo-Jenkins-Area-Meetup/ Jenkinsの最新機能を知りたい → Jenkins Community blog https://jenkins.io/node/ Pluginを探したい → Plugins Index Renewal !! https://plugins.jenkins.io/ Jenkinsfileで使えるstepを探す → Pipeline Step References https://jenkins.io/doc/pipeline/steps/ バグを踏んだ? → Jenkins Issue Tracker https://issues.jenkins-ci.org/projects/JENKINS/issues/JENKINS-4492
LMAXという会社はおそらくFX業者で、筆者はLMAXの開発者の講演を、InfoQの動画で何度か見たことがあった。 彼らは非常に特異な集団で、さしずめ「Javaのスピード狂」という感じだ。 印象的なのは、シングルスレッドで仕事を片付けることを強調している点だ。 「Javaならマルチスレッドで並列処理すれば性能が出ると広く思われているが、我々の仕事においてはシングルスレッドが最速だ」というような主張を何度も見た。 ゴールドマンサックスといいLMAXといい、やはり多額の金が動く会社でガチでJavaをやっている連中はカリカリにチューニングするため、技術的には非常に面白い。 彼らがコアのライブラリをOSS化してくれるというのは、金融業界を否定的な目で見る筆者からすると複雑だが、悔しいことに参考になる。 LMAX DisruptorはJavaのライブラリだ。Producer/Consumerパターン
http://www.jamesward.com/2014/12/03/java-doesnt-suck-youre-just-using-it-wrong 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Salesforce.comのJames Wardが、エンタープライズ向けのJava webアプリに長く携わってきた経験からまとめた、「Javaが悪いんじゃなくて、使い方が間違ってる。」というブログのエントリー。 開発環境のセットアップのWikiが10ページもある JDKインストール、SCMレポをクローン/チェックアウト、ビルドを実行/アプリ起動の3ステップであるべき。 一貫してないデプロイ環境 ビルドを、開発 -> ステージング -> 本番と進めるにあたりリスクを最小化するために、各環境で変わるの
Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP
Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemやRuby本体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht
今年の3月にJava 8が正式公開され、次のJava 9はおそらく2年後の2016年に登場すると予想されますが、そのJava 9に搭載される予定の新機能がオラクルから発表されたとInfoQの記事「Oracle Announces First Java 9 Features」が報じています。 InfoQが報じたJava 9の新機能は、JDK Enhancement Proposals(JEP)のインデックスページの中からバージョン9の予定になっているものとしても見つけられるようです。主なものをリストアップしました。 HTTP 2 Client HttpURLConnectionを置き換える予定で、HTTP 2.0とWebSocket対応 Light-Weight JSON API RFC7159に準拠したJSONデータの生成と読み込みを行うライトウェイトAPIを提供する Process AP
全国50万のJUnit4ユーザーさん。使っている言語とテスティングフレームワークののMLとGithubやBitBucketリポジトリを監視していると思うので今さらかもしれませんが、2014/7/30にJUnit4.12 Beta-1がリリースされました。 結構楽しい機能が追加されているので、見逃している方のために情報を共有させていただければと思います。 基本的にリリースから抜粋しながら紹介ですがご容赦ください。 Release Notes junit/ReleaseNotes4.12.md at master · junit-team/junit · GitHub 全体の感想 JUnit4がおれの足元にやっと追いついたと思った。(今までJUnitとSpockを魔改造しまくってた。) テストランナー系 クラス階層化 JUnit魔改造コミュニティに朗報です。私たちのテストランナーでよしなにやっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く