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
Rubyで日本四大祭の一つを楽しんだ。
Search
北䑓如法
March 05, 2016
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyで日本四大祭の一つを楽しんだ。
Hiroshima Ruby Conference 2016 でRubyで日本四大祭の一つを楽しんだことについて発表しました。
北䑓如法
March 05, 2016
More Decks by 北䑓如法
See All by 北䑓如法
PyCon JP 2025で短いBGMを3曲作った / Composed 3 pieces of music for PyCon JP 2025
nyoho
0
52
PyCon JP 2025で「Pythonのピース」を集めるウェブアプリを作って運用した / Building and operating web apps to collect "Python pieces" at PyCon JP 2025
nyoho
0
58
PyCon JP 2025「すごい広島」コミュニティポスター制作記 / The making of a community poster of Great Hiroshima at PyCon JP 2025
nyoho
0
57
ビジュアライゼーションと数学 〜 すうがくむかしばなし 負の数・複素数編 〜 / Visualization-and-mathematics-OSH2022
nyoho
0
590
初心者、電子工作に入門。 Python Charity Talks 2021.09 / A beginner started electronic handicraft - Python Charity Talks 2021.09
nyoho
0
18k
Next.js + Heroku + Dockerでも玉ねぎの汁で涙が出んように 〜PyCon mini Hiroshima サイト構築の一コマ〜 / Avoiding onion essence with Next.js + Heroku + Docker -- development of the site of PyCon mini Hiroshima
nyoho
0
400
SageMathで数学の力を上げます PyCon mini Hiroshima 2019 / Enlarge your ability of mathematics with SageMath
nyoho
1
720
Python初心者がPyTorchをいじって機械学習の計算してみた PyCon mini Hiroshima 2018 / Python-newbies machine learning learning with PyTorch
nyoho
2
1.2k
RubyKaigi 2017 の告知 / A notification of RubyKaigi 2017 at WTM100
nyoho
0
2.2k
Other Decks in Technology
See All in Technology
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
480
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
330
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.3k
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
950
tamachi.goを支える技術
rymiyamoto
0
110
AIエージェントのためのデータ設計
daiz21
0
520
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
10
8.9k
dbt in Microsoft Fabric
ryomaru0825
0
300
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
0
150
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
180
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
800
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
500
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
490
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The SEO Collaboration Effect
kristinabergwall1
1
530
Balancing Empowerment & Direction
lara
6
1.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
The browser strikes back
jonoalderson
0
1.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing Experiences People Love
moore
143
24k
Transcript
RubyͰຊ࢛େࡇ ͷҰͭΛָ͠Μͩɻ Introduction to Mention it to Balsers 㝳๏ from
Hiroshima.rb 20163݄4() @ Hiroshima Ruby Conference
ࣗݾհ
None
KITADAI, Yukinori 㝳๏ ▸ ͖͍ͨͩΏ͖ͷΓ ▸ ๏ΛԻಡΈ(༗৬ಡΈ)ͯ͠ʹΐ΄͏ ▸ ༵ϓϩάϥϚ
J1BEౡห ݕࡧ ৄ͘͠
ࠓHiroshima Ruby ConferenceͷϨϕϧΛԼ͛ ʹདྷ·ͨ͠!
RubyͰຊ࢛େࡇ ͷҰͭΛָ͠Μͩ?
࢛େࡇ? ϑϦʔࣸਅૉࡐͺͨͦ͘
෮श: ݹདྷΑΓΘΔ ຊࡾେࡇ
The three major festivals in Japan ݹདྷΑΓΘΔຊࡾେࡇ
The three major festivals in Japan ݹདྷΑΓΘΔຊࡾେࡇ ▸ ϠϚβΩय़ͷύϯࡇ
The three major festivals in Japan ݹདྷΑΓΘΔຊࡾେࡇ ▸ ϠϚβΩय़ͷύϯࡇ ▸
౦ө·Μ͕ࡇ
The three major festivals in Japan ݹདྷΑΓΘΔຊࡾେࡇ ▸ ϠϚβΩय़ͷύϯࡇ ▸
౦ө·Μ͕ࡇ ▸ ՖԦϔΞέΞࡇ
ۙՃ͞Εͨ 4ͭͷࡇͱ?
http://twitter.com/ama495/status/704556082220310528
http://twitter.com/ama495/status/704556082220310528
ʊਓਓਓਓਓਓਓਓਓʊ ʼɹόϧεࡇͰ͠ΐɹʻ ʉ̮̮̮̮̮̮̮̮̮ʉ
The fourth festival — Bals Fest όϧεࡇ ▸ ༵ۚϩʔυSHOW!Ͱʰఱۭͷϥϐϡλʱ์ૹ ▸
ΫϥΠϚοΫε໓ͼͷढจʮόϧεʯ ▸ ಉ࣌ʹTwitterͰօҰ੪ʹʮόϧεʯͱπΠʔτ ▸ …ͱ͍͏ຊʹΘΔ͓ࡇ ▸ TwitterͷετϨεςετͷׂ୲͏
Twitter Inc. provoked lol Twitterެࣜʮͥͻָ͓͠Έ͍ͩ͘͞ʯͱൃ
डཱ͚ͯͱ͏
͔ͤͬ͘ͳͷͰԿ͔ RubyͷϓϩάϥϜΛ ॻָ͍ͯ͠͏
ઌߦݚڀ
ઌߦݚڀ ▸ όϧεͱ͍͏πΠʔτ͕ۃʹଟ͘ͳͬͨ ΒʮόϧεʯͱࣗಈπΠʔτ͢Δ ▸ (ͳͲ)
͜͏͍͏ͷ ͍͍͚Ͳ
SNS ίϛϡχέʔγϣϯ ͯ͠ͳΜ΅͡ΌΖὑ
ϐίʔϯ
ʮόϧεʯͱπΠʔτͨ͠ਓʹ ʮφΠεόϧεʯͱϝϯγϣϯ ͠Α͏! όϧε !CBMTFSφΠεόϧε
͜Ε ɾ㱼ɾ řšƄŘ
ఱۭͷϥ ϐ ϡ λ ɺ ์ૹ։࢝ɻ
Α͏͍ͲΜ
None
None
༻ͨ͠gem
Used rubygems ༻ͨ͠gem ▸ twitter ▸ user_stream (ࠓ twitter gem
͕͋Εཁ Βͳ͍) ▸ foreman, doting, color_echo
……ຊ൪
όϧε!! γʔλͱύζʔ ͍ͭʹͦͷͱ͖͕!
ズバババババ!!!!!
ズバババババ!!!!!
ズバババババ!!!!!
͓͓͓ʔ! ͏·͍ͬͨ͘ʔ!
΄Ͳͳ͘…
お、お返事 がっ!!
お、お返事 がっ!!
お、お返事 がっ!!
ϓϩάϥϜͰ ͢Έ·ͤΜ"
ࣗͳΓʹ ͨ͠ͱ͜Ζ
ࣗͳΓʹͨ͠ͱ͜Ζ RT@URL͖ͭπΠʔτʹԠ͠ͳ͍Α͏ʹ if text !~ /^RT / and text !~
/@/ and text !~ /http/ and text =~ /όϧε/ if bals_density_high?(text) puts CE.fg(:green).get("@#{user.screen_name}: #{text}") @client.update("@#{status.user.screen_name} " + random_message, in_reply_to @client.favorite(status.id) end
ࣗͳΓʹͨ͠ͱ͜Ζ ʮφΠεόϧεʯҎ֎ͷϝοηʔδ ▸ ྻͷ .sample ศརͩͳ ▸ จࣈྻʹ͔͚ࢉͰ͖Δͷศརͩͳ def random_message
array = ['φΠεόϧε', ‘͜Ε͍͍όϧε', ‘͍͍όϧεͰͨ͠Αʙ', 'ϥϐϡλѪͷ͋;ΕΔόϧεͰͨ͠Ͷ', 'ૉΒ͍͠όϧε'] array.sample + '!' * rand(1..10) end
ࣗͳΓʹͨ͠ͱ͜Ζ ʮόϧεʯີͷߴ͍πΠʔτ͚ͩʹ ▸ ֯จࣈΛআ ▸ όϧεີͷ͍πΠʔτແࢹ (ʮόϧε͍ͬͯ͏ ͷ͕ྲྀߦ͍ͬͯΔΒ͍͠ʯͱ͔εϧʔ͍ͨ͠) def bals_density_high?
str return false if str.length == 0 s = str.gsub(/([[:ascii:]]|[[:punct:]])/,'') t = s.gsub(/όϧε/,'') t.length.to_f / s.length.to_f < 0.5 end
OSS Φʔϓϯιʔε ▸ GitHubͰެ։͍ͯ͠·͢ ▸ https://github.com/Nyoho/MentionItToBalsers
OSS Φʔϓϯιʔε ▸ GitHubͰެ։͍ͯ͠·͢ ▸ https://github.com/Nyoho/MentionItToBalsers
OSS Φʔϓϯιʔε ▸ GitHubͰެ։͍ͯ͠·͢ ▸ https://github.com/Nyoho/MentionItToBalsers ͬɺผʹ4UBS͠ʜ
Conclusion ·ͱΊ ▸ ͜ͷΑ͏ʹझຯͰRubyΛָ͠ΜͰ͍·͢ ▸ ·ͭͱ͞ΜΛ࢝Ίͱͨ͠RubyʹؔΘΔ օ༷ʹײँ ▸ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
Appendix ͦͷଞͷ੍࡞ ▸ TwitterͰʹ ʮ!/F9545&1049 ΞΠίϯΛʙʹมߋͯ͠ʯͱϝϯγϣϯ͢ ΔͱɺͷΞΠίϯΛͦͷจࣈྻΛͬͨ ը૾ʹมߋ͢ΔγεςϜ(POV-RayͰϨϯμ Ϧϯάͨ͠3DCG) ▸
TwitterͷϑΥϩϫͷࠩΛه͢Δͷ