2016年11月18日のSpring Day 2016での発表に使用した資料です. 後半のReactive Webに関しては堅田さんに作成&発表頂いたものですが,ご本人の了承を得てまとめてアップしております.Thanks!

OWASP dependency-check を利用して脆弱性のある Java ライブラリに依存していないか確認する 依存しているライブラリに脆弱性がある場合、それを検出できると嬉しい。 OWASP dependency-check の gradle プラグインを入れると、簡単に検出が可能となる。 設定は以下のようであり、非常に容易である。 buildscript { repositories { mavenCentral() } dependencies { classpath('org.owasp:dependency-check-gradle:3.2.1') } } apply plugin: 'org.owasp.dependencycheck' check.dependsOn dependencyCheckAnalyze // https://jeremylong.github.
発表スライドが映らなくてめっちゃ焦りました。スタッフの人がとても親切で何種類かの変換コネクタを用意してくれたりと、とても親切で助かりました。 お陰様で満席で立ち見も出て、見に来てくださった方々ありがとうございます。 私はオタクなのでとても早口になってしまい、またマイクも上手く使えずに反省点が多かったなと思います。(資料の枚数が少ないと、ゆったり喋るんですがあのペースで話さないと間に合わなかったorz) 何事に置いてもそうなのですが、対象となる組織、文化、背景、状況が異なれば大事にするべき観点は異なります。制度や仕組み、プログラムやパラメータなど、そのまま持っていくのでは無く、エッセンスを抽出して咀嚼してから必要な養分を取り込むという事が大事です 質問に関する補足ですその前に、 スライドに社名をいくつか出していますが、宣伝目的ではなくて、一般的な広告システムと違って組み合わせ最適化のフェーズ
どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E
This section describes how to adapt Garbage-First garbage collector (G1 GC) behavior in case it does not meet your requirements. The general recommendation is to use G1 with its default settings, eventually giving it a different pause-time goal and setting a maximum Java heap size by using -Xmx if desired. G1 defaults have been balanced differently than either of the other collectors. G1's goals i
この記事は Java Advent Calendar 2015 の一日目の記事です。二年連続でトップバッターだ! 先日の JJUG CCC 2015 Fall で G1 GC について話してきました。 去年の CMS GC と同じく結構遅めの時間帯&裏番組に伝説の灰色ページ管理人・ひしだま伝道師が発表するなどの豪華な時間帯にも関わらず、165人規模の部屋がいっぱいに埋まるぐらいの盛況でした。聴講頂いた皆様ありがとうございました! スライドは以下に公開しました。G1 GC の挙動から GC ログの読み方、どういうケースが厄介なのかを紹介しているので是非ご覧ください! Garbage First Garbage Collection (G1 GC) #jjug_ccc #ccc_cd6 from Yuji Kubota アフターフォロー、またはちょっとした補足 極力、後から参照可能なように資料
Apache KafkaのClient APIを使った、いわゆる「Hello World」的なことを試してみよう…と思ったのですが、 ドキュメントを見てもそれほど書いてありません。 Documentation / APIS Maven Dependencyと <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.2.0</version> </dependency> Configurationといったところが主な内容ですが。 Documentation / Configuration / Producer Configs Documentation / Configuration / Consumer Configs あとは、リポジトリ上に含
By LINE Engineering | 2017.05.23 2021.01.08LINE Engineering Blog official account LINE株式会社ではエンジニアのため、様々な活動を支援しております。 【協賛情報】JJUG CCC 2017 SPRING : LINE Engineering Blog でもお知らせしておりましたが、LINE は寿司スポンサーとして協賛いたしました。また、LINE Fukuokaで働くエンジニアが登壇いたしましたのでその様子も合わせてご紹介いたします。 JJUG CCC とは 毎年2回、春と秋に開催する日本最大のJavaコミュニティイベントです。Java関連の技術や事例に関する良質なセッションが行われ、また異なる分野で活躍するJava技術者が一堂に会する場ともなっています。 ▼公式サイト JJUG CCC 2017 Sprin
あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyやPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー
Java で POJO などを JSON にシリアライズ、もしくは JSON からデシリアライズする場合は Jackson を使うのがもはや golden standard となっている今日この頃ですが、みなさまいかような Java JSON ライフをお過ごしでしょうか? 今回はそんな Jackson を速度性能的により効率的に扱う必要があり、その際に以下のサイトをだいぶ参考にさせていただいたので、今後のためにもその内容をざっくりとメモしておきます。 Presentation: Jackson Performance Jackson Best Practices: Performance 基本 1. 生成処理などが重たいオブジェクトは再利用しよう データバインディングで利用する ObjectMapper や、ストリーミング処理で利用する JsonFactory は、特に再利用をするべきオブ
10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな
DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String
いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし
日曜に、「夏休みバイナリ入門 2012 第1日目」に参加してきました。 色々と初心者丸出しな質問をしましたが、詳しい方が丁寧に教えてくださったおかげで、疑問を解決しながら進むことができました。ありがとうございます。 備忘のために、学習したことをメモします。 やったこと Javaで「hello」とコンソール出力するHello.javaを書く。 コンパイルする。(javac Hello.java) 実行して、正しく動くことを確かめる。(java Hello) javapをかける。(javap -v Hello.class) バイナリエディタでHello.classを開いて、出力を読む。 Javaのバイトコードを読むための『Java仮想マシン仕様』の参照方法を学習しました。 また、スタッフの方がJavaScriptで実装されたスタックマシンのデモを見せてもらったり、加算と乗算が混じった計算がどの
Spring Boot とは Spring プロジェクトが提供する様々なライブラリやフレームワークを、手っ取り早く使えるようにしたフレームワーク。 Dropwizard の Spring 版みたいなの。 ビルドすると単独の jar ファイルができあがる。 Web アプリの場合は、組み込みの Tomcat が起動する(Jetty や Undertow に切り替え可)。 Web アプリでなく、普通の Java プログラムとしても動かせる。 Maven や Gradle などのビルドツールを利用する(Ant でもできなくはない)。 使用したいコンポーネントを依存関係に追加するだけで、結合に必要な設定などが自動で行われる。 環境 Java 1.8.0_45 Gradle 2.3 Spring Boot 1.2.3 Hello World 実装 buildscript { repositories
Spring Boot 1.3がリリースされました Spring Boot 1.3.0 のリリースが遅れてますね。ただissueは残り2件となっていて、今はSpring Framework 4.2.3の正式リリースを待っているようです。ということで、今週中にもリリースされるのではないでしょうか。 2015/11/16追記:正式リリースされたようです。 前回時点からWikiが更新されたので、和訳も更新してみました。 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.3-Release-Notes Spring Boot 1.2 からのアップグレード 1.2で非推奨となったクラス・メソッド・プロパティの削除 JacksonのObjectMapperに関する変更、Jackson2ObjectMapperBuilde
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く