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
Perl MongerのためのGoの始め方
Search
karupanerura
March 30, 2016
Technology
2
2.2k
Perl MongerのためのGoの始め方
Gotanda.pm #8
(2016-03-31 16:30) 37ページがおもいっきり間違っているので修正したものを後ほどUPします
karupanerura
March 30, 2016
Tweet
Share
More Decks by karupanerura
See All by karupanerura
Use Perl as Better Shell Script
karupanerura
0
760
GoでParserを書く
karupanerura
4
950
マイ隙間家具OSSたちのご紹介
karupanerura
2
270
Mustache Template 話 2024
karupanerura
0
33
1つの言語を原点に色々な言語を学ぶということ
karupanerura
4
2.9k
Javaの実装をPerlでテストする
karupanerura
0
1.2k
Go Generics Overview
karupanerura
0
1.3k
Japan.pm 2021 開催まで至る道
karupanerura
0
2.1k
Perl MongersのためのAWS_CDK入門
karupanerura
0
140
Other Decks in Technology
See All in Technology
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
310
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
860
AWSで始める実践Dagster入門
kitagawaz
1
680
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
470
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
730
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
210
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Pragmatic Product Professional
lauravandoore
36
6.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
BBQ
matthewcrist
89
9.8k
Thoughts on Productivity
jonyablonski
70
4.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Documentation Writing (for coders)
carmenintech
74
5k
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దࡐదॴͰ͍͚ͬͯΔͱΑͦ͞͏ Ͱ͢Ͷ
͓ΘΓ
࣭·ͩ͋ΕͲ͏ͧ