2016年12月3日土曜日

JJUG CCC 2016 Fallに行ってきた

====================================
新人研修や本では教えてくれないJava!
株式会社カサレアル 多田真敏
====================================
http://masatoshitada.hatenadiary.jp/entry/2016/12/04/164926

開発現場では重要になる内容

完全版は別途tweetされる。

①新人研修で教わらないこと
Java学習量多い
→1,2ヶ月では足りない

②Maven他、ライブラリ活用しよう
ライブラリのバージョンアップ対応大変
→これを解決するものがMaven!
 Aだけ設定ファイルに記述すれば「必要なライブラリ」をDLできる。便利。

Maven Central Repository
 1.Mavenインストール
 2.PATH

IDEに内包されているが、個別にインストしたほうがよい
→結構コマンド使ったりする

dependencyの書き方を調べる
→サイトからコピーして使う。
 タイプミスするとDLできない。

【重要】Mavenプロジェクトのフォルダ構造
→決まり。どの現場でも共通

③Webフレームワーク、DI、ORマッパー
JDBCの問題
→毎回おなじような記述。
 テーブル毎に書かなかればいけない
 →これらを解決するもの「Webフレームワーク、DI、ORマッパー」

Webフレームワーク
→MVCをきっちり分ける
DI
→単体テストを容易に
ORマッパー
→DB系
 
Webフレームワーク
→コントローラでVIEWを書けなくする
 主なフレームワーク
  Spring MVC
  JSF
  →JavaEE
→Spring MVCではJSPデフォルト
 →これではJSP内にスクリプトレット内でDBアクセスできてしまう。
  【重要】クロスサイトスクリプティングが問題
 →最近はThymeleafが人気。

DIコンテナ
→コントローラとDAOの接続担当
 →なんのため?
  →単体テスト容易
   →コントローラ部分
    →DI未使用の場合、DAO実装クラス必要
     →仮のDAOスタブクラスを作成
      仮のDAOクラスはDBアクセス不要

Dependency Injection = インスタンスの代入

ORマッパー
→xx.find(Emplyoyee.class,101)みたいな、1行でDBアクセス可能
 正規化されていないDBには向かない

サーブレットはなぜ動く?
→リフレクションという仕組みで動いている
 →mainメソッドないのに動く
  APサーバー(tomcat)がやってること
   APサーバー起動 = mainメソッド起動
   XML記述内容をもとにクラス名からインスタンス生成 ← これがリフレクション

リフレクション
→いろんなところで使われている
 Webフレームワーク、DIコンテナ、ORマッパー

アノテーション
→新人研修では@override くらい

これらの技術は基本的にコーディング量を削減するためのもの。(楽&可読性UP?!)
→実際のプロジェクトでは、はじめに準備/学習フェーズ必要

Webフレームワーク、DI、ORマッパー
→リフレクションとアノテーションでできている

ログとは?
→新人研修では習わないが、とても大切。
 人気「Logback」
 ログレベルの指定

研修だけでは全部補えきれない
→書籍がおすすめ3冊
 2年目終わりまでにはSE GoldとWebコンポーネントデベロッパを取得したい。

Java Webコンポーネントデベロッパ
→フレームワーク理解する上で大切

発表者たちのブログ等をチェック!
→Webスクレイピング

====================================
SIerもはじめる、わたしたちのDevOps
しょぼちむ/阿佐志保
====================================
DevOps
文化だけでも技術だけでもダメ
文化 アジャイル
→企画~リリースまでのリードタイム短い。

技術 インフラの自動化

メリット
・案件の効率化
・顧客からDevOpsしたいに対応できる

ビジネス加速するためのDevOps
→ノウハウをSIerがリード

Kibamaで可視化

社内システム使用率の向上

仮説→分析→検証のサイクル

DevOps

ふつうの受託開発
SIerの中で実行可能なように組み立てられたアジャイル

Will-Can
スキルにマッチしたアサイン
個人の得意分野や特性

https://www.slideshare.net/mobile/kawasima/ss-15118922

ミッションクリティカル
プライム
→変化に強いものが求められる
ノンプライム

マイクロサービス
→変化に強いインフラ

Dockerイメージ活用
→テスト済の安全なアプリ/インフラ

コンテナ実行基盤
→開発環境では容易。

クラウドのマネージドサービス
→NoOps

グーグルとかの基盤
→Docker

2時間くらいあればハンズオン内容を勉強できる。

資料
http://www.asa.yokohama/

crashなんとか
Lagon
→マイクロサービス フレームワーク
https://www.infoq.com/jp/news/2016/04/lagom-microservices-framework
http://takezoe.hatenablog.com/entry/2016/04/10/230237

====================================
Javaエンジニアのためのブロックチェーン入門
ウルシステムズ株式会社
====================================
本当のブームは来年。
→来年5月から施行されるものがある。金融変わる。

bitcoin
仮想通貨取引所 bitbank

フィンテック

ブロックチェーンの市場規模
→67兆円?!。経済産業省サイト。

http://www.meti.go.jp/press/2016/04/20160428003/20160428003.html

技術スタートアップ
→昨日は金融系イベント。世界5000以上。

来年5月からは認定受けている団体でないと生き残れない。
これから本物が淘汰されていく。

日本ブロックチェーン協会
さまざまなレポート出てる。
ドラゴンチェーン
→ディズニー

ブロックチェーンとは?
→第3の通貨。
→P2P。国境不在。世界単一市場。
→レートない。手数料ない。
→ビットコイン取引のながれ。

P2P大丈夫?

分散型台帳を実現するプラットフォーム
→blockchain
パブリック
プライベート

合意するプロトコル
→取引履歴がチェーン状でつながっている。

権威者がいなくてもグローバルに一意に取引できることって凄くない?!
→他に応用できないか。

スマートコントラクトが盛んに。

スマートコントラクト
→自動販売機。自力で執行される契約処理のこと。

スマートコントラクトへの期待
→仲介者抜きで安全に契約できる。

ethereum概要
→ビットコインとは別。
→取引の状態遷移全体の記録台帳としてブロックチェーンを利用。

http://fis.nri.co.jp/ja-JP/publication/kinyu_itf/backnumber/2016/07/201607_6.html

技術者と業務知見が不可欠

スマートコントラクト適用先
* 予想市場
* 先物取引
* 遺言執行
* 楽曲配信
* スマートロック(Slock社)
* PtoP電力市場
* IoTによる自動契約
* 無人タクシー

====================================
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
日本IBM 田中孝清
====================================
MAKE JAVA GRATE AGEIN
クラウド当たり前

普及している部分
→web企業、イノベーション主体事業
普及していない部分
→SI系企業、リスク最小化

web企業
→あらゆる言語
SI企業
→Java

メリット
・構築/運用コスト削減
・即応性高い
システムがクラウドのメリットを享受できるものではないといけない。
→IBM9ヶ条ルールある。

既存システムをクラウドへの適用難しい。

①APサーバがクラウド対応してない。
②アプリが対応していない。
③バックエンドを社外出せない。

①APサーバ
導入大変、可搬性ない、自動化ツールとの相性
→導入容易、小さいメモリ、フットプリント、構成の可搬性、管理の自動化

②アプリ
マイクロサービスアーキテクチャ
既存をマイクロサービス化は難しい。
既存のアプリをMSA化するには
・分割よりもAPIを外部から呼べるようにしていく。

JDBCではなくRESTで呼ぶ

③バックエンドの対応
ハイブリッドクラウドによるオンプレミスとクラウド連携

MicroProfile
→今後JAX-RS、JSONP、CDI

0 件のコメント:

コメントを投稿