Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yusuke Suzuki
1,952 views
企業におけるSpring@日本springユーザー会20090624
2009年6月24日に行われたJSUG+JGGUG合同勉強会での発表コンテンツです。 ブログ:http://www.arclamp.jp/
Technology
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Downloaded 38 times
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
PDF
クラウド鎖国からクラウド維新へ
by
Cybozucommunity
PDF
connpass特徴と開発の流れ
by
Ikeda Yosuke
PDF
SIerとクラウドの付き合い方
by
Yusuke Suzuki
PDF
デブサミ2010 これからのアーキテクチャを見通す
by
Yusuke Suzuki
PDF
マイクロサービスとそれを支えるアーキテクチャー
by
Tsukasa Kato
PDF
Techlion vol8 yusuke #techlion
by
Yusuke Yamamoto
PPTX
小さいカイゼンをまぁまぁうまく回しているチームとツールの紹介
by
Akiyah
PDF
「エンジニアはハードウェアビジネスをどうやって立ち上げればよいですか」問題
by
Yasunori Okajima
クラウド鎖国からクラウド維新へ
by
Cybozucommunity
connpass特徴と開発の流れ
by
Ikeda Yosuke
SIerとクラウドの付き合い方
by
Yusuke Suzuki
デブサミ2010 これからのアーキテクチャを見通す
by
Yusuke Suzuki
マイクロサービスとそれを支えるアーキテクチャー
by
Tsukasa Kato
Techlion vol8 yusuke #techlion
by
Yusuke Yamamoto
小さいカイゼンをまぁまぁうまく回しているチームとツールの紹介
by
Akiyah
「エンジニアはハードウェアビジネスをどうやって立ち上げればよいですか」問題
by
Yasunori Okajima
What's hot
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
PDF
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
PDF
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
PDF
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
PDF
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
PDF
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
PDF
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
PDF
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
by
Yusuke Suzuki
PDF
20130629 KA法ワークショップ@DevLOVE仙台
by
chachaki chachaki
PDF
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
PPTX
20140126 KA法ワークショップ@DevLOVElove関西
by
chachaki chachaki
PDF
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
by
Yusuke Suzuki
PDF
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
by
Yusuke Suzuki
PDF
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
PDF
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
PDF
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
by
Yusuke Suzuki
PDF
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
PDF
エナジャイル設立によせて
by
Yusuke Suzuki
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
by
Yusuke Suzuki
20130629 KA法ワークショップ@DevLOVE仙台
by
chachaki chachaki
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
20140126 KA法ワークショップ@DevLOVElove関西
by
chachaki chachaki
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
by
Yusuke Suzuki
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
by
Yusuke Suzuki
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
by
Yusuke Suzuki
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
エナジャイル設立によせて
by
Yusuke Suzuki
Viewers also liked
PDF
DevLOVE2009 開発以外に大事な4つのこと
by
Yusuke Suzuki
PDF
食と農の再生シンポ0925糸長pp
by
y246ra
PDF
クラウドを超えた先の企業システム像 20091008 JJUG CCC
by
Yusuke Suzuki
PDF
10 Things It Architect Should Know
by
Yusuke Suzuki
PDF
要件定義すれば要求が理解できる、なんてことはない
by
Yusuke Suzuki
PDF
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
by
Yusuke Suzuki
PDF
自己紹介 糸井重里さんインタビュー用
by
コピーライターはせがわ てつじ
PDF
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
by
Yusuke Suzuki
PPTX
SPICE MATLABユーザー向け二次電池シミュレーションセミナー資料(05JUN2015)
by
Tsuyoshi Horigome
PDF
【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
PDF
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
PDF
すごい自己紹介
by
Hikaru Wada
PDF
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
PDF
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
PDF
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
PDF
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
PDF
ITアーキテクトの思考法
by
Yusuke Suzuki
DevLOVE2009 開発以外に大事な4つのこと
by
Yusuke Suzuki
食と農の再生シンポ0925糸長pp
by
y246ra
クラウドを超えた先の企業システム像 20091008 JJUG CCC
by
Yusuke Suzuki
10 Things It Architect Should Know
by
Yusuke Suzuki
要件定義すれば要求が理解できる、なんてことはない
by
Yusuke Suzuki
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
by
Yusuke Suzuki
自己紹介 糸井重里さんインタビュー用
by
コピーライターはせがわ てつじ
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
by
Yusuke Suzuki
SPICE MATLABユーザー向け二次電池シミュレーションセミナー資料(05JUN2015)
by
Tsuyoshi Horigome
【B-3】 創業122年の企業と顧客価値にコミットした開発を実現する試みと成果について
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
すごい自己紹介
by
Hikaru Wada
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
ITアーキテクトの思考法
by
Yusuke Suzuki
Similar to 企業におけるSpring@日本springユーザー会20090624
PDF
[豆ナイト]Java small object programming
by
Yuichi Hasegawa
PDF
Scrum alliance regional gathering tokyo 2013 pub
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
PDF
Seasarプロジェクト徹底攻略
by
takezoe
ODP
Spring2概論@第1回JSUG勉強会
by
Mitsuhiro Okamoto
PDF
Rodから聞いたことを全部話すぜ
by
Hiroki Kondo
PDF
Spring3.1概要x di
by
Yuichi Hasegawa
PDF
Spring Day 2016 springの現在過去未来
by
Yuichi Hasegawa
PDF
Jjug springセッション
by
Yuichi Hasegawa
PPT
第1回java実習(helloworld)2011
by
デジタルシープラーニング
PDF
イマドキの現場で使えるJavaライブラリ事情
by
takezoe
PPTX
Glassfish勉強会(JavaEE6について)
by
Ryo Asai
PDF
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
by
Takayuki Shimizukawa
PDF
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
by
Hiroki Kondo
PDF
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
by
Yoichi KIKUCHI
PPTX
Rawlerフレームワーク(全体)
by
Takaichi Ito
PDF
OSSで支えられるライブドアの巨大ログ集計 #nhntech
by
SATOSHI TAGOMORI
PDF
DDD 20121106 SEA Forum November
by
増田 亨
PDF
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
by
Tsuyoshi Yamamoto
PPTX
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
PDF
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
[豆ナイト]Java small object programming
by
Yuichi Hasegawa
Scrum alliance regional gathering tokyo 2013 pub
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
Seasarプロジェクト徹底攻略
by
takezoe
Spring2概論@第1回JSUG勉強会
by
Mitsuhiro Okamoto
Rodから聞いたことを全部話すぜ
by
Hiroki Kondo
Spring3.1概要x di
by
Yuichi Hasegawa
Spring Day 2016 springの現在過去未来
by
Yuichi Hasegawa
Jjug springセッション
by
Yuichi Hasegawa
第1回java実習(helloworld)2011
by
デジタルシープラーニング
イマドキの現場で使えるJavaライブラリ事情
by
takezoe
Glassfish勉強会(JavaEE6について)
by
Ryo Asai
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
by
Takayuki Shimizukawa
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
by
Hiroki Kondo
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
by
Yoichi KIKUCHI
Rawlerフレームワーク(全体)
by
Takaichi Ito
OSSで支えられるライブドアの巨大ログ集計 #nhntech
by
SATOSHI TAGOMORI
DDD 20121106 SEA Forum November
by
増田 亨
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
by
Tsuyoshi Yamamoto
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
More from Yusuke Suzuki
PDF
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
PDF
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
PDF
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
PDF
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PDF
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
PDF
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
PDF
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
PDF
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
PDF
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
PDF
ウォーターフォールとアジャイルを考える #ita_ws
by
Yusuke Suzuki
PDF
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
by
Yusuke Suzuki
PDF
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
by
Yusuke Suzuki
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
ウォーターフォールとアジャイルを考える #ita_ws
by
Yusuke Suzuki
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
by
Yusuke Suzuki
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
by
Yusuke Suzuki
企業におけるSpring@日本springユーザー会20090624
1.
企業で使うSpring
鈴木雄介 グロースエクスパートナーズ(株) JSUG/JJUG/SIProp http://www.arclamp.jp/ 2009/6/24
2.
はじめに • 鈴木雄介 –
ITゕーキテクト – 今の主な仕事は、顧客企業側に立って標準化 の策定/推進を行うこと – Spring好き。規約より設定重要 • ゕノテーション嫌い – 今日の目標:難しく言わない – つっこみ歓迎
3.
アジェンダ •
システム開発で大事なこと • 設計と実装 • なぜSpringを使うのか • Springの使い方
4.
システム開発で大事なこと • “安く作る”より”安く使う” –
保守性の高いゕプリ • ゕプリの枠より作業の枠 – 構成管理と自動化 • ベストよりバランス
5.
システム開発で大事なこと • “安く作る”より”安く使う” –
保守費の割合は60-80%程度。最初に作るコ ストのうち実装は1/3程度。つまり、実装コ ストはゕプリの一生からすると7%-13%程度 – 時代背景からすると、今後、ますます仕様変 更は増えている。拡張性は重要なテーマ – 保守性の高いゕプリケーションを、どう作る のか
6.
参考:保守性 • 保守性とは –
解析性:バグの原因を早く見つけたい • ソフトウェゕにある欠陥の診断または故障原因の追及、およ びソフトウェゕの修正箇所の識別を行なうためのソフトウェ ゕ製品の能力のこと。 – 変更性:修正するときにめんどくない • 指定された修正を行なうことができるソフトウェゕ製品の能 力のこと。修正の実施にはコーデゖング、設計、および仕様 書の変更を含みます。 – 安定性:デグレや他影響が少ない • ソフトウェゕの修正による、予期せぬ影響を避けるソフト ウェゕ製品の能力のこと。 – 試験性:テストするのが楽 • 修正したソフトウェゕの妥当性確認ができるソフトウェゕ製 品の能力のこと。 JIS X 0129-1 ソフトウェゕ製品の品質-第1部:品質モデルより
7.
システム開発で大事なこと • ゕプリの枠より仕事の枠 –
個別のゕプリケーションは最適化されていく べき。”平均的”なゕプリケーションは存在し ない=標準フレームワークって意味あるの? • 意味ないことはないけど、緩めに設計する必要が ある – 仕事の仕方を合わせた方が効果は高い • 構成管理重要。ソースコード、課題 • 自動化重要
8.
システム開発で大事なこと • バランス、バランス、バランス –
すべての利害関係者(未来含む)の調整が重 要 – 個別最適と全体最適 – “判断は遅く”でも”早く決める”
9.
設計と実装 • コンポーネントの集約は大事
– ただし、機能とクラスは必ず直交するので矛 盾が生じやすい。もう、これは運命 クラスA クラスC クラスD クラスG 同じ機能は、同 じクラスに集約 機能A クラスE 機能B もし変更があれ ば、すべての機 能に影響が出 てしまう 機能C クラスB クラスF クラスH
10.
設計と実装 • コンポーネントの分離は重要 –
実装要件の違いで切れる • トランザクションの切れ目、ゕーキテクチャの切 れ目、UIとデータとロジック – 分業のための分離と、その統合 • 互いの作業が、なるべく影響し合わないように、 コンポーネントに分離する • ただし、コンポーネントの統合がビッグバンにな らないように注意する – ンターフェース定義、カプセル化、責務、ロール
11.
設計と実装 • コンポーネントの適切なデザンが要 –
ただし、要件分析/概要設計段階で織り込む。 実装/詳細設計段階でデザンを変えることは 難しいし、そんなコストはかけられない • 再利用=抽象化は設計段階で検討するべき内容 – コードこそ矛盾のない「真の設計書」 • 早くコードにするほど矛盾が分かる。プロトタ プは設計の仕事
12.
設計と実装 • デザンパターン –
“デザン”パターンは”設計”段階で使うもの – 設計方法論は難しい。美しい方法論は、基本 的にあやしい(象牙の塔) • DDDは、特に難しいと思う。相当、ドメンのビ ジネス知識がないと無理。
13.
設計と実装 • 未来への対応 –
5年後の誰かが悲しまないために • 「なんだよ、この設計/実装!ありえん」 – 今後、拡張性や柔軟性がもっと求められる • 小規模は作りなおせばいいじゃんでもOK – 可変性分析 • 拡張の方向性や手段について、きちんと確定して おく
14.
なぜSpringを使うのか • Springはフレームワークのフレームワー
ク – 個別ゕプリのためにフレームワークを構築す るためのフレームワーク – 開発効率よりもSpringらしい”スタル”を重 視 – さまざまな3rd Partyプロダクトに対応し、中 立性を重んじる。なるべく個性を削らない – EAIやSOAなどに連携可能
15.
なぜSpringを使うのか • Springを使う上では、 –
オススメのプラクテゖスはあまりないので、 自分で決めてからやる • 実装フレームワークもコンポーネント分割も – 設定は確かに複雑になるので担当者を明確に する。あと設定フゔルの分離重要 – 使いこなすとすごいけど、設定が難しいプロ ダクトがある • WebFlow、Security
16.
なぜSpringを使うのか • なぜSeasarを使わないのか –
Seasarは優秀なWebゕプリフレームワーク – 開発の効率化、エンジニゕの能力向上に注力 – プラクテゖス(実践)や規約を重視 – 適切な部分には、ぜひ使うべき
17.
Springの使い方 • というわけで、非機能の話を中心に –
コンポーネント化 • 外部リソースゕクセスの分離 • 横断的関心事の分離 – ロギング – Maven2のプロフゔル機能
18.
外部リソースアクセスの分離 • 例:ログン処理 –
1.ログン情報を受け取る – 2.LDAPで認証 – 3.DBからユーザー情報を獲得 – 4.ログン履歴を保存 – 5.認証認可情報を返却する • 2,3,4は外部リソースゕクセスなので分離 するように作る
19.
外部リソースアクセスの分離 • シーケンス図
Login LoginBL LDAP認証 UserDao Logger ログイン(ログイン情報) 認証フラグ:認証(認証情報) ユーザー情報:検索(ユーザーID) ログ(ユーザー情報) :ユーザー認証情報
20.
外部リソースアクセスの分離 • メリット –
テストがしやすい、デバッグもしやすい – 個別に実装が遅れても逃げられる。たいてい は要件確定が遅れる
21.
横断的関心事の分離 • ゕスペクト指向=見地 • 横断的関心事って?
– 「メソッドの最初や最後に必ず書く」みたい なもの – ログ、トランザクション、セキュリテゖ • ServletFilterは、AOP的 ア ス ペ クラス ク ト
22.
横断的関心事の分離 • 実装の考え方 –
基本はProxyパターンで理解する LoginBlImpl <Interface> Implements LoginBl LoginBl LoginBlImpl <Interface> LoginInterceptor Implements MyBl implements MyBL LoginBl
23.
横断的関心事の分離 • SpringのAOPを使う –
ポントカット:どこに挟むのか – ゕドバザー:何を挟むのか • 使いどころ – 性能検証 – ゕクセスログ(内部統制で) – 更新日や更新者の自動設定
24.
ロギング • ロギングはSLF4JとLogbackがオススメ –
Log4jの作者の新作 • 使い方 – ログ出力:org.slf4j.Logger; – 設定: appenderとlogger
25.
ロギング:APIの使い方 import org.slf4j.Logger; import org.slf4j.LoggerFactory; public
class SampleLogic { private static Logger logger = LoggerFactory.getLogger(SampleLogic.class); public void execute() throws Exception { if (logger.isTraceEnabled()) { logger.trace("trace level"); } if (logger.isDebugEnabled()) { logger.debug("debug level"); } logger.info("info level"); logger.warn("warn level"); logger.error("error level"); } }
26.
ロギング:設定ファイル <?xml version="1.0" encoding="UTF-8"
?> <configuration debug="true"> <appender name="STDOUT" class="ch.qos.logback.core.Console <Target>System.out</Target> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{10} - %msg </Pattern> </layout> </appender> <logger name="org.springframework" level="WARN" /> <logger name="org.apache" level="WARN" /> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>
27.
ロギング:マーカー • マーカー –
マーカーを付けると、出力先を分けることが できる。 private IMarkerFactory markerFactory; @Override マーカーを指定 public void logging(User user) { logger.info(markerFactory.getMarker("login"), “user loged in “ + user.getName()); }
28.
ロギング:マーカー <appender name=“LOGIN" class="ch.qos.logback.core.ConsoleApp
<Target>System.out</Target> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> LOGIN %logger{10} - %msg%n </Pattern> </layout> <filter class="jp.arclamp.jsug.sample.log.MarkerFilter"> <marker>login</marker> <OnMismatch>DENY</OnMismatch> <OnMatch>ACCEPT</OnMatch> </filter> </appender> フィルターを適用して、出力を制御
29.
ロギング:コンバーター • コンバート –
要素conversionRule • 属性conversionWord:キーワード • 属性converterClass:出力クラス • パターンのところで出力が可能 – %{conversionWord}% • 使いどころ – ログへのログンユーザー情報出力
30.
ロギング:コンバーター
キーワード <?xml version="1.0" encoding="UTF-8" ?> の設定 <configuration debug="true"> <conversionRule conversionWord="user" converterClass=" jp.arclamp.jsug.sample.user.UserInfoCon コンバータークラスの指定 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleA <Target>System.out</Target> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %d{HH:mm:ss.SSS} [%thread] [%user] %-5level %logger{10} - %m </Pattern> </layout> </appender> ここが置換される <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>
31.
ロギング:コンバーター
継承してコンバー package jp.arclamp.jsug.sample.user; ターを作成 import jp.arclamp.jsug.sample.log.LogConverterTest; import ch.qos.logback.classic.pattern.ClassicConverter; import ch.qos.logback.classic.spi.LoggingEvent; public class UserInfoConverter extends ClassicConverter { @Override public String convert(LoggingEvent event) { return UserInfoHolder.get(); } } 出力する文字列を返却
32.
Maven2のプロファイル機能 • 環境毎に設定フゔルの切替を実施 –
DB接続設定やログ設定などの切替 – ローカル、IT、本番…など、プロフゔルを カスタマズ可能 • コマンドラン(-P{プロフゔル名}) – mvn eclipse:eclipse –Plocal – mvn package -Pproduction
33.
Maven2のプロファイル機能 <profiles>
プロファイル名の指定 <profile> <id>local</id> <build> <resources> プロファイルで有効になる <resource> ディレクトリの指定。 <directory>src/main/resources/local</directory> <includes> <include>*.properties</include> <include>*.xml</include> </includes> </resource> </resources> </build> </profile>
34.
Maven2のプロファイル機能 • フォルダ側
他のモノは無視 クラスパスに通る
35.
サンプルコード • ブログエントリ • サンプルコード
36.
ライセンスについて •
JSUGマスコットゕコン(本スラド左下)が残されている場合に限り、本作品 (またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・ 上演を認めます。 • 本作品のラセンスを遵守する限り、派生作品を頒布することを許可します。
Download