Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
10年運用している 画像サービスでのJavaの活用と 今後の展望
Search
Naoki Morioka
November 24, 2016
Technology
630
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
10年運用している 画像サービスでのJavaの活用と 今後の展望
Naoki Morioka
November 24, 2016
More Decks by Naoki Morioka
See All by Naoki Morioka
Androidアプリ開発からみた RxJavaの使いどころ
nmorioka
1
4.1k
モバイルアプリでHTTP/2
nmorioka
1
140
既存AndroidアプリでKotlin導入を考える
nmorioka
0
130
Cardbord SDK
nmorioka
0
110
AndroidでJava8
nmorioka
0
330
Other Decks in Technology
See All in Technology
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
Rust で関数型ドメインモデリング
takonda
0
170
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
300
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
140
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Making Projects Easy
brettharned
120
6.8k
Fireside Chat
paigeccino
43
4.1k
Marketing to machines
jonoalderson
1
5.9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Statistics for Hackers
jakevdp
799
230k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Transcript
ӡ༻͍ͯ͠Δ ը૾αʔϏεͰͷ+BWBͷ׆༻ͱ ࠓޙͷల ++6($$$'BMM /BPLJ.PSJPLB
ΤϯδχΞྺ $ͪΐͬͱɺ΄ͱΜͲ+BWB αʔόཧɺσʔλඋ ࠷ۙ"OEPSJEJ04ΞϓϦ։ൃ ੲۀͰέʔϓϖϯΪϯΛࣂ͍ͬͯͨ ͜ͱ͕͋Γ·͢ Ԭঘه !O@NPSJPLB "CPVU.F ϑϦϡʔגࣜձࣾۈژࡏॅ
ਓʑͷ͜͜ΖΛ๛͔Ͱͤʹ͢Δ ྑ࣭ͳΤϯλςΠϯϝϯτΛग़ ͢Δʂ ϑϦϡʔגࣜձࣾ ձࣾհ ϓϦػ γΣΞ/P ήʔϜࣄۀ ϓϥΠζࣄۀ
ϐΫτϦϯΫϑϦϡʔͷ ϓϦػͱ࿈ಈͨ͠ϓϦըऔಘ αʔϏε αʔϏεհ 8&#αΠτ ωΠςΟϒΞϓϦ
ϓϦϯτγʔϧػʹɺͯ͢ը૾సૹػೳ͕͍͍ͭͯ·͢ɻ γʔϧʹҹࣈ͞Ε͍ͯΔ̞%ૹΒΕͯ͘Δϝʔϧͷ̧̡̪ʹ ΞΫηε͢ΔͱϐΫτϦϯΫͰऔಘͰ͖·͢ɻ
None
ࠓ͢͜ͱ w +BWBͰ࡞ͬͨαʔϏε͕ͲΜͳมભΛḷ͔ͬͨ w ී௨ͷ։ൃऀͰటष͘αʔϏε֦େΛଓ͚͍ͯ͘͜ͱ͕ ग़དྷͨͱ͍͏ w ࠓϫΫϫΫ͠ͳ͕ΒऔΓΜͰ͍Δ͜ͱ
ࠓ͞ͳ͍͜ͱ w ΞϓϦɾϑϩϯτΤϯυܥͷ
݁ ͋ͱ͘Β͍ +BWB+7.ͰؤுΕͦ͏Ͱ͢ʂ
ΞδΣϯμ w ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓΜͰ͍Δ͜ͱͱࠓޙͷల w ·ͱΊ
w ϑϦϡʔݩʑݚڀॴൃ w ܞଳ+BWB͚ࢄ11ϛυϧΣΞΛ։ൃ w ,%%*ʹࡌ͞ΕΔ w ར༻࣮ͮ͘ΓͷͨΊΤϯλςΠϯϝϯτɾίϯςϯπ࡞ Կނ+BWBΛબͨ͠ͷ͔ʁ +VNPOϓϩδΣΫτ
IUUQXXXJUNFEJBDPKQNPCJMFLKBWBIUNM
ձһ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏεॳظ
τϐοΫ ΦϨΦϨϑϨʔϜϫʔΫ ։ൃڥςΩετΤσΟλʴKBWBDίϚϯυ
8FC ϓϦᝑମ ϑΟʔνϟʔϑΥϯ αʔϏεॳظߏ ը૾ొ ϑΝΠϧ %# 8FCΞϓϦέʔγϣϯ +4& 5PNDBU
αʔό %# 0SBDMFJ αʔό ϑΝΠϧαʔό -JOVYαʔό αʔό )551)5.- ը૾Ξοϓϩʔυ
ձһ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏεظ
τϐοΫ 4FBTBSͷར༻։࢝ ձһɾΞΫηε͕૿͑ͯෛՙରࡦ
8FC ϓϦᝑମ ϑΟʔνϟʔϑΥϯ ը૾ొ ϑΝΠϧ %# )551)5.- ը૾Ξοϓϩʔυ 8FCΞϓϦέʔγϣϯαʔό +4&
5PNDBU 4FBTBS αʔό σʔλϕʔεαʔό 0SBDMFJ ΫϥελϦϯά αʔό ϑΝΠϧαʔό /FU"QQ'"4 αʔό αʔϏεظߏ
ֶΜͩ͜ͱ w +7.؆୯ͳϝϞϦௐͰ͔ͳΓͷߴෛՙʹ͑ΒΕΔ 9NY 1FSN(FO w όοΫΤϯυαʔόʹۚΛ͔͚ΕͳΜͱ͔ͳΔ͕ௐࠪɾ ݕূ͕େࣄ εϓϦοτϒϨΠϯͰσʔλ͕ਧͬඈͿ ࠷৽ϑΝΠϧαʔόೲ͞Εͳ͍
ϥΠϒϥϦҰཡ ϑΟʔνϟʔϑΥϯͰ͕ͬͭΓ+BWB w ϓϦػͰࡱӨͨ͠ը૾ΛͳΔ͘ΩϨΠʹಧ͚Δ w ϑΟʔνϟʔϑΥϯ'MBTI͚ಈతม w ܞଳ͚)5.-ϝʔϧ DPSF BVUI
QBZNFOU PQFOTPDJBM NBJM USBOTGFS DFSBUPS JNBHF TXG PLBP VSBOBJ EFDPNBJM SFDPNNFOE
ը࣭ͷͩ͜ΘΓ ֦େCJDVCJD๏ ॖখCJMJOFBS๏ ҎԼͷॖখ໘ੵฏۉ๏
import java.awt.Toolkit; import java.awt.image.AreaAveragingScaleFilter; import java.awt.image.BufferedImage; import java.awt.image.FilteredImageSource; import java.awt.image.ImageFilter;
BufferedImage tempImage = .. ImageFilter filter = new AreaAveragingScaleFilter(scaleSize.getWidth(), scaleSize.getHeight()); FilteredImageSource fis = new FilteredImageSource(tempImage.getSource(), filter); Image filteredImage = Toolkit.getDefaultToolkit().createImage(fis); ໘ੵฏۉ๏αϯϓϧ
ձһ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏεགྷΓظ
τϐοΫ ձһͷ৳ͼ͕಄ଧͪ πΪϋΪͰ࡞͖ͬͯͨαʔϏεͷݶքײ ͔͚ۚͳ͍ํ๏ͷࡧΛ͍ͨ͠
େ͖ͳվमҊ 4/4ػೳ ग़ͯདྷͯ શ໘ϦχϡʔΞϧΛܾҙ
ϦχϡʔΞϧݴޠΛม͑Δʁ w ϦχϡʔΞϧʹ͋ͨͬͯϝΠϯͷ։ൃݴޠΛ4DBMBʹ͢Δ͔ ͱ͍͏͕ٞר͖ى͜Δ w 4DBMB1SPT ॊೈͳݴޠදݱɺڧྗͳϦετૢ࡞ɾύλʔϯϚονͳͲ +7.ʹΑΔϋΠύϑΥʔϚϯε +BWBͷࢿ࢈͑Δ ઑͬͨ։ൃऀʹ͞ΔͷͰͳ͍͔ͱ͍͏ظ
ຊʹΔͷʁ w 4DBMB$POT ࣌ 8FCϑϨʔϜϫʔΫͷܾఆଧ͕ແ͍ 1MBZܥ-JGU ίϯύΠϧʹ͕͔͔࣌ؒΓ*%&ͷରԠශऑͰ͋ͬͨ طଘ։ൃऀͷֶशίετ
w 4FBTBSίʔυɾϥΠϒϥϦΛྲྀ༻͠ͳ͍ͱ͕͔͔Δ w ৽نࣄۀͷབྷΈͰਓࡐΛকདྷతʹ֬อग़དྷͳ͍Մೳੑ
͜͜ͰकΓʹೖͬͯ +BWBΛબ
ϦχϡʔΞϧߏ ϑΝΠϧ ըొ%# ΦϒδΣΫτετϨʔδ %# %# 8FCΞϓϦέʔγϣϯ +BWB4& 5PNDBU 4FBTBS
αʔό̒ ը૾ొ%# %# 0SBDMFH αʔό %# .Z42- 4QJEFS αʔό ΦϒδΣΫτετϨʔδ .PHJMF'4 αʔό ϓϦᝑମ ϑΟʔνϟʔϑΥϯ ը૾ొ 8&# )551)5.- ը૾Ξοϓϩʔυ
ֶΜͩ͜ͱ w ΞʔΩςΫνϟͷ౷ҰΛͯ͠+BWBͰεϐʔυײΛ࣋ͬͯ։ ൃͰ͖ͨ 44USVUT4%BP47FMPDJUZ w վमͨ͠ΠϯϑϥɾϛυϧΣΞ҆ఆಈ࡞ͤ͞Δͷʹ࣌ؒ ͕͔͔Δ ϓϨΦʔϓϯɺЌςετͳͲ࣮ࢪ͢Εྑ͔ͬͨ ԯը૾ଟ͔ͬͨʜ
w શ෦ॻ͖͑Δ௧Έ૬ͷͷͰ͋ΓԿճग़དྷͳ͍
ΞδΣϯμ w ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓΜͰ͍Δ͜ͱͱࠓޙͷల w ·ͱΊ
ϑΟʔνϟʔϑΥϯ͔Β εϚʔτϑΥϯ
)5.- $44 +BWB4DSJQU ωΠςΟϒΞϓϦ J04"OESPJE ௨৴ΩϟϦΞಠࣗ)5.- 'MBTI ௨৴ΩϟϦΞಠࣗೝূ 0"VUIͳͲΦʔϓϯͳೝূ ࢀೖোนߴ͍
ຊಠ༷ࣗ ୭ͰαʔϏεߏஙՄೳ ੈքڞ௨༷ εϚʔτϑΥϯγϑτ
εϐʔυײɺڝ૪ྗ͕ͳ͍ͱ ਰୀ͢Δͱ͍͏ةػײ
Ͳ͏͢Ε εϐʔυΛͬͱग़ͤΔͷ͔ʁ
·ͣʮͬͯΈΔʯ
w ΞδϟΠϧϓϩηεಋೖͰഓͬͨจԽ ࡉ͔͍վળͷੵΈॏͶ Ϣχοτςετɾ݁߹ςετΛ͔ͬ͠Γ࣮ࢪ w ߴෛՙରԠʹؾΛΘͳͯ͘ྑ͍ͷڌΓॴ +7.ͷύϑΥʔϚϯε ΠϯϑϥɾαʔϏεӡ༻ज़ ͬͯΈ͍ͯαΠΫϧͰվળΛॏͶΔ
w ར༻։ൃݴޠͷߜΓࠐΈ εΫϦϓτهड़ 1FSM3VCZˠ(SPPWZ ӡ༻πʔϧ 4DBMB3P3ˠ+BWB +BWB4DSJQU͕৽ͨʹඞਢʹͳΔͷͰઐ೦͢Δ w
ίΞͳΞʔΩςΫνϟͱΓ͋͑ͣखΛ͚ͭͳ͍ɻ4FBTBS ߋ৽͞Εͳͯ͘ؾʹͳΔ͚ͲઌૹΓ w ͨͩ͠ݴޠ࣮ߦڥͷ࠷৽Խదٓߦ͏ αʔϏε։ൃʹूத͢Δ
w ͦΕ·ͰνʔϜͩͬͨ։ൃΛదʹׂɾՃ͢Δ ৫Λ࠷దԽ͢Δ αΠτ։ൃνʔϜ "1* ΠϯϑϥνʔϜ σʔλղੳνʔϜ ωΠςΟϒΞϓϦ ։ൃνʔϜ ׂ
Ճ ɾɾɾ ΞϓϦ։ൃνʔϜ
݁Ռ૿͍͑ͯͬͨͷ ωΠςΟϒΞϓϦ J04"OESPJE εϚϑΥαΠτ՝ۚ "1*αʔό ೝূαʔό ը૾৴αʔό εϚϑΥαΠτ
·ͩ·ͩΔ
w શϦϙδτϦΛ47/͔Β(JU)VCͷҠߦ w HJUqPXͱ1VMM3FRVFTUʹΑΔෳਓͰͷεϜʔζͳ։ൃ ։ൃϑϩʔΛݟ̍͢
HJUqPX ϒϥϯνઓུ %FWFMPQϒϥϯνͷϚʔδˠ1VMM3FRVFTUϨϏϡʔ IUUQTSVBUMBTTJBODPNKBHJUXPSLqPXTXPSLqPXHJUqPX
w σΠϦʔϏϧυɾςετͷపఈ w νϟοτ 4MBDL ͷಋೖʹΑΔνʔϜঢ়گͷϦΞϧλΠϜ Ѳ ։ൃϑϩʔΛݟ̎͢
اը ։ൃ Πϯϑϥ 4MBDLΛϓϩδΣΫτμογϡϘʔυͱͯ͠ ։ൃͷঢ়گѲվળΛਐΊΔ ঢ়گѲ
݁Ռ૿͍͑ͯͬͨͷ̎ ωΠςΟϒΞϓϦ J04"OESPJE εϚϑΥαΠτ՝ۚ "1*αʔό ೝূαʔό ը૾৴αʔό εϚϑΥαΠτ ΞϓϦ՝ۚ Ϋϥυͷ
෦తར༻ σʔλूܭγεςϜ 64ରԠ "#ςετγεςϜ ϙΠϯταΠτ
4 ϓϦᝑମ 3%4 ΦϒδΣΫτετϨʔδ %# %# εϚʔτϑΥϯϒϥβ ը૾ొ 8FC 8FC
ೝূ "1* ը૾ 64 "84 +1 "84 ΦϯϓϨ 4 3FETIJGU 64ϓϦᝑମ &5- εϚʔτϑΥϯରԠߏ ൈਮ ը૾ొ ϑΝΠϧ εϚʔτϑΥϯΞϓϦ DBDIF
εϚʔτϑΥϯରԠߏ ൈਮ '1418FC +BWB4& 5PNDBU 4FBTBS αʔό "1*"VUI*NBHF +BWB4& 5PNDBU
4FBTBS αʔό σʔλϕʔε 0SBDMFH 4&3"$ αʔό
αʔϏε͕૿͖͑ͯͯग़ͯདྷΔ w ϩάऩूͷ αʔό͕ଟ֬͘ೝ͠ʹ͍͘ w όονॲཧͷ ͲͷαʔόͰԿ͕͍ͭಈ͍͍ͯΔͷ͔ͷཧग़དྷͳ͍
w +BWBδϣϒεέδϡʔϥ w 8FCίϯιʔϧͰཧ w શόονΛॲཧத
ӡ༻ߏ ΠϯϑϥνʔϜ اըνʔϜ ։ൃνʔϜ σʔλղੳνʔϜ ຊ൪ڥ EFQMPZ όονॲཧ ࢹ
ֶΜͩ͜ͱ w ࡉ͔͍վળͷੵΈॏͶ͕େ͖ͳޮՌΛग़͍ͯ͘͠ w ࣄۀͷ͕࣮ײग़དྷΔͱ։ൃ͕·ָͨ͘͠ͳ͖ͬͯͨ
ΞδΣϯμ w ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓΜͰ͍Δ͜ͱͱࠓޙͷల w ·ͱΊ
͜Ε͔ΒΔ͖͜ͱ w ΫϥυͷҠߦ ϓϦػͱͷଓωοτϫʔΫσʔλอޢͷ w ར༻ϑϨʔϜϫʔΫͷݶք 4FBTBS 4FBTBSͰ࡞ͬͨԶͨͪͷαʔϏεͷࠓ IUUQXXXTMJEFTIBSFOFUKZVLVUZPTFBTBS
4QSJOHϕʔεҠߦΛਐΊΔ w ڞ༗ͷίϯϙʔωϯτΛഉআ
νʔϜਤ ͓͞Β͍ αΠτ։ൃνʔϜ "1* ΠϯϑϥνʔϜ σʔλղੳνʔϜ ωΠςΟϒΞϓϦ ΞϓϦ։ൃνʔϜ
ڞ௨ͷίϯϙʔωϯτ %# Πϯϑϥ DPSFKBS ڞ௨ϥΠϒϥϦ '18FC 418FC "1* %# .PHJMF'4
NFNDBDIFE "VUI *NBHF Τοδ αΠτ "1*
ڞ௨ՕॴΛෳνʔϜͰ৮Δ w ҙਤ͠ͳ͍ػೳ͕ϦϦʔε͞ΕΔةݥੑ HJUqPXͰͷཷ·ͬͨGFBUVSFͷϦϦʔε࣌ ςʔϒϧߏมߋ࡞ۀ͕ඞཁͳͷ͕ൈ͚Δͱ·͍ͣ ֬ೝ࡞ۀʹखΛऔΒΕΔ w ݁߹ςετ࣮ࢪճͷ૿Ճ w ։ൃνʔϜ͕૿͠ʹ͍͘
νʔϜɺνʔϜͱͳͬͨ߹͞Βʹίετ͕ߴ͘ͳΓͦ͏
มߋͷํˠআʑʹׂ DPSFKBS Өڹখ DPSFKBS Өڹখ Өڹখ Өڹத Өڹେ Өڹେ DPSFKBS
w ํੑͱͯ͠զʑͷࢦ͢ͷͬΆ͍ ৫্ͷ੍ݶΛऔΓ͏ͨΊͷબࢶ ϨΨγʔίʔυΛϦΞʔΩςΫτ͢ΔͨΊͷબࢶ w ͨͩ͠ஈ֊Λ౿ΜͰ࣮ࢪͨ͠ํ͕ྑͦ͞͏ ϚΠΫϩαʔϏεΞʔΩςΫνϟ
αʔϏεׂ ஈ֊తʹ %# Πϯϑϥ ڞ௨ 418FC "1* .PHJMF'4 NFNDBDIFE "VUI
*NBHF Τοδ 4FSWJDF DPSFKBS
αʔϏεׂ ஈ֊తʹ ڞ௨ 418FC "1* "VUI *NBHF Τοδ 4FSWJDF DPSFKBS
%# Πϯϑϥ .PHJMF'4 NFNDBDIFE /FX %#
ୈҰาΛ౿Έग़ͯ͠Έͨ w εϚʔτϑΥϯΞϓϦ͚ϓογϡ௨ॲཧͷׂ w ΞϓϦͰͷར༻ͷΈͳͷͰӨڹ͕খׂ͍͘͢͞͠ίϯ ϙʔωϯτ w ඇಉظͰॲཧՄೳͳͨΊࢄγεςϜతʹߟྀ͢Δ͜ͱ গͳ͍
"1* DPSFKBS ͱͱͷϓογϡ௨αʔϏε 1VTI/PUJpDBUJPO "1/T ($.'$. )5514 ϓογϡ௨ ᶃ ᶄ
ᶅ
"1* DPSFKBS ϓογϡ௨αʔϏεͷվमҊ 1VTI/PUJpDBUJPO 4FSWJDF "1/T ($.'$. )5514 ϓογϡ௨ ΠϕϯτΩϡʔ
ᶃ ᶄ ᶅ ᶆ
࣮ݱʹ 4QSJOHΛ͓͏
4QSJOH$MPVE4USFBN IUUQTCMPHJLBN
ϓογϡ௨େྔʹ৴͞ΕΔ ͜ͱΛߟ͑Δͱ ,BGLBΛ#JOEFSʹͯ͠ΈΔ
,BGLB 4JOLઃఆҙ w (SPVQ TQSJOHDMPVETUSFBNCJOEJOHTJOQVUHSPVQ ͷઃ ఆ͕ͳ͍ͱશ4JOL͕Ԡ͢Δ w 4JOL࠶ىಈ࣌ʹաڈॲཧϝοηʔδΛ࠶औಘ͢Δ TQSJOHDMPVETUSFBNLBGLBCJOEJOHT\EFTUJOBUJPO^DPOT
VNFSTUBSU0⒎TFUMBUFTUΛઃఆ͢Δͱ࠶औಘ͠ͳ͍ ,BGLB 4JOL 4JOL
w ΫϥελϦϯάߏࢼݧ w ҟৗܥಈ࡞ɺ෮ؼࢼݧ w ࠶ىಈࢼݧ γεςϜςετ͔ͬ͠Γ࣮ࢪʂ
4QSJOH#PPUͷྑ͞ w গͳ͍ίʔυྔͰෳࡶͳॲཧΛ࣮ݱͰ͖Δ w ๛ͳؔ࿈ϥΠϒϥϦ܈ʂ w ఆظతʹϓογϡΛ৴͢Δαʔό؆୯ʹߏங 4DIFEVMJOH5BTLTΛར༻ͨ͠
@EnableAutoConfiguration @EnableScheduling public class NotificationApplication { @Autowired Source source;
@Scheduled(cron = "0 0,10,20,30,40,50 * * * *", zone = "Asia/Tokyo") public void execute() throws InterruptedException { // find push message entry // … // send message source.output().send(MessageBuilder.withPayload(message).build()); return; } public static void main(String[] args) { SpringApplication.run(NotificationApplication.class, args); } } 4DIFEVMJOH5BTLT
"1* DPSFKBS վमޙͷϓογϡ௨αʔϏε "1/T ($.'$. )5514 ϓογϡ௨ ,BGLB )551 /PUJpDBUJPO
4FSWJDF 4QSJOH#PPU 1VTI/PUJpDBUJPO 4JOL 4QSJOH#PPU ఆظϓογϡ ૹ৴πʔϧ 4QSJOH#PPU
"1* DPSFKBS վमޙͷϓογϡ௨αʔϏε "1/T ($.'$. )5514 ϓογϡ௨ ,BGLB )551 /PUJpDBUJPO
4FSWJDF 4QSJOH#PPU 1VTI/PUJpDBUJPO 4JOL 4QSJOH#PPU ఆظϓογϡ ૹ৴πʔϧ 4QSJOH#PPU ઈࢍࣄத
ఆظϓογϡ௨৴ͷํ ຖඦສ௨ॲཧ͍ͯͯ͠ ҆ఆͯ͠·͢Αʂ
ࡶײɿಘҙΛ͚ͯΈͯ w ,BGLBͷΑ͏ͳෳࡶͳฒྻॲཧഉଞ੍ޚͳͲΛѻ͏ϑϨʔ ϜϫʔΫ෦Λ4DBMBͰॻ͘ w ϑϨʔϜϫʔΫར༻ʹ͍ͭͯ+BWBΠϯλʔϑΣʔεΛ༻ҙ ͯ͠ށΛେ͖͘։͍͓ͯ͘ w ࠷ۙͰ-BHPN 4DBMBϚΠΫϩαʔϏεϑϨʔϜϫʔΫ
ͦͷΑ͏ͳྲྀΕʁ
ֶΜͩ͜ͱ w ੩తݴޠͱڧྗͳ*%&ͰαʔϏεׂḿΔ w +BWBͰग़དྷΔ͜ͱΛྑ͘Βͳ͔ͬͨ 4QSJOH$MPVE/FUqJYͳͲͰ͍͢͝πʔϧ͕നԡ͠ +BWBྑ͍Ͱ͢Ͷʂָ͍͠ʂ w ͬͱׂΛਐΊ͍ͯͬͯྑͦ͞͏ͩ
ΞδΣϯμ w ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓΜͰ͍Δ͜ͱͱࠓޙͷల w ·ͱΊ
$PODMVTJPO w ࣄۀڥʹ߹Θͤͯటष͋͘Δ͕αʔϏεΛ֦େग़དྷͨ w େ͖ͳίʔυϕʔε৫ʹӨڹ͢Δෛ࠴ʹͳΓ͑Δ w ৫Λॊೈʹ͠Α͏ͱ͢ΔͱࣗવͱϚΠΫϩαʔϏεΞʔΩ ςΫνϟʹ͔͍ͬͯ͘ͱײ͡Δ w +BWB+7.ͷ҆ఆੑ࠷ߴͩ
ࠓ +BWB4QSJOH$MPVE ͳͲͷΩʔϫʔυʹϫΫϫΫ
ઌͷվળΛଓ͚͍ͯ͘ͱ ͞Βʹ̍̌ܦͬͯ·ͨ͠ͱ ͳ͍ͬͯΔؾ͕͢Δ
࠷ޙʹ ϑϦϡʔͰҰॹʹಇ͍ͯ ͘ΕΔΤϯδχΞΛืूதʂ IUUQXXXTBJZPGVSZVKQJOEFYIUNM