読者です 読者をやめる 読者になる 読者になる

Web系開発メモ

Java, SpringBoot, JavaScript, CSS, HTML などの記事を書いています。

Java:Google Http Client で HTTP通信

Google の Http Client を使って、Java で HTTP通信をする方法を書いていこうと思います。 HTTP接続ライブラリの選択 Google Http Client では、HTTP接続ライブラリを次の3種類から選択できるようです。 NetHttpTransport(JDK の HttpURLConnection がベー…

Gradle:Java 実行時にシステムプロパティを渡す

Gradle の run タスクを使うと、Java の Main クラスを実行できます。以前、run タスクでシステムプロパティを渡す方法を調査することがありました。今回は、その方法をまとめていこうと思います。 build.gradle を編集 次のサンプルのように、tasks.with・…

Guava:ファイルを再帰的に取得する

Java を使ってディレクトリ内のファイルを再帰的に取得したいことがありました。そのとき Google Guava を使ったら、簡単に取得することができました。 今回はそのときのメモを書いていこうと思います。 1. Guava のインストール Maven や Gradle の依存性追…

npm コマンドのメモ

最近よく使う npm のコマンドと、その処理内容を書いていこうと思います。 init > npm init プロジェクト情報の入力を対話形式で始める。 入力した情報は package.json に保存される。 install パッケージ名 --save > npm install --save パッケージ名 アプ…

Java:MP3のタグを編集

MP3ファイルのタグ情報には、タイトル・アーティスト・アルバム・ジャンル・・・、などがあります。このタグ情報を一括で編集したくて、Javaでやってみることにしました。今回は、そのときのメモを書いていきます。 ID3タグについて MP3のタグ情報は、ID3タ…

JS:mustache.js 入門

mustache.js は、テンプレートエンジン「mustache」の JavaScript 実装です。mustahce の特徴の1つは、logic-less なところです。 これから、mustache.js の使用例を書いていこうと思います。 例1:Quick Example 最後の script タグで、Mustache.render(t…

JS:CommonJS と Modules の概要

JavaScript の CommonJS と Modules といった仕様が気になって、少し調べてみました。今回は、その調査内容をまとめていこうと思います。 CommonJS の概要 CommonJS とは、ブラウザ外の JavaScript(サーバサイドやデスクトップ向け)の仕様を定めるためのプ…

jQuery Plugin:BlockUI(画面のブロック)

Ajax 通信のときに、画面の操作をブロックしたいことがあったりします。jQuery Plugin の BlockUI を使うと、簡単に画面の操作をブロックすることができます。 画面イメージ ブロック中の画面は、次のような感じです。 以下に利用手順を書いていきます。 手…

Java:どのテンプレートエンジンを使うか?

Java の Web アプリ開発で、どのテンプレートエンジンを使うか考えてみました。あくまで私個人の考えなので、広い心で見て頂けると嬉しいです。 結論 最近だと「Java のテンプレートエンジンは、HTML のレンダリングで極力使わないようにしよう。」と考える…

JS:Node.js のアップデート

Windows 7 で node.js をアップデートする方法を書きます。 アップデート方法 既存の node.js をアンインストールして、新しい node.js をインストールすれば大丈夫そうです。 手順1. アンインストール コントロールパネルの「プログラムのアンインストール…

JSON と JavaScript オブジェクトの違い

JSON と JavaScript オブジェクト について、プロパティ名(キー)の違いを書いています。 JSON JSON のプロパティ名は、引用符で囲んで表現します。 { "name": "太郎", "age": 42, "isAdmin": false } JavaScript オブジェクト 引用符で囲んでも囲まなくて…

JavaScript:ランダム整数値の取得

JavaScript でランダム整数値を取得する方法を書いていきます。 次のように書くと、0 ~ n のランダム整数値が取得できます。 var num = Math.floor(Math.random() * (n + 1)); 応用編 配列からランダムな値を取りたい場合、次のように書くことができます。 …

JavaScript:即時関数

即時関数とは、定義した関数をすぐ使う書き方です。関数を () で囲んで、その後に (); を書くと、囲んだ関数が実行されます。 構文としては、次のような感じになります。 (function() {...} )(); 例1. 引数なしの即時関数 (function() { var x = 10, y = 20;…

Java:Lombok の @Data でコード量削減

Lombok は Java のライブラリで、getter/setter やコンストラクタなどのコードを自動的に生成してくれます。今回は、Lombok のアノテーション @Data を使って、コード量を削減する方法を書いてみます。 手順1. ビルドシステムの設定 Lombok への依存性を追加…

SpringBoot:findAllOrderBy…Desc のエラー対応

Spring JPA でリポジトリを作成したら、アプリ起動時にエラーが発生しました。今回はそのエラーと対応方法について書いていきます。 リポジトリのコード 次のリポジトリを作成しました。 public interface UserRepository extends PagingAndSortingRepository<User, Long></user,>…

SpringBoot:Velocity の文字化け対応

Spring Boot で Velocity を使ったら、日本語の文字化けが発生しました。今回は、文字化けが解消した方法を書いていこうと思います。 文字化けの発生条件 次の2点を満たしていると、文字化けが発生するようです。 Velocity のテンプレートを UTF-8 などで書…

SpringBoot:@Autowired のエラー対応

@Autowired の使い方を間違えて、エラーを発生させてしまったことがあります。そのときのエラー内容と対応方法について書いていこうと思います。 エラーが発生したコード コントローラ プロパティにサービスクラスを DI したくて、@Autowired を付けていまし…

Gradle:Herokuにデプロイ

Gradle をう SpringBoot の Webアプリを、Heroku にデプロイする手順を書いていきます。 前提1. Heroku 関連 Heroku に関連する前提条件は次の通りです。 Heroku のアカウントがあること。 Heroku Toolbelt がインストールされていること。 前提2. デプロイ…

SpringBoot入門:プロジェクト作成

Java のアプリを開発するときは、アプリのプロジェクトを作成することが多いと思います。プロジェクトは複数のディレクトリで構成されていて、ソースコードやビルドファイル(pom.xml, build.gradle, etc)などの資源を置きます。 Spring Boot の場合、Sprin…

SpringBoot入門:バリデーションをする

Spring Boot の Webアプリで、バリデーション(入力値検証)をする方法を書いていきます。バリデーションには、javax.validation や Hibernate Validator のアノテーションを使います。 前提 この記事は、入門記事「JSONの返却」の資源(ビルドファイル、ク…

Java:ログ出力(SLF4J, Logback)

最近は、Java のログ出力に SLF4J と Logback を使うことが多いようです。そこで、SLF4J と Logback の概要・利用手順をまとめてみました。 概要 SLF4J:ログファサードライブラリ Logback:ログ出力ライブラリ SLF4J が Commons Logging、Logback が Log4j …

gulp:ブラウザのリロード自動化2

前回記事「gulp:ブラウザのリロード自動化」では、HTML や CSS が更新されたら、自動でブラウザをリロードする方法を書きました。今回は、コマンドライン引数で HTML を指定できるようにします。 前提 今回のコードを実行するには、前回記事の環境・コード…

gulp:ブラウザのリロード自動化

HTML や CSS が更新されたら、自動でブラウザをリロードする方法を書きます。今回は、Node.js のパッケージ Gulp を使ってみます。 環境 次のプロダクトがインストールされている必要があります。 Node.js Gulp(グローバル) Gulp(グローバル)は、Node.js…

SpringBoot:Basic認証のサービスに接続

SpringBoot の RestTemplate を使って、Basic認証の外部サービス(はてなブログの AtomPub)に接続することがありました。そのときの Javaコード(一部)を書いていこうと思います。 コード Basic認証の情報を用意してから、RestTemplate を new して接続し…

SpringBoot:pom.xml の version で警告

Spring Boot のアプリで Maven を使っていたところ、pom.xml の version(dependency の子要素)で警告が出ました。これから、事象・原因・対応方法を書いていきます。 事象 JDBC Driver の version を指定すると、Eclipse のエディタで警告(黄色い線とアイ…

SpringBoot アプリ開発:8. テスト

最後に、つぶやきアプリのテスト(一部)を実装していこうと思います。UTは JUnit、IT(画面テスト)は FluentLenium を使います。 補足 テストの方法や範囲、テストで使うプロダクトは、開発条件によって様々だと思います。今回の内容も、あくまで一例…

SpringBoot アプリ開発:7. 動作確認

前回までに開発したアプリを起動して、ブラウザで動作を確認していきます。 1. アプリの起動 次のコマンドで起動できます。 sbt > gradle bootRun ・・・ 2016-06-24 12:38:33.015 INFO 2900 --- [ main] sbt.App : Started App in 9.388 seconds (JVM runni…

SpringBoot アプリ開発:6. UI(CSS, JavaScript)

つぶやきアプリ(こちら のアプリ)の UIを作成していきます。今回は、CSS と JavaScript を1つずつ作成します。 CSS の作成 CSS の「作成場所(配置場所)」と「コード(完全版のリンク)」は、以下の通りです。 作成場所:sbt/src/main/resources/publi…

SpringBoot アプリ開発:5. UI(HTML, mustache)

つぶやきアプリ(こちら のアプリ)の UIを作成していきます。HTML ファイルは1つで、その中にマークアップと mustache のテンプレートを書いていきます。 HTML の作成 HTML の「作成場所(配置場所)」と「コード(完全版のリンク)」は、以下の通りです…

SpringBoot アプリ開発:4. Java(コントローラ)

つぶやきアプリ(こちら のアプリ)の コントローラを、Java で作成していきます。コントローラは、リクエストに対応する処理を実行して、処理結果(≒レスポンス)を返却するクラスです。 コントローラの作成 コントローラの「作成場所(配置場所)」と「コ…

SpringBoot アプリ開発:3. Java(モデル・リポジトリ)

つぶやきアプリ(こちら のアプリ)の モデルやリポジトリを、Java で作成していきます。また、事前にテーブル作成用の SQL を用意しておきます。 SQLファイルの作成 テーブル作成用の SQL です。テーブルには、モデルのデータ(つぶやき)が保存されます。 …

SpringBoot アプリ開発:2. プロジェクト作成

つぶやきアプリ(こちら のアプリ)の ディレクトリ構成や、ビルドファイル・設定ファイルを作成していきます。 ディレクトリ構成 事前に次のようなディレクトリ構成を作成しておきます。括弧内に書いているのは、ディレクトリ内に保存する資源です。 sbt └─…

SpringBoot アプリ開発:1. 環境準備

つぶやきアプリ(こちら のアプリ)を開発するために、必要な環境を準備していきます。以下に「インストール手順」と「DB設定手順」をまとめていきます。 インストール手順 インストールが必要なプロダクト「JDK」「Gradle」「PostgreSQL」について、イン…

SpringBoot アプリ開発:はじめに・目次

記事「SpringBoot アプリ開発」では、短いテキスト(つぶやき)の 作成・表示・更新・削除(CRUD)ができる Webアプリを開発していきます。 画面イメージ、開発環境、目次(個別記事へのリンク)を、下に書いていきます。 画面イメージ PC モバイル(レス…

GO:Workspace と GOPATH

etc

GO言語の Workspace と、環境変数「GOPATH」についてのメモを書いていきます。ちょっと長くなりそうなので、最初に「今回のまとめ(調査結果)」を書いておきます。 今回のまとめ 環境変数 GOPATH の値は、Workspace のパス。 Workspace は、ディレクトリ sr…

GO:Windowsにインストール

etc

Windows に GO(GO言語ツールのバイナリディストリビューション)をインストールする方法を書きます。 ダウンロード 公式サイト https://golang.org/dl/ から、最新版(執筆時 1.6.2)の msi をダウンロードしました。 インストール msi を実行して、画面の…

HerokuToolbelt:CentOS にインストール

Heroku Toolbelt は、Herokuアプリを管理するためのツールです。この記事では、Heroku Toolbelt を CentOS にインストールする方法を書いていきます。 手順1. インストールコマンドの実行 Heroku Toolbelt のサイト を開いて、Standalone をクリックします。…

Gradle入門:はじめに・目次

Gradle は、Java(JVM)環境のビルドシステムです。Gradle を使うと、ビルドスクリプトをシンプルに書くことができます。 他にも、次のような特徴があります。 Ant と同じような目的で使うことができる。 Maven のような規約によるビルドもサポートする。 依…

Gradle:Eclipseにインポート

Gradle でビルドしている Java アプリ(Java プロジェクト)を、Eclipse にインポートする手順を書いていきます。 前提. インポートするアプリ SpringBoot入門:JSONの返却 で紹介しているアプリをインポートしてみます。ソースコードは、次のリポジトリにも…

Gradle:Javaアプリのビルド

Gradle で Java アプリ(Java プロジェクト)をビルドする手順を書いていきます。今回は、コンパイル・テスト実行・Jar 作成などのタスクを実行してみます。 手順1. ビルドスクリプトの作成 ディレクトリ(例:gsg)を作って、その中に Java プロジェクトの…

Gradle:CentOSにインストール

Gradle を CentOS にインストールする手順を書いていきます。手順は、JDK がインストール されていることが前提となります。 手順1. ダウンロード root でインストール先(例:/opt)に移動します。それから、wget でダウンロードします。 # cd /opt # wget …

Gradle:Windowsにインストール

Gradle を Windows にインストールする手順を書いていきます。記事を書くときは、Windows 7 の 64bit を使いました。 前提1. JDK のインストール 事前に JDK or JRE 6 以上をインストールしておきます。JDK のインストール手順は、次の記事を参照して頂ける…

Gradle:SpringBootアプリのビルド

Gradle で SpringBoot の Webアプリをビルドする方法は、記事「SpringBoot入門:JSONの返却」 に記載しています。 リンク先の記事では、簡単な SpringBoot アプリを作成してから、Gradle でビルドして動かしています。参考にして頂ければ幸いです。 補足. ソ…

開発環境構築:概要・目次

etc

当ブログの記事で、開発環境構築に関連するもの(プロダクトのインストール手順や設定手順)をまとめてみました。Windows と Linux(CentOS)で、分けてまとめています。 1. Windows 環境 HTML, CSS, JavaScript, Java , SpringBoot アプリ開発などで使用し…

PostgreSQL:記事の一覧

PostgreSQL のインストールや設定に関する記事(リンク)を、一覧形式でまとめました。Windows 向けと CentOS(Linux)向けの記事があります。 Windows 向け Windowsにインストール WindowsでユーザとDBを作成 CentOS 向け CentOSにインストール CentOSでmd5…

Javaテスト入門:はじめに

JUnit, AssertJ, mockito を使った Java の単体テスト方法と、FluentLenium を使った Java の画面テスト自動化について記事を書きました。 次の目次に、各記事へのリンクを掲載しています。 目次 単体テスト:JUnit 入門 単体テスト:AssertJ 入門 単体テス…

画面テスト:FluentLenium 入門

FluentLenium を使って、画面テスト(ブラウザテスト)を自動化する手順を書いていきます。FluentLenium は、Java で Selenium のテストを簡単に書くためのツールです。 手順1. テストクラスの作成 JUnit のテストケースとして、Bing(検索エンジン)で Flue…

単体テスト:mockito 入門

Java の単体テストで、mockito を使う方法を書いていきます。mockito は、Java の単体テスト用モックフレームワークです。 モックは「モックオブジェクト(Wikipedia)」の略で、テストで用いられるスタブ(下位モジュールの代用品)の一種です。 手順1. モ…

単体テスト:AssertJ 入門

Java の単体テストで、AssertJ を使う方法を書いていきます。AssertJ は、テスト結果を評価するためのツールです。 手順1. テストクラスの作成 JUnit を使ってテストケースを作成します。検証の箇所で、AssertJ を使っています。 gsjt/src/test/java/gsjt/As…

単体テスト:JUnit 入門

Java の単体テストで、JUnit を使う方法を書いていきます。JUnit は、単体テストを実行するためのフレームワークです。 手順1. テストクラスの作成 単体テストは、Java のプログラムとして書いていきます。プログラムなので、繰り返し自動でテストすることが…