最近、アプリ開発から遠ざかってたんだけど今月しっかりと開発しました。
AWS EB +Spring boot+フラットUI 。
Java8にHTML5とCSS3にJquery とかd3.jsとか。もう、おじさんには限界(笑)。
楽しい1ヶ月だった。
AWS EBはAWS Elastic Beanstalkのこと。AWSはアマゾン ウェブ サービスのこと。
Elastic は、柔軟なとか、伸縮自在な な意味らしい。
Beanstalk は豆の木。ジャックと豆の木は「Jack and the Beanstalk」
今回、AWS自体はじめて使ったけど、インフラ面をあまり気にせず、アプリ開発に注力できるのはありがたい。
AWS利用すると、あっという間にインフラ構築、外部公開ができて、無料枠使えるし、格安だった。
Elastic BeanstalkはJavaアプリの開発したんだけど、
SpringBootの場合、きちんとアプリで起動するか心配だったけど問題なくアプリ公開できた。
はまったところは、何箇所もあったけど・・・
・EC2の時刻設定と言語設定。
これはググレバすぐに解決。
・RDS(mySQL)の文字コード周り。RDS構築した後でパラメーターセットをして再起動しないと。
これはググレバすぐに解決。
・nginx(エンジンエックス)のポートが5000だったこと。ここが一番、はまってたかも。
Spring bootの場合はport=5000でいけた。
・RDS接続用の環境変数の取得
RDS_HOSTNAMEの環境変数が取れないって思ってたら、
System.getProperty System.getenvの2パターンで取得する方法があった。
Java SE 環境では、System.getenv()
Tomcat 環境では、環境プロパティは、System.getProperty()
気にしていたのは課金周り。
1ヶ月利用したけど、ほとんど無料枠で利用できた。性能面は微妙だったけど仕方ない。
もう、ナニこの黒魔術。簡単にWebサービス作れるし。
ググればなんでも出来そうな気がする。
「車が動いている原理知らないけど車は速い。到着地にあっという間に着いた。やった!」
って感じ。
ほとんど設定不要なんだ。
Tomcatいらないんだ。簡単にREST作れるし。
SQLの記述いらないんだ。メソッド名だけで勝手にデータとってきてくれるんだ。
htmlで作った紙芝居そのまま利用できるんだ。thymeleaf(タイムリーフ)すごい。
ログイン処理はSpring Bootハンズオンのパクリであっという間だ。
Spring Bootハンズオン — Spring Bootハンズオン 1.0.0-SNAPSHOT documentation
http://jsug-spring-boot-handson.readthedocs.io/en/latest/
とか、Spring boot関係ないけど、Lombok(ロンボック)でGetter, Setter の自動生成で楽チン。
いつのまにかJava 8になっていろんな記述できる。
自分の中のJavaは拡張For文当たりでとまってました。
try節でリソース系クラスのcloseが不要になるtry-with-resourcesはめんどい記述が不要になって便利。
これは、もう・・・僕の知ってたJavaが知らないJavaに。(もともと知ってなかったかもしれない。)
Twitter BootstrapをベースとしたフラットなデザインのUIキット・Flat UIを利用してみた。
http://designmodo.github.io/Flat-UI/
なんかフラットUI な画面を作ろうとして利用してみた。
何気に絵のかけない自分は、グリフアイコンがあるのがうれしい。
d3.js
今回、ちょっと変わったUIデザインを採用してみようと思って利用してみた。
Force-Directed Graph – bl.ocks.org
http://bl.ocks.org/mbostock/4062045
なんか、これ使ったら過ごそうな画面できそうと思ってやってみた。
D3.js – Data-Driven Documents
https://d3js.org/
今回はいろいろと学べる機会があり、久しぶりのアプリ開発を楽しんですることが出来た。
特にAWSを業務で使用する経験はありがたかった。
@arisonjp がちでhtmlもうできません。springならいけますが