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? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
Search
moznion
October 07, 2024
Technology
3
3k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
YAPC::Hakodate 2024のLT資料です
moznion
October 07, 2024
Tweet
Share
More Decks by moznion
See All by moznion
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
3
2.9k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
190
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
6
4.6k
Chrome Extension Techniques from Hell
moznion
1
240
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
8.3k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
1k
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
11
19k
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
1
1.2k
RuboCopのカスタムCopを書いてContributionしてみる - Contributing a Custom Cop to RuboCop: A Hands-on Experience
moznion
0
100
Other Decks in Technology
See All in Technology
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
230
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
690
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
140
アノテーション作業書作成のGood Practice
cierpa0905
PRO
0
300
What's new in OpenShift 4.20
redhatlivestreaming
0
370
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
5
2k
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.5k
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
380
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
6
3.4k
serverless team topology
_kensh
3
240
実践マルチモーダル検索!
shibuiwilliam
1
410
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
950
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
What's in a price? How to price your products and services
michaelherold
246
12k
Become a Pro
speakerdeck
PRO
29
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Faster Mobile Websites
deanohume
310
31k
Unsuck your backbone
ammeep
671
58k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Gamification - CAS2011
davidbonilla
81
5.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
140
Transcript
͜Ε1FSMʁɹͦΕͱ3VCZʁ ΫΠζʙʙʙʙʙʂʂʂ  :"1$)BLPEBUF-5 !NP[OJPO
ʮ1FSMॻ͚ΔͳΒ3VCZॻ͚ΔΑͶʁʯ
ʮ3VCZॻ͚ΔͳΒ1FSMॻ͚ΔΑͶʁʯ
ͲͪΒਓݖͰ͋Δͱ ͘ೝࣝ͞Ε͍ͯΔ
͓͖ͯ͞ʜʜ ΫΠζʙʙʙʙʂʂʂʂʂ
ճީิ 1. Perl 2. Ruby 3. ྆ํ 4. ͲͪΒͰͳ͍
5. ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
print "yapc"
print "yapc" ྆ํ
2
say "yapc"
say "yapc" 1FSM
2
print "yapc" print "hakodate"
print "yapc" print "hakodate" 3VCZ
2
print '0' ? 'true' : 'false'
print '0' ? 'true' : 'false' ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
@l ist = (1..5); print @ l ist;
@l ist = (1..5); print @ l ist; ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
$_ a = '5'; $_ b = '10'; print
$ _ a + $ _ b;
$_ a = '5'; $_ b = '10'; print
$ _ a + $ _ b; ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
print $ _
print $ _ ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
class Example { }
class Example { } 1FSM
2
print true
print true ྆ํ 1FSMͷόʔδϣϯґଘ
use v5.40; print true;
2
class Person attr_accessor :name attr_accessor :age end
class Person attr_accessor :name attr_accessor :age end 3VCZ ͱ͜ΖʹΑΓ1FSM
package Filter; use Filter::Util::Call; sub im port { filter_add([]);
} sub filter { my ( $ self) = @_ ; my $status = filter_read(); return $status if $status <= 0; s/\bclass\s+(\w+)/package $1 {/g; s/\bend\b/}/g; s/\battr_accessor\s+:(\w+)/sub $ 1 { my \$self = shift; \ @ _ ? \$self->{\ $ 1 } = shift : \$self->{\ $1 } }/g; return $status; };
2
attr_accessor 'yapc', 'hakodate'
attr_accessor 'yapc', 'hakodate' 3VCZ ͱ͜ΖʹΑΓ1FSM
use Rubyish::Class; attr_accessor 'yapc', 'hakodate'
2
def add(a, b) a + b end
def add(a, b) a + b end 3VCZ ͱ͜ΖʹΑΓ1FSM
use Inline::Ruby; __END__ __Ruby__ def add(a, b) a +
b end
͍͔͕Ͱ͔ͨ͠ʁ
3VCZͱ1FSMͬͯࣅͯ·͢Ͷ