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
1つの言語を原点に色々な言語を学ぶということ
Search
karupanerura
June 16, 2023
Programming
4.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1つの言語を原点に色々な言語を学ぶということ
Kichijoji.pm #33 Lightning Talks
karupanerura
June 16, 2023
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
81
Javaの実装をPerlでテストする
karupanerura
0
1.5k
Go Generics Overview
karupanerura
0
1.4k
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
SREの越境 / SRE Collaboration
y0hgi
2
310
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
660
ActionController meets Protocol Buffers
sorah
0
300
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
150
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
sbt 2.0: takeoff
eed3si9n
0
150
APNsからLive Activityを開始する話
yumnumm
0
170
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Event is what happens
moro
2
500
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
780
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
The Invisible Side of Design
smashingmag
301
52k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Agile that works and the tools we love
rasmusluckow
331
22k
A better future with KSS
kneath
240
18k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
470
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Technical Leadership for Architectural Decision Making
baasie
3
600
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
1ͭͷݴޠΛݪʹ ৭ʑͳݴޠΛֶͿͱ͍͏͜ͱ Kichijoji.pm #33 Lightning Talks id:karupanerura
@karupanerura • DeNA, Co., LTD. • Software Engineer • Perl/Go/Java/TypeScript/etc..
• Japan Perl Association • Chief Director • Age: 0x20
ݪ
(0, 0)
ref. https://www.weblio.jp/content/%E5%8E%9F%E7%82%B9
ref. https://www.weblio.jp/content/%E5%8E%9F%E7%82%B9
(ϓϩάϥϛϯάͷ)ݪ
ࣗͷϓϩάϥϛϯάวྺ • (HTML) • N88ޓBASIC • Perl • C/C++ •
(CSS)ɺJavaScriptɺXSɺJavaɺSwiftɺKotlinɺelisp • BashɺCrystalɺGoɺRubyɺPythonɺTypeScript
ݴޠΛֶͿͱ͖ʹߟ͑Δ͜ͱ
※ݸਓͷݟղͰ͢
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ • Ͳ͏ͬͯίʔυΛॻ͘ʁ • Ͳ͏࣮ͬͯߦ͢Δʁ • Ͳ͏ͬͯςετ͢Δʁ •
Ͳ͏ͬͯϦϦʔε͢Δʁ ͍Ζ͍Ζߟ͑Δ
ॳΊͯͷϓϩάϥϛϯάͷ߹
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯίʔυΛॻ͘ʁ → ʙͦ͏ͳΜͩ •
Ͳ͏࣮ͬͯߦ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯςετ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯϦϦʔε͢Δʁ → ʙͦ͏ͳΜͩ
😄
2ͭΊҎ߱ͷ߹
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯίʔυΛॻ͘ʁ → ͑ɺͦ͏ͳͷʁʢڻ͖ʣ •
Ͳ͏࣮ͬͯߦ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯςετ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯϦϦʔε͢Δʁ → ʙͦ͏ͳΜͩ
😕
Ͳ͏ͯ͠ʁ
ͳͥଞͷݴޠʹରͯ͠ڻ͖͕ൃੜ͢Δͷ͔(1) • ϓϩάϥϛϯάͷײ֮ = ॳΊͯ৮ͬͨݴޠͷײ֮ ʹͳΔ͔Β • ͭ·Γɺ࠷ॳʹ৮ͬͨϓϩάϥϛϯάݴޠʹݪΛஔ͍ͯ৮Ε͍ͯΔ • ͦ͏͍͏ײ֮Ͱ৮Δ͜ͱࣗવ
• ͦͷ΄͏͕Ұൠʹֶशޮߴ͍ͣ
ͳͥଞͷݴޠʹରͯ͠ڻ͖͕ൃੜ͢Δͷ͔(2) • ॳΊͯ৮ͬͨݴޠͱڞ௨͍ͯ͠ͳ͍෦ʹҧײ͕ͰΔ • ڞ௨͍ͯ͠Δ෦͕ଟ͚Εଟ͍΄Ͳҧײ͕ڧ͍ͣ • ʮ͜ͷΜಉ͡ͳͷʹ͜ͷΜҧ͏ͷ͔ʂʁʯ • ٯʹɺશ෦͕શ෦ҧ͏ͱڻ͖͔͠ͳ͍ͷͰٯʹҧײͳ͍ •
͠͞ݏѱײͱͯͦ͠ΕΛײ͡Δ͜ͱ͋Γͦ͏
ଟ͘ͷ߹େͨ͠ڻ͖Ͱͳ͍ • ݴޠͷઃܭࢥ͕͍ۙ߹ɺ͋·Γڻ͖গͳ͍ • ͋Δ͍ɺϙδςΟϒͳڻ͖ଟ͍ͣ • มɺؔɺΫϥεɺͱ͍ͬͨ֓೦ଟ͘ͷݴޠͰڞ௨͍ͯ͠Δ • ଟ͘ͷݴޠڞ௨ͷઌΛ͍࣋ͬͯΔ͜ͱ͕ଟ͍ͷͰڞ௨ଟ͍ •
ҧ͍ࡉ෦ʹݱΕΔ • ϝϞϦཧɺ֓೦ͷࡉ͔ͳҧ͍ɺϥΠϑαΠΫϧɺͳͲͳͲ
ݴޠͷઃܭࢥ͕ԕ͍ͱڻ͖͕ଟ͍/େ͖͍ • ಈతܕ͚ݴޠˠ੩తܕ͚ݴޠ • ͜Μͳͱ͜Ζ໌ࣔతʹܕΛॻ͔ͳ͍ͱಈ͔ͳ͍ͷʁ • ΦϒδΣΫτࢦݴޠˠؔܕݴޠ • Ϟφυʁʁʁʁʁʁʁ •
ߴϨϕϧͷݴޠˠϨϕϧͷݴޠ • ϝϞϦΞϥΠϝϯτʁʁʁʁϙΠϯλʁʁʁʁ
۩ମྫ
ڻ͖ͷ۩ମྫ: Perl (autovivi fi cation) • $hash{a}{b}{c}Λࢀরͨ͠ͱ͖ʹ$hash{a}{b} = {}͕҉తʹߦΘΕΔ •
ྑ͍ͷ͔ѱ͍ͷ͔ɺͱ͍͏அ࣮͍͠ • ͨͱ͑ϫϯϥΠφʔͰศརɺͱ͔ͦ͏͍͏ଆ໘͕͋Δ • sedawkΈ͍ͨͳͭͰߏΛఆٛͨ͘͠ͳ͍ • ٯʹɺPerlͰ͜Εʹ׳ΕͯΔͱଞͷݴޠͰ໘͘͞͞Λײ͡Δ(?)
ڻ͖ͷ۩ମྫ: JavaScript (varม) • ؔϨϕϧͷείʔϓͰఆٛ͞ΕΔม • ifforͳͲͰϒϩοΫΛͬͯͦͷ֎ଆʹӨڹΛ༩͑Δ • ͨͱ͑ɺforϧʔϓͷͨΊʹఆٛͨ͠ม͕֎ଆͰੜ͖͍ͯΔ •
ݱࡏϒϩοΫϨϕϧͷείʔϓͰఆٛͰ͖Δconst/let͕͋Δ • ͦΕΒΛ͔ͭ͑ྑ͍
ڻ͖ͷ۩ମྫ: PHP (ྻ) • ʮPHPͷྻɺ࣮ࡍʹॱ൪͚ΒΕͨϚοϓͰ͢ɻʯby php.net • ྻͷఆٛΛarrayؔͰߦ͏
ͳͥڻ͖͕ൃੜ͢Δͷ͔ʁ ݪͱͳͬͨݴޠɺ͜Ε·Ͱͷܦݧ͔Β ༧Ͱ͖ͳ͔༷͕͔ͬͨ͋ͬͨΒ → ͲΕ͘Β͍ڻ͔͘ܦݧʹґΔ
ڻ͖ʹରͯ͠ͷ͖߹͍ํ
ڻ͖൱ఆతͳݟํΛͨΒ͢ • ͨͱ͑ʮPerl͜Θ……ۙدΒΜͱ͜……ʯͬͯͳΔ • ࣮ࡍɺWeb։ൃͰੵۃతʹ࠾༻͢Δཧ༝૬ରతʹݮΓͭͭ͋Δ • ҰํͰɺศརʹ͑Δ໘·ͩ·ͩ͋ΔʢϫϯϥΠφʔͳͲʣ • ͔ͤͬ͘ʹ͚ͭͨʢʹ͚ͭ͡ΊͨʣεΩϧΛࣗΒख์͢ •
͍ͬͨͳ͍
ڻ͖൱ఆతͳݟํΛͨΒ͢ • ͨͱ͑ʮPerl͜Θ……ۙدΒΜͱ͜……ʯͬͯͳΔ • ࣮ࡍɺWeb։ൃͰੵۃతʹ࠾༻͢Δཧ༝૬ରతʹݮΓͭͭ͋Δ • ҰํͰɺศརʹ͑Δ໘·ͩ·ͩ͋ΔʢϫϯϥΠφʔͳͲʣ • ͔ͤͬ͘ʹ͚ͭͨʢʹ͚ͭ͡ΊͨʣεΩϧΛࣗΒख์͢ •
͍ͬͨͳ͍ → ڻ͖ʹର͢Δ͖߹͍ํ͕ॏཁ
͖߹͍ํΛߟ͑Δ
ͳͥࣗڻ͍ͨͷͩΖ͏͔ʁ • ͜Ε͓ͦΒ͘͜ͷݴޠΛීஈ৮͍ͬͯΔͻͱ͔Β͢Εৗ • ͕ࣗڻ͖Λײ͡Δͷͳ͔ͥʁ • ͨ·ͨ·͕ࣗ৮ͬͨ͜Ε·Ͱͷݴޠʹͦ͏͍͏༷͕ͳ͔ͬͨʁ • ͜ͷݴޠ͕Ή͠Ζಛघʁ •
͍ํ͏໘͕ؒҧ͍ͬͯΔʁ
ͳͥ͜ͷ༷ʹͳ͍ͬͯΔͷ͔ʁ • ͜Ε·Ͱ৮ͬͨݴޠͰͳͥ͜ͷ༷ʹͳ͍ͬͯͳ͍ͷ͔ʁ • ಉ͜͡ͱΛଞͷݴޠͰΖ͏ͱͨ͠ͱ͖Ͳ͏ͳ͍ͬͯͨͩΖ͏͔ʁ • ͜ͷ༷Ͱ͏Ε͍͠ͷͲΜͳ໘͔ʁ • ͏Ε͘͠ͳ͍ͷͲΜͳ໘͔ʁ
͍Ζ͍Ζࣗपғʹ͍͔͚ͯΈΔͱ • ݟ͕ஷ·Δ • ϓϩάϥϛϯάݴޠΛ࡞Δਓʑͱͯݡ͍ͷͰϛεগͳ͍ • ͳʹ͔͠Βཧ༝Λͬͯͦ͏ͳ͍ͬͯΔ͜ͱ͕΄ͱΜͲ • ࢹ͕͕Δ •
͜͏͍͏બࢶ͋Δɺͱ͍͏͜ͱΛΕΔͱखࡳ͕૿͑Δ
͕͑ग़ͳ͍͜ͱ͋Δ • ϚδͰϛε༷͕ͬͨͦͷ··ʹͳͬͯ͠·ͬͨͱ͍͏ͷ͋Δ • (ྫ) Ruby: ಛघมΛPerlΛࢀߟʹ࠾༻ͨ͠ͷࣦഊͩͬͨ • ͦ͏͍͏߹େସࡦ͕༻ҙ͞Ε͍ͯΔ •
TwitterKichijoji.pmΈ͍ͨͳͰΦʔϓϯʹฉ͍ͯΈΔͷྑ͍ • ීஈίϛϡχέʔγϣϯ͠ͳ͍ਓ͕࣮͑Λ͍ͬͯΔ͜ͱ
ͦΕͰ͕͑ग़ͳ͍͜ͱ͋Δ • Ծઆཱ͕ͯΒΕΔ͚ͩͰೲಘײ͋Δ͍ͯͲ͋Δͣ • ͦ͜ʹਊΛ࣋ͯΕͦͷपΓͷίʔυʹҰ؏ੑΛग़ͤΔ
ਖ਼໘͔Β͖߹ͬͯ ࣗͷͳ͔ʹ͑Λ࣋ͭ
·ͱΊ
·ͱΊ • ৭ʑͳݴޠΛֶͿͱ͖ʹଟ͘ͷ߹ͳʹ͔͠Βڻ͖Λ͏ • ଞͷݴޠʹڻ͖Λײ͡Δ͜ͱ͍͜͠ͱͰͳ͍ • ڻ͖ͱͲ͏͖߹͏͔ͰͦΕΛྐʹͰ͖Δ͔͕มΘΔ • ࣗͷͳ͔ʹ͑Λ࣋ͯΕڻ͖͕͋ͬͯೲಘͰ͖Δ •
ʮڷʹೖͬͯڷʹै͑ʯ • ʢ܁Γฦ͠Ͱ͕͢ɺ͋͘·ͰݸਓͷݟղͰ͢ʣ
Ұ۟
ڻ͖ʹڻ͔ͳ͍Ͱྑ͘Ͷ