ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

JJUG CCCに行ってきた! その7 play Framework

2016-05-23 18:48:55 | Weblog
5月21日 JJUG CCCに行ってきた!のつづき

もう知らないとは言わせない play Frameworkはじめの一歩

をメモメモ




speakers deckに公開済み

・自己紹介
・調査

・play frameworkとは
 The high velocity web Framework
 Java,Scala向け
 Linked inやHatenaで使っている
 Play向いてる人:JVMユーザー、型安全、関数型、大規模、フルスタック

・特徴
 非同期プログラミング
  Akkaネイティブサポート
  アクターモデル、並列処理のライブラリ
 型安全へのフォーカス
  play2.XからTwirl(とぅある)を採用
 Java/Scalaのネイティブサポート
  play 1.XはJavaのみ。1.Xと2.Xは違う
 強力なビルドシステム
  1.Xはpythonベースのスクリプト
 データストアとモデルの統合
 最小限のヘルパー

・はじめの一歩を踏み出す
 1.JDK1.8をインストール
 2.Lightened Activatorをインストールし、起動
 3.Play Frameworkのプロジェクトを作る
 4.プロジェクトを実行する

・Spring Frameworkとのちがい
 1.開発の生産性:りローディング
 2.ノンブロッキングI/O →マイクロサービスに向いている
 3.初心者でも入りやすい

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JJUG CCCに行ってきた! その6 Gradle

2016-05-23 15:39:07 | Weblog
5月21日JJUG CCCに行ってきた!のつづき

十徳ナイフとしてのGradle

をメモメモ

資料は
https://github.com/grimrose/JJUG-CCC-2016-Spring




・自己紹介
・Gradleとは
 次世代ビルドツール
 Java,Groovyで実装
 sdkman使うとインストールが楽
 Gradle wrapperのアップデート ./gradlew wrapper --gradle-version=2.13
 kotlinで書けるようになった
 Gradleで始めるGroovy expandで紹介


・今回は「Gradle徹底入門」の
  第二部 スクリプトファイルの記述
  第四部 エキスパートへの道
 の内容

・build gradle
 利用しているプラグイン
 ライブラリの依存関係
 プラグインの設定
 その他タスクの定義
 ソースファイルの位置
 メソッド・クラス
 →すっきりしているbuild.gradleほど、よりGradle Pluginに依存している
 詳しくはGroovyを知らない人のためのbuild.gradle読み書き入門

・タスクランナーとしてのGradle
  タスクを組み合わせてDAG(有向非循環グラフ)を作る
  1.実行したいことをタスクに落とし込む
  2.タスクをつなげる
  3.ワンクリックで実行できるようにする

・タスクの依存関係
 dependsOn 
 あとに実行したいものを先に書く
 タスクの順序づけ
   must run after
   shold run after

・タスクの後始末
 finalized By

・タスクの実行条件 onlyif 条件式
 up-to-dateでタスクをスキップ

・build gradleの分割
 URLも利用可能

・Gradleを使った自動化タスクの例
 低頻度で手作業面倒なものに向いている

・Gradleプラグインを知るポイント:READMEを読む
・SSHプラグイン→tera termスクリプトを

・まとめ
 gradleは怖くない
 小さいタスクを作る
 タスクをつなげる
 大きくなったら分解
 pluginを探す

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JJUG CCCに行ってきた! その5 Spring

2016-05-23 12:20:15 | JavaとWeb
5月21日 JJUG CCCに行ってきた!のつづき

What's new in Spring Framework 4.3 / Boot 1.4
 +
Pivotal Colud Native Approach

をメモメモ




自己紹介

Spring Boot
・フレームワークのためのフレームワーク
・組み合わされた状態で、すぐにアプリケーション開発できる
・Spring Boot ; Springチームが作ったケーキ

Spring Initializr
・Spring Bootアプリケーションを作る

Roadmap
・Spring5

・Spring Boot 1.4
 今回はちょっとした改善ばかり
 バナーのアップデート
  IntelliJ IDEA:サポート Myan Cat、画像もサポート
  Tweet your banner

 テストの改善機能
  テスト向け機能の改善
    test restテンプレート
    モック(そこだけモック化されたテスト)とスパイ
  組み込みサーバーを使わない便利クラス
    JPA,SpringMVC(HTML,Web),JSONスライス向け

 Spring4.3が使えるようになった
  2020年までサポートされる
  コンストラクタインジェクション
   →Lonbokと組み合わせた時

 CDIのインジェクションポイント

 複合アノテーション@RequestMapping,@Scopes
 @SessionAttribute

Spring5
 2017年以降の次世代
 依存ライブラリのメジャーアップデート
 リアクティブサポート
   ノンブロッキング
 →Reactor
   fluxとMono
 Spring Reactive
  fluxをやり取り

Spring Cloud
 分散システムのデザインパターンを提供
  →NetFlixが提供してくれている
 マイクロサービス
 サーキットブレーカー

クラウドネイティブとは(話半分に聞いてね)
・マイクロサービスは一部(DevOpsとかいろいろ・・・)
 コンテナ
 マイクロサービス→1つ1つの機能をデプロイ
    →CD→パイプライン

・なぜ必要?
 スピード&セイフティ ビジネスの加速(イノベーションの加速)
 Monolith
 SOA:データベースの依存関係
 マイクロサービス:自分たちの変更は自分たちの中で

・まずは12factorAppからはじめる
 コンフィグレーションは外出し
 ローカルファイルX

クラウドネイティブプラットフォーム
 Pivotal cloud foundry
  ・Spring Cloud Services
  ・Microservice with SCS

ConcourseCI
・すべてパイプライン(yamlで書く)
・タスクはステートレス(Dockerイメージを使う)

デモ

PCF Dev
・チュートリアル

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

富士通フォーラム2016の展示の様子とか

2016-05-23 09:16:35 | Weblog
富士通フォーラム2016の展示の様子とかのまとめ


■事前登録の人は名札を印刷。はやい。
→これを見せたかったから、名札にしたのかと思った

■展示会
<<ステージで説明しているもの>>
●メインステージ
・zinraiと会話
 ~といえば~という受け答え
 →対話履歴を基に学習
・ヒューマンセントリックAI
・ビーコンを使った会場のヒートマップ
・事例:海外の鉄道(ポルトガル鉄道・・・だったかな?)
    パリーグ
・MetaArc
・Finplex
・共創:MetaArcベンチャーコミュニティ
  ディープマインド
・展示会場22箇所にZinraiあり

●京
・スパコン
 カミオカンデ、次世代の京 100倍目標

他のステージもあったけど、見ていない

<<展示について>>
・Zinraiを利用したものが多い。
・製造業では、自動機、ロボット
・ロボットもいろいろで、仕分けとかしたり・・・
・金融業のFintechは、いろいろあって、スマホアプリ基盤とか、ブロックチェーンのもあった
・小売とか、マーケティングとかも出ていた
・車では、運転者の状態(熱ストレスや視線から?)をみて、メールを通知したり、しなかったりとか
・セキュリティは標的型攻撃など
・農業は当然ある。ワークライフバランスもあった。医療もあった。教育は?
・新しいのは、スポーツがいっぱい!
・ネットワークは、K5とMetaArc中心。
 MetaArcベンチャーコミュニティなんていうのがあるようだ

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JJUG CCCに行ってきた! その4 JavaEE MVC

2016-05-23 02:22:42 | JavaとWeb
5月21日 JJUG CCCに行ってきた!のつづき

CD-4 ネクストStruts/Seasar2としてのJava EEアクションベースMVC入門 – MVC 1.0、Jersey MVC、RESTEasy HTML –

をメモメモ




#ccc_cd4で資料のありかはつぶやいている

■ネクストStruts/Seasar2としてのJavaEEアクションベースMVC入門
・今回の話
 Thymeleafを使っている
 ソースはGithubにある

・自己紹介

1.アクションベースMVCとは
 HTTPのリクエストに注目したフレームワーク
  Struts/Seaser2
 コンポーネントベースMVC 画面とJavaクラスが1対1
JavaEEのWebフレームワーク
 JSF:コンポーネントベース
 JAX-RS:アクションベースだがJSONを返す

アクションベースMVC
 MVC
 JAX-RSベース

JavaEEは仕様(実装はない)
 MVC1.0の参照実装はおざーく

Struts/Seaser2のアノ機能
 コントローラー
 バリデーション
 例外

ない
 画面構築がない理由
  新たなビュー言語は定義しない
  使いたいのを使え
 公式
  JSP Facelets
 Ozark独自
  Thymeleaf
 ViewEngineを使えば他も

JSP・Faceletの問題点
・JSP
  ビューとロジック交る
  XSS脆弱性
・Facelets
  全機能使えない(AJAX)
  Javascriptの相性悪い

Thymleafを使ってみよう
・ピュアなHTMLで賭ける
・デフォルトでエスケープしてくれる

MVC1.0でThymeleafを使う方法
pom.xmlにozark-thymeleafを依存性に加えるだけ

二重サブミット防止がない理由
・クライアントサイドで行うべき
  →自前で

準備
・Jax-RSの有効化
@ApplicationPath("/api")

基本的なコントローラーの作り方
 斜体 MVC1.0
 それ以外は、JAVAEEなどの
 戻り値 ビューのパス、拡張子必須

入力値を受け取るフォームクラス
  @inject Map+Iterator

渡された値の表示

バリデーション
 BindingResult

エラーメッセージの表示
エラーメッセージの記述

注意
 フォームバインディング機能はない
 @BeanParamは複数パラメータを1個のクラスにまとめただけ

フォームバインディングの実装

例外処理
 ExceptionMapperインターフェース実装クラスを作成
 @Providerを忘れずに
MVC Context
@controllerをつけるかつけないかで実装切り分けられる

・デモ

EE7におけるJerseyMVC
・Jax-RSの参照実装Jerseyの独自機能
・RestEasyJax-RSの独自実装

JerseyMVCの基本的な使いかた
・コントローラー戻り値Viewable
・コンストラクタの第二引数でビューに値を渡す

JearseyMVCでバリデーション
・コントローラーメソッドの中でバリデーションする

この方法の
・メリット
 ピュアなJAX-RS
 オレオレフレームワークを防げる
 リダイレクト

・RestEasyHTML
 RenderableをコントローラーメソッドがView
 WriterInterceptor
 コントローラーにもThymeleaf
 バリデーションはJarseyと同じ


4.その他の知っておくべき
・Jax-RSの知識が不可欠
・うらがみさんの資料 「処理パイプライン」
 JavaEE7徹底入門

まとめ

注意点
・JerseyMVC,RestEasyは標準ではない

デモ:おれおれMVC
ぷろばいだーくらすは、しんぐるとんなので、スレッドセーフではない点に注意

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする