Java Magazine の第 17 号でも紹介されている噂?の Flyway を使ってみる。 Flyway とは Flyway は、オープンソースのデータベースマイグレーションツール。 Flyway を使うことで、データベースの状態をバージョン管理できるようになる。 Flyway (マイグレーションツール)を使う理由 データベースを使った開発をしていると、以下のような問題が往々にして発生する。 よくある問題 あるデータベースの、現在の状態が分からない。 あるパッチ用 SQL が、データベースに既に適用されているか分からない。 本番環境で緊急対応が必要になり適用したパッチが、テスト環境にも反映されているか分からない。 新しいデータベース環境を作成するときに、どの SQL を、どの順番で実行すればいいか分からない。 そんなときに、 Flyway のようなデータベースをバージョン管理するツー
Using the plugins DSL: plugins { id("com.moowork.node") version "1.3.1" } Using legacy plugin application: buildscript { repositories { maven { url = uri("https://plugins.gradle.org/m2/") } } dependencies { classpath("com.moowork.gradle:gradle-node-plugin:1.3.1") } } apply(plugin = "com.moowork.node") Using the plugins DSL: plugins { id "com.moowork.node" version "1.3.1" } Using legacy plugin appl
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
クラウドメールサービスSendGridを使ってJavaからメールを送ってみます。 SendGridを使ってメールを送る方法はいくつかあります。詳しくは公式ブログを参照してください。 SMTP Web API マーケティングメール機能 今回はSMTPとX-SMTPAPIを組み合わせて宛先毎に内容の異なるメールを送ってみます。 SMTP SMTPはWeb APIに比べて細かいメール送信パラメータを指定できるのがメリットですが、それが面倒な場合、デメリットにもなります。今回はUTF-8でメールを送ります。メール送信用ライブラリは定番のJavaMailを使っています。 X-SMTPAPI 名前がSMTPっぽくて紛らわしいですが、X-SMTPAPIはSendGrid独自の拡張ヘッダです。これを利用するとメール送信時にSendGridの様々な機能を使うことができます。今回は、To、Substituti
環境 OS X Yosemite 10.10.3 jdk1.8.0_45.jdk MySQL Server version: 5.5.28 Source distribution Spring Tool Suite Version: 3.6.4.RELEASE Build Id: 201503100337 Platform: Eclipse Kepler SR2 (4.3.2) Gradle IDE plugin Version: 3.6.4.201503050952-RELEASE Groovy-Eclipse plugin Version: 2.9.2.xx-201502282108-e43j8 前提条件 下の状態に実装を加えます Spring Boot/Groovy/EclipseでHello world http://qiita.com/quwahara/items/f4b1d30
Javaの小ネタが続く渡辺です。 つまり、そんな案件が続いているってことになります(笑) Servlet API Servlet APIはJava EEの基盤となるAPIですが、歴史は非常に古く、Version1が公開されたのは1997年です。 もうすぐ20年になる非常に古くからある仕様であり、現在はJavaEE 7に組み込まれている 3.1.0 が最新バージョンとなっています。 通常、Servlet APIはTomcat や Galssfishといったアプリケーションサーバ(Java EEアプリケーションサーバでなくてもOK)でバンドルされています。 したがって、WARファイルを作成する場合にはServlet APIのJARファイルを含めません。 これは、含めてしまうと、バージョンの異なるServlet APIが混在する可能性があり、予期せぬ挙動を引き起こす可能性があるからです。 Gra
Jenkins+GradleでJavaのCIのための基本build.gradle設定 (JUnit,PMD,FindBugs,CPD,JaCoCo)JavaJenkinsgradlePMDFindBugs 私的Java開発をJenkinsでCIするためのbuild.gradleとJenkinsの設定です。要不要に応じて書き換えたり足したりが必要です。特にチェックルール。 環境 Java 1.7 Groovy 1.8.6 Ant 1.9.2 Ivy 2.2.0 Gradle 1.11 Mac OS X 10.9.2 全体の流れ Jenkinsに必要なプラグインをインストール GradleでFindBugs, PMD, CPDを実行するようbuild.gradleを作成 Eclipseでは Jenkinsにいれるプラグイン Gradle plugin - jenkins+gradle連携 Fi
Overview What is Gradle? The User Manual Releases All Releases Release Notes Installing Gradle Upgrading Gradle version 8.X to latest version 7.X to 8.0 version 6.X to 7.0 version 5.X to 6.0 version 4.X to 5.0 Migrating to Gradle from Maven from Ant Troubleshooting Compatibility Notes Gradle's Feature Lifecycle Running Gradle Builds Getting Started Core Concepts 1. Gradle Basics 2. Gradle Wrapper
Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. このドキュメントは、個人利用目的および第三者に配布するためにコピーして使用できます。ただし、印刷するにせよ電子媒体を使用するにせよ、以下の点に留意してください。どのような形態であれ使用料を課さないこと。また、このコピーライト条項を配布物に含めること。 例目次 6.1. 初めてのビルドス
ちょっと前まではMavenでプロジェクトを構築している人も多かったですが、 Android StudioがGradleを採用してからはGradleによるプロジェクト構築にシフトしている人も増えてきました。 とはいえ、Web業界で古いシステムを保守・運用している方だとまだまだMavenメインの利用者が多いかと思いますので、 Mavenからの移行も含めた観点で記載して行きます。 Mavenと比較したGradleの利点 Mavenと比較したGradleの利点を簡単にまとめると以下のような感じです。 (この記事を執筆時のGradleの最新バージョンは 1.11 です) 記述量が圧倒的に少ない 記述言語がGroovyなのでJavaも使える。そのため比較的なんでも記述できる AntやMavenの機能も利用できる。特にAntはほぼすべての機能を利用可能。MavenはMavenプラグイン以外は殆ど利用可能
今回はGradleでよくハマるであろうポイントを集めたTIPSを11個紹介します。 01. 依存関係のバージョンが指定されたものにならない MavenからGradleへ移行した場合、おそらく誰もが最初に陥る問題かと思います。 端的に言うと、Mavenの pom.xml で指定したままの依存関係の設定をそのまま build.gradle へ移したとしても 最終的に取得される依存関係は殆どのケースで同じにはなりません。 これは「推移的依存関係」によって同じライブラリが存在した場合に優先されるバージョンがMavenとGradleでは異なるために起こります。 推移的依存関係とは簡単に説明すると、ある依存関係がさらに依存する関係のことを言います。 MavenでもGradleでもそれらを自動的に取得しようとしますが、 それらの中で使っている依存関係のgroupIdもartifactIdも同じだがバージ
Gradle にも大分慣れてきたし、そろそろ 実際にプロジェクトで使えるように準備しないと... まずは Jenkins CI で Gradle が利用できるように準備しようかな。 今時のプロジェクトでは Jenkins CI ぐらい当たり前ですよね。 と言うことで、今回は Jenkins CI で Gradle する最も簡単な (と思われる) 方法です。 実は Jenkins CI で Gradle を利用するために 必要な準備なんて何もありません。 インストールレスで Gradle してみる でも紹介した 『Gradle Wrapper』 さえ使えば、一般的なジョブの設定をするだけでいいんです。 もし、Jenkins CI 上で環境構成を変更する必要があるのであれば Gradle で環境ごとに構成を変更する Gradle で環境ごとに構成を変更する その2 Gradle で環境ごとに構
Gradle でも Maven や Ivy と同じように簡単にライブラリの依存関係を解決することができます。 内部的に Ivy を利用しているようなので同じことができて当然なのですが... まずは リポジトリの設定から... ライブラリの取得先の Maven リポジトリのパスを 以下のように列挙しておくだけでよいです。 repositories { mavenCentral() // Maven セントラル mavenLocal() // ローカル mavenRepo url: [ "http://repository.jboss.org/nexus/content/groups/public-jboss", // JBoss "http://repository.apache.org/content/groups/public", // Apache "http://repository
はじめまして!Ameba事業本部プラットフォームDivでアプリケーションエンジニアをしている池田(@yukung)です。 私は2011年5月に大手SIerから転職し、サイバーエージェントへ入社しました。前職では主に金融業界をターゲットにしたBtoB向けのシステム開発に多く携わってきましたが、開発作業の中でこんな経験を割とたくさんしてきました。 ・ソースコードやドキュメントの管理にバージョン管理ツールを使わずに、Hoge_yyyyMMdd.javaとかDB設計_yyyyMMdd.xlsみたいなファイル管理をしてどれが正しいドキュメントかわからなくなりカオスになる ・ソースコードの静的チェックツール(CheckStyleやFindbugsなど)を使わずに、目視と気合でひたすらソースコードレビューする ・Excel表で書かれたテストケースを睨みながら、手でケースに沿ったオペレーションをしてデバッ
追記1: コメントでの指摘を受け、gvmに関する記述を削除 この記事は、日経ソフトウェア 2013年 06月号 04/24発売 のステマ記事です。 6月号に、@keiji_ariyama(前座部分担当) と 僕(Gradle概要担当) と @sys1yagi(Android対応部分担当) という分担でGradle入門的な記事を書きました。 ですが、僕の目的としてはトップゲート社員への布教を主目的と考えて書いたため、本来要求されている分量を(わざと)大幅にオーバーして書いていました。雑誌に掲載されなかった溢れ分をネットで公開して良いか打診した所、「全文掲載でも良いですよ」という豪気なお許しを頂いたのでここに公開します。この場を借りてお礼申し上げます。 プロの編集さんの手を経て、だいぶわかりやすく噛み砕かれたものが雑誌のほうには掲載されていますので、ここに書いてある内容が難しいなぁ…と思ったら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く