What is it? Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs. Come for more self-documenting log statements: logger.atInfo().withCause(exception).log("Log message with: %s", argument); Benefits While some users prefer “fluency” as a style, this is not what the argument for Flogger rests on. Flogger offers these key,
TL;DR jOOQで自動生成したO/Rマッピング用のJavaソースコードは、git管理してはいけない。 .gitignoreの対象にしておきましょう。 さもないとチーム開発のときにコンフリクトが起きやすくなり、DBの変更(テーブルやカラムの追加、変更、etc)に強いというjOOQのメリットを生かせなくなります。 ローカル開発環境のセットアップ、つまりDocker, gradle-jooq-plugin, flyway-gradle-pluginをきちんと使えば上記はラクに実現可能 ついでにDDD(ドメイン駆動設計)的な意味では、jOOQで自動生成したエンティティクラスをそのままドメインクラスとして使うのは悪手。面倒でも自作したドメインクラスに値を詰め替えましょう。 サンプルコードはこちら なお、jOOQの読み方は「ジューク」です。 Detail 2018年12月のJJUG-CCC(日本J
JibでJavaアプリを手軽にDockerコンテナ化してみる〜gradleでビルド、ローカルリポジトリに登録JavagradleDockercontainerJib 概要 このエントリでは、Googleが公開しているJibを利用して、Javaアプリケーションを簡単にDockerコンテナ化する手順について試してみます。 確認している内容は、JibのGradleプラグインサイトにあるものとほぼ同等ですが、下記2点が異なります。 jibDockerBuildの方を先に試しています(プライベートリポジトリを試すのを後述としたため)。 Dockerコンテナの格納先として、{GCR, ACE, Docker Hub Registry}でなく、プライベートリポジトリを使用した例となります。 前提 ミドルウェア、ライブラリは、以下を利用しています。 - OS: macOS 10.13.2 - JDK: 1
Javaアプリケーションを自動的にDockerイメージにビルドしてくれる「Jib」、Googleがオープンソースで公開 Googleは、Javaアプリケーションを自動的にDockerコンテナ化するツール「Jib」をオープンソースで公開しました。 JavaのビルドツールであるMavenもしくはGradleのプラグインとしてJibをインストールすることで、Docker環境の構築やDockerfileなどを記述することなく、ビルドプロセスのなかで構成を読み取り、Dockerコンテナのイメージを生成、Dockerコンテナのレジストリへの登録まで自動的に行ってくれます。 これまでJavaアプリケーションをDockerコンテナ化するには、JavaアプリケーションをビルドしたうえでDocker環境を用意してDockerfileを記述し、そこでDockerイメージを生成するといった手順が必要でした。 Ji
build docker container spring boot gradle ci travis February 8, 2018 The use of Docker has become widespread among companies big and small for a variety scenarios. Executing Docker from the command line for simple tasks is easy and becomes routine as soon as you get a hang of it. Having to enter Docker commands for a whole workflow can become tedious. It seems obvious that you might want to integr
Jacocoの0.8.0が2018年1月2日にリリースされ、待ち焦がれていたLombokで生成されたメソッドを除外する機能がはいりました。 JaCoCo - Change History Methods annotated with @lombok.Generated to better integrate with Lombok >= 1.16.14. Initial analysis and contribution by Rüdiger zu Dohna (GitHub #513). なお、他にも様々なフィルタが実装(または実装予定)されています。 FilteringOptions・jacoco / jacoco Wiki こういった機能を使うことによって、必要な範囲に絞ったカバレッジが把握しやすくなると思います。 除外方法 Jacoco側では、@lombok.Generatedが付
前回はSpringSecurityでユーザー認証機能をつくるための、 SecurityConfig.javaクラスの設定方法についてまとめました! 今回はログイン画面とそれをつくるために使ったthymeleafの便利だと思った使い方をまとめます! ログイン画面の作成 <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>ログイン画面サンプル</title> <link href='/css/src/signin.css' rel='stylesheet' /> <script src='/js/src/signin.js'></script> </head> <
Spring Framework Advent Calendar の 7 日目です。今日はふたたび Spring Security の話です。小出しにしているような感もありますが、気にせずいきましょう。 以前 Spring Security でアカウントロック機構を実現する - 倖せの迷う森 にて、Spring Security では認証の成功や失敗に対応するイベントハンドラがあり、それらのイベントに対応する Listener を書いて Bean 登録しておけば自動的にそれが呼び出される、という話をしました。 さて、あなたが現在作成中の Web システムにこのような認証に関する要件が与えられたとします。 認証はIDとパスワードで行う パスワードには有効期限がある 有効期限を過ぎたパスワードでログインした場合、パスワード強制変更画面に飛ばす 以前紹介した ApplicationListene
アカウントロック機構は、パスワード認証をともなうWebアプリケーションの開発ではしばしばセキュリティ要件として盛り込まれることがあります。また、Webサービスのユーザーとしても馴染みのある機能のひとつでしょう。今日は、この機能を Spring Security の認証の枠組みの中で実現する方法について紹介します。なお、本記事は Spring Security 3.0.4 をベースに書かれています。 いきなりですが、 Spring Security では、アカウントロック機構は提供されていません。アカウントをロックするのは認証サービスが行うべきことであり、認証サービスとアプリケーションをつなぐためのフレームワークである Spring Security には、そのような義務はありません。また、アカウントロックの実現方式についても、認証サービスに強く依存します。ですので、アプリケーションへの要求
JJUG CCC 2017 Fall に行ってきました! 今回は自分好みな「普段使ってるアレ、深掘りするとこうなってるんだぜ」的なセッションをいろいろ聞けて大満足でした。 印象に残っているのが「DBのTCPプロトコルとJDBC / yohei yamana さん」。 「かっちりした PostgreSQL とやんちゃな MySQL という感じがする」という話があって、自分が普段使ってる印象がそのまま JDBC にも現れているんだなーと思いました。なかなかこういうものは深掘りできないので、面白い!と思ったところをポイント抑えて紹介してもらえたのは嬉しかったです。 あと、今回のメインセッションで唯一の難易度 ★★★ だった「CPUから見たG1GC / 数村憲治さん」。 難しすぎて理解できていない*1ですが、なんでこうなるの!?という不可思議現象に迫るというお話は聞いていてワクワクしました。これを
Agenda インテグレーションマイクロサービス Apache Camel とは インテグレーションマイクロサービスの作り方 hawtio によるモニタリング Agenda インテグレーションマイクロサービス Apache Camel とは インテグレーションマイクロサービスの作り方 hawtio によるモニタリング 賢いエンドポイントと単純なパイプ Smart endpoints and dumb pipes “The microservice community favours an alternative approach: smart endpoints and dumb pipes. Applications built from microservices aim to be as decoupled and as cohesive as possible – they own
These are the notes for a talk I gave at JokerConf 2017, which is why they’re written as if we were talking and going through some slides together. One of the reasons that I’m a programming language researcher is that almost everyone I meet in the the wider computer technology community uses programming languages and many of them are interested in how they work. When I was first introduced to prog
Maven2を使って新規にプロジェクトを作るとき、毎回pom.xmlの設定やディレクトリの配置をするのは面倒です。 (Maven2を使い込めば使い込むほどpom.xmlファイルが肥大化してきます。) そこでmaven-archetypeというパッケージングを使って、プロジェクトの雛形を作ることができます。 archetypeとはMaven2プロジェクトの雛形のことをarchetypeといいます。 $ mvn archetype:generate とすると、デフォルトで利用できる41個のarchetypeのリストから選択してプロジェクトを生成することができます。 Maven2の使い方では、コマンドライン引数で指定することによってmaven-archetype-webappというarchetypeを使って簡単なプロジェクトを作成しました。 このarchetypeというプロジェクトの雛形に良く使
Java の世界では maven archetype を作成して、それを使って行うのが基本となっている。 なんだかめんどくさそうなので LL で生成していたのだが、やはりその LL のスクリプトをインストールさせる方法が特になく、辛い。 ということで諦めて maven archetype の作成方法を学ぶことにしたわけであります。 maven archetype の作成方法は公式サイトのこのあたりにのっています。 http://maven.apache.org/guides/introduction/introduction-to-archetypes.html archetype は velocity を用いて生成されます。 チュートリアルがここにあるので、これを順番にやっていけばそれなりのことはできる。 http://maven.apache.org/guides/mini/guide
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く