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.7k
[pixiv summer boot camp] pixivFACTORY
pixivで開催した大学生向けインターンで、学生向け講義として話しました。
自分の作ったpixivFACTORYについてと、開発を通じて大事だったことを簡単に盛り込みました。
alpaca-tc
September 24, 2015
Tweet
Share
More Decks by alpaca-tc
See All by alpaca-tc
新米DPEが取り組む 開発者体験の向上
alpacatc
0
13
Refinementsのメソッド定義を4000倍速くした話
alpacatc
5
1.6k
~Rubyと暮らし、OSSに貢献し、登壇する~ 半年間続けた「OSSやっていきの集い」の成果と学び
alpacatc
0
120
TracePointを活用してモデル名変更の負債解消をした話
alpacatc
2
1.7k
Railsのモデル名をすべて変更した話
alpacatc
0
460
新規サービス立ち上げを経て気づいたマネーフォワードの文化
alpacatc
0
1.7k
Attributes API 実践
alpacatc
4
2k
Mastodonを3倍早くしたい話
alpacatc
0
3k
AdminScriptで管理画面をスッキリさせる
alpacatc
3
710
Other Decks in Technology
See All in Technology
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
1.7k
コールドスタンバイ構成でCDは可能か
hiramax
0
130
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
230
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
610
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
270
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
150
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.1k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
180
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
220
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
58
41k
The SEO identity crisis: Don't let AI make you average
varn
0
45
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
37
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Everyday Curiosity
cassininazir
0
120
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Six Lessons from altMBA
skipperchong
29
4.1k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
46
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ɻʮඞཁͳͷ͚ͩॻ͘ʯ ϢʔβʔΛΔɻͲΜͲΜֶΜͰࣦഊ͠Α͏ ΤϯδχΞͷࣄͷΛࣗͰ͛Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱɺ·ͱΊ