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
詳解🔍Burn🔥
Search
remore
November 08, 2015
Technology
5.4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
詳解🔍Burn🔥
大江戸Ruby会議05でのNinja Talkの資料です
http://regional.rubykaigi.org/oedo05/
remore
November 08, 2015
More Decks by remore
See All by remore
Turning CDN edge into a Rack web server with ruby.wasm
remore
0
700
Prototyping Kubernetes CRI With Ruby and gRPC
remore
3
1.3k
How I made a pure-Ruby word2vec program more than 3x faster
remore
3
3.3k
A PoC-ish Trick: LLVM IR Generation with Ruby
remore
1
1.4k
Code, Arguments and Startups
remore
0
1.8k
DockerCon 2015 Quick Recap
remore
0
470
dockerfileview: A Dockerfile viewer to trace ancestry of the base image
remore
2
470
Burn: 8-Bit Game Development With Ruby
remore
3
1.1k
Other Decks in Technology
See All in Technology
現場のトークンマネジメント
dak2
1
200
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
330
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
1.2k
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
930
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
480
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
2
430
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
120
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
180
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
280
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
210
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
360
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
350
Building an army of robots
kneath
306
46k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Facilitating Awesome Meetings
lara
57
7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
Being A Developer After 40
akosma
91
590k
Transcript
ৄղ #VSO 0FEP3VCZ,BJHJ !SFNPSF
self.introduction do id "remore" name "Kei Sawada" icon from [:Sapporo,
:Tokyo] job "Software Engineer” works_at community :asakusarb do joined_at “2015-05-26” oedo05_role “࠙ձ୲” end end
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
None
l"NB[JOHXPSLz l7FSZWFSZDPPM TUV⒎z
l5IFDPPMFTUTIJUJT BMXBZTUIFNPTU VTFMFTTz ༁ɿ࠷ߴʹΫʔϧͳͷ͍ͭ ࠷ߴʹʹཱͨͳ͍ͷͰ͢Ͷ
l5IF.PTU6TFMFTTz ͱධ͞Εͨϲ݄ޙ
3VCZLBJHJ SFTVMUPGZPVS$'1 BEPQUFE
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
#VSOͰԼهͭͷରΛ %4-Ͱૢ࡞Մೳʹ͍ͯ͠·͢ ɹ%FDMBSFมΛએݴ͢Δ ɹ4DFOFը໘ͷಈ͖Λॻ͘ ɹ.VTJD OFTϞʔυͷΈ ۂΛॻ͘ ɹ4PVOE OFTϞʔυͷΈ
ޮՌԻΛॻ͘ ɹ$POpH UFMOFUϞʔυͷΈ αʔόઃఆ
%FDMBSFมΛએݴ͢Δ declare do player <<-EOH @- @@-- @- EOH enemy
<<-EOH XXX CXX XXX EOH blocker "%" shoot ">>>" shoot_flag 0 end ʢgithub.com/remore/burn/example/system_menu/main.rb ΑΓൈਮʣ ʲ֓ཁʳ ɾ4USJOHܕ͔'JYOVNܕͷΛએݴ͢Δ ɾએݴͨ͠4DFOFͷNBJO@MPPQϝιο υʹ͢ϓϩάϥϜจࣈྻͰར༻ՄೳʹͳΔ ʲOFTϞʔυͷΈʳ ɾ4USJOHܕҰߦ͋ͨΓͷഒͷͷd· Ͱͷ֯ࣈͷΈΛ֨ೲՄೳՄೳɻ·ͨɺߦ ͷഒͷߦͰ͋Δඞཁ͕͋Δɻ͜Ε ɺOFTͷ30.ͷύλʔϯςʔϒϧͷ༷ʹ ΑΔ੍݅
4DFOFը໘ͷಈ͖Λॻ͘ scene “foobar” do color :bg, :black label "HELLO, WORLD!",
2, 2 end ʲओͳݺͼग़͠Մೳϝιουʳ MBCFMจࣈྻͷදࣔ DPMPSจࣈྻɾഎܠͷ৭͚ XBJUࢦఆඵϙʔζ HPUPγʔϯΓସ͑ JOMJOFΠϯϥΠϯίʔυૠೖ NBJO@MPPQϧʔϓॲཧ ʲOFTͷΈʳ GBEF@JOɹϑΣʔυΠϯޮՌ GBEF@PVUϑΣʔυΞτޮՌ QMBZ TUPQۂ࠶ੜɾఀࢭ TDSFFOը໘ඳը TPVOEޮՌԻ࠶ੜ QBJOU෦తͳը໘ண৭
.VTJD OFTϞʔυͷΈ ۂΛॻ͘ music “foobar_purple" do tempo :allegro channel
"string" do g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth, :dotted g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth g2 :sixteenth, :tenuto bs2 :eighth end end ʲओͳݺͼग़͠Մೳͳϝιουʳ UFNQP ͍ॱʹɺ \QSFTUP BMMFHSP NPEF SBUP BOEBOUF BEBHJP M BSHP^ͷஈ֊ઃఆՄೳ DIBOOFM ଟνϟϯωϧ·Ͱ͑Δ ͑Δָثͷछྨ \lCBTTz lQJBOPz lTUSJOHz lBSQFHHJPz lTUFQz lCFMMz lBDPVTUJDz lHVJUBSz lUIFSFNJOz^ͷछྨ
.VTJD OFTϞʔυͷΈ ۂΛॻ͘ music “foobar_purple" do tempo :allegro channel
"string" do g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth, :dotted g2 :sixteenth, :accent bs2 :sixteenth, :accent a2 :sixteenth, :tenuto g2 :sixteenth, :tenuto c3 :eighth g2 :sixteenth, :tenuto bs2 :eighth end end ʲDIBOOFMͷॻ͖ํʳ υϨϛϑΝιϥγυΛD E F G H B C DͰදݱ ༸Ի֊ͷӳޠಡΈ ΦΫλʔϒΛࣈͰදݱ͍ͯͯ͠ d·Ͱͷߴ͞ ݤ ར༻Մೳ Իͷ͞ \IBMG RVBSUFS FJHIUI TJYUF FOUI^ͷΑ͏ʹදݱɻٳූ SFTUɻEPUUFE@RVBSUFSͷΑ ͏ʹ͢Δͱූ͖ͭɺUSJQMFU@IBMG ͷΑ͏ʹ͢Δͱ࿈ූΛදݱՄೳ ͦͷଞͷදݱͱ͠ ͯBDDFOU UFOVUP TUBDDBUP ͷԻָදݱ͕Մೳ
4PVOE OFTϞʔυͷΈ ޮՌԻΛॻ͘ sound "change" do effect do duty_cycle
:higher velocity 15 envelope_decay :disable length 5 pitch 200 end effect do length 4 pitch 100 end end ʲओͳݺͼग़͠Մೳͳϝιουʳ F⒎FDU EVUZ@DZDMFʹ \MPXFTU MPXFS IJHIFS IJHIFTU^Λઃఆɻۣܗͷ EVUZൺΛdͷ෯ Ͱܾఆɻ WFMPDJUZͰԻͷڧ͞Λd ͷ෯Ͱઃఆ͠ɺMFOHUIͰԻͷ ͞Λdͷ෯Ͱઃఆ ˞QJUDIFOWFMPQF@EFDBZ ·ͩͦ͜·Ͱਂ͘࡞ΓࠐΊ ͯͳ͍
$POpH UFMOFUϞʔυͷΈ αʔόઃఆ config :app do target :telnet user_input
:enable frame_rate :extreme height 13 width 73 end config :server do ip_addr '0.0.0.0' max_clients 1000 end ʲBQQΞϓϦέʔγϣϯઃఆʳ VTFS@JOQVUσϑΥϧτ ͰEJTBCMFɺλʔϛφϧ্ͰͷϢʔβ ೖྗΛड͚͚Δ߹FOBCMFʹ GSBNF@SBUFը໘ඳըͷසͰ ෦తʹ &WFOU.BDIJOF1FSJPEJD5JNFSʹ ΘΕΔɺ \FYUSFNF IJHI OPSNBM TMPX^ ͷछྨ͔Βࢦఆ IFJHIU XJEUIඳըྖҬʢը໘ ͷߴ͞ɺ෯ʣΛࢦఆ
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺৄղ#VSO 'VFM%4- ̏ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̐ɺ#VSOͷं૭͔Β
ࣄલ४උ HFNJOTUBMMCVSO CVSOJOJU
$BTF ɾձٞࣨʹϓϩδΣΫλ͕ແ͍࣌ ͱ͔ ɾλʔϛφϧͰϓϨθϯ͍ͨ࣌͠ ʢ3'$ͷςΩετΛಡ͏ͱ͔ʣ ͔ͭ ɾ3BCCJUΈ͍ͨͳλΠϜΩʔϓ͍ͨ͠
XHFUIUUQTUPPMTJFUGPSHSGDSGDUYU CVSOGVFMGSGDUYUIU NBJOSCCVSO UFMOFUMPDBMIPTU
$BTF ੲͷήʔϜͷۂ໊͕͔Βͳ͍࣌
NLEJSDBTFDEDBTF FDIPbHVBSE TIFMM \XBUDI SC \c NcACVSODA^^`(VBSEpMF HVBSE
WJNNBJOSC'VFM%4-Λॻ͘
$BTF 5FMOFUͰಈ͘""Λ࡞ͬͨΓ ήʔϜΛ࡞ͬͨΓͰ͖·͢ HJUIVCDPNSFNPSFCVSOFYBNQMF ʹ͍͔ͭ͘ͷαϯϓϧ͕͋Γ·͢
ʲ࣍ʳ ̍ɺ#VSOͷ͓͞Β͍ ̎ɺ໌͔Β͑Δ ɹɹ#VSOΛͬͨΒ͠ͷ ̏ɺৄղ#VSO 'VFM%4- ̐ɺ#VSOͷं૭͔Β
None
͔Β3VCZJTU͕ ଟདྷ͍ͯͨ ڈͷ1SF3VCZ,BJHJ 8FMDPNF1BSUZ
lʹDIΈ͍ͨͳ ܝࣔ൘͕͋ͬͯɺ͚ͩͲ ͦ͜ʹ5FMOFUͰܨ͗ʹߦ͘z !ZPSLYJO
UFMOFUQUUDD ˞J5FSNͰจࣈԽ͚͢Δ ߹1$.BO##41SPKFDUͳ ͲΛར༻͢ΔͱΑ͍
None
ಡΊͳ͍
ʢগ͠ઢ͠·͕͢ʣ ͱݴ͑
None
IUUQHWBTJBKBUX
HWUX ใΛ࣋ͭωοτࢢຽʹ ΑΔࢀՃܕͷ࣏ࣗΛࢦ͢ ࢢຽӡಈ
None
None
ࠓͳͥHWUXͷΛ ͍ͯ͠Δͷ͔ͱ͍͏ͱ
l.BOZPGUIFTFTDFOFTrWJEFPTBOEJNBHFT VQMPBEFEPO:PVUVCF 'BDFCPPLBOEPUIFS EJTDVTTJPOGPSVNTrXPVMEFOEVQCFJOHUBLFO EPXOGBTUFSUIBOUIFZDPVMECFQVUVQ"OEXJUI QSPUFTUPSTDIBSHFEEVFUPUIF&YFDVUJWF :VBOQSPUFTU TUVEFOUHSPVQTPSHBOJ[FEPO155 UIFPOMJOFCVMMFUJOCPBSE
CFHBOUPSBQJEMZ BTTFNCMFBOEDPNQJMFUIFTFpMFTTPUIBUUIFZ DPVMECFVTFEBTQPUFOUJBMFWJEFODFGVSUIFSPOz IUUQUIFEJQMPNBUDPNIPXUFDIOPMPHZSFWPMVUJPOJ[FEUBJXBOTTVOqPXFSNPWFNFOU
HWUXͷ׆ಈʹ͓͍ͯ 5FMOFUαʔό͕ ҰͭͷϥΠϑϥΠϯ
ੈք͍
None
l*`EMJLFUPJOWJUFZPVUPTQFBLBU !8JDLFE(PPE3VCZz !CDBSEBSFMMB
None
l7FSZDSFBUJWF WFSZVOVTVBM CVUBMTP WFSZDMFWFSz 3VCZ8FFLMZ*TTVF
l5IF.PTU6TFMFTT4IJUz ͍͔ͭਓͷʹ ཱ͔ͭ͠Εͳ͍ ʢཱͨ͠ͳ͍͔͠Εͳ͍ʣ