Slide 1

Slide 1 text

(Pͷจࣈྻஔ׵ͱͦͷ࣮૷ 'VLVPLBHP +VMZ CZQPSJO (PTUSJOHSFQMBDFNFOUBOEJUTJNQMFNFOUBUJPO

Slide 2

Slide 2 text

pon ( @po3rin )

Slide 3

Slide 3 text

Introduction \

Slide 4

Slide 4 text

(PʹΑΔจࣈྻஔ׵͸ਖ਼نදݱΛൈ͍ͯ̎ͭͷํ๏͕ఏڙ͞Ε͍ͯΔ 3FQMBDFJO(P

Slide 5

Slide 5 text

GVOD3FQMBDF GVOD 3FQMBDFS 3FQMBDF 3FQMBDFJO(P

Slide 6

Slide 6 text

จࣈྻஔ׵͕GVOD3FQMBDFͱGVOD 3FQMBDFS 3FQMBDFͷ̎ͭ͋Δͷ͔ʁ ಺෦ͷΞϧΰϦζϜ΍σʔλߏ଄ͷҧ͍͔Βͳͥͭ͋Δͷ͔Λཧղ͠Α͏ɻ 3FQMBDFJO(P

Slide 7

Slide 7 text

func Replace \

Slide 8

Slide 8 text

࣮͸GVOD3FQMBDF͸TUSJOHT*OEFY͑͋͞Ε͹૊ΈཱͯΕΔɻ GVOD3FQMBDF

Slide 9

Slide 9 text

TUSJOHT*OEFY͸Tͷத͔ΒTVCTUS͕࠷ॳʹग़ݱ͢ΔҐஔΛฦ͢ GVOD3FQMBDF

Slide 10

Slide 10 text

ӈ͸ΤοδέʔεΛམͱͨ͠ίʔυɻ <>CZUFͱDPQZͱTUSJOHT*OEFYΛۦ ࢖͍ͯ͠Δͷ͕Θ͔Δ GVOD3FQMBDF

Slide 11

Slide 11 text

GVOD3FQMBDF͕ಡΜͰ͍Δ TUSJOHT$PVOU΋TUSJOHT*OEFYʹґଘ ͍ͯ͠Δɻ GVOD3FQMBDF

Slide 12

Slide 12 text

ͭ·ΓGVOD3FQMBDF͸TUSJOHT*OEFY͑͋͞Ε͹૊ΈཱͯΕΔɻ GVOD3FQMBDF

Slide 13

Slide 13 text

TUSJOHT*OEFY͸#SVUFGPSDF΋͘͠͸3BCJOLBSQͰTVCTUSͷҐஔΛಛఆ͍ͯ͠Δɻ ৄ͍͠ղઆ͸ڈ೥ͷΞυϕϯτΧϨϯμʔʹ౤ߘͨ͠ͷͰੋඇʂ IUUQTQPSJODPNCMPHHPSBCJOLBSQ GVOD3FQMBDF

Slide 14

Slide 14 text

࣮͸GVOD3FQMBDF͸TUSJOHT*OEFY͑͋͞Ε͹૊ΈཱͯΕΔɻ TUSJOHT*OEFY͸࠷௿ճݺͿ ग़ݱճ਺ͷऔಘʹݺͼग़͢ ஔ׵ॲཧ࣌ʹͦͷճ਺෼ݺͼग़͢ TUSJOHT*OEFY͸#SVUFGPSDF΋͘͠͸3BCJOLBSQΞϧΰϦζϜΛར༻͍ͯ͠Δ GVOD3FQMBDFͷ·ͱΊ

Slide 15

Slide 15 text

func (*Replacer) Replace \

Slide 16

Slide 16 text

GVOD 3FQMBDFS 3FQMBDF͕ੜ͍͑ͯΔSͰ͸಺෦࣮૷ΛೖΕସ͑ΔͨΊʹSFQMBDFS JOUFSGBDFͰந৅Խ͍ͯ͠ΔɻPMEOFX͸ޙͰ΋ৄ֬͘͠ೝ͠·͕͢ɺஔ׵͍ͨ͠จࣈྻͷϖ ΞͷϦετΛอ࣋͠·͢ɻ GVOD 3FQMBDFS 3FQMBDF

Slide 17

Slide 17 text

3FQMBDFSJOUFSGBDFΛ࣮૷͢Δίϯϙ δοτܕ͸छྨɻVTFSʹ౉͞ΕͨҾ਺ʹ Αͬͯग़͠෼͚Δ GVOD 3FQMBDFS 3FQMBDF

Slide 18

Slide 18 text

ஔ׵ϖΞΛ֨ೲ͢ΔPMEOFXʹ࠷దͳSFQMBDFS͕બ͹ΕΔ GVOD 3FQMBDFS 3FQMBDF

Slide 19

Slide 19 text

ࠓճ͸ΑΓҰൠతͳSFQMBDFSͰ͋ΔHFOFSJD3FQMBDFSΛݟ͍ͯ͘ɻ಺෦ͰUSJF/PEFͳΔ΋ͷ͕͋Δɻ GVOD 3FQMBDFS 3FQMBDF

Slide 20

Slide 20 text

BY BZ CDCD Y YZ B C Y Y Z DCD Z (PͰ͸TUSJOHTύοέʔδͰஔ׵ʹ࢖͏5SJF͕࣮૷͞Ε͍ͯΔ 5SJFߏங $PNQMFUF,FZ /PEF 5SJF

Slide 21

Slide 21 text

FF B C Y Y Z DCD Z (Pͷ5SJFͰ͸$PNQMFUF,FZʹஔ׵ઌͷจࣈྻΛ֨ೲ͍ͯ͠Δ $PNQMFUF,FZ /PEF 5SJF BB CC DD EE

Slide 22

Slide 22 text

ԼهͷྫͰ͸3FQMBDFͷҾ਺ͷจࣈྻʮXSJUFT(PMBOHBOE $MBOHʯΛҰจࣈͣͭ5SJFΛ࢖ͬͯݕূ͍ͯ͘͠ɻ5SJFͰூͬͯ ͍ͬͯҰக͠ͳ͔ͬͨ෼͸࣍ͷ-PPL6QͰ͸ඈ͹͢ɻ $ ( MBOH PMBOH $ (P 5SJF

Slide 23

Slide 23 text

5SJFΛMPPLVQ͍ͯ͠Δ 8SJUF4USJOHͰΘ͔Δ͕ɺෳ਺ͷஔ ׵ϖΞ͕͋ͬͯ΋ର৅จࣈྻશମ ͷ૸ࠪ͸ճͰऴΘΔɺ 5SJF

Slide 24

Slide 24 text

Ҿ਺࣍ୈͰSFQMBDFSΛ࢖͍෼͚͍ͯΔɻ HFOFSJD3FQMBDFS಺෦Ͱ͸5SJFΛར༻͍ͯ͠Δɻ ஔ׵Ϧετ͕ෳ਺͋ͬͯ΋ର৅จࣈྻͷ૸ࠪ͸ճͰࡁΉ GVOD 3FQMBDFS 3FQMBDFͷ·ͱΊ

Slide 25

Slide 25 text

Conclusion \

Slide 26

Slide 26 text

಺෦ߏ଄Λ஌ΔͱԾઆཱ͕ͯΕΔ ͜͜·Ͱͷ஌͕ࣝ͋Ε͹ͲͪΒΛ࢖͑͹ྑ͍͔ɺͲ͏࢖͑͹ྑ͍ͷ͔ͷԾઆཱ͕ͯΕ·͢ɻ ஔ׵ϖΞ͕̍ͭͳΒ5SJFΛߏங͢Δίετ͕͋ΔͷͰ3FQMBDFͰे෼Ͱ͸ͳ͍͔ʁ ஔ׵ϖΞ͕ଟ͍ͳΒจࣈྻશମͷ૸͕ࠪճͰ͓ΘΔ3FQMBDFSΛ࢖͏΂͖Ͱ͸ ஔ׵ର৅ͷจࣈྻ͕௕͍PSଟ͍ͱ5SJFߏஙʹ͕͔͔࣌ؒΔͷͰJOJUͰݺͿ΂͖Ͱ͸ʁ ର৅จࣈྻͷ௕͕͞ࢧ഑తͳΒ૸ࠪҰճͷ3FQMBDFͷํ͕ྑ͍ʁ

Slide 27

Slide 27 text

GVOD3FQMBDFͱGVOD 3FQMBDFS 3FQMBDFͷ಺෦࣮૷Λগ͠ղઆͨ͠ ࣅͨײ͡ͷؔ਺͕͋ͬͯ΋಺෦࣮૷ΛݟΔͱશવҧ͏ɻ ಺෦ͷΞϧΰϦζϜ΍σʔλߏ଄͕Θ͔ΔͱύϑΥʔϚϯεଌఆͷ݁Ռͷೲಘ౓͕ มΘΔɻ ·ͱΊ

Slide 28

Slide 28 text

Appendix \

Slide 29

Slide 29 text

QPOͷߟ͑ΔίʔυϦʔσΟϯάͷ5JQT ·ͣ͸Τοδέʔε͸ແࢹ ෳࡶͳ಺෦ؔ਺͸(P1MBZHSPVOEʹίϐϖͯ֓͠ܗΛัΒ͑Δ