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
The distance between OSS and me at work
Search
yui-knk
October 27, 2016
Programming
2
4.2k
The distance between OSS and me at work
yui-knk
October 27, 2016
Tweet
Share
More Decks by yui-knk
See All by yui-knk
What is Parser
yui_knk
10
4.7k
Ruby Parser progress report 2024
yui_knk
2
270
最高の構文木の設計 2024年版
yui_knk
7
3.5k
Converting AST
yui_knk
4
260
My favorite script, "dsl.rb"
yui_knk
2
870
Rearchitect Ripper
yui_knk
2
860
The grand strategy of Ruby Parser
yui_knk
7
8.2k
LALR parser generatorの作り方
yui_knk
6
4.3k
Declarative parse.y
yui_knk
2
4k
Other Decks in Programming
See All in Programming
Tauriでネイティブアプリを作りたい
tsucchinoko
0
350
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
600
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
430
Ethereum_.pdf
nekomatu
0
380
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.3k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
4
1k
イベント駆動で成長して委員会
happymana
1
280
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
5
2k
EventSourcingの理想と現実
wenas
6
2.2k
僕がつくった48個のWebサービス達
yusukebe
20
17k
Macとオーディオ再生 2024/11/02
yusukeito
0
340
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
560
Building Your Own Lightsaber
phodgson
102
6.1k
Code Reviewing Like a Champion
maltzj
520
39k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Fireside Chat
paigeccino
33
3k
Code Review Best Practice
trishagee
64
17k
Practical Orchestrator
shlominoach
186
10k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimizing for Happiness
mojombo
376
69k
Faster Mobile Websites
deanohume
305
30k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Transcript
ۚࢠ༤Ұ ۀதʹΦʔϓϯιʔεʹ͍ͭͯ ߟ͑Δ͜ͱ
.POFZ'PSXBSEEFQFOETPO044 w 3VCZ w 3VCZPO3BJMT Λ͡Ίͱͯ͠ɺଟ͘ͷ044Λ͍ͬͯΔ
ࠓͷςʔϚ 044Λ༻͍ͯ͠ΔձࣾͷΤϯδχΞ͕ɺͲͷΑ͏ʹ044 ͱؔΘ͍ͬͯΔ͔ɻ
ࠓͷςʔϚ 044Λ༻͍ͯ͠ΔձࣾͷΤϯδχΞ͕ɺͲͷΑ͏ʹ044 ͱؔΘ͍ͬͯΔ͔ɻ ͱ͍ ࣄதʹࣄΛ͍ͯ͠Δ;ΓΛͯ͠ɺ044ͷQBUDIΛॻ ͍ͨΓ͢Δ͏͑Ͱɺؾʹ͍ͯ͠Δ͜ͱɺ͍ͯ͠Δ͜ ͱɺࢥ͍ͬͯΔ͜ͱɻ
TFMG w ۚࢠ༤Ұ w େֶ ๏ֶ෦ֶ෦ w ϝʔΧʔܦཧ
w 8FCܥΤϯδχΞ ͘Β͍ 3)(ʹڧ͘ӨڹΛ͏͚ͯɺΤϯδχΞʹͳΔ
TFMG w ۀ w .'Ϋϥυձܭ;ͭ͏ͷҰ։ൃऀ w 044 w 3VCZίϛολʔ
w 1SZίϛολʔ w 4MJNίϛολʔ
044ͷίʔυΛಡΉ͜ͱ
.PUJWBUJPO w ϦϑΝϨϯεʹͷ͍ͬͯͳ͍͜ͱΛௐΔͨΊʹಡΉ w όάΛ౿Μͩͱ͖ʹΓ͚ͷͨΊʹಡΉ w ػೳΛՃ͢Δͱ͖ʹಡΉ w ࣮͢Δͱ͖ͷώϯτΛಘΔͨΊʹಡΉ
w ϓϩμΫτؐݩ͞Ε͍͢ w Ή͠Ζ։ൃ্ඞਢͱݴ͑Δ
ATIPXTPVSDFAΛ͏
ATIPXTPVSDFAΛ͏ w खܰʹ࣮ߦͰ͖Δ w ΤϯυϙΠϯτίϯςΩετ͕໌֬ w ίʔυͷશମ૾͕Θ͔Βͳ͍
w ௐࠪ͢Δͱ͖ͷͱ͔͔ͬΓͱͯ͠
AHJUDMPOFAͨ͠ίʔυΛ։͘
w UBHϒϥϯνΛDIFDLPVUͰ͖Δ w UFTUDPEFͳͲ։͘͜ͱ͕Ͱ͖Δ w UFTUΛ࣮ߦͰ͖Δ w HSFQͰ͖Δ
w ศརͦ͏ͳDMBTTϝιουΛ୳͢ͱ͖ w ϦϑΝϨϯεʹͷ͍ͬͯͳ͍͍ํΛΓ͍ͨͱ͖ w WFSTJPOؒͷࠩҟΛௐࠪ͢Δͱ͖ w σάϨͨ͠มԽΛ͏ͱ͖ w ίʔυͷܦҢΛ͏ͱ͖ AHJUDMPOFAͨ͠ίʔυΛ։͘
*TTVF.-Λߪಡ͢Δ ൪֎ฤ w )PUͳ͕Θ͔Δ w ͦͷϓϩδΣΫτͷงғؾ͕Θ͔Δ w ࣗͷڵຯ͕Θ͔Δ
044ͷίʔυΛॻ͘͜ͱ
.PUJWBUJPO w ۀ্ඞཁ͔ͩΒ w কདྷࠔΒͳ͍ͨΊʹ w ಡΉ͜ͱʹൺͯதظతͳ࣌ؒ࣠ͰͷϦλʔϯΛૂ͏ w ڧ͍ؾ࣋ͪͰऔΓΉ
ۀ্ඞཁͳػೳ w ຊମʹೖΕɺͣͬͱϝϯςφϯε͞ΕΔ w ֎෦ͷ1MVHJOͦͷڍಈʹґଘ࣮ͯ͠͞ΕΔ ⚠ w ͳΜͰͦͷػೳ͕͍··Ͱͳ͔͔ͬͨΛ
Ұॠ ߟ͑Δ
3BJMT
w GPSNͷzBDDFQUDIBSTFUzΛࢦఆͰ͖ͳ͍ w ੜ͖͍ͯΔͱɺz65'zҎ֎Λࢦఆ͍ͨ͠ͱ͖͋Δ ⚠ w ถӳͰ͋·Γͳ͍ϢʔεέʔεͳͷͰʁ 3BJMT
ࣗҎ֎ͷϝϯόʔ౿Έͦ͏ͳͷ w ԼखʹυΩϡϝϯτʹͯ͠ڞ༗͢ΔΑΓ༗༻ w 13ΛܦΔ͜ͱͰɺ֎෦ͷϨϏϡʔ͕ೖΔ
3BJMT
w %#ͷςʔϒϧͰෳ߹1,ʹ͢Δͱɺ"3ͷQSJNBSZLFZ ͕OJMʹͳΔ w 42-Λൃߦͯ͠ॳΊͯɺྫ֎͕ͰΔ w ͬͱૣ͘ؾ͖͍ͮͨ ⚠ w
ࣾͰڞ༗ͯ͠ΕΔՄೳੑ w ϑϨʔϜϫʔΫͷ߹ͰOJMʹ͍ͯ͠Δ Α͏ʹ͓ͬ ͨ ͷͰXBSOJOHΛग़͢Α͏ʹมߋ 3BJMT
ײʹ͢Δͷ w ײʹ͠ͳ͍࣮ʹม͑Δ w 13ΛܦΔ͜ͱͰɺ֎෦ͷϨϏϡʔ͕ೖΔ ⚠ w ײਓͦΕͧΕ
w νϟϨϯδ͢ΔՁ͋Δ
3BJMT
3BJMT w SFEFpOF@NFUIPEͰϝιουΛ࠶ఆٛ͢ΔͱQVCMJD ʹͳΔ ⚠ w ͜ΕʹࠔΔ͜ͱ·ͣͳ͍ w ͕ɺສ͕Ұ౿ΉͱͭΒ͍ؾ࣋ͪʹͳΔ
ϥΠϒϥϦͷݻΊ w UFTUΛpY͢Δ w $*ͷઃఆΛݟ͢ w ͍͟13Λॻ͔͟ΔΛಘͳ͍ͱ͖ʹɺ࠷ͰਐΊΔΑ͏ ʹ͓ͯ͘͠
⚠ w తͳՁͰͳ͍ w νϟϨϯδ͢ΔՁ͋Δ
4MJN
4MJN
'PSLͯ͠$*Λ·Θ͢ ൪֎ฤ w खݩͰڥΛͭ͘Δͷ͕໘ w ܰඍͳมߋΛͯ͠ɺಈ࡞Λ֬ೝ͍ͨ͠
044ͷίʔυͰ༡Ϳ͜ͱ
.PUJWBUJPO w ָ͍͔͠Β w ͨΕṶ͚ɻͱ͍͏ײ֮ͰऔΓΉ w ͬͦ͜ΓͱɺͻͬͦΓͱऔΓΉ
৽͍͠ݴޠʹ৮ΕΔ͖͔͚ͬ w QBUDIΛͭ͘Γͳ͕ΒɺݴޠΛֶͿ w ࣮ࡍͷ՝͕͋ΔͷͰɺऔΓΈ͍͢ w தʔେنͷίʔυͷॻ͖ํΛཧղͰ͖Δ ⚠
w ࠷ݶͷυΩϡϝϯτΛಡΜͩΓ͔ͯ͠ΒࢀՃ͢Δ
QBOEBT QZUIPO
QBOEBT QZUIPO w QZUIPOͷڥΛͭ͘Γ w VOJUUFTUΛॻ͖ w खݩͰUFTUΛಈ͔͢
⚠ w QBOEBT͕QZUIPOͷೖΓޱͱͯ͠࠷ద͔ͱ͍͏ͱʜ
কདྷతͳࢿ w 3VCZͰ࣮Ͱ͖Δͱخ͍͠ͷ͕͋Δ w ֶशίετ͕͘ͳΔ w ෳͷݴޠΛ͍͚ͳͯ͘Α͍ ⚠
w ͍ͭճऩͰ͖Δ͔͔Βͳ͍ w ճऩͰ͖Δอূͳ͍
EBSV SVCZ
·ͱΊ w ۀͱ044ଓ͖ͷͷ w ͏·͍͚͘ɺੈք͕ίετΛෛ୲ͯ͘͠ΕΔ w ࣗͨͪͷྗͰվળͨ͠Γɺ҆ఆͤ͞Δ͜ͱ͕Ͱ͖Δ
5IBOLZPV