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
do-not-delete-softly
Search
MOROHASHI Kyosuke
August 31, 2015
Programming
13
34k
do-not-delete-softly
MOROHASHI Kyosuke
August 31, 2015
Tweet
Share
More Decks by MOROHASHI Kyosuke
See All by MOROHASHI Kyosuke
Simplicity on Rails -- RDB, REST and Ruby
moro
13
16k
ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
moro
5
2.3k
フレームワークを作らない方法/How NOT to build frameworks
moro
4
1k
全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること/let-our-whole-system-grow
moro
2
1.8k
フォームオブジェクトとの向き合い方/Grow Form Objects up
moro
1
1.8k
チームによるいきいきとしたソフトウェア開発/an-alive-team-grows-software
moro
3
3.3k
Web-E2E-Testing-from-Ruby
moro
5
490
Joyful user foundation restructuring with Ruby
moro
9
19k
cookpad-17day-tech-internship-2017-git
moro
0
9.4k
Other Decks in Programming
See All in Programming
個人開発で使ってるやつを紹介する回
yohfee
1
730
Vertical Architectures for Scalable Angular Applications
manfredsteyer
PRO
0
180
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
740
Scan with Decoupled Look-back and Onesweep Radix Sort
shocker_0x15
0
150
Kotlin Multiplatform at Stable and Beyond (Kotlin Vienna, October 2024)
zsmb
2
410
ML-прайсинг_на_Lamoda__вошли_и_вышли__приключение_на_20_минут__Слава_Цыганков.pdf
lamodatech
0
380
本編では話さない Zig の話
andpad
2
120
NEWTにおけるiOS18対応の進め方
ryu1sazae
0
330
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
220
How to debug Xdebug... or any other weird bug in PHP
dunglas
2
1.5k
Hi, have you met Kotlin Multiplatform? | DevFest Vienna 2024
prof18
0
220
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
160
Featured
See All Featured
Teambox: Starting and Learning
jrom
132
8.7k
Building Adaptive Systems
keathley
38
2.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9k
Building Better People: How to give real-time feedback that sticks.
wjessup
362
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
4.1k
Why Our Code Smells
bkeepers
PRO
334
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
40
2.1k
How GitHub (no longer) Works
holman
311
140k
Gamification - CAS2011
davidbonilla
80
5k
How to train your dragon (web standard)
notwaldorf
87
5.6k
How STYLIGHT went responsive
nonsquared
95
5.1k
Transcript
ཧআΛ ͠ͳ͍ 2015-08-31 ཧআCasual Talks #1 @moro
ॾڮګհ(@moro) Kyosuke MOROHASHI
None
None
͍͑ͨ͜ͱ
ཧআͳΜͯ ͳ͔ͬͨ
‣আ͍ͯ͠ͳ͍ ‣আ͍ͯ͠ͳ͍ͷͰআͱ ݺͿ͖Ͱͳ͍ɻ ‣ͥΜͥΜཧతͰsoftͰ ͳ͍.
ཧআΛ ͨ͘͠ͳΔͱ͖
ઈ൛ʹ আϑϥάΛ͚͍ͨ
࣮ݱ͍ͨ͜͠ͱ ‣ ઈ൛ͨ͠Λཧআͯ͠ɺ ҰཡݕࡧͰදࣔ͞Εͳ͍Α ͏ʹ͍ͨ͠ɻ ‣ ৽͘͠ߪೖͰ͖ͳ͍ͨ͘͠ɻ
ຊʹ”আ”ͳͷ͔? ‣աڈʹങͬͨސ٬ͷߪങཤ ྺʹදࣔ͢Δ ‣ച্ूܭͷରʹͳΔ
΄Μͱ͏ʹཉ͔ͬͨ͠ͷ status = :ઈ൛
class Product < AR::Base scope :sellable, -> { where.not(status: :絶版)
} end class ProductsController < AppC def index @products = Product.sellable.order(nantoka) end end class Backroom::ProductsController < AppC def index @products = Product.order(kantoka) end end
default_scope :sellable ඇਪɻʮσϑΥϧτʯ ͡Όͳ͍Ͱ͢͠
class Order < AR::Base default_scope -> { where(deleted_at: nil }
end # 忘れた頃に def clean_old_orders(orders) orders.unscoped.destroy_all # さらに忘れた頃に clean_old_orders(Order.where(company_id: 42))
ୀ৬ͨ͠ձһʹ আϑϥάΛ͚͍ͨ
࣮ݱ͍ͨ͜͠ͱ ‣ୀձͨ͠ձһɺ ϩάΠϯग़དྷͳ͍Α͏ʹɺ ཧআ͍ͨ͠
ຊʹ”আ”ͳͷ͔? ‣ ͦͷձһͷσʔλͲ͏ͳΔ? ‣ a: ͥΜͿফ͢ ‣ b: ͦͷ··͢ ‣
c: ಗ໊ͱͯ͢͠ ‣ d: γεςϜϢʔβ͚ସ͑
ຊʹ”আ”ͳͷ͔? ‣a: ͥΜͿফ͢ ‣ ফ͠·͠ΐ͏!!! ‣ ෆ҆ͳΒඞཁͳͱ͜Ζ͚ͩ ΞʔΧΠϒ
ຊʹ”আ”ͳͷ͔? ‣b: ͦͷ··͢ ‣ ୀձձһΛ status = :ログイ ン不可 ʹ͢Δ
(statusͦΕͦΕͰ pros/cons ͋Δͷͷ…) ‣ೝূใ͚ͩফ͢
ຊʹ”আ”ͳͷ͔? ‣c: ಗ໊ͱͯ͢͠ ‣ݸਓใͳͲΛফ͢Α͏ɺ ॲཧΛ͢
ຊʹ”আ”ͳͷ͔? ‣ d: γεςϜϢʔβ͚ସ͑ ‣ͦ͏͍͏ॲཧΛ͢
ຊʹ”আ”ͳͷ͔? ‣ a: Ҏ֎ʮআʯ͍ͯ͠ͳ͍ ‣ a: Ұॹʹফ͢ ‣ b: ͦͷ··͢
‣ c: ಗ໊ͱͯ͢͠ ‣ d: γεςϜϢʔβ͚ସ͑
ʮཧআʯͰͳ͘ Γ͍ͨ͜ͱʹԊͬͨઃܭΛ
อظݶͷ ա͗ͨσʔλʹ আϑϥάΛ͚͍ͨ
࣮ݱ͍ͨ͜͠ͱ ‣ҰఆظؒҎ্ݹ͍σʔλΛ ཧআ͠ɺҰཡʹදࣔ͞ Εͳ͍ͨ͘͠ɻ
ຊʹ”আ”ͳͷ͔? ‣ ϩάΛऔͬͯফ͢ɻ ‣ আͰ͖ͦ͏ɻ ‣ ࠪʹඞཁetcͳͲͳΒ͢ɻ
ຊʹ”আ”ͳͷ͔? ‣ٯʹߟ͑Δɻ ‣ Ұཡʹදࣔ͢Δ߲Λ ৽͍͠ͷ͚ͩʹ͢Δɻ ‣ σʔλྔͷݒ೦ͱɺUXͷ ݒ೦ͦΕͧΕผͷɻ
default_scope と同じ問題 一番最初の画面に出すもの、が デフォルトなわけではない。
ͳͥཧআΛ ͖͢Ͱͳ͍ͷ͔ (reprise)
‣ࢭΊ͕࣌Θ͔Βͳ͍ɻ ‣ શςʔϒϧʹআϑϥά ‣ ͭͶʹJOINͯ͠ϑϥάνΣοΫ
‣σʔλͷऴΘΓΛ ઃܭͰ͖͍ͯͳ͍ɻ ‣ઃܭͰ͖͍ͯͳ͍ͷͰ ࢭΊ͕ܾ࣌ΊΒΕͳ͍ɻ
ͳͷʹʮཧআʯͰ Կ͔ΛݴͬͨงғؾʹͳΔɻ ࢛จࣈख़ޠ͜Θ͍ɻ
ཧআΛ ͠ͳ͍
‣σʔλͷʮऴΘΓํʯΛ ;ͭ͏ʹઃܭ͢Δɻ ‣࢛จࣈख़ޠͰԿ͔Λ ݴͬͨؾʹͳΒͳ͍ɻ
͋ΘͤͯಡΈ͍ͨ: http://qiita.com/Jxck_/items/156d0a231c6968f2a474
‣σʔλͷʮऴΘΓํʯΛ ;ͭ͏ʹઃܭ͢Δɻ ‣࢛จࣈख़ޠͰԿ͔Λ ݴͬͨؾʹͳΒͳ͍ɻ