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
Perl MongerのためのGoの始め方
Search
karupanerura
March 30, 2016
Technology
2.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Perl MongerのためのGoの始め方
Gotanda.pm #8
(2016-03-31 16:30) 37ページがおもいっきり間違っているので修正したものを後ほどUPします
karupanerura
March 30, 2016
More Decks by karupanerura
See All by karupanerura
音を出したい
karupanerura
0
120
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
100
log
karupanerura
1
120
Use Perl as Better Shell Script
karupanerura
0
980
GoでParserを書く
karupanerura
4
1.1k
マイ隙間家具OSSたちのご紹介
karupanerura
2
320
Mustache Template 話 2024
karupanerura
0
82
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
4.6k
Javaの実装をPerlでテストする
karupanerura
0
1.5k
Other Decks in Technology
See All in Technology
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
890
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
120
その Valkey 使いこなしていますか?
onk
PRO
5
1.6k
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
1
270
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
160
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
200
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
パッチ更新でterraform initが落ちた日
grimoh
1
140
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Exploring anti-patterns in Rails
aemeredith
4
540
The Curious Case for Waylosing
cassininazir
1
570
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
How to Talk to Developers About Accessibility
jct
2
580
Google's AI Overviews - The New Search
badams
0
1.6k
Typedesign – Prime Four
hannesfritz
42
3.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
Perl MongerͷͨΊͷ Goͷ࢝Ίํ id:karupanerura Gotanda.pm #8
About me • Kenta SATO (id:karupanerura) • Perl/Go/Swift/Kotlin/Java/Crystal/C99/etc.. • Gotanda.pm
Author • Senior Engineer at Mobile Factory, Inc. • WebApp/iOS/Android/Operation/etc..
͓͜ͱΘΓ • ͝Γ͝Γॻ͍͍ͯΔਓ͚Ͱ͋Γ·ͤΜ • ஆ͔͍ϚαΧϦΛ͓ئ͍͠·͢ • PerlͱPerl6Ͱͳ͘Perl5Λࢦ͠·͢ • Perl6ͱPerl5ผͷݴޠͰ͢ʢຊʹʣ
͓͜ͱΘΓ • ݪཧతͷઆ໌Λ͢ΔͨΊʹϕετϓϥΫςΟ ε͔Β֎Εͨઆ໌Λ͢Δ߹͕͋Γ·͢ • ӏವΈʹ۪ͯ͠ʹॻ͔ͳ͍Ͱ͍ͩ͘͞ • ͜ͷʹϚαΧϦΛ͛ͳ͍Ͱ͍ͩ͘͞ • ΒΕͨΒٽ͖·͢ʢٽ͖·ͤΜʣ
ݟͨͷҧ͍
Perl
Go
※ஊͰ͢
ֶͿ
PerlΛֶͿ • ެࣜͷυΩϡϝϯτ: perldoc perlintro • ఆ൪ͷॻ੶: ॳΊͯͷPerlɺխͳPerlೖ • WEB+DB
PRESS: Perl Hackers Hub • ษڧձ: Perlೖֶࣜ
GoΛֶͿ • ެࣜͷυΩϡϝϯτ: A Tour of Go • ఆ൪ͷॻ੶: ϓϩάϥϛϯάݴޠGo
(ະൃച) • WEB+DB PRESS: Vol.82 ͡ΊͯͷGo • ษڧձ: (ఆظ։࠵͞Ε͍ͯΔͷͳͦ͞͏)
υΩϡϝϯτ
PerlͷυΩϡϝϯτ(ಡΈํ) • perldocίϚϯυ͔ΒͥΜͿಡΊΔ • perldocͷυΩϡϝϯτ: perldoc perldoc • perlͷυΩϡϝϯτ: perldoc
perl (࣍) • metacpan.org perldoc.jp ͳͲͰಡΊΔ
GoͷυΩϡϝϯτ(ಡΈํ) • ݴޠͷυΩϡϝϯτ: https://golang.org/doc/ • ϞδϡʔϧͷυΩϡϝϯτ: godoc.org • godocίϚϯυͰಡΊΔ
PerlͷυΩϡϝϯτ(ܗࣜ) • ׂͱࣗ༝ɺDESCRIPTION/SYNOPSISॏཁ • DESCRIPTION: Ϟδϡʔϧͷઆ໌ • SYNOPSIS: Ұ؏తͳαϯϓϧίʔυ •
PODܗࣜͰॻ͔ΕΔ
GoͷυΩϡϝϯτ(ܗࣜ) • ߏମ/ΠϯλʔϑΣʔε/ؔຖʹॻ͔ΕΔ • publicͳؔͳͲʹυΩϡϝϯτ͕ॻ͔Εͯ ͍ͳ͍ͱܯࠂ͕ग़Δ • ؔ͝ͱʹαϯϓϧίʔυ(Example)͕͋Δ • ίϝϯτͱͯ͠ιʔείʔυʹॻ͔ΕΔ
ڥ
Perlͷڥ • ॲཧܥperlͷΈ • ϚϧνOSαϙʔτ • ࣮ߦڥʹڧ͘ґଘ͢Δ • plenvCatronͳͲͰόʔδϣϯΛݻఆ͢Δ
Goͷڥ • ॲཧܥgoͷΈ • ϚϧνOSαϙʔτ (ΫϩείϯύΠϧ༰қ) • Ϗϧυڥʹڧ͘ґଘ͢Δ • Ϗϧυڥͷόʔδϣϯ͕static
link͞Εͨ όΠφϦ͕ੜ͞ΕΔ
Πϯετʔϧ
Perl ॲཧܥͷΠϯετʔϧ • anyenv install plenv • plenv install -l
# όʔδϣϯ֬ೝ • plenv install 5.22.1 • plenv global 5.22.1 • plenv install-cpanm
Perl ϞδϡʔϧͷΠϯετʔϧ • cpanm App::revealup • ςετ͕ϩʔΧϧͰ࣮ߦ͞ΕΔ • cpanm -n
App::revealup • ςετͳ͠ • cpanm —install-deps . • ΧϨϯτͷґଘϞδϡʔϧΛΠϯετʔϧ
Perl ڥͷצॴ • ࣮ߦڥʹ߹Θͤͯॊೈʹ։ൃڥΛม͑Δ • OSʹΠϯετʔϧ͢ΔͱrootݖݶͰϞδϡʔ ϧΛΠϯετʔϧ͢Δඞཁ͕͋Δ • ύεͷࢦఆՄೳ •
Cartonlocal::libͱซ༻͢Δख͋Δ
Go ॲཧܥͷΠϯετʔϧ • OS X: brew install go • Debian/Ubuntu:
apt-get install golang • binary: https://golang.org/dl/ • /usr/bin ͱ͔ʹී௨ʹΠϯετʔϧͰे
Go ϞδϡʔϧͷΠϯετʔϧ • go get github.com/karupanerura/gostress • ΠϯετʔϧͷΈ • go
get -t github.com/karupanerura/gostress • ςετͭͭ͠Πϯετʔϧ • go get -d . • ґଘϞδϡʔϧΛΠϯετʔϧ
Go ڥͷצॴ • ଟ༷ͳ࣮ߦڥΛߟ͑ͳͯ͘ྑ͍ • ࣮ߦڥͷόʔδϣϯΛؾʹ͠ͳͯ͘ྑ͍ • ඞཁ͕ग़ͨΒgoenvͳͲΛ͏ͱྑ͍ • ϞδϡʔϧGOPATHҎԼʹΠϯετʔϧ
• $HOME/go ͱ͔ʹ͠ͱ͚rootݖݶෆཁ
ΤσΟλ
PerlͷΤσΟλࣄ • emacs • cperl-mode + flycheck + perl-completion •
vim • vim-perl + quickrun + perlomni • ͘Θ͘͠ͳ͍
GoͷΤσΟλࣄ • emacs • go-mode + + flycheck + gocode
• vim • vim-go + vim-godef + gocode • ͘Θ͘͠ͳ͍
_ਓਓਓਓਓਓਓਓ_ > Γ͍ͨ < ʉY^Y^Y^Y^Y^Y^Yʉ
ݴޠ༷
໊લۭؒ
Perl ໊લۭؒ • package = ໊લۭؒ = Ϋϥε • private/publicͱ͍͏֓೦ແ͍
• ໊લۭؒͷϨΩγΧϧείʔϓ࡞ΕΔ • privateͱͯ͠ѻ͍͍ͨαϒϧʔνϯͷ߹ ΞϯμʔείΞΛ໊લͷprefixʹ͢Δͷ͕׳श
Perl ໊લۭؒ • ϑΝΠϧύεͱpackageʹڧ͍͕ؔ͋Δ • Foo::Bar = Foo/Bar.pm • ϩʔυ͢Δͱ͖use·ͨrequireΛ͏
• use Foo::Bar;
Perl ໊લۭؒ • ଞͷύοέʔδʹϑϧωʔϜͰΞΫηε • Foo::Bar::baz() # Foo::Barͷbuz()Λ࣮ߦ • σʔλ(ϦϑΝϨϯε)ͱpackageΛඥ͚Δ͜
ͱ͕Ͱ͖Δ(ޙड़)
Go ໊લۭؒ • package = ύοέʔδ • ໊લͰউखʹΞΫηε੍ޚֻ͕͔Δ • খจࣈͰ࢝·Δͷpackage
• େจࣈͰ࢝·Δͷpublic
Go ໊લۭؒ • ϑΝΠϧύεͱpackageʹڧ͍͕ؔ͋Δ • = Foo/Bar.pm • ଞͷύοέʔδʹϑϧωʔϜͰΞΫηε •
Foo::Bar::baz() # Foo::Barͷbuz()Λ࣮ߦ
ܕ
Perlͱܕ • ಈతܕ͚ݴޠʢίϯςΩετʹΑΔܕ͚ʣ • Scalar/Array/Hash ٴͼͦΕΒͷϦϑΝϨϯε • ଞͷಈతܕ͚ݴޠͱ͘Βͯಛघ • ৄ͘͠ޠΔͱ60͘Β͍Εͯ͠·͏ͷͰ
ࠓճৄ͍͠ݴٴΛ߇͑Δ(GoϝΠϯͳͷͰ)
Perlͷσʔλܕ (Scalar) • ୯ҰͷΛද͢σʔλܕ • /࣮/จࣈྻ/ϦϑΝϨϯε͕ೖΔ • ਓؒʹͱͬͯ $age ͕จࣈྻ͔Ͳ͏͔ؔ৺֎
• ίϯςΩετʹΑܾͬͯΊ͔͔ͯΓ͍ͨ • $age > 20 # ageΛͰѻ͏ίϯςΩετ
Perlͷσʔλܕ (Array/Hash) • ྻ • ॱংΛ࣋ͭσʔλͷू߹ • ϋογϡ • ໊લΛ࣋ͭσʔλͷू߹
Perlͷσʔλ (ϦϑΝϨϯε) • σʔλͷ࣮ମͷࢀর(CͷϙΠϯλʹ͍ۙ) • ϑΝΠϧγεςϜͰ͍͏ͱ͜ΖͷγϣʔτΧο τγϯϘϦοΫϦϯΫ • ϦϑΝϨϯεɾΧϯτGC •
࣮ମͷࢀর͕ͳ͘ͳΔͱ࣮ମΛഁغ
Goͱܕ • ڧ͍੩తܕ͚ݴޠ • มؔ(Ҿ/ฦΓ)ɺσʔλ͕ܕΛ࣋ͭ • มͱσʔλͷܕ͕Ұக͢Δඞཁ͕͋Δ • มͱؔͷܕ͕Ұக͢Δඞཁ͕͋Δ •
ͱʹ͔͘ܕ͕Ұக͢Δඞཁ͕͋Δ
Goͷσʔλܕ (جຊ) • : int, int32, int64 • ࣮: float,
float32, float64 • จࣈྻ: string
Goͷσʔλܕ (array) • ॱংΛ࣋ͬͨσʔλͷू߹ • αΠζ10ͷจࣈྻͷྻ: [10]string • Ұ࡞ͬͨΒ֦ு͢Δ͜ͱͰ͖ͳ͍
Goͷσʔλܕ (slice) • ྻͷҰ෦ΛεϥΠεͨ͠ࢀর • ͔Βͳ͍ਓϙΠϯλͷཧղ͕Γͳ͍ • ҎԼͷεϥΠυͷ39ϖʔδҎ߱Λࢀর͢͠ • http://www.slideshare.net/yasi_life/
go-14075425
Goͷσʔλܕ (map) • ໊લΛ࣋ͬͨσʔλͷू߹ • stringΛΩʔʹͨ͠ͷmap: map[string]int • αΠζؾʹ͠ͳͯ͘Α͠ͳʹͯ͘͠ΕΔ
Goͷσʔλܕ (struct) • ୯ҰͷσʔλΛදݱ͢Δσʔλͷू߹ • Point{X: 1, Y: 1} Έ͍ͨͳϊϦͷΞϨ
• ࣗ༝ʹఆٛͰ͖Δ • C++ͷstruct/classʹ͍ۙ (ޙड़)
Goͷσʔλܕ (pointer) • σʔλͷ࣮ମͷࢀর(CͷϙΠϯλʹ͍ۙ) • PerlͷϦϑΝϨϯεͱಉ͡ • શͯͷσʔλܕϙΠϯλΛ࡞ΕΔ
Goͷܕ (interface) • ಛఆͷؔΛݺͼग़ͤΔܕΛࣔ͢ • duck typingΛࢧԉ͢Δ • ࣗ༝ʹఆٛͰ͖Δ •
Javaͷinterfaceʹ͍͕ۙimplements͢Δඞཁ ͳ͍
ϝϞϦཧ
PerlͷϝϞϦཧ • શ෦ώʔϓྖҬʹ࣋ͭ • ϝϞϦϓʔϧΛ࣋ͬͯಈతʹׂΓͯΔ • શͯͷσʔλGCͰഁغ͞ΕΔ • ϦϑΝϨϯεΧϯτͳͷͰ॥ࢀরʹऑ͍
GoͷϝϞϦཧ • ͚ؔͩͰΘΕΔ: ελοΫྖҬ • ؔ֎ͰΘΕΔ: ώʔϓྖҬ • ώʔϓྖҬͷσʔλGCͰཧ͞ΕΔ •
Mark & Sweep ͳͷͰ॥ࢀরʹڧ͍͕GC͞ ΕΔͷ͕ଟ͍ͱGC͕ॏ͘ͳΔ
ؔ
Perl ؔ • αϒϧʔνϯ͕ସ • ԾҾແ͍ • @_Λదʹೖͯ͠͏ • ෳͷΛฦ͢͜ͱ͕Ͱ͖Δ
Go ؔ • ԾҾͱฦΓͷܕΛ໌ࣔ͢Δඞཁ͕͋Δ • @_ Έ͍ͨͳ൮ͳ͜ͱͰ͖ͳ͍ • ෳͷΛฦ͢͜ͱ͕Ͱ͖Δ •
ผʑͷมͰશͯͷฦΓΛड͚औΔ
ϝιου
Perl ϝιου • package(Ϋϥε)packageʹbless(ͻ͚) ͞ΕͨϦϑΝϨϯε(=Πϯελϯε)͔Βαϒ ϧʔνϯΛϝιουݺͼग़͠Ͱ͖Δ • ϝιουݺͼग़͢͠ΔͱαϒϧʔνϯͷୈҰ ҾʹίϯςΩετͱͯ͠ΫϥεΠϯελϯ ε͕͞ΕΔ
Perl ϝιου • @PackageName::ISA ͕ܧঝύοέʔδ • ݟͨͷ௨Γଟॏܧঝ͕Մೳ • ϝιουݺͼग़͠ͰܧঝΛḷͬͯ͘ΕΔ •
͜ͷ͔Β͘ΓΛblessͱΈ߹ΘͤΔ͜ͱͰ OOP͕ՄೳʹͳΔ
Perl ϝιου (ऄ) • AUTOLOAD • rubyͰ͍͏ͱ͜Ζͷmethod_missing • UNIVERSAL •
rubyͰ͍͏ͱ͜ΖͷObjectΫϥε
Go ϝιου • ࣗͷpackageͷσʔλܕʹϝιουͷΑ ͏ͳͷΛੜ͢͜ͱ͕Ͱ͖Δ • structͦͷϙΠϯλʹੜ͢ͷ͕Ұൠత • ଞͷݴޠͷΫϥεͷΠϯελϯεϝιουͬ Ά͘ͳΔ
Go ϝιου (ऄ) • structͷmixinՄೳ͕࣮ͩଶͨͩͷҕৡ • ܧঝͰͳ͍ͷͰʹϝιουݺͳ͍ • ҕৡͳͷͰcontext object͕ҟͳΔ͜ͱʹ
• ܕใisaͷؔʹͳΒͳ͍
Go ϝιου (ऄ) • ੩తܕ͚ݴޠͳͷͰAUTOLOADͰ͖·ͤΜ • ͪͳΈʹCrystalͩͱmacroͰ࣮ݱ͍ͯ͠Δ • UNIVERSALΈ͍ͨͳͭͳ͍ͷʔʁ •
ܧঝ͕ແ͍ͷͰ͓͍ͩ͘͠͞ͳ
લஔ͖ऴΘΓ
࣮༻తͳ
จࣈྻૢ࡞
Perl ͷจࣈྻૢ࡞ • ਖ਼نදݱ·͡࠷ߴ·͡ศར!! • جຊతʹshell script༝དྷͷจԽͳͷͰ… • tr///ͱs///ͱ͔͋Ε͍͍ͩͨͳΜͱ͔ͳΔ •
ͳΜͱ͔ͳΒͳ͍ͱ͜ΖͰuc/lcͱ͔Λ͏
Go ͷจࣈྻૢ࡞ • ίΞ͕αϙʔτ͢Δػೳ࠷খݶ • stringsύοέʔδͰ͍͍ͩͨͳΜͱ͔ͳΔ • ࠔͬͨΒ·ͣ͜͜ΛௐΑ • ਖ਼نදݱΛؾܰʹ͏ͱՄಡੑΛଛͳ͏
• ਖ਼نදݱͷίʔυ͕Perlͱ͘Βͯ
ܕม
Perl ͷܕม • ίϯςΩετͰܕΛ໌ࣔ͢ΔͷͰσʔλͷܕ ม͕ͦͦෆཁ • ڧ͍ͯݴ͑ίϯςΩετຖʹ҉తʹܕ ม͕ى͍ͬͯ͜Δͷʹ͍͕ۙ͜Εݫີʹ ਖ਼֬ͳදݱͰͳ͍
Go ͷܕม • ܕ͕ݫີͳͷͰܕม͍ͨ͜͠ͱ͕ଟ͍ • strconvύοέʔδͰ͍͍ͩͨͳΜͱ͔ͳΔ • ܕΩϟετ࠷ऴखஈͱ৺ಘΑ • interfaceΛ͏·͘׆༻͢Δͱଟ͘ͷ߹Ͱ
ܕΩϟετͷඞཁੑ͕ͳ͘ͳΔ
Τϥʔॲཧ
Perl ͷΤϥʔॲཧ • ྫ֎ • eval BLOCK ͷதͰdie͢Δ • $@
ʹdieʹͨ͠Scalar͕ೖΔ • ී௨
Go ͷΤϥʔॲཧ • ฦΓͰerrorܕΛฦ͢ͷ͕෩श • result, err := strconv.Atoi(“unko”) •
if err != nil { … } Ͱશ෦ͳΜͱ͔͢Δ • ذॻ͖ΕͯίϯύΠϥॿ͚ͯ͘ΕΜ
Go ͷΤϥʔॲཧ • ະ༻ͷม͕͋ΔͱίϯύΠϧΤϥʔ • ୯ҰͷείʔϓͰ୯ҰͷΤϥʔΛॲཧ͢Δ • ͢ΔͱerrorܕͷΛΘͳ͍ͱίϯύΠϧ Τϥʔ͕ൃੜ͢Δ •
catch࿙Ε͕͋ΔͱίϯύΠϧΤϥʔ͢Δੈք
ߏઃܭ ※ݸਓͷݟղͰ͢
Perl ͷߏઃܭ • খ͍͞ͷखଓ͖ͬΆ͘ΰϦΰϦͬͱॻ͘ • େ͖ͳͷOOPΒ͚ͯ͘͠ॻ͘ • Webͱ͔ͩͱAmon2ͱ͔ͬͯMVCͨ͠Γ • package(Ϋϥε)Ͱ͔ͬ͠ΓείʔϓΛΔ
Go ͷߏઃܭ • interfaceΛத৺ʹઃܭ͢Δ • ৼΔ͍Λड͚͍ͯ͘͠Πϝʔδ • ϙϦϞʔϑΟζϜతͳߟ͑ํ • ελοΫྖҬΛ͏·͘͏Α͏ʹॻ͘ͱߴ
Go ͷߏઃܭ • େ͖ͳͷΛ࡞Δͱ͖෦తʹpackageΛ ͚ΔͱΑͦ͞͏ • ૬ରύεͰύοέʔδΛϩʔυͰ͖ΔͷͰ ͦΕΛ͏·͘׆༻͢Δ • https://github.com/builderscon/octav
ฒྻॲཧ ※ݸਓͷݟղͰ͢
Perl ͷฒྻॲཧ • forkҰ • threadͷΑ͏ͳͷͳ͘ͳ͍͕ΰϛ • ͬͯͳΒͳ͍ • ಉظϑΝΠϧΛͬͨΓPIPEΛͬͨΓ
Perl ͷฒྻॲཧ • ͳΔ͘ϓϩηε͕͍·ΘͤΔΑ͏ʹ͢Δ • ͭ·Γ͍ΘΏΔpre-forkࣜ • ϓϩηεؒͷಉظ͕ඞཁʹͳͬͨΒෛ͚ • Ͳ͏ͯ͠ඞཁͳΒPerlʹ͍ͯͳ͍ͱׂ
ΓΔ͔AnyEventͳͲΛซ༻͢Δ
Go ͷฒྻॲཧ • goroutineͱ͍͏εϨουͷΑ͏ͳͷ͕͋Δ • ʮฒྻͰಈ͍ͯྑ͍ͷʯΛ࡞ΔΠϝʔδ • Go͕͍͍͔Μ͡ʹεέδϡʔϦϯά͢Δ • جຊతʹchannelͰಉظΛऔΔ
Go ͷฒྻॲཧ • ಉظͷίετΑΓฒྻԽͷϝϦοτ͕ߴ͚Ε ͕Μ͕ΜgoroutineΛ࡞Δͱྑͦ͞͏ • ಉظ͕සൟʹඞཁʹͳΔͳΒߟ͑ํΛม͑ ͯΈΔ • ϓϩηεͱҧͬͯؾܰʹࡴͤͳ͍ʹҙ
·ͱΊ
·ͱΊ • GoͱPerlࣅ͍ͯΔʂ • ͱ·Ͱݴ͑ͳ͍͚Ͳͱ͖͍ͬͭ͢ͱࢥ͏ • GoPerlదࡐదॴͰ͍͚ͬͯΔͱΑͦ͞͏ Ͱ͢Ͷ
͓ΘΓ
࣭·ͩ͋ΕͲ͏ͧ