このセクションでは、Spring Boot を使用するときによく発生するいくつかの一般的な「それを行う方法」の質問に対する回答を提供します。その範囲は網羅的ではありませんが、非常に多くの部分をカバーしています。 ここで取り上げていない特定の問題がある場合は、stackoverflow.com (英語) をチェックして、誰かがすでに回答を提供しているかどうかを確認することをお勧めします。これは、新しい質問をするのにも最適な場所です(spring-boot タグを使用してください)。
git pull して、リモートブランチの最新に合わせようとしたら・・、あれ?コンフリクト・・?なにこれ、うまくいかない!「git push -f origin masterして強制Pushはできたのに。git pull -f origin master的な強制コマンドはないの?!」 とにかくリモートに合わせたい。そんなあなたのための、解決方法と解説です。 「git pull --force」は存在しない・・。 「git push --force」というコマンドがあるので、そこから連想してしまいますが、「git pull --force」というオプションは存在しません。 git pull の強制的に実行するには、別のコマンドが必要になりますので、見ていきましょう。 git pull で、ローカルを強制上書きする方法 ローカルのmasterを、強制的にリモートのmasterに合わせる //
java -jar を使用して Spring Boot アプリケーションを実行することに加えて、Unix システム用の完全に実行可能なアプリケーションを作成することもできます。完全に実行可能な jar は、他の実行可能なバイナリと同様に実行することも、init.d または systemd に登録することもできます。これにより、一般的な運用環境での Spring Boot アプリケーションのインストールと管理が非常に簡単になります。 完全に実行可能な jar は、ファイルの先頭に追加のスクリプトを埋め込むことで機能します。現在、一部のツールはこの形式を受け入れないため、常にこの手法を使用できるとは限りません。例: jar -xf は、完全に実行可能にされた jar または war の抽出に確認なしで失敗する場合があります。jar または war を完全に実行可能にするのは、java -jar
概要 Fully Executable Jarの作成 confファイルの作成 サービス登録 1. Fully Executable Jarの作成 Fully Executable Jarという形式のJarにするとJarの先頭にスクリプトをつけて出力してくれる。 このスクリプトがそのままサービス起動用のスクリプトとして使用できる。 作成の仕方は、pom.xmlの<build>タグの中身を次のようにする <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </pl
概要 シンプルな Spring Boot アプリケーションを systemd でプロセス管理する systemd によって起動・停止・OS再起動時の自動起動などが可能になる 今回の環境: Ubuntu 19.10 Eoan Ermine + Java 11 + Spting Boot 2.2.6 Spring Boot アプリケーションを用意 サンプルとしてシンプルな Spring Boot アプリケーションを用意する。 ファイル一覧 ├── build.gradle ├── settings.gradle └── src └── main └── java └── com └── example └── MyApp.java plugins { id 'org.springframework.boot' version '2.2.6.RELEASE' id 'io.spring.depe
今回は外部設定値(プロパティファイル、JVMのシステムプロパティ、環境変数などに定義した設定値)をSpring Bootがどのように扱うのか紹介したいと思います。 なお、前回紹介した「Spring BootのAutoConfigureの仕組みを理解する」でも外部設定値を参照した条件付きBean定義の仕組みがサポートされていたり、各AutoConfigure用のコンフィギュレーションクラスの中から外部設定値を参照してBean定義していたりします!! 前提バージョン Spring Boot 3.1.1 (1.4.1.BUILD-SNAPSHOT→2.4.5) Spring Framework 6.0.10 (4.3.3.BUILD-SNAPSHOT→5.3.6) 変更履歴 [2023/6/25] 投稿から7年くらいたっても一定のViewが継続してあるので、最新のSpring(Spring Bo
XI. ログ ログをイベントストリームとして扱う ログ は実行中のアプリケーションの挙動を可視化する。サーバーベースの環境では、ログは一般的にディスク上のファイル(“ログファイル”)に書き込まれる。しかしこれは出力フォーマットの一つに過ぎない。 ログは、すべての実行中のプロセスとバックエンドサービスの出力ストリームから収集されたイベントが、集約されて時刻順に並べられたストリームである。生の状態のログは、通常1行が1つのイベントを表すテキストフォーマットである(例外のバックトレースは複数行に渡る場合もあるが)。ログには固定の始まりと終わりはなく、アプリケーションが稼動している限り流れ続ける。 Twelve-Factor Appはアプリケーションの出力ストリームの送り先やストレージについて一切関知しない。 アプリケーションはログファイルに書き込んだり管理しようとするべきではない。代わりに、それ
Javaの使用メモリサイズの調査 Windows環境下でJavaアプリが実際に使用しているメモリ量を確認したい時、タスクマネージャーのプロセスタブでは確認できません。タスクマネージャーには、JVMが全体で確保しているメモリのサイズが表示されます。 今回は、2つの方法を使用して、Javaが実際に使用しているメモリのサイズの大まかな値を確認する方法を説明します。本方法を使うことで、アプリの改修無しに、処理にあまり影響を与えず、大まかな使用メモリ量を見ることができます。 1. Jstatを使用する方法 jstatコマンドを使用した使用メモリの計測は別の記事を参照ください。 Windows環境でもコマンドプロンプトからJstatコマンドを使用することができます。Windows環境ではJDKのbinフォルダにjstat.exeファイルが存在します。また、jstatコマンドで指定するプロセスIDはタス
DRY原則… Don't Repeat Yourselfの略で、「繰り返しを避けること」という意味です。 初回出典はどこなのかわかりませんが、私は「達人プログラマー」で読んだのが最初でした。 信頼性の高いソフトウェアを開発して、開発そのものを簡単に理解したりメンテナンスできるようにする唯一の方法は、DRY原則に従うことです。 すべての知識はシステム内において、単一、かつ明確な、そして信頼できる表現になっていなければならない。 DRY原則を破るということは、同じ知識を2箇所以上に記述することです。この場合、片方を変更するのであれば、もう片方も変更しなければならないのです。 ・・・中略・・・ 我々はこれが達人プログラマーの道具箱の中にある道具のうちで最も重要なものの一つであると考えています。 達人プログラマー アンドリュー・ハント/デビッド・トーマス- DRY原則は、単なるソースコード上のこと
Gradle の dependencies で指定する compile, api, implementation についての勉強メモ。 compile は非推奨 Gradle 3.4 で Java Library Plugin が追加されたことで、 dependencies で compile を使用することは非推奨となってたらしい(runtime, testCompile, testRuntime も)。 4.7 の Java Plugin の説明では、ガッツリ Deprecated と書かれている。 (4.6 のドキュメントだと Deprecated って書いてないけど、明確に非推奨となったのは最近?) 代わりに implementation と api を使用することが推奨されている。 compile と implementation の違い compile の場合 実装 |-set
以下の文章は、Martin Fowler による Domain Logic and SQLの日本語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する本(私の近著『P of EAA』など)を読むと、ロジック
DDD連載記事 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのか ドメイン駆動設計の定義についてEric Evansはなんと言っているのか モデルでドメイン知識を表現するとは何か ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 背景 ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何かの記事で、オススメしていたのはオニオンアーキテクチャでした。 今回は、オニオンアーキテクチャについて詳しく説明したいと思います。 上述の記事でも書いた通り、「ヘキサゴナル、オニオン、クリーン」の3つは、本質的には全く同じで、思想としてはヘキサゴナルで完成されているのですが、より具体的に説明されているオニオンアーキテクチャから説明を読んだ方が理解がしやすいと思います。 その後にヘキサゴナルの説明を読むと「なるほ
あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「特殊な正規形の基礎」を解説します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く