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
57
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
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
150
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
140
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
170
電話に出る Python のログの話
shinnosuke_kishida
0
220
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
140
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
610
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
0
220
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
250
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
internal/testlog で遊ぼう
rokuosan
0
160
dbt と Snowflake と tag
kevinrobot34
1
230
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
490
Building the Perfect Custom Keyboard
takai
2
850
The untapped power of vector embeddings
frankvandijk
2
1.8k
The Limits of Empathy - UXLibs8
cassininazir
1
610
Are puppies a ranking factor?
jonoalderson
2
3.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
GitHub's CSS Performance
jonrohan
1033
470k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
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ͷϑΥϩϫͷࠩΛه͢Δͷ