SPRING FEST ’19 https://springfest2019.springframework.jp/
4QSJOH鲚鳏鳢鲩鱅鲯鳟鳫鱳鲾鲱鳀ಓ۩鱉鱮鱘鲒ɺ鲔鱯鱉鱮鱘鲒4QSJOH'FTU5!JSPG
View Slide
JSPG鱺鱩鱋鱳鳏鳥鲨鳡鳖։ൃ鲍鲒鱟ʢ鱳นଧ鱦૬खʣ鱇鱤鲏鲃鱍鱳鱘鱭鲗鱇鱤鲏鲃鱍鱳鱘鱭鱰鱜鱤鱉鱉鱛鱭ݴ鱋࣌鱰鱬鱒鲐鱳鱴鱉鱩鲇鲉鱨鱫鲐ɺ鱺鱩鱋鱳鱘鱭
鱞鱘鱭鱺鱩鱋鱳鱘鱭鲗鱜鲃鱞ɻ4QSJOH鲚鳏鳢鲩鱅鲯鳟鳫鱳鲾鲱鳀鱞鲐ࡍɺࢲ鱑鱨鱫鱉鲐ಓ۩鱳հ鲗鱜鲃鱞ɻ鱋ɺ鲔鱯鱉鲗அ鲗鱮鱳鲍鱋鱰鱜鱫鱉鲐鱐鲗鱜鲃鱞ɻ鲫鳫鲾鲥鲱鳀鱴4QSJOH#PPU鱳4QSJOH8FC.7$ɻ
鱚鱯鱉鱘鱭ීஈ鲉鱨鱫鱉鱯鱉鱘鱭鱴鱜鲃鱠鲘ɻ鱮鱳ಓ۩鲗鱋鱾鱒鱭ݴ鱨鱤ɺҰൠత鱯鱍鱳鲍鱋鱯鲇鱳鱴鱜鲃鱠鲘ɻ鱯鱳鱬ʮ鱘鲑鱍鱵鱉鱉鱳鱰ʯ鱯鱮ɺ鱇鲐鱐鱭ࢥ鱉鲃鱞ɻ鱡鱷鱏鱜鱜鲃鱜鲌鱋ɻ
ఆ鱞鲐օ༷4QSJOH8FC.7$鱬։ൃ鱜鱤鱘鱭鱑鱇鲐4QSJOH#PPU鱬։ൃ鱜鱤鱘鱭鱑鱇鲐+6OJU鱬鲾鲱鳀鱜鱤鱘鱭鱑鱇鲐鲾鲱鳀鲗鱮鱋鱞鲑鱵鱉鱉鱐鲘鱬鱉鲐
ظ鱞鲐݁Ռ鲾鲱鳀鲗鱮鱋鱜鱫鱉鱘鱋鱐ߟ鱍鱴鱝鲆鲎鲑鲐
鱏鱜鱯鱑鱒ର鲚鳏鳢鲩鱅鲯鳟鳫ಓ۩鲗鱛鱨鱔鲏հ鲾鲱鳀鱴แؚؔ鱰鱇鲐ʁ鱉鱮鱘鲒鲔鱯鱉鱮鱘鲒
ର鲚鳏鳢鲩鱅鲯鳟鳫
ಓ۩鲗鱛鱨鱔鲏հ
鱛鱨鱔鲏Ұཡ+6OJU.PDLJUP4QSJOH5FTU4FMFOJVN%PDLFS
+6OJU+6OJU鱑鳢鳢鱅鲱鱚鲑鱫鱑ܦ鱦鲃鱜鱤ɻ鲇鱋৽نಋೖ鱳鳢鲱鲧鱴鲀鲁鱇鲏鲃鱠鲘ɻ鱺鱩鱋鱰+6OJU鲗બ鱜鱫େৎɻhttps://speakerdeck.com/irof/junit-5falsekuo-zhang-ji-neng-wowan-quan-nimasutasitaࠓ݄鱳ؔ鲰鳛鳈鱬鱜鲃鱜鱤
.PDLJUP鳚鲻鲧鳡鲜鳎鳡鳢ɻ鳚鲻鲧鳡鲜鳎鳡鳢鱴鱤鱔鱚鲘鱇鲐鱖鲑鱮ɺ.PDLJUP鱔鲎鱉鱑鳉鳧鳍鳣鱞鱓鱯鱔鱫鲄鱬鱞ɻ4QSJOH#PPU5FTU鱬ˏ.PDL#FBO鲇鱍鲐鱜ɻ
4QSJOH5FTU4QSJOH鱋鱯鲎鱺鱩鱋鱋鲍鱲ɺ鱭鱉鱋鲾鲱鳀鲭鳕鱅鳀鲼鱅鳣܈ɻެࣜ鲗Ұ௨鲏ݟ鲃鱜鲌鱋ɻIUUQTEPDTTQSJOHJPTQSJOHGSBNFXPSLEPDTDVSSFOUTQSJOHGSBNFXPSLSFGFSFODFUFTUJOHIUNM+6OJU࿈ܞ鲇鱘鱯鲑鱫鱒鲃鱜鱤ɻ鳍鳤鱅鳘鳧鱅鲧鲭鳕鱅鳀鱴ղ鱑ᐆດ鱰鱯鲏鱑鱦鱯鱳鱬ɺ鱜鱨鱐鲏ࣝผ鱜鲃鱜鲌鱋ɻ鱘鱳鱴ޙ鲀鱮鲇鱋Ұ৮鲑鲃鱞ɻ
4QSJOH#PPU+6OJU+6OJU鱑鲿鳍鲡鳣鳀鱰ɻ鱘鲑鲃鱬鲇ґଘ鱰Ճ鱜鱤鲎鱍鱫鲃鱜鱤鱑ɺԿ鲇ॻ鱐鱯鱔鱫鲇鲍鱔鱯鲏鲃鱜鱤ɻWJOUBHFೖ鲑鲐鱭৭ʑअຐ鱯鱳鱬֎鱜鲃鱞鱑ɻ
4FMFOJVNྺ࢙鱇鲐鳎鳡鲞鲮ࣗಈԽ鲼鱅鳣鱳ද֨ɻଞ鲇৭ʑग़鱫鱒鱤鱖鲑鱮ɺ4QSJOHจ຺鱥鱭+BWB鱰鱴ෆࣗ༝鱜鱯鱉鱳鱬4FMFOJVN鱑ແ鱬鱞ɻ鳈鱅鲰鳟鳫鲚鲻鳏鱬鱇鲐ఔ鱉鲉鱞鱔鱯鱨鱫鱤鲏鱜鲃鱞ɻ4FMFOJEF鲉(FC鱯鱮鱴鱏鲄鱬鱮鱋鱣ɻ4FMFOJEF鱴8%#13&447PM鱬ॻ鱒鲃鱜鱤ɻ
%PDLFS鱢鲒鱢鲒鲔鱯鱉鱘鱭鱑鳢鲱鲧鱰鱯鱨鱫鱒鲃鱜鱤ɻಓ۩鱳ಋೖ鱴鱐鱯鲏৻ॏ鱯ࢲ鱳ײ֮ɻ鱬鲇ಋೖ鱴鲃鱥鲃鱥鱯ײ鱝鲇鱜鱫鱉鲃鱞ɻৗ༻鱜鱫鱉鲐ํ鱐鲎鱜鱤鲎ʮࠓߋʁʯ鱭ࢥ鲔鲑鲐鱐鲇鱜鲑鲃鱠鲘ɻ
%PDLFS鱑ग़鱫鱔鲐鱭鱘鲒ίʔσΟϯάνΣοΫΠϯϏϧυ&ςετσϓϩΠ ςετϏϧυڥόοΫΤϯυαʔϏεΞϓϦέʔγϣϯͷ࣮ߦڥ e2eςετ࣮ߦڥόοΫΤϯυαʔϏε4QSJOH鲚鳏鳢鲩鱅鲯鳟鳫鱳։ൃ鱬鱴鲫鱅鳁鲗ॻ鱔։ൃڥ鱬鱴鲔鱯鱉鱭ࢥ鱉鲃鱞
鲾鲱鳀鱴แؚؔ鱰鱇鲐ʁ
鲾鲱鳀鱳แؚؔ鳤鲜鳜鱅鳁鲚鱅鲥鲾鲧鲹鳛鲗鱭鲐Ҏ্ɺ鲾鲱鳀鱴แؚؔ鱰鱯鲏鱍鲃鱞ɻ
鲍鱔ฉ鱔ʮ্Ґ鱳鲾鲱鳀鱬શ෦鱬鱒鲐鱳鱬鱴ʯʮ鱮鱘鱐鲎鲾鲱鳀鲗鱞鲐鱳鱑鱉鱉鱐鲔鱐鲎鱯鱉ʯʮ鱮鱋ॅ鲄鱖鲐鱳鱑鱉鱉鱐鲔鱐鲎鱯鱉ʯʮ鲾鲱鳀鱜鱫鱉鲐鱘鱭鱑ॏෳ鱜鱫鱉鲐ʯ
แؚؔ鱰鱯鲏鱍鲐ʺ鱞鲐鱬鱒鲐鱘鱭鱭鱞鲐鱘鱭鱴۠ผ鱞鲐ඞཁ鱑鱇鲏鲃鱞ɻ্Ґ鱐鲎鱬鱴鱬鱒鱯鱉鲇鱳ɺ鲉鲏鱪鲎鱉鲇鱳鲇ग़鱫鱒鲃鱞ɻ
鲾鲱鳀鳌鳡鳗鲻鳁্Ґ鲀鱮ॾʑ鱳鲫鲱鳀鱑ਹ鲅鱳鱬ɺԼҐ鱳鲗૿鲉鱜鱫鱉鱘鱋鱭鱉鱋ɻ্Ґ鲀鱮࣮鲇࣮ߦ鲇ղੳ鲇鲫鲱鳀鱑鱐鱐鲐ɻʜʜ鱭ݴ鱋鲇鱳鱨鲂鱉ɻ&&*OUFHSBUJPO6OJU
鲾鲱鳀鱜鱤鱉鱘鱭鱴Կʁ
දࣔ+BWB4DSJQU鱳ಈ鱒
鲱鲾鲛鲻鲥鱅鲳鲻鲯鳟鳫
鳐鲻鲸鱅ฤूSFXSJUF
ଞ鲇৭ʑ鱇鲏鲃鱞鱑ׂѪ鳢鲧鲠鲱鳀鱳౸ୡ
鳈鳢鲿鱅鲯鳟鳫4FSWJDFݺ鱸ग़鱜ը໘ભҠ)5.-ॻ鱒ग़鱜ݖݶ
鳢鳕鲰鳀鳢鱳ݺ鱸ग़鱜
鳖鲻鳌鳫鲨42-
鳥鲰鲻鲧鳥鲰鲻鲧鳥鲰鲻鲧鳥鲰鲻鲧
ʻݪଇʼ鲾鲱鳀鱜鱤鱉鱘鱭鱳ۙ鱔鱬鲾鲱鳀鲗ߦ鱋
鲾鲱鳀鱜鱤鱉鱘鱭ʹ鲉鱨鱫鲐鱘鱭鲉鱨鱫鲐鱘鱭鱰্Ґ鱬Өڹ鲗༩鱍鱫鱉鲐鱭鱜鱤鲎ઃܭ鲱鳙鳣ʜʜ鱯鱳鱥鱖鱮ɺ鱢鲘鱯៉ྷ鱰鱬鱒鱫鱯鱉鱘鱭鲇ଟ鱉鱬鱞ɻ鱢鱋ݴ鱋࣌鱴্Ґ鱐鲎鲉鲐鱜鱐鱯鱉鱳鱬ʮ鱉鱩鲇্Ґ鱐鲎鲉鲑鱵ྑ鱉ʯ鲄鱤鱉鱯鱘鱭鱰鱯鲏鱑鱦鱬鱞ɻ
ۙ鱉鱭鱘鲒鱬鲾鲱鳀鱞鲐鱤鲆鱳鳚鲻鲧鱳ಋೖ
ࢀߟ鳚鲻鲧鱭鲾鲱鳀鲸鳎鳣ସ鲗Ұ鳚鲻鲧鱭ݺ鱸鲃鱞ɻ5FTU%PVCMF鱰ݶ鲎鱟ɻ鱘鱳鱉鱖鱴鲾鲱鳀࣮࣌鱴༗༻鱬鱞鱑ɺձ࣌鱴鱇鲃鲏خ鱜鱔鱇鲏鲃鱠鲘ɻ鱘鱳ล鱴8%#WPM鱬ॻ鱒鲃鱜鱤ɻ4QSJOH鱰鲇৮鲑鱫鱉鲃鱞ɻ
લఏ鱮鱳鲍鱋鱯鲾鲱鳀鱬鲇Կ鱐鱜鲎鲗鳚鲻鲧鱜鱫鱉鲐鲾鲱鳀鳁鳡鲜鳈鱴ݺ鱸ग़鱜ݩ鲗鳚鲻鲧鱜鱫鱉鲃鱞ɻશ鱰ຊ൪鱭ಉ鱝ߏ鱬鱇鱨鱫鲇ɺ鲾鲱鳀࣮ࢪऀ鱴ར༻ऀ鲗鳚鲻鲧鱜鱫鱉鲃鱞ɻ鲇鱜ར༻ऀ鱰鲾鲱鳀鱜鱫鲇鲎鱨鱫鲇ɺ࣌ؒ鲉ঢ়گ鲗鳚鲻鲧鱜鱫鱉鲃鱞ɻա鱰鳚鲻鲧鲗سආ鱞鲐ඞཁ鱴鱇鲏鲃鱠鲘ɻநత
SeleniumϢʔβʔίϛϡχςΟษڧձin KansaiʮSeleniumΛಋೖ͢Δͱ͖ʹߟ͑Δ͜ͱͥΜͿʯΑΓ
ϞοΫͷಋೖͰґଘΛஅͪͬͯɺͳΔ͍ۙ͘ͱ͜ΖͰςετͰ͖ΔΑ͏ʹߟ͑·͢ɻ
ϒϥβHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructure4QSJOHจ຺鱯鱳鱬鲚鳏鳢鲩鱅鲯鳟鳫鲭鱅鳈鱅鲗ࡉ鱐鱔鱏ૹ鲏鱜鲃鱞ɻରΞϓϦέʔγϣϯͰSpringͷؔ͢Δ෦
ϒϥβHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructure鳞鱅鲮鱅
SeleniumDockerSeleniumChromeTestHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructure
ϒϥβTestHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructureMock
ϒϥβHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructureTestH2Database
ϒϥβHTMLSpringWebControllerServiceRepositoryMyBatisJDBCSQLDataBaseInfrastructureTestMock
鱉鱮鱘鲒鲔鱯鱉鱮鱘鲒
6OJU5FTU鱭鱐*OUFHSBUJPO5FTU鱭鱐ݴ༿鱭鱴ߦ鱜鱫ɺಓ۩鱳༻ཁ൱鱑鱇鲏鲃鱞ɻಓ۩鲗鱋鱘鱭鱑ྑ鱉໘鱥鱖鱬鱇鲑鱵ɺڝ߹鱜鱯鱉ಓ۩鱴શ鱫٧鲆ࠐ鲅鱳鱑ద鱯鱴鱟鱬鱞鱑ɺ鱢鱋鱴鱯鱨鱫鱉鲃鱠鲘ɻ鱩鲃鲏Կ鱐鱜鲎鱳鳉鳡鳙鱅鲷鱅鱑鱇鲏ɺ鱢鲑鱰ج鱪鱉鱫༻鱞鲐鱐鱮鱋鱐鲗அ鱜鱫鱉鲐鲔鱖鱬鱞ɻ
鱒ෆ鱒鱬鱒鲐鱐鱬鱒鱯鱉鱐鱬鱒鱯鱉鱭鱘鲒鱴ʮ鱉鱮鱘鲒ʯ鱳จ຺鱬鱴୯鱰鱍鱯鱉鱥鱖鱯鱳鱬鲅ඞཁ鱴鱯鱉鱒ෆ鱒鱉鱫鲐鱭鱘鲒鱬鱋ෆ鱒鱯鱭鱘鲒鱴鲔鱯鱉
鱒ෆ鱒鱳鳉鳡鳙鱅鲷鲾鲱鳀鲱鲧鳢鳏鳀鱳ཧղੑɺशಘੑɺมߋੑ鲾鲱鳀ࣦഊ࣌鱳ղੳੑ鲾鲱鳀࣮ߦ鱳࣌ؒޮੑɺࢿݯޮੑ鲾鲱鳀鱳҆ఆੑ鲾鲱鳀࣮ߦڥ鱳Ҡ২ੑʜʜ࣭ಛੑ鱭鱐鲗ࢀর鱜鱫ࡐྉ鱰鱞鲐鱭鱉鱉
࡞࣮ߦ ධՁอक֮͑͢͞ݪҼͷಛఆ͢͠͞έʔεͷѲ࣮͢͠͞ߦίʔυͷಡΈ͢͞ίʔυͷॻ͖͢͞ڥͷ४උ͢͠͞༻Ϧιʔε҆ఆࣗಈԽςετରͱͷۙ͞ϦʔυλΠϜҰྫ
鳉鳡鳙鱅鲷鱳鱉ํ鳀鳤鱅鳁鲢鳍鲗ೝࣝ鱞鲐ɻԿ鱐鲗Ճ鱞鲐鱭ɺඞ鱟Կ鱐鲗ଛ鱲鲃鱞ɻٕज़鲱鲷鲻鲧鱳૿ՃɻԿ鱐鲗ݮ鱜鱫鲇Կ鱐鲗ଛ鱲鲐鱭鱴ݶ鲏鲃鱠鲘ɻ鱢鲘鱯鲇鱳鱴ࣺ鱫鱫鱜鲃鱍ɻ
鱉鱫鱯鱉鲇鱳鲍鲏鱉鱫鱉鲐鲇鱳鲗ݟ鱩鱖鲐ɻ鱉鱫鱉鱯鱉鲇鱳鲗鱉鱫鱉鱯鱉鱭鱘鲒鱬ແཧཧ鲔鱯鱉ɻ鱘鲑鱑ʮ鲔鱯鱉鱮鱘鲒ʯ鱬鱞ɻ鱇鱤鲏鲃鱍鱳鱥鱖鲑鱮ɺҙ֎鱭鱬鱒鱯鱉ɻ
ಓ۩鱳鱉鱮鱘鲒鲗ݟۃ鲆鲐ʢ鱍鲐鱐鱮鱋鱐ฤʣʮ鱍鲐ʯ鱳࣍鱴લஈ鱳鱒ෆ鱒ɻ
ಓ۩鱳ొ鲯鱅鳫ςετରಓ۩ ಓ۩ςετεΫϦϓτ
ಓ۩鱳ొ鲯鱅鳫ςετରಓ۩ ಓ۩ςετεΫϦϓτMockMvcSeleniumRestAssuredMockRestServiceServerh2 database engineMockito
ك鱰鲍鱔ݟ鲐ࣄނςετରಓ۩ ಓ۩ςετεΫϦϓτຊʹςετ͔ͨͬͨ͠ൣғςετͰ͖ͳ͘ͳ͍ͬͯΔͱ͜Ζ
ྫ֎෦鲭鱅鳋鲱ݺ鱸ग़鱜鲗鲾鲱鳀鱜鱤鱉
.PDL3FTU4FSWJDF4FSWFSެࣜ鳁鲥鳝鳙鳫鳀ʣhttps://docs.spring.io/spring-framework/docs/current/spring-framework-reference/testing.html#spring-mvc-test-client
3FTU5FNQMBUF鱳鲄5&3"40-/"鳁鲥鳝鳙鳫鳀https://terasolunaorg.github.io/guideline/5.5.1.RELEASE/ja/ArchitectureInDetail/WebServiceDetail/RestClient.html5&3"40-/"鱴4QSJOH鱬࠷ॳ鱰ݟ鲐ຊޠ鳁鲥鳝鳙鳫鳀
.PDL3FTU4FSWJDF4FSWFS鱳࣮ݱํ๏MockRestServiceServerͷίʔυൈਮ
$MJFOU)UUQ3FRVFTU'BDUPSZ鱑ஔ鱒鱍鲎鲑鲐ɻ)551鲧鳡鲜鲚鳫鳀鱳ઃఆ鱴鲾鲱鳀鱬鱒鱯鱉鱜ɺ௨৴鲇વ鲾鲱鳀鱬鱒鱯鱉ɻϞοΫʹͳΔ ςετෆՄ
.PDL3FTU4FSWJDF4FSWFS鱬.FTTBHF$POWFSUFS鱭3FTU5FNQMBUF鱳鲄߹鲔鱠鱴鲾鲱鳀鱬鱒鲐ɻʜʜ鲍鱋ݟ鱍鲐ɻ鱜鱐鱜ɻ
3FTU5FNQMBUF鲗ड鱖औ鲐$PNQPOFOU鲗ߟ鱍鲐
10+65鱬鲾鲱鳀3FTU5FNQMBUF鲜鳫鲱鲷鳫鲱࡞鱨鱫ɻ.PDL3FTU4FSWJDF4FSWFS鱬鳈鲜鳫鳁鱜鱫ɻ3FTU5FNQMBUF鲗鲜鳫鲰鲟鲧鲯鳟鳫鱜鱤鲾鲱鳀ର鲜鳫鲱鲷鳫鲱鲗࡞鱨鱫ɻ鲾鲱鳀鱞鲐ɻ10+651MBJO0ME+6OJU5FTU鱭鱉鱋ྲྀߦ鲎鱠鱤鱉ޠQPKVU鱴গ鱤鱦鱨鱫ҙຯ鲎鱜鱉
4QSJOH#PPU鱨鱫鲾鲱鳀
鱮鱦鲎鱑ྑ鱉ʁʢ᠘ʣ᠘鱯鱳鱴ʮ.PDL3FTU4FSWJDF4FSWFS鲗鱋ʯ鱜鱐ݴ鱨鱫鱯鱉鱐鲎ɻ
.PDL3FTU4FSWJDF4FSWFS鱬鲾鲱鳀鱬鱒鱫鱉鲐鱭ݴ鱋鱤鲆鱰鱴ɺ3FTU5FNQMBUF鱑ظ鱞鲐鲇鱳鱬鱯鱖鲑鱵鱯鲎鱯鱉ɻ4QSJOH#PPU鱬"QQMJDBUJPO$POUFYU鲗鱏鱠鱜鱫鱉鲐鱳鱬鱇鲑鱵ɺԼख鱰4QSJOH+6OJU$POpH鲗鱨鱫ࣗ鱬鲳鲻鳀鲚鲻鳏鱞鲐鱭ɺ3FTU5FNQMBUF鱴ظ鱞鲐鲇鱳鱭ҟ鱯鲐ʢ鱐鲇鱜鲑鱯鱉ʣɻ鱭鱘鲒鱬鱮鲘鱯3FTU5FNQMBUF鲗ظ鱜鱫鱉鲐鲘鱬鱜鲌鱋ɺ鱢鱳鲾鲱鳀鱴ɻ
બ鱻鱤鲆鱰ඞཁ鱯ใ鱴ʁ鱘鱤鱍鱴ׂѪ
ྫ.PDL.WD鲗鱋߹鱴Կ鱑鲾鲱鳀鱬鱒ɺԿ鱑鲾鲱鳀Մೳൣғ鱐鲎֎鲑鱫鱉鲐ʁ
ࢀߟ鱮鱘鱬鳚鲻鲧鲗鱏鱋鱐https://irof.hateblo.jp/entry/2019/07/18/140046
ʮ鱮鲑鱑鳑鲱鳀鱬鱞鱐ʁʯߟ鱍鲃鱜鲌鱋ɻଞ鱰鲇鱇鲏鲃鱞ɻ鱮鲑鱰鲇鳙鳢鲻鳀鲿鳙鳢鲻鳀鱑鱇鲏鲃鱞ɻ鱯鱐鱨鱤鲎౫ଡ鱚鲑鱫鱉鲃鱞ɻ鲾鲱鳀鱜鱤鱉鱘鱭鱴Կ鱐ɺ鱘鱳鲾鲱鳀鱬鲾鲱鳀鱜鱤鱉鱘鱭鱴Կ鱐ɺ鱘鱘鱬鲾鲱鳀鱬鱒鲐鱘鱭鱴Կ鱐ɺ鱬鱒鱯鱉鱘鱭鱴Կ鱐ɺ鱘鱘鱬鱢鲑鲗鲾鲱鳀鱞鲐ඞཁ鱴鱇鲐鱐ɺ鲉鲎鱯鱐鱨鱤鲎鱮鱘鱬鲾鲱鳀鱞鲐鱳鱐ʜʜ
鱨鱫鱉鲑鱵鱇鱤鲏鲃鱍鱳鱘鱭鱥鱖鲑鱮ɺ鲎鱯鱖鲑鱵ෆՄղ鱯鱘鱭鱰鱯鲐ɻࣝෆ鲉צҧ鱉鱐鲎དྷ鲐ࣄނ鱬鲾鲱鳀鲼鱅鳣鱴ෆ鱯ධՁ鲗ड鱖鱑鱦ɻʮ鲾鲱鳀鱜鱤鱩鲇鲏鱰鱯鱨鱫鱉鱤ʯʮ鲾鲱鳀鱰鱯鱨鱫鱉鲐鱐鱮鱋鱐鲔鱐鲎鱯鱉ʯ
鱺鱩鱋鱰鱍鲐鲍鱋鱰鱯鲐鱰鱴ɺࣝ鱑ඞཁɻࣝ鲗鱩鱖鲃鱜鲌鱋ɻʜʜ鱭ݴ鱋鱳鱴গʑ鱜鱉ɻಓ۩鱑ଟ鱞鱓鲐ɻ鲾鲱鳀鱬鱒鱫鱉鲐鱐鲗֬ೝ鱞鲐ज़鲗鱰ண鱖鲐鱭鱉鱉鱭ࢥ鱉鲃鱞ɻྫ鱍鱵鲫鱅鳁鳢鱅鲿鲛鳫鲨ɺ鲾鲱鳀鳍鲙鱅鲱鳀ɺఆ鲗֎鱜鱫鱉鱤࣌鱰Ҿ鱨ֻ鱖鲎鲑鲐鲾鲱鳀
鲾鲱鳀鱬Ұ൪鱍鲐ಓ۩
ศརɻ鲘鱬ཱ鱦ࢭ鲃鱨鱫鱯鱉鱬ߟ鱍鲃鱜鲌鱋ɻ鱘鱳鲳鲻鲯鳟鳫鱑鱢鱳ࡐྉ鱳Ұ鱩鱰鱯鲑鱵鱉鱬鱞ɻߟ鱍鲐ࡐྉ鱴鲃鱥鲃鱥鱇鲏鲃鱞鱑ɺߟ鱍࢝鲆鲐鱭鱨鱐鱐鲏鱰鱴鱯鲐鱭ࢥ鱨鱫鱉鲃鱞ɻ鲃鱥鲏鱯鱉鱭鱐鱇鲑鱵鱏鱑鱖鱔鱥鱚鱉ɻ鲇鱋গ鱜ઌ鱐鲎鱴ݱ鱬鱜鱤鱉鱭鱘鲒鱬鱞ɻ