11月28日にJJUG CCC 2015 Fallに行ってきた話のつづき。
■How to speed up your application using JCache
・JSR107
・ヘーゼルキャストの関心高いけど、今日はJCacheの話
・キャッシング入門
キャッシュ:ナノセカンドで返ってきたりする
特色①パフォーマンス②オフロード③スケーラブルでないところにスケーラビリティ
→需要が急に増える場合、ヘーゼルキャストを入れて早めたり
・いつキャッシュを使うか
データを2回以上使うなら価値あり
キャッシングが有効になるところ
①Webアプリ(突然需要上がる)
②ネットワークにまたがるシステム
③データが複雑、オブジェクトが入り組んでいる
④オブジェクトがグラフ構造
・データベースキャッシング
・キャッシュ:RAMに構築
Java:分散キャッシュ→ヒープストア:ガベージコレクションの制約
(メモリの三角形の)上のほうは1つのマシン上で考えている
下のほうは分散→クラスタ組んでいるのを想定
・アムダールの法則:複数プロセス実行時、パフォーマンスを高めるには、
ボトルネックを早くしたほうがよい
・キャッシュの効率
あまり統計データ持っていない
キャッシュ効率高い:オフロードできている
効率での考慮→レファレンスデータ、データ変更頻度、頻繁に使われるデータ
・分散キャッシュ
・オブジェクトのコピー:安全性に問題
→イミュータブルなデータなら安全
問題→一貫性、整合性、マルチコンシステンシー、Javaメモリーモデル、
Eventual Consistency、weak Consistency、atomic oparation
・Javaキャッシング
JDBCみたいなものを目指している
完了した
Spring 4.0サポート、4.1拡張
Spring Boot 使ってくれます
実装したもの:長いリストになっている
Mavanでの設定
・コンセプト JSR107
出発点 Map VS Cache API どちらもキーバリュー
Jcache サービスローダー キャッシングプロバイダを見つける
キャッシュマネージャー DBに相当
キャッシュ キーバリュー
ジェネリックを使っている
かぎとなるAPIは、putとget(put;値返さない)
・Spring
アノテーションで操作できる
・Jcacheのインプリは6種くらいある
Jar入れ替えなどでOK
当然ヘーゼルキャスト使ってね!
■よくある業務開発の自動化事情
・広いままでもできなくはないけど AAA(A* Automation Alliance)
キレイな事例紹介で終わる
・今回はJava,Webアプリケーション、受託開発、スキル会社バラバラを想定
5個ぐらいの現場で会ったこと
・自動化の目的→早く帰ること
2種類
手作業とまったく同じものを出力する自動化
手作業でできないことを自動化する
・対象はすべての活動
・ビッグバン自動化
【自動化事情】
・環境構築
開発、検証、本番
課題
・手順書ベース(更新されていない)
・複数バージョン動作させたいとき
解決
・プロビジョニングツール
・仮想化技術、コンテナ技術
使ってみたところ
・クリーンすぎて困った→テストつくるとき
現実
・プロジェクトだとコスト重い
・現場に浸透していない。その人だけ使えても・・・
・重い
・組織の壁
・構成管理
前提
・CVSはあたりまえ、SVNかGit使ってる
・Gitは気合いるけど、多くなってきた
・検証済みマージ
・リポジトリはNexus/とArtifactory
現実
・コミットしてはいけないファイルをコミットしてしまう
・ローカル用の設定変更
・Gitはトラブルに弱い→たまに事故
・Mavenのリリースバージョン
・ビルド
・antで解決していた
課題
・依存関係
解決
・Gradleなど
現実
・ビルドツールは使いこなされていない
・mavenの場合、pom.xmlとかは特定の人しかわからない
・CI
・Jenkins
課題
・ワンクリックデプロイ
・CIサーバーは市民権をええいる(ビルドサーバー)
現実
・属人性の排除はできていない。CI職人へ
・ワンクリックデプロイは組織の壁
・コーディング
・設計書から自動生成だ
→イマドキのフレームワークなら生成する必要ないだろう
IDEによる自動記述→IDEを使い倒そう
課題
・大量のソース書く
解決
・パワフルなフレームワーク
・JVM言語
現実
・昔自動生成した、ソースコードは?
・テスト
・自動テストはよく話題に上がる
システム自動化カンファレンス
・JUnitなテスト Excelマクロで生成:無駄に量が多い
・JUnit5
・ブラウザ使うやつ: selenium
課題
・自動化して工数減らす
現実
・自動化しても工数減らない
・実行には時間がかかる
【自動化観察日記】
1章
自動化担当召喚
2章
即時対応したい
→パトランプなど
順風満帆
3章
崩壊の足音
担当者変更
黙らされたCIサーバー
テスト自動化 8つの誤解:ググって調べる

自動化ハイ
げんかつぎ
【まとめ】
・自動化は
高速道路はあるが
突っ走ったら死ぬ
適当に降りて迷宮に入ること
■How to speed up your application using JCache
・JSR107
・ヘーゼルキャストの関心高いけど、今日はJCacheの話
・キャッシング入門
キャッシュ:ナノセカンドで返ってきたりする
特色①パフォーマンス②オフロード③スケーラブルでないところにスケーラビリティ
→需要が急に増える場合、ヘーゼルキャストを入れて早めたり
・いつキャッシュを使うか
データを2回以上使うなら価値あり
キャッシングが有効になるところ
①Webアプリ(突然需要上がる)
②ネットワークにまたがるシステム
③データが複雑、オブジェクトが入り組んでいる
④オブジェクトがグラフ構造
・データベースキャッシング
・キャッシュ:RAMに構築
Java:分散キャッシュ→ヒープストア:ガベージコレクションの制約
(メモリの三角形の)上のほうは1つのマシン上で考えている
下のほうは分散→クラスタ組んでいるのを想定
・アムダールの法則:複数プロセス実行時、パフォーマンスを高めるには、
ボトルネックを早くしたほうがよい
・キャッシュの効率
あまり統計データ持っていない
キャッシュ効率高い:オフロードできている
効率での考慮→レファレンスデータ、データ変更頻度、頻繁に使われるデータ
・分散キャッシュ
・オブジェクトのコピー:安全性に問題
→イミュータブルなデータなら安全
問題→一貫性、整合性、マルチコンシステンシー、Javaメモリーモデル、
Eventual Consistency、weak Consistency、atomic oparation
・Javaキャッシング
JDBCみたいなものを目指している
完了した
Spring 4.0サポート、4.1拡張
Spring Boot 使ってくれます
実装したもの:長いリストになっている
Mavanでの設定
・コンセプト JSR107
出発点 Map VS Cache API どちらもキーバリュー
Jcache サービスローダー キャッシングプロバイダを見つける
キャッシュマネージャー DBに相当
キャッシュ キーバリュー
ジェネリックを使っている
かぎとなるAPIは、putとget(put;値返さない)
・Spring
アノテーションで操作できる
・Jcacheのインプリは6種くらいある
Jar入れ替えなどでOK
当然ヘーゼルキャスト使ってね!
■よくある業務開発の自動化事情
・広いままでもできなくはないけど AAA(A* Automation Alliance)
キレイな事例紹介で終わる
・今回はJava,Webアプリケーション、受託開発、スキル会社バラバラを想定
5個ぐらいの現場で会ったこと
・自動化の目的→早く帰ること
2種類
手作業とまったく同じものを出力する自動化
手作業でできないことを自動化する
・対象はすべての活動
・ビッグバン自動化
【自動化事情】
・環境構築
開発、検証、本番
課題
・手順書ベース(更新されていない)
・複数バージョン動作させたいとき
解決
・プロビジョニングツール
・仮想化技術、コンテナ技術
使ってみたところ
・クリーンすぎて困った→テストつくるとき
現実
・プロジェクトだとコスト重い
・現場に浸透していない。その人だけ使えても・・・
・重い
・組織の壁
・構成管理
前提
・CVSはあたりまえ、SVNかGit使ってる
・Gitは気合いるけど、多くなってきた
・検証済みマージ
・リポジトリはNexus/とArtifactory
現実
・コミットしてはいけないファイルをコミットしてしまう
・ローカル用の設定変更
・Gitはトラブルに弱い→たまに事故
・Mavenのリリースバージョン
・ビルド
・antで解決していた
課題
・依存関係
解決
・Gradleなど
現実
・ビルドツールは使いこなされていない
・mavenの場合、pom.xmlとかは特定の人しかわからない
・CI
・Jenkins
課題
・ワンクリックデプロイ
・CIサーバーは市民権をええいる(ビルドサーバー)
現実
・属人性の排除はできていない。CI職人へ
・ワンクリックデプロイは組織の壁
・コーディング
・設計書から自動生成だ
→イマドキのフレームワークなら生成する必要ないだろう
IDEによる自動記述→IDEを使い倒そう
課題
・大量のソース書く
解決
・パワフルなフレームワーク
・JVM言語
現実
・昔自動生成した、ソースコードは?
・テスト
・自動テストはよく話題に上がる
システム自動化カンファレンス
・JUnitなテスト Excelマクロで生成:無駄に量が多い
・JUnit5
・ブラウザ使うやつ: selenium
課題
・自動化して工数減らす
現実
・自動化しても工数減らない
・実行には時間がかかる
【自動化観察日記】
1章
自動化担当召喚
2章
即時対応したい
→パトランプなど
順風満帆
3章
崩壊の足音
担当者変更
黙らされたCIサーバー
テスト自動化 8つの誤解:ググって調べる

自動化ハイ
げんかつぎ
【まとめ】
・自動化は
高速道路はあるが
突っ走ったら死ぬ
適当に降りて迷宮に入ること