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
[pixiv summer boot camp] pixivFACTORY
Search
alpaca-tc
September 24, 2015
Technology
0
3.5k
[pixiv summer boot camp] pixivFACTORY
pixivで開催した大学生向けインターンで、学生向け講義として話しました。
自分の作ったpixivFACTORYについてと、開発を通じて大事だったことを簡単に盛り込みました。
alpaca-tc
September 24, 2015
Tweet
Share
More Decks by alpaca-tc
See All by alpaca-tc
TracePointを活用してモデル名変更の負債解消をした話
alpacatc
2
1.4k
Railsのモデル名をすべて変更した話
alpacatc
0
400
新規サービス立ち上げを経て気づいたマネーフォワードの文化
alpacatc
0
1.5k
Attributes API 実践
alpacatc
4
1.9k
Mastodonを3倍早くしたい話
alpacatc
0
2.9k
AdminScriptで管理画面をスッキリさせる
alpacatc
3
630
Railsのための負債の減らし方
alpacatc
0
400
Other Decks in Technology
See All in Technology
The Future of SEO: The Impact of AI on Search
badams
0
190
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
170
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
速くて安いWebサイトを作る
nishiharatsubasa
10
12k
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
100
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Embracing the Ebb and Flow
colly
84
4.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Docker and Python
trallard
44
3.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Adopting Sorbet at Scale
ufuk
74
9.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Done Done
chrislema
182
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
How to train your dragon (web standard)
notwaldorf
91
5.8k
Transcript
None
ɾTwitter @alpaca_taichou, Github: @alpaca-tc ɾझຯɿؙཱྀɾࢄาɾ͓ञɾvim ɾݴޠ VimScript / Ruby /
PHP / JavaScript ɾϒϥοΫاۀେ͖ ࣗݾհ ͍ͬ͘Μ ʢੴҪ ߒ೭ʣ
ࣗݾհ ͍ͬ͘Μ ʢੴҪ ߒ೭ʣ ৽نࣄۀ։ൃνʔϜΤϯδχΞɹBOOTH / pixivFACTORY ɾTwitter @alpaca_taichou, Github:
@alpaca-tc ɾझຯɿؙཱྀɾࢄาɾ͓ञɾvim ɾݴޠ VimScript / Ruby / PHP / JavaScript ɾϒϥοΫاۀେ͖
ɾpixivFACTORYͱʁ ɾ։ൃͰେࣄͩͬͨ͜ͱ ίʔυΛॻ͔ͳ͍ ϢʔβʔΛΔ ʮΤϯδχΞʯͷࣄΛ͢Δ ͢͜ͱ ɾٕज़తͳpixivFACTORYͷ ͞ͳ͍͜ͱ
pixivFACTORYͱʁ
ɾࠓ2݄ʹϦϦʔεͨ͠αʔϏε ɾ ΠϥετҰຕͰάοζ͕࡞ΕΔʂ ɾ ॳظඅ༻ɾࡏݿϦεΫͳ͠ pixivFACTORYͱʁ
pixivFACTORYͱʁ ղܾ͔ͨͬͨ͠ͳʹ͔ʁ ͱ͋Δࣄ࣮… άοζΛͭ͘Δͷ͍͠
ɾෳࡶͳϑΝΠϧܗࣜ ɾ໎࿏ͷΑ͏ͳUI ɾిɾFAXɾϝʔϧͳͲɺ ɹ࣌Εͳ࿈བྷखஈ pixivFACTORYͱʁ ղܾ͔ͨͬͨ͠ͳʹ͔ʁ ɾϩοτͷน ɾͱʹ͔͓͕͔͔ۚ͘Δ http:// www.wave-
inc.co.jp/data/
pixivFACTORYͱʁ ղܾ͔ͨͬͨ͠ͳʹ͔ʁ →ը૾ҰຕͰOK →ॳظඅ༻ແྉɾΦϯσϚϯυ →ແྉͰൢചՄೳ http:// www.wave- inc.co.jp/data/
pixivFACTORYͱʁ ղܾ͔ͨͬͨ͠ͳʹ͔ʁ DEMO ͜Ε͔ΒΞΠςϜΛ࡞ͬͯΈ·͢
pixivFACTORYͱʁ ϦϦʔε࣌ͷϢʔβʔ͞ΜͷԠ
pixivFACTORYͱʁ ϦϦʔε࣌ͷϢʔβʔ͞ΜͷԠ ͔ͳΓධʂʂʂ
։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛΔ ʮΤϯδχΞʯͷࣄΛ͠Α͏
ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛΔ ʮΤϯδχΞʯͷࣄΛ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
“You ain’t gonna need it” YAGNI ίʔυΛ࣮͘͢͢ΔͨΊʹ࠷ྑ͍ํ๏ɺ ͋·ΓίʔυΛॻ͔ͳ͍͜ͱͰ͋Δɻ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ʮίʔυΛॻ͔ͳ͍ʯ
ɾͦͷ͏ͪඞཁʹͳΔ͔͠Εͳ͍ػೳ͍Βͳ͍ ɾίʔυΛݮΒ͢͜ͱʹ࣌ؒΛ͔͚Δ ɾແବͳ࣌ؒΛΘͳ͍ɻ͍ͭͰյ͍͢͠ɻ ɾকདྷඞཁͳ͜ͱɺඞཁʹͳͬͨ࣌ʹΔ
ʮίʔυΛॻ͔ͳ͍ʯ ਓੜੵΈॏͶͩͱ୭Ͱࢥ͍ͬͯΔΑ͏ͩɻ΅͘ٯʹɺੵΈΒ͖͢ ͩͱࢥ͏ɻࡒ࢈ࣝɺ͑Ε͑Δ΄Ͳɺ͔͑ͬͯਓؒࣗ༝͞Λ ࣦͬͯ͠·͏ɻ ूத͢ΔͨΊͷݪଇɺੜ࢈తͰͳ͘ͳͬͨաڈΛࣺͯΔ͜ͱͰ͋Δ ͋ͳͨͷਓੜͷ࣌ؒوॏͰ͋Δɻ͋ͳͨͷೳྗ୯ʹίʔυΛॻͨ͘ΊͰ ͳ͘ɺݱ࣮ͷʹूத͢ΔͨΊʹ͏͖Ͱ͋Δ YAGNI υϥοΨʔ Ԭຊଠ
։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮίʔυΛॻ͔ͳ͍ʯ ͋ͬͯΑ͍ػೳ ࠓͳͯ͘ͳΒͳ͍ػೳ Έͳ͞Μͷوॏͳ10ؒ ❌ ⭕ YAGNIΛҙࣝͯ͠ίʔυΛॻ͜͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮίʔυΛॻ͔͘ͳ͍ʯ ϢʔβʔΛΔ ʮΤϯδχΞʯͷࣄΛ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ϢʔβʔΛΔ ɾʢଟ͘ͷ߹ʣސ٬ۙʹ͍Δ ɾఏڙ͍ͯ͠ΔՁ͕ਖ਼͍͔͠ɾސ٬ΛΔ ɾΠϯλϏϡʔͳΓɺࡶஊͳΓɺ༡ͤͯΈΔͳΓ ɹɹɾ͍ͭ͏ʁࣅͨΑ͏ͳαʔϏεʁͳΜͰΞϨΘͳ͍ͷʁ ɾؒҧ͍ʹ͍ͪૣ͘ؾͮͨ͘ΊʹΔ ɾۙͳϢʔβʔΛͭ͘Ζ͏ ɹɹɾ͍ͭͰײ৮Λ͔֬ΊΒΕΔɻ ɹɹɾѱޱΛݴͬͯΒ͑ΔϢʔβʔوॏɻ ɹɹɾࣗͷΒͳ͍ࣝ(ΫϦΤΠλʔํ໘)ʹ͍ͭͯฉ͚Δ
ɾੵۃతʹώτͱҿΈʹߦͬͯαʔϏεΛΘͤͯΈΔ ֎ʹग़Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ެԂʹࢠ࿈Εɺ ҿΈʹαϥϦʔϚϯɺ ΪϟϥϦʔʹΫϦΤΠλʔɺ ձࣾͷதɺ֗ʹग़Εɺ͍ΖΜͳਓ͕͍Δɻ Έͳ͞Μͷوॏͳ10ؒ ҰϢʔβʔʹฉ͍ͯ ࣦഊ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ϢʔβʔΛΔ
ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛΔ ʮΤϯδχΞʯͷࣄΛ͢Δ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮΤϯδχΞʯͷࣄΛ͢Δ ίʔυΛॻ͘͜ͱ ΤϯδχΞͷࣄͬͯͳʹʁ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮΤϯδχΞʯͷࣄΛ͢Δ ίʔυΛॻ͘͜ͱ ΤϯδχΞͷࣄͬͯͳʹʁ ❌ ϢʔβʔͷΛղܾ͢ΔͨΊʹ WebαʔϏεΛͭ͘Δ͜ͱ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮΤϯδχΞʯͷࣄΛ͢Δ Βͷࣄडୗ։ൃͰͳ͍ɻ ɾϢʔβʔαϙʔτۀ ɾΫϦΤΠλʔͱͷΓͱΓ ɾҹۀऀͱͷΓͱΓ ɾిରԠ ɾWebαΠτΛͭ͘ΔͷҰ෦ɻ ձࣾͷՌιʔείʔυαʔόʔͰͳ͘ Ϣʔβʔͷͱ͜Ζʹ͔͠ͳ͍ɻ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮΤϯδχΞʯͷࣄΛ͢Δ ɾαʔϏεʹؔ͋Δ͜ͱͯ͢ΤϯδχΞ͕ؔΘͬͯྑ͍ ɾώτγεςϜΑΓॊೈɻࣗಈԽ͠ͳͯ͘Ͱ͖Δ͜ͱ͍ͬͺ͍ɻ ɾֶͼ͕ૣ͍ ɾϢʔβʔମݧγεςϜ͚ͩ͡Όͳ͍ ɹɾྫ͑ҹσʔλ͕ζϨ͍ͯͨΒ࠷ѱ ɾͳʹΑΓɺϢʔβʔͱ͢Δ͜ͱࣗͷϞνϕʔγϣϯʹͳΔ ίʔυॻ͚ͯ ͨΓલ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
ʮࢲίʔυॻ͘ͷ͕ࣄ͔ͩΒɺผʹ͍͍Ͱ͠ΐʯ Έͳ͞Μͷوॏͳ10ؒ ࣗͰࣗͷΤϯδχΞͷΛ ͙͙ͬͱ͛ͯཉ͍͠ ❌ ʮΤϯδχΞʯͷࣄΛ͢Δ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
YAGNIɻʮඞཁͳͷ͚ͩॻ͘ʯ ϢʔβʔΛΔɻͲΜͲΜֶΜͰࣦഊ͠Α͏ ΤϯδχΞͷࣄͷΛࣗͰ͛Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱɺ·ͱΊ