Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
Search
Recruit Technologies
October 01, 2020
Technology
1
1.5k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
2020/9/21_iOSDC Japan 2020での、石井&元の講演資料になります
Recruit Technologies
October 01, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
660
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
JavaScript Bootcamp 2020
rtechkouhou
1
43k
Other Decks in Technology
See All in Technology
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
Active Directory攻防
cryptopeg
PRO
7
4.4k
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
130
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
780
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
2.5Dモデルのすべて
yu4u
2
930
php-conference-nagoya-2025
fuwasegu
0
110
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
670
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
280
デスクトップだけじゃないUbuntu
mtyshibata
0
560
Featured
See All Featured
Docker and Python
trallard
44
3.3k
It's Worth the Effort
3n
184
28k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Faster Mobile Websites
deanohume
306
31k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Gamification - CAS2011
davidbonilla
80
5.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Code Review Best Practice
trishagee
67
18k
Transcript
ੴҪɹ५ ݩɹږप ؒ͜͜ͷ λϯϫʔΫJ04ΞϓϦͷΤϯδχΞͷνϟϨϯδ ʙݱͰͷ੍ͱͷઓ͍ʙ
հ ݩɹږप ΞϓϦ։ൃΧϨίϨ ࠷ۙ4XJGU6*ͱ+FUQBDL$PNQPTF͕େ͖ ͱΓ͋͑ͣʹͳΒͳ͍Α͏ʹؤுͬͯ·͢ ੴҪɹ५ ৽ଔೖࣾɺJ04ྺ ࠷ۙϨΨγʔγεςϜͷצॴ͕͔ͭΊ͖ͯͨʢͣʣ ೖࣾ࣌ͱൺͯମॏ͕LH૿͑ͨ ൃදऀ
Υϯώϣϯδϡ ΠγΠɹɹδϡϯ
࣍ ΤϯδχΞ͔ΒݟͨλϯϫʔΫΞϓϦͷಛ େنαʔϏεΏ͑ͷ։ൃݱͱͯ͠ͷ੍ νϟϨϯδʔ σόοάϞʔυ &&ςετπʔϧϨϯτήϯ Ϋϥογϡͷݮ
4XJGUԽ ίϯύΠϧͷվળ
ΤϯδχΞ͔Βݟͨ λϯϫʔΫΞϓϦͷಛ
ಛᶃɹ େنαʔϏεʢλϯϫʔΫʣ ͷΫϥΠΞϯτʢJ04ΞϓϦʣ
ͨ͏ΜΘʔ͘ʁ ʮϦϘϯϞσϧʯ ٻ ৬ ऀ ا ۀ ٻ৬ऀͱاۀͱΛϚονϯά͢ΔɺେنͳαʔϏε
େنαʔϏε ˞Լమͷ࿏ઢਤͰ͋Γ·ͤΜ https://speakerdeck.com/rtechkouhou/taunwaku90mo-yuan-gao-falsejie-zai-wozhi-eruregasibatutipahuomansutiyuningu-number-devsumi-number-devisumid
J04ΞϓϦͷείʔϓ https://speakerdeck.com/rtechkouhou/taunwaku90mo-yuan-gao-falsejie-zai-wozhi-eruregasibatutipahuomansutiyuningu-number-devsumi-number-devisumid ͕͜͜ΫϥΠΞϯτͷ είʔϓ ͜ͷJ04ͷͰ͢
ಛᶄɹ ΞϓϦγϯϓϧʁ
ΞϓϦͷ༷γϯϓϧ ݕࡧ Ұཡ ৄࡉ Ԡื
Ͱͳ͍ ը໘ɿɹɹɹɹɹɹɹɹը໘ શίʔυߦɿɹɹɹίʔυͷΈສߦ $PSF%BUBςʔϒϧɿɹɹɹݸ खಈςετ߲ɿɹ ߲ 6OJU5FTUʢ9$5FTUʣɿɹ έʔε
ಛᶅɹ ݹ͔͘Βͷ׆ൃͳ։ൃ
Γଓ͚͍ͯΔ ॳΊͯϦϦʔε͔ͯ͠Β ճܧଓతʹʢिճසʣҊ݅ΛΓࠐΜͰϦϦʔε ˞݄ج४
େنαʔϏεΏ͑ͷ ։ൃݱͱͯ͠ͷ੍
લఏͱͳΔ੍͕ೋͭ ̍ɽਐߦதͷҊ݅։ൃʹ2%ӨڹΛ༩͑ͨ͘ͳ͍ ɹɹɾෳνʔϜͰฒߦ։ൃ ɹɹɾ֤νʔϜ͕ͦΕͧΕͷ ɹɹɹϏδωε,1*ʹᬏਐ ̎ɽ։ൃޮԽେࣄ͕ͩɺ֎෦࣭͕࠷ॏཁ ɹɹɾٻ৬ऀاۀؒͷϚονϯά ɹɹɹͷͨΊͷ༷ΛकΔ ɹɹɾJ04ͱͯ͠ͷಈ࡞ج४ Ҋ͕݅
ৗ࣌ฒߦ ࢀߟɿେنϨΨγʔڥʹཱ͔ͪ͏༗ػతͳ։ൃϑΥʔϝʔγϣϯ
ϨΨγʔͳߏ͕ҡ࣋͞Εͯདྷͨ ਐߦதͷҊ݅։ൃͷ2%ʹӨڹϦεΫ͕͋ΔͨΊɺ ϦϑΝΫλϦϯάͰ͖ͳ͍ ݁Ռɺमਖ਼࣌ͷӨڹൣғ͕໌֬ʹΘ͔Βͳ͍ ɹɹɹ6OJU5FTUͰ୲อͮ͠Β͍ ܰ͘ ߦΛ͑Δ7$ͨͪ ݸΛ͑Δ$PSF%BUB&OUJUJFT ຆͲ͕.7ʢ1ʣ 0CKD4XJGU0CKDͱͦͷٯύλʔϯͷґଘؔ
·ͩಈ͘%FQSFDBUFE"1*ͳΒී௨ʹݱ 0CK$3VOUJNFͰحతʹಈ͍͍ͯΔܕͷϛεϚονॲཧ ΧΦεͷ··Ҋ݅։ൃଓ͘
݁Ռతʹςετ͕λΠϔϯ ཧతςετϐϥϛου ݱ࣮͜ͷΑ͏ͳΠϝʔδ *5 *5 && 65 *5 && ໌֬ͳςετείʔϓ
࠷ݶͷखಈςετ ΄ͱΜͲͷػೳΛखಈςετͰ୲อ͢Δ͔͠ͳ͍ 65 https://www.youtube.com/watch?v=VJi2vmaQe6w ᐆດͳςετείʔϓ *5ͱ&&ͷखಈςετ
࠷ѱͷεύΠϥϧ ςετʹ͕ୣΘΕΔ ։ൃ͕ѹഭ͞ΕΔ ϦϑΝΫλϦϯάઌૹΓ ϨΨγʔͷ··Ͱઃܭɾ࣮
੍ΛݟۃΊͯɺ νϟϨϯδͩʂ
͍͑ͨ͜ͱ վળͰେࣄͳ͜ͱ Ұൠతʹྑ͍ͱ͞ΕΔํ๏ΛҋӢʹऔΓೖΕΔ ͕ࣗͨͪ໘͍ͯ͠Δ੍Λਖ਼͘͠ཧղͯ͠ ࣗͨͪݻ༗ͷ՝ʹରͯ͠ޮՌతͳղܾࡦΛͱΔ ݁Ռɺখ͞ͳྗɾظؒͰ࠷େͷ݁Ռ͕ಘΒΕΔ
͜͜ͷ νϟϨϯδͷ͓ औΓΈͷ۩ମతͳ༰͕ؾʹͳΔํɺ Ξϯέʔτʹ࣭͝Λ͓ئ͍͠·͢
ᶃσόοάϞʔυͷ։ൃ
σόοάϞʔυͱ ήʔϜͰྫ͑Δͱࣗ༝ʹ-WΛʹͨ͠Γɺ Ӆ͞ΕͨΞΠςϜΛॴ࣋Ͱ͖ΔΑ͏ʹͨ͠Γ͢ΔӅ͞Εͨػೳͷ͜ͱ
ߟ͑ํ ςετ͕ͲΜͲΜΛѹഭ͍ͯ͠Δ ˣ ΄ͱΜͲखಈςετ ˣ ͱ͍͑ɺߏతʹࣗಈςετՄೳͳੈքߦ͘ʹ͍ಓͷΓ ˣ ˣ ˣ खಈςετޮԽͳΒɺɾظͰޮՌΛಘΒΕΔʂʂ
σϞ ΦϑγϣΞ։ൃ͚ͷࣗಈ༁
ଞʹͨ͘͞ΜͷػೳͰ खಈςετޮԽ ɾΞϓϦͷ͚ͩΛِʢຊମͦͷ··ʣ ɾखಈςετͷͨΊͷࣄલ݅ΛࣗಈͰੜ ɾը໘্Ͱ֬ೝͰ͖ͳ͍෦σʔλΛΞϓϦͷ7JFXʹදࣔ ِ σʔλੜ ϩάίϯιʔϧ "#ςετૢ࡞
खಈςετͷݮ *5 *5 && 65 σόοάϞʔυͰ ׂఔͷݮ खಈςετྖҬ ςετίʔυྖҬ खಈςετྖҬ
σόοάϞʔυେώοτʂ ࣮͕ೝΊΒΕɺԣల։͞Εͨ ɾ·ͣɺλϯϫʔΫ"OESPJE ɾ࣍ʹɺϦΫϧʔτδϣϒζͷ֤ϓϩμΫτ ςετఔͰσόοάϞʔυඞਢԽ ෦ίϯτϦϏϡʔλʔ૿Ճ ɾҊ݅։ൃ࣌ʹɺඞཁͳΒσόοάϞʔυΛ࣮ܰ͘͢Δ׳श λϯϫʔΫͷσόοάϞʔυͲΜͲΜਐԽதʂʂ
ᶄ&&ςετπʔϧͷ։ൃ dϨϯτήϯd
ͳΜͱ͔*5ͷίετݮΒ͚ͨ͠Ͳɾɾɾ *5 *5 && &&ςετ෦ߏΛม͑ͣͱࣗಈԽ͕Մೳͳͣ 65 ϨΨγʔߏͰΧόϨοδݶք ͦΕͰ͢Ͱʹ࣌έʔε σόοάϞʔυͰ ׂఔͷݮΒͨ͠ײ֮
खಈςετྖҬ ςετίʔυྖҬ खಈςετྖҬ ͜͜ΛࣗಈԽ͠Α͏ʂ
͔͠͠طଘͷ&&ςετπʔϧ՝͕͋ͬͨ ɾεΫϦϓτૢ࡞ͷޭՄ൱ͱɺ ɹεΫγϣಈըܗࣜͷΞτϓοτͰݕূΛߦ͏ͨΊɺ ɹݟͨҎ্ͷݕূෆՄೳ ɹɹྫʣ7JFXͷ֊6*ʹग़ͳ͍ଐੑͳͲ ɾ6*෦͝ͱͷݕূͷͨΊʹૢ࡞εΫϦϓτΛՃ͢Δ͔ɺ ɹBTTFSUจΛॻ͔ͳ͍ͱߦ͚ͳ͍ ͳ͚Ε࡞Εྑ͍ ৽͍͠Έͷ&&πʔϧʹνϟϨϯδʂ طଘ&&ςετࣗಈԽπʔϧͷ՝
ࣾ&&πʔϧʮϨϯτήϯʯΛ։ൃʂ ɾJ04ͷը໘7JFX$POUSPMMFS୯Ґ ɾ7JFX$POUSPMMFSͷ7JFX֊Խ͞Ε͍ͯΔ ɾը໘͕දࣔʢඳըʣ͞ΕͨΒ֊ʹԊͬͯݕূͰ͖Δͣ ։ൃͷ1PJOU 7JFX֊Λు͖ग़͠ɺࠩΛൺֱ͢Δ
ϨϯτήϯͷγεςϜߏ Ϩϯτήϯ4%, Ϩϯτήϯ"1* Ϩϯτήϯ8FC5PPM 7JFX֊ͷ +40/ ࣗಈૢ࡞
σϞ "QQJVNͰࣗಈૢ࡞
ཪͰ7JFX֊Λ%VNQ 7JFX֊Λͯ͢%VNQ
%VNQσʔλ+40/ʹม
+40/ʹมͨ͠σʔλΛαʔόʹੵ
+40/σʔλͳͷͰ ؆୯ʹࠩൺֱ͕Ͱ͖Δ جຊతʹ%VNQͨ͠HJUIBTI୯ҐͰ ಉ͡ૢ࡞εΫϦϓτͰൺֱΛߦ͏
ੵͨ͠ը໘σʔλΛ8FCͰ࠶ݱͰ͖Δ $BOWBTʹJ04ը໘σʔλΛඳը͢ΔϞδϡʔϧ։ൃ ը૾σʔλ#BTFԽͯ͋͠ΔͷͰ8FCͰඳըՄೳ
σϞ 8FC5PPMͰࠩͷ֬ೝ
Ϩϯτήϯ׆༻࣮ ఆظ࣮ࢪͷςετ ɾϦϦʔεલͷॏཁػೳͷਖ਼ৗܥςετ ϦϑΝΫλϦϯάͷςετ ɾ4XJGUԽͷςετ ɾґଘϥΠϒϥϦมߋޙͷςετ ϦϑΝΫλϦϯάܥͷςετͰ͜Ε͔Β׆༻໘ΛΊͯߦ͘༧ఆ ࠓ··ͰෆՄೳͩͬͨΞϓϦશମʹ Өڹ͢ΔΑ͏ͳվमɺ Մೳʹͳͬͨʂʂʂ
ᶅΫϥογϡͷݮ
࣭Λߟ͑Δͱ͖ʹɺ ΫϥογϡϨʔτॏཁ͕ͩʜ
Ͱ Ϋϥογϡ͕ഒҎ্ʹ
Ϋϥογϡ૿ՃͷݪҼʁ λϯϫʔΫΞϓϦͷ༷ଆ໘ λϯϫʔΫ࣭ج४ʹఆٛΞϦ ͜Ε͕ΞϓϦͷΫϥογϡ λϯϫʔΫ࣭ج४ʹఆٛφγ Ϋϥογϡʹؔͯ͠༏ઌ͕͔ͬͨ͜ͱ ੲ͔ΒλϯϫʔΫΞϓϦͰ࣭ج४͕ʮػೳʯͷΈͩͬͨ ͦͯ͠ΤϯδχΞओಋͰ ୲อ͢Δ͖ྖҬ "QQ$PSF2VBMJUZ(PPHMF
Ҿ༻IUUQTEFWFMPQFSBOESPJEDPNEPDTRVBMJUZHVJEFMJOFTDPSFBQQRVBMJUZ
্࣭ͷνϟϨϯδ ɾΫϥογϡϞχλϦϯάΛʑߦ͏ͨΊ$SBTIMZUJDTಋೖ ʢಋೖ͕͓ͦ͗ͨ͢ཧ༝ผͷࣾπʔϧʹґଘ͍ͯͨͨ͠Ίʣ ɾʑΫϥογϡʔΛѲ͢Δ ɾΫϥογϡʔ͝ͱͷൃੜ֬ɺ04ɺؔ࿈͢ΔॲཧΛੳ ɾۓٸॱΛܾΊͯJTTVFԽ͠ॗʑରԠ ɾରԠͨ͠όά࣍ͷϦϦʔεʹࠞͥࠐΉ ৗతʹΫϥογϡΛϞχλϦϯάɾվળ͢ΔΑ͏ ։ൃϓϩηεʹΈࠐΜͩ
େࣄͳͷখ͍͞ΞΫγϣϯΛॗʑΔ͜ͱ 1%$"αΠΫϧతͳ͜ͱͰ͢
ΫϥογϡϑϦʔϢʔβʔ͕ Ҏ্ʹճ෮ ͦͷޙɺλϯϫʔΫJ04$'6ͷΛҡ͍࣋ͯ͠·͢
ᶆ4XJGUԽ
0CKFDUJWF$ΑΓ4XJGU
ૣ͍λΠϛϯάͰ4XJGUΛಋೖ͚ͨ͠Ͳ λϯϫʔΫͰ݄͔Βঃʑʹ4XJGUΛಋೖ ํɿɹɾ৽نΫϥεΛ4XJGUͰ࣮ ɹɹɹɹɾہॴతͳ4XJGUԽճ࣮ࢪ ޙ ੍͕͋ΔͷͰ͔Β΄΅ಉ͡
ڞଘظ͕ؒ͘ͳͬͯ৭ʑ͕ൃੜ͍ͯͨ͠
0CK$ڞଘΛఆͨ͠Ϋϥεઃܭɾ࣮ίετ $MBTTͱ4USVDUઃܭ࣌ʹ0CK$ଆ͔Βͷར༻Λલఏʹ͢Δඞཁ͕͋Δ ઃܭɾ࣮ఔͷ࣌ؒͷ͏͕ͪ࣌ؒڞଘؔ࿈λεΫ
ΫϥογϡͷݪҼͷ΄ͱΜͲ 0CK$4XJGUڞଘՕॴ ίϯύΠϥʹΑΔOJMνΣοΫʹґଘͰ͖ͳ͍ͨΊϥϯλΠϜΤϥʔΛ ఆ࣮͕ͨ͠ඞཁʢOVMMBCMFطଘӨڹ͋ΓͷͨΊ֎ʣ ࣾݶ ࣌ͷ5PQΫϥογϡ͕ͯ͢ڞଘՕॴ
੍ΛݟۃΊͯɺ νϟϨϯδͩʂ ˞ಉ࣌ਐߦதෳҊ݅։ൃʹӨڹ͍͚ͯ͠ͳ͍
λϯϫʔΫྲྀ 4XJGUԽͷਐΊํ
Γͷ0CK$pMFΛͯ͢ϦετԽ pMFɺສߦʢશମͷׂ̑ʣ ΧςΰϦԽ ߦͰنײΛѲ ·ͣશରΛϦετԽ
։ൃঢ়گΛͯ͢Ѳͯ͠ύζϧܭը Ҋ݅։ൃͱ$POqJDUى͜͞ͳ͍ظؒɺ ߦ͔ΒͷنײͰ4XJGUԽରpMFΛબఆɻ ΄ͱΜͲ੍͕ݶ࣌ؒ 4XJGUԽͱฒߦͰෳҊ͕͍݅ͬͯΔ੍ʹϑΥʔΧε
՝ΛΦϑγϣΞ։ൃͰղܾ ͍σϦόϦʔ੍ͱΫΦϦςΟʔ୲อͷ͠͞Λ ɹຊΤϯδχΞʢ༗ࣝऀʣͱ ɹΦϑγϣΞ։ൃʢεέʔϥϒϧʣɹͰղܾ 0CKFDUJWF$4XJGUͷ࡞ۀ ର'JMFબఆ͓Αͼ ӨڹൣғѲ ίʔυϨϏϡʔ 65͓Αͼ*5 &&
ຊΤϯδχΞʢ༗ࣝऀʣ ΦϑγϣΞ։ൃʢεέʔϥϒϧʣ ࢀߟɿେنϨΨγʔڥʹཱ͔ͪ͏༗ػతͳ։ൃϑΥʔϝʔγϣϯ
΄΅͕̍ϚʔδαΠΫϧ બఆ࣌ʹӨڹൣғ͔ͬ͠ΓνΣοΫ͠ ͔ͯΒΦϑγϣΞ։ൃճ͢ 4XJGUԽ͔ΒίʔυϨϏϡʔ ΄΅Ͱྃ બఆ͔ͯ͠ΒཧΧϯόϯͰ
ຖॗʑ͍ͬͯ͘ ظ݄ؒd݄ʢʣ ਐͷ֬ೝ HJUIVCMJOHVJTUͰ͙͢ग़ͤΔ
ܭը௨ΓʹऴΘ͍ͬͯͨ ΓͷߏpMF pMFɺສߦ͕ظؒͰྃ ݄ྃ
ᶇϏϧυ࣌ؒͷվળ ɹ࠷ۙͬͯ·͢ʂ
Ϗϧυ͕࣌ؒ՝ େ͖͍ϓϩδΣΫτΏ͑ͷϏϧυ࣌ؒਂࠁͳ εΫϦϓτΛΈࠐΜͰϏϧυλΠϜΛܭଌ Ϝμʂʂ ։ൃऀਓ͋ͨΓʜ ɹϏϧυճճ݄ ɹϏϧυਓ݄ Ϗϧυ࣌ؒඵճ
ҰൠతͳղܾࡦͰɹޮՌແ͠ ɹɹɹɹɹɹɹɹɹɹ͙͢ޮՌΛಘΒΕͳ͍ ޮՌͳ͠ʜܕਪ࣌ؒͷվળɺϏϧυઃఆͷมߋͳͲ ͙͢ޮՌΛಘΒΕͳ͍ʜ'SBNFXPSLͷΓग़͠ͳͲɻӨڹ͕େ͖͕͔͔࣌ؒ͘ΔͨΊ ͦͦҰൠతͳঢ়ଶͰͳ͍ͨΊ λϯϫʔΫಠಛͳ͕ผͷͱ͜ΖͰ͋ͬͨ
ࠩϏϧυ͕શવޮ͍͍ͯͳ͍ʜ 3TXJGU͕΄΅શͯͷ7JFX7JFX$POUSPMMFSΛ ࢀর͍ͯͨ͜͠ͱ͕ݪҼͰɺ ͱͱෳࡶͳґଘ͕ؔ͞ΒʹෳࡶʹͳΓɺ ࠩϏϧυ͕΄ͱΜͲػೳ͠ͳ͔ͬͨ 3TXJGUΛআ٫ͯ͠ɺ ࠩϏϧυ͕ػೳ͢ΔΑ͏ʹͳͬͨɻ ݁ՌɺϏϧυ࣌ؒΛׂఔݮΒͨ͠
։ൃڥͷվળ ίΞҎ্ͷϚγϯʹ౷Ұ͠ɺ Ϗϧυ࣌ؒΛʙׂݮΒͨ͠ ͜ͷϓϩμΫτʹదͨ͠ϚγϯεϖοΫͷج४͕ແ͔ͬͨͨΊɺ εϖοΫͳϚγϯ͕ଟ͘ΘΕ͍ͯͨɻ ֤εϖοΫͷϚγϯͰϏϧυ࣌ؒΛܭଌɻඞਢϚγϯεϖοΫΛ͖ͭͱΊͨ
Ҿ͖ଓ͖৭ʑ͍ͬͯ·͢ʂ
Ҋࣄ߲
औΓΈͷ۩ମతͳ༰͕ؾʹͳΔํɺ ͪ͜Βʹ࣭͝Λ͓ئ͍͠·͢
None