$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rubyで日本四大祭の一つを楽しんだ。
Search
北䑓如法
March 05, 2016
Technology
1
1.3k
Rubyで日本四大祭の一つを楽しんだ。
Hiroshima Ruby Conference 2016 でRubyで日本四大祭の一つを楽しんだことについて発表しました。
北䑓如法
March 05, 2016
Tweet
Share
More Decks by 北䑓如法
See All by 北䑓如法
PyCon JP 2025で短いBGMを3曲作った / Composed 3 pieces of music for PyCon JP 2025
nyoho
0
21
PyCon JP 2025で「Pythonのピース」を集めるウェブアプリを作って運用した / Building and operating web apps to collect "Python pieces" at PyCon JP 2025
nyoho
0
24
PyCon JP 2025「すごい広島」コミュニティポスター制作記 / The making of a community poster of Great Hiroshima at PyCon JP 2025
nyoho
0
26
ビジュアライゼーションと数学 〜 すうがくむかしばなし 負の数・複素数編 〜 / Visualization-and-mathematics-OSH2022
nyoho
0
560
初心者、電子工作に入門。 Python Charity Talks 2021.09 / A beginner started electronic handicraft - Python Charity Talks 2021.09
nyoho
0
15k
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
370
SageMathで数学の力を上げます PyCon mini Hiroshima 2019 / Enlarge your ability of mathematics with SageMath
nyoho
1
680
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.1k
Other Decks in Technology
See All in Technology
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
2.8k
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
7
2.8k
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
440
翻訳・対話・越境で強いチームワークを作ろう! / Building Strong Teamwork through Interpretation, Dialogue, and Border-Crossing
ar_tama
4
1.6k
Product Engineer
resilire
0
130
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
AI 時代のデータ戦略
na0
8
3.2k
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
2
720
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
150
Claude Code Getting Started Guide(en)
oikon48
0
140
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Building Applications with DynamoDB
mza
96
6.8k
Practical Orchestrator
shlominoach
190
11k
Side Projects
sachag
455
43k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
78
Git: the NoSQL Database
bkeepers
PRO
432
66k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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ͷϑΥϩϫͷࠩΛه͢Δͷ