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
LTの敷居を下げる / Lower the threshold for LT
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takumi Shotoku
January 11, 2024
Technology
420
2
Share
LTの敷居を下げる / Lower the threshold for LT
【オフライン開催】Omotesando.rb #93
https://omotesandorb.connpass.com/event/305893/
Takumi Shotoku
January 11, 2024
More Decks by Takumi Shotoku
See All by Takumi Shotoku
Automatically generating types by running tests
sinsoku
4
13k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2.8k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
290
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
340
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
10
3k
Let's get started with Ruby && Rails Tips
sinsoku
0
490
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.5k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.6k
💎のつくりかた 2023 / How to make gems 2023
sinsoku
2
470
Other Decks in Technology
See All in Technology
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
490
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
860
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
160
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
130
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
270
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
540
Bref でサービスを運用している話
sgash708
0
210
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
120
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
11
6.9k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Cult of Friendly URLs
andyhume
79
6.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
220
Speed Design
sergeychernyshev
33
1.6k
A Soul's Torment
seathinner
5
2.6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
350
Six Lessons from altMBA
skipperchong
29
4.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
We Have a Design System, Now What?
morganepeng
55
8k
Transcript
LTͷෑډΛԼ͛Δ Omotesando.rb #93 2024/01/11 1
ࣗݾհ • ໊લ: ਖ਼ಙ (aka: ਆ) • GitHub: @sinsoku (ը૾ӈ্)
• Twitter: @sinsoku_listy (ը૾ӈԼ) • ͖ͳݴޠ: Rust ! , Ruby " • Railsྺ: 8͘Β͍ 2
એ: ໌1/12(ۚ)ʹ։࠵ ձ גࣜձࣾϚωʔϑΥϫʔυ ͞Μʹ͓आΓ͠ɺRBSܕΛ৮ ΔձΛ͠·͢ɻ 3
͢͜ͱ • ! LTͷෑډ͕ߴ͍ʁ • ⭐ LTͷϝϦοτ • # εϥΠυͷ࡞ΓํͳͲ
• $ ͓·͚: Rubyͷ • Omotesando.rb ͳͷͰ 4
! LTͷෑډ͕ߴ͍ʁ • ొஃͯ͢͠ωλ͕ແ͍ • ਓલͰ͢ͷ͕ۤख • ܦݧ͕ແ͍ͷͰෆ҆ 5
͢ωλ Omotesando.rb ຖ݄։࠵ͯ͠ΔͷͰɺRubyؔ࿈Ͱ৽֮͑ͨ͘͠ Կ͔Λ͘͢Β͍ͷؾ࣋ͪͰྑ͍ɻ • Rubyͷศརϝιουɺػೳͷհ • ͋·ΓΒΕ͍ͯͳ͍ڍಈͷհ • ʮ͜Ε͕όάͷݪҼͰͨ͠ʯͳͲ1
1 ⚠ ۀͷ۩ମྫΛ͠ա͗ͳ͍Α͏ʹҙ 6
ਓલͰ͢ͷ͕ۤख / ܦݧ͕ແ͍ͷͰෆ҆ 7
ͦΕͳ 8
͢ͷ͕ۤख / ෆ҆ ొஃܦݧ͕૿͑Δͱɺগ͠׳ΕΔɻ ͨͩɺਓ͕૿͑ΔͱࠓͰۓு͢Δɻ 9
LTʹର͢Δߟ͑ํ • ⏳ Ͱ͖Δ͚ͩ 5 ͰऴΘΒͤΔ • LT͕໘ന͘ͳͯ͘5ͳΒେৎ • "
୭͔ͷʹཱͭ 10
࣭ 1. Omotesando.rb ॳࢀՃͷํ 2. Ruby/Railsͷܦݧ͕3ະຬͷํ 11
⭐ LTͷϝϦοτ • ! ొஃͷޙʹใ͕ू·Δ • " ొஃͷ࿅शʹͳΔ • #
كʹొஃґཔΛड͚Δ 12
! εϥΠυ࡞ιϑτ • Google Slides • Deckset for Mac 13
Google Slides • ແྉ • Windows, Mac Ͱར༻Մ • ៉ྷͳσβΠϯ͕࡞ΕΔ
• จࣈɾը૾Λࣗ༝ʹஔͰ͖Δ ҎલʹΑ͍ͬͯͨ͘ɻձࣾͷςʔϚΛ͏ͱ͖ͬͪ͜ɻ 14
Desckset for Mac • ༗ྉʢ$35/one-timeʣ • ϚʔΫμϯه๏Ͱ࡞Մೳ • GitHubͰཧͰ͖Δ •
จࣈɾը૾ͷஔʹ੍ݶ͕͋Δ ࠷ۙͬͪ͜Λ͍ͬͯΔɻ࣌ؒͰεϥΠυ͕࡞Εͯศརɻ 15
! ը૾Λ͏ • ! จࣈ͚ͩͩͱ୯ௐʹͳΔ • ✨ ҹʹΔ • #
্ख͘͏ͱ໘ന͍ 16
ΞϯΨʔϚωδϝϯτͷษڧͰಡΜͩຊ • ΞϯΨʔϚωδϝϯτೖ • ଞऀͱಇ͘ / ʮΘ͔Γ͋͑ ͳ͞ʯ͔Β࢝ΊΔ৫ • ࣗͷখ͞ͳʮശʯ͔Β
ग़͢Δํ๏ • ը૾ 17
⚠ ஶ࡞ݖͷѻ͍ • εϥΠυͷར༻άϨʔ2 • ΦϯϥΠϯެ։ආ͚ͨํ͕ྑ͍ • SpeakerDeck ʹ্͛Δલʹফ͢ •
ΧϯϑΝϨϯεͰར༻Λආ͚ͨํ͕ྑ͍ 2 ৄ͘͠ͳ͍ͷͰࣗ৴ͳ͍ 18
! αʔόαΠυΤϯδχΞ ͜ΕαόͰ͢ ! 19
! map, flat_map, filter_map ͷհ map p [1, 2, 3].map
{ |n| n * 3 } #=> [3, 6, 9] 20
! map ͱ flat_map ͷҧ͍ map [[1,2], [3,4]].map { |i|
i.map { |j| j*2 } } #=> [[2, 4], [6, 8]] flat_map [[1,2], [3,4]].flat_map { |i| i.map { |j| j*2 } } #=> [2, 4, 6, 8] 21
! map ͱ filter_map ͷҧ͍ map (1..10).map { |i| i
* 2 if i.even? } #=> [nil, 4, nil, 8, nil, 12, nil, 16, nil, 20] filter_map (1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20] 22
! ͥͻ࣍ճొஃ͠·͠ΐ͏ 23