API Design Tips And Tricks - Getting, creating, updating or deleting multiple resources in one API call By Arnaud Lauret, April 22, 2017 Getting, creating, updating or deleting multiple resources in a single API call is a common need in REST APIs. But how to achieve that in a consistent way accomodating how we work with a single resource and REST principles? This is what we’ll see in this post. Wo
Seamless Java in JavaScript applications that tightly optimizes with Closure Compiler J2CL is a powerful, simple and lightweight transpiler from Java to Closure style JavaScript. Get the best out of Java and JavaScript. You no longer need to choose between the two or lock into a specific framework or a language. Choose the right language at the right place and hire the best talent for the job. Get
SLF4J & Logback JavaのLoggerといえばlog4jで十分なのでlog4jを使ってる場合も多いと思います。 ログの出力性能は最終的にはディスクの速度で決まり、ログ出力の要件は案件が変わってもそれほど変化することもないのでlog4jの定義ファイルもコピペして再利用すればいいですし、新たなLoggerを使うのは手間でしかありません。 今回紹介するSLF4J & Logbackは既存のソースコードに手を入れること無く、しかも他のLoggingライブラリのログ出力も統合できます。 SLF4J SLF4Jはロギング実装を持たず、出力先毎のライブラリを入れ替えることで色々なLoggingライブラリに対応しているFacadeです。 SLF4Jには標準でplaceholderを使えるAPIもあるのでlog4jなどでよく書いてたlog出力前に不要な文字列結合を避けるためのif文は必要なく
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事でできるようになること SpringBootでCRUD操作可能なREST APIを開発(20分) Vue.js+ElementUIでモダンなSPA開発(20分) Firebaseで認証機能の作成(10分) Webアプリをつくってみて全体像のイメージをつかもう この記事は、Web開発初心者向けに書かれています。誰でも簡単に、1から本格的なWebアプリを開発できるようになることが本記事の目的です。 Webアプリというと、フロントエンド、サーバサイド、DBやネットワークなど、本格的に運用するには様々な知識が必要になりますが、まずは手を
ソート対象 昔ながらの読みにくいソート Lambda を利用した冗長なソート Java8 Stream における正しいソート thenComparing による複合キーのソート ソート条件の指定 null コンパレータ Comparable Map のソート まとめ ソートキーの指定 ソート条件の指定 ソート条件 Map のソート ソート対象 以下のような id と name プロパティを持った Item を考えます。 public class Item { private Integer id; private String name; public Item(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public String ge
こんにちは、awatakiです。 今までの私のエントリーと言ったらPEPPERに関する活動報告のみでしたが、今回は僕が昨今のJavaに関して考えていることを述べようかと思います。 #はじめに 私としてはJavaはもう10年弱付き合ってきた言語なのですが、昨今のJavaは何やら雲行きが怪しい。そう感じざるを得ません。 さて、今回このような話をしようと思った理由としましては、ご存知の通りOracleJDKがJava11にアップデートする際に有償化するという話を受けてです。 このOracleJDKを有償化する話に際してとある記事を見かけまして、JDKとOracleJDKとJVM言語についての認識に混同があり、意外とそのあたりの関係に理解がされていないのかなと思い今回、記事を書いてみようかと思います。 #JDKについて まず、最初にJDKとは何かというとJavaのSDK実装です。Javaの共通仕様
ハンズオン用のメモです 開発環境はIntellij、ビルドツールはgradleです 今回のゴール プロジェクトを新規作成する SpringBootでHello build.gradleを編集する buildscriptを追加する pluginにspringを追加する dependenciesにspringを追加する build.gradle全体 Applicationにmain関数を書く ControllerにhelloのAPIを作成する アプリケーションを実行してみる intellijのgradleから実行する Applicationクラスから実行する ターミナルから実行する 動作確認 h2 + mybatis build.gradleにh2とmybatisを追加する application.ymlにh2の設定を書く DBのセットアップ処理を書く schema.sql data.sql
最近メモリを大量に使うJavaのプロセスに関する仕事があり、GCの知識が必要になったので調べたことをまとめておきます。調べたら色々出てくる時代ですが考えを整理するために書きました。間違った認識をしている可能性はあるのでそこはご指摘いただけると幸いです。 注: この記事は最新のGC事情を整理するものではなく、古典的?な手法について書いてます。 JVM まずはざっくりJavaの基本的な仕組みから。 JavaのプロセスはJVMと呼ばれる仮想マシンの上で動作します。この仕組みは様々なOSで動作し、環境の差異を気にする事なくコンパイルされたJavaのコード(クラスファイル)を様々な環境で実行可能にしてくれます。 JVMにはいくつ種類がありますが、本記事はOpen JDKで用いられるHotSpot VMの場合を想定しています。(他のJVMとの違いはわからない) ヒープ領域 Javaのプロセスを開始する
2019-03-10 Tags: java flyway jOOQ TL;DR jOOQで自動生成したO/Rマッピング用のJavaソースコードは、git管理してはいけない。 .gitignoreの対象にしておきましょう。 さもないとチーム開発のときにコンフリクトが起きやすくなり、DBの変更(テーブルやカラムの追加、変更、etc)に強いというjOOQのメリットを生かせなくなります。 ローカル開発環境のセットアップ、つまりDocker, gradle-jooq-plugin, flyway-gradle-pluginをきちんと使えば上記はラクに実現可能 ついでにDDD(ドメイン駆動設計)的な意味では、jOOQで自動生成したエンティティクラスをそのままドメインクラスとして使うのは悪手。面倒でも自作したドメインクラスに値を詰め替えましょう。 サンプルコードはこちら なお、jOOQの読み方は「ジュー
Docker 環境上で Java のアプリを起動するのは遅いと思っていらっしゃる方は必見!! どうぞ下記の内容をご参照いただき、どうぞお試しください!! 先日、Red Hat から Quarkus (https://quarkus.io) という新しい技術が発表されました。こちらを実際に試して見ましたが、想定通りというか、まさにこれを待っていた!!という技術でした。今後、私の中で注目の技術の一つになりそうです。もし、Docker/k8s 上で Java アプリを動かす方は、こちらの方法をご覧いただき、ぜひ試しください。 Quarkus を簡単にご説明すると、Java のソースコードを GraalVM を利用して Linux の Native バイナリを作成し、その Linux バイナリをコンテナ上で起動することにより、今まで Java アプリの課題であった起動時間を大幅に短縮することができ
The JVM can be a complex beast. Thankfully, much of that complexity is under the hood, and we as application developers and deployers often don't have to worry about it too much. With the rise of container-based deployment strategies, one area of complexity that needs some attention is the JVM's memory footprint. Two kinds of memory The JVM divides its memory into two main categories: heap memory
Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。Red Hatがリリース Red HatはQuarkusの目的を、Kubernetesやサーバレス環境においてJavaを先進的なプラットフォームにすることだと説明しています。下記はQuarkusを発表したブログの記事から引用。 The goal of Quarkus is to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to optimally address a wider range of d
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く