Spring Fest 2017に参加しました
だいぶ日が経ってしまいましたがレポ。
2017年11月24日に開催された「Spring Fest2017」に参加しました。
springfest2017.springframework.jp
午前中は健康診断とかぶってしまい、午後からの参加になってしまいましたが、
濃密なセッションを聞くことが出来、大変有意義なイベントでした。
Spring Security 5 解剖速報
業務アプリケーションを開発する際、切っても切れないのがセキュリティですね。
Spring Securityの情報を聞きたかったので参加。
www.slideshare.net
かなり深いところまで説明してくださっていたので、参考になりました。
認証・認可の具体的な実装方法は、手を動かしてみないとなー。
ドメイン駆動設計のためのSpringの上手な使い方
みんな大好きDDD。
DDDの第一人者である増田さんのセッションを聞かずにはおれない。
www.slideshare.net
感想としてはDDDの概要説明より、実際にSpringでどのように実装してくかを説明してほしかったな~と。
日本一やさしく説明する予定のマイクロサービス入門
マイクロサービスアーキテクチャがオブジェクト指向と同じ説明が出来るっていうのは面白かったです。
何度も発表前に念を押されたとおり、初心者向けでした。
www.slideshare.net
Spring エンジニアが理解すべきフロントエンド入門 - Angular編
Springでサーバサイド作ったとしても、フロントエンドはどうすればいいんだということで気になっていたAngularのセッションを聴講。
Angularの概要説明で、実際のサーバサイドとの連携方法などは無かったので、
手を動かせってことですね。
Docker for Windows でElasticsearch5.5,Kibana 5.5を動かしてみる #elasticsearch
Elastic Stack 5.5が先週リリースされました!
Elastic Stack 5.5.0リリース | Elastic
今回はDocker上でElasticsearch、Kibanaを動作させてみました。
Dockerがいまいちわかってないので手順に誤りなどあるかもしれませんが、
誤りについてはご指摘頂けると幸いです。
DockerのElasticsearchコンテナを複数立てて、クラスター組みたかったんですが、
Dockerよくわかっておらず、そこまで出来ないまま月曜になってしまいました。
コンテナごとの細かい設定をどこで反映させるかもわからず、ただ動かすだけになってます。
環境は以下の通り。
OS:Windows10 Pro
CPU:Core i7 4790K
Mem:32GB
Docker for Windowsのインストール
WindowsでDockerを動かすために、Docker for Windowsというソフトをインストールします。
以下のURLからダウンロードできます。
docs.docker.com
Elasticsearch用Dockerコンテナの実行
まず、Elasticsearchを動作させるため、Powershellで以下のコマンドを入力します
docker run -p 9201:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.5.0
Elasticsearchの動作確認
Webブラウザで「http://localhost:9201」にアクセスします。
X-Packが有効になっているため、認証が必要になりますが、
USER:elastic
PASS:changemeでログイン可能です。
以下のように、JSON形式でElasticsearchの状態が帰ってくれば動作しています。
Kitematicの導入
GUIでDockerコンテナの設定などが行えるKitematicというツールを導入します。
タスクトレイにあるDocker for Windowsのアイコンを右クリックし表示されるコンテキストメニューから
「Kitematic」をクリックします。
Zipファイルがダウンロードできるので、中のexeファイルを実行すればOKです。
次回以降、Docker for Windowsのコンテキストメニューから実行させるためには、
C:\Program Files\Dockerの配下に、解凍したフォルダを「Kitematic」にリネームして配置すればOKです。
実行すると以下のようにElasticsearchのコンテナが表示されているはずです。
※コンテナ名を分かりやすいようにリネームしています。
Kibana用Dockerコンテナの実行
Kibanaを動作させるため、Powershellで以下のコマンドを入力します
docker run -it --rm -p 5601:5601 docker.elastic.co/kibana/kibana:5.5.0
Kitematic上でコンテナが確認できます。
Elasticsearchのコンテナに接続する
Kitematic上でElasticsearchのコンテナに接続するように設定します。
右上の「Setting」⇒「Network」をクリックします。
表示されたLinksでコンテナを選択します。
選択したら、名前も入力して+ボタンをクリックします。
Kibanaにアクセスする
以下のように認証画面が表示されれば成功です。
USER:elastic
PASS:changemeでログインできます
Versionの確認
X-Packが有効なので、左のメニューが多めに表示されていますね。
index name patternを指定しないと画面にエラーが表示されるので、「.kibana」を指定してエラーを消しています。
Monitoringで確認するとElasticsearchのVersionが5.5.0になってますね!
クラスターのステータスがyellowなのはノードが一つで、冗長構成になってないからかな。
Managementで確認するとKibanaもきちんと5.5.0です。
filterのGUIによる設定
filterの設定をクエリを書かずとも、GUIでクリックだけで設定できるようになりました。
Kibana5.5の新機能は以下にまとめられているので詳しくは以下を参照してください!
acro-engineer.hatenablog.com
およそ2か月に一回のペースでバージョンアップがされて、
ますます便利になるElastic Stackから目が離せません。
特にMachine Learningは注目です。
Elasticsearch,Kibanaを5.2から5.4にアップグレードしてみた #elasticsearch
今年の初めに検証環境として用意して色々と試していたのが、Elastic Stack5.2だったので、
5.5リリースも直前というこの時期に5.4にしてみましたw
調べてもアップグレード方法が分からなかったのですが、簡単すぎるからわざわざ書いてないのかってくらいの簡単さでした。
特に無停止とかを意識していない環境なので、何の問題もなくさくっと出来ました。
環境は以下の通り。
EC2インスタンスサイズ:t2.medium
OS:Amazon Linux
Java : Oracle JDK 8u121
Elasticsearchを5.4にアップグレードする
yumインストールではなく、rpmパッケージからのアップグレードで実施しました。
rpmパッケージのダウンロード
$ sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.rpm
Kiabnaを5.4にアップグレードする
Elasticsearch同様にrpmパッケージよりアップグレード。
$ sudo wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.3-x86_64.rpm
DLしたrpmパッケージを使ってアップグレード
$ sudo rpm -Uvh kibana-5.4.3-x86_64.rpm
以下のようなメッセージが出て完了。
Kibanaにアクセスして,ManagementメニューからVersionを確認してみると、
5.4.3になってます!
Visualizeの追加画面も新しくなってますね
Visual Builderも。
2周くらい周回遅れになってますが、新機能は来週試してみます!!
『Java本格入門』を読みました #アクロ本 #Java本格入門
JJUG幹事会でいつもお世話になってる@cero_tさんが書いた本ということで、先行販売でゲットしてきました。
結論から先に言っちゃうと、Java書いてアプリ作ってる人には全員にお勧めできます。
自分はJavaチョットデキルという人でも、PJに関わる人全員がそうとは限りませんし、
入門者からベテランまで「気づき」のある本だと思います。
gihyo.jp
誤記とか修正点は以下のページを。
裏テーマが「35歳からのJava入門」ということでしたが、31歳の私にもズバリ効きました。
中でも、本になっていって嬉しかったのは。Chapter2の「2-4 名前の付け方に注意する」の部分です。
変数は名詞、メソッドは動詞や「不吉な臭い」をPJメンバーで共有できる足がかりを作ってくれたのには本当にありがたいところです。
こういった些細なんだけど、実際にコードを書く際に影響が大きいところが「本になっている」と
偉い人にも説明がしやすく、書き換えの時間を確保できることにつながりますし、
それがプロダクトの品質につながるので大きいんですよね。
『極める』と『たしなむ』
本書の目次を読むと、極められるものとたしなむだけのものがあることが分かります。
第19回Elasticsearch勉強会に参加しました #elasticsearchjp
ちょっとと遅くなりましたが、勉強会の参加レポ。
3月にサンフランシスコで行われたElastic{ON} 2017のフィードバックイベントだったので、仕事そっちのけで参加しました。
Elastic{ON} Re-cap
Jun Ohtani @ Elastic
日本からの参加者は50名程度
日本からスポンサーとして日立が参加。
ASK ME ANYTHING
Elasticのエンジニアに直接聞けるブース。常にエンジニアが数人立っている。
質問リスト持ってきてガッツリ質問してる人もいたり。
ご飯
ご飯も売り。
フードトラックが来る。
Filebeat Modules
5.3から。
今まではFilebeat1行1データでパースはLogstashを使う必要があった。
- Elasticsearchだけでインデックスに入れる前の前処理を書くことができる。
⇒ingest node
- moduleはそれを使用しているので、Filebeatがログをパースしているわけではない。
Time Series Visual Builder
Kibana 5.4から
メーターのVisualizeなどが追加。
今Timelionでやっている複雑なグラフもKibanaで行える。
Elastic Cloud Enterprise
AWS上でElastic Cloudで自動化しているがオンプレ環境でも出来るようになる。
GCPでも使える。
インフラエンジニアがおらず、プライベートクラウド使ってる弊社では、ECE使うのが一番楽そうなので、早く情報が欲しいところです。
Elasticsearch SQL
Coming soon
トランザクションは元々そういう概念が無いのでサポートするつもりはない。
提供方式は未定だが、今のところX-Packで行う予定。無償・有償は分からない。
GW中に来るかもと言われていたElastic Stack5.4がほんとにきちゃったので、
https://www.elastic.co/blog/elastic-stack-5-4-0-released
Machine Learningとか新しいKibanaの機能とか早く試していかないとですね。
BASEさん主催のPAY Developer Meetup #00 に参加してきた
週末募集開始されて、月曜開催というタイトなスケジュール。
特に用事なんて無いので参加させていただきました!
BASEさんの新イベント用スペースめっちゃ綺麗でした!
椅子も今日出したばかりの新品らしい。
LT2本立ての構成でした。
次は喋ってみたいな~。
PAY ID決済 イントロダクション
PAY事業部の高野さん。
PAY IDの概要から、実装までを見せてくれました。
ダッシュボードでクライアント用ID発行して、HTMLに1行追加するだけでカード入力画面にPAY ID決済ボタンが出現!
詳しくは↓
id.pay.jp
PAY ID
- 2016年6月27日に提供開始した購入者向け決済サービス
- PAY IDにクレカ情報や配送情報を紐づけることで都度入力せずに決済が可能
- BASE加盟店を含む40万加盟店で利用可能
毎回決済のたびに財布からカード取り出して、番号やセキュリティコード入力する手間が省けるのでいいですよね。
デモ
あっという間に実装されるさまは圧巻。
ダッシュボードのUIも今風でかっこいい。
質疑応答
Q.UIのカスタマイズは
A.Checkoutは既存のもの。OAuthAPI使えばカスタマイズできる。
Q.テスト環境使ってるんだけど任意の値が入れられるけど、表示順がバラバラになる
A.導入を検討する。
Q.PAYIDの住所や電話番号は認証済み?
A.物販で使用された実績はあるが、100%の保証はない。
PAY.JP使ってます
MAMORIOの高野さん
www.mamorio.jp
www.slideshare.net
金曜日にLTの依頼があったらしい。
PAY.JPにした理由
- ApplePayでの課金実現可能
- HPが綺麗だったから
- コミュニケーションが他社よりフランク
- 開発者ページが充実
懇親会では途中ボッチになってましたが、会話に混ざっていくことで
結果としていろんな人と話が出来て良かったです。
次回もぜひ参加したいです。
ありがとうございました!
Apache Struts2の脆弱性(S2-045,CVE-2017-5638) を突かれ、クレジットカード情報等72万件流出
週末にびっくりするニュースが飛び込んできましたね。
都税と住宅金融支援機構のサイトからクレジットカード情報などが大量に流出しました。
itpro.nikkeibp.co.jp
3月8日にIPAが公開した、Apache Sturts2の脆弱性を突かれたようです。
www.ipa.go.jp
Sturts2の脆弱性
Struts2は2016年にも重大な脆弱性が報告され、ネットを騒がせました。
この時に修正版を適用して良しとするのではなく、システム全体を改修すべきだったようです。
Java EEやSpringではこのようなことは起きていませんからね。
Struts2は何度も致命的な脆弱性を出しています。
そのたびにNGワードを追加することで対応してきたのですが、対応がお粗末です。
通常のサイトであれば、Struts2を使い続ける選択肢はあると思いますが、
クレジットカード情報など機微な情報を扱うサイトでは、去年の時点で移行をすべきだったように思います。
無くならないカード情報流出事件
去年起こった大きな事件としては以下の2点を挙げておきます。
www.itmedia.co.jp
[http://www.itmedia.co.jp/enterprise/articles/1612/02/news106.html:title=ニュース - 資生堂子会社で個人情報流出の疑い、最大42万件 脆弱性突かれる:ITpro]
これらの事件を受けて、カード情報を扱う事業者に対してPCI DSSの取得を義務付ける流れになっており、
PCI DSSの取得が難しい事業者については、決済代行業者にカード情報を預けるように施策が進んでいたのですが、
決済代行業者による流出事故ということで、インパクトが大きいです。
Struts1.Xを使い続けるということ
今回、Struts2のみが対象となり、Struts1は無事だったので、Struts1なら大丈夫という間違った認識がありますが、
Sturts1は誰も公式にメンテナンスをしておらず、潜在的リスクはStruts2以上に存在します。
PCI DSSについて
今回、流出した情報の中にセキュリティコードがありました。
PCI DSSではセキュリティコードの保存は禁止されていますので、PCIDSSに準拠していなかったということになります。
情報処理安全確保支援士の活用
個人情報を扱うシステムの開発・運用に情報処理安全確保支援士を必須とするといいと思います。
まさにこういった自体を防ぐために、資格が整備されたはずです。
対象者4万人と言われる中、初回登録申請者数が4000人強にとどまったのは
飴とムチのムチのみが規定された現状では仕方ないと思います。
情報処理安全確保支援士の独占業務を作り、情報共有ネットワークの整備・高度な研修による実務的な技術を身に着けられるようにすれば、
取得希望者も増え、技術者の待遇向上にも寄与し、日本国内の情報システムのセキュリティ向上も図れるかと思います。