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
富山発の個人開発サービスで日本中の学校の業務を改善した話
Search
Terai Shogo
February 01, 2025
Programming
7
530
富山発の個人開発サービスで日本中の学校の業務を改善した話
BuriKaigi 2025 (
https://burikaigi.dev/
)で発表した内容です。
Terai Shogo
February 01, 2025
Tweet
Share
More Decks by Terai Shogo
See All by Terai Shogo
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
83
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.3k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
920
今日で分かる!カスタムコップの作り方
krpk1900
2
1.3k
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
57
技術的負債に対してカスタムコップでできること
krpk1900
0
650
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
21
7.9k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
120
Kaigi on Rails 2023 〜運営の裏側〜
krpk1900
0
1k
Other Decks in Programming
See All in Programming
ビルドプロセスをデバッグしよう!
yt8492
0
310
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
3
660
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
580
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
290
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4.2k
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
400
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
1.6k
flutter_kaigi_2025.pdf
kyoheig3
1
320
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
1
100
KoogではじめるAIエージェント開発
hiroaki404
1
480
Building AI with AI
inesmontani
PRO
0
170
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Navigating Team Friction
lara
190
15k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Practical Orchestrator
shlominoach
190
11k
Six Lessons from altMBA
skipperchong
29
4.1k
Gamification - CAS2011
davidbonilla
81
5.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
ࣉҪলޗ !LSQL@EFW ࢁൃͷݸਓ։ൃαʔϏεͰ ຊதͷֶߍͷۀΛվળͨ͠ ੮ସ͑ϝʔΧʔ #VSJ,BJHJ
ࠓ͓͢Δ͜ͱ w ݸਓ։ൃͨ͠ʮ੮ସ͑ϝʔΧʔʯͱ͍͏αʔϏεͷ w اըͷ w ։ൃͷ w ϚʔέςΟϯάͷ
Έͳ͞Μʹ࣋ͪؼͬͯΒ͍͍ͨ͜ͱ w ࡞ͬͨαʔϏεΛͬͯΒ͑ΔΑ͏ʹ͢ΔͨΊʹͰ͖Δ͜ͱ
࣍ w ੮ସ͑ϝʔΧʔʹ͍ͭͯ w ։ൃ͠Α͏ͱࢥ͖͔͚ͬͨͬ w اըฤ w ։ൃฤ w
ϚʔέςΟϯάฤ w ·ͱΊ
੮ସ͑ϝʔΧʔʹ͍ͭͯ
੮ସ͑ϝʔΧʔʹ͍ͭͯ w ΤϨϕʔλʔϐον w ʮ੮ସ͑ϝʔΧʔʯ ʮۀͷޮԽʯΛΜͰ͍Δ ʮখதߴͷڭࢣʯʹͱͬͯ ʮۀΛޮԽ͢Δπʔϧʯʹଐ͓ͯ͠Γ ʮ੮ସ͑ʹ͔͔Δ࣌ؒͷॖʯ͕Ͱ͖Δɻ ʮΑ͋͘ΔϥϯμϜͳγϟοϑϧػೳͷΈͷ੮ସ͑ΞϓϦʯͱҧͬͯ
͜ͷαʔϏεʮڭࢣ͕੮ସ͑ͷͱ͖ʹ͍͍ͨػೳʯ͕͋Δɻ
࣮ࡍʹσϞͰ֬ೝ IUUQTTFLJHBFKQ
੮ସ͑ϝʔΧʔʹ͍ͭͯ w ϦϦʔεɿ݄ w Ϣʔβʔɿສਓ w ྦྷܭ ࣌ؒɺڭࢣ͕ࢠͲͨͪͱ͖߹͏࣌ؒΛ࡞Δ͜ͱ͕Ͱ͖ͨ
։ൃ͠Α͏ͱࢥ͖͔͚ͬͨͬ
ࣗݾհ w ࣉҪলޗ !LSQL@EFW w ࢁੜ·Ε ্ࢢொग़ w
ߴߍ·Ͱࢁͷֶߍ ˠใܥͷେֶ ˠ৽ଔͰࢁͷதֶߍڭһ ˠ౦ژͰ8FCΤϯδχΞ ɹ ݱࡏגࣜձࣾ:0653645Ͱ43&8FCΤϯδχΞ !LSQL@EFW
தֶߍͷڭһ࣌ w Ұॹʹಇ͍͍ͯͨڭһͷํΈΜͳଚܟͰ͖Δਓ͔ͨͪΓͩͬͨ w ͦΜͳਓ͕ͨͪࣗͷՈఉͷ࣌ؒΛͬͯΪϦΪϦΓཱ͍ͬͯΔڭҭͷ ݱΛͬͨ w ࣗͦΕ͕ڐͤͳͯ͘ͳΜͱ͔ղܾ͍ͨ͠ͱࢥͬͨ
தֶߍͷڭһ࣌ w େֶͰϓϩάϥϛϯάΛֶΜͰ͍ͨͷͰɺ ʮ͜Είϯϐϡʔλͷํ͕ಘҙͳ࡞ۀʯ ʮ͜Εਓ͕࣌ؒΛͬͯͬͨํ͕ྑ͍࡞ۀʯ ͱ͍͏͜ͱ͕͔Δঢ়ଶͰಇ͘͜ͱ͕Ͱ͖͍ͯͨ w ۀվળͷͨΊʹͰ͖Δ͜ͱ͔ΒͱࢥͬͯҰ൪࠷ॳʹઓͨ͠ͷ͕ ੮ସ͑ΞϓϦ w
ຊதͷڭһ͕ಉ͡՝Λ๊͍͑ͯΔ֬৴͕͋ͬͨͷͰɺ &YDFMͷϚΫϩͰͳ͘8FCαʔϏεͱͯ͠࡞Γ͍ͨͱࢥͬͨ
اըฤ
ߏͷഎܠ w ͦͦΈͳ͞Μɺֶੜ࣌ʹ੮ସ͑ͬͯڭࢣ͕ܾΊ͍ͯ·͔ͨ͠ʁ w ͘͡Ҿ͖ͰͰ͖ͨΒҰ൪ྑ͍ w ͔͠͠ɺྀ͕ඞཁͰڭࢣ͕ܾΊͨํ͕ྑ͍γνϡΤʔγϣϯ͋Δ w ߟྀ͠ͳ͍ͱ͍͚ͳ͍݅ͨ͘͞Μ w
ͦΕΛຬ্ͨͨ͠ͰҰఆͷϥϯμϜੑ͕ඞཁ w ৽͍͠ਓͱྡʹͳΓ͍ͨ w ৽͍͠ॴʹҠಈ͍ͨ͠
ػೳͱ࣮͍ͯͨ݅͠͠ w ੮ସ͑ͷͱ͖ʹڭࢣ͕ߟྀ͍ͯ͠Δ݅Λͯ͢ػೳͱ࣮͍ͯͨ͠͠ w "͞Μͱ#͞ΜΛ͚ۙͮΔ w "͞Μͱ#͞ΜΛ͢ w ࠷લྻʹݻఆ w
લ͔ΒྻҎʹݻఆ w உঁͷҐஔΛݻఆ w ࠷ޙྻʹݻఆ w ಛఆͷ࠲੮ʹݻఆ w ൝Ͱ͚Δ w ೖΕସ͑ͯௐͰ͖Δ
αʔϏε໊ΛܾΊͨ w ͔ͬ͜Α͞ΑΓ͔Γ͢͞Λॏࢹ w 4&0ʹڹ͘Α͏ʹʮ੮ସ͑ʯؚΊ͍ͨ w ʮ੮ସ͑ϝʔΧʔʯʹܾఆ
ྑ͔ͬͨ͜ͱᶃ w ؾ͔ͮͳ͍͏ͪʹࣗͰউखʹ࡞Γ্͛ͯ͠·ͬͨ՝Ͱͳ͘ɺ ؒҧ͍ͳ࣮͘ࡏ͢Δ ݪମݧ ʹରͯ͠Ξϓϩʔνͨ͜͠ͱ
ྑ͔ͬͨ͜ͱᶄ w ଞͷαʔϏεʹͳ͍͜ͷαʔϏεͰ͔͠Ͱ͖ͳ͍͜ͱΛ࡞ͬͨ͜ͱ
։ൃฤ
ٕज़બఆ w ϑϩϯτΤϯυ͚ͩͰ݁ͤ͞Δํ w ໊ࣈ͚ͩͱ͍͑ɺੜెͷݸਓใΛΒͳ͍αʔϏεʹ༬͚Δ͜ͱ ෆ҆ w ࣏ࣗମʹΑͬͯɺσʔλΛอଘ͢ΔࡍࠃͷαʔόʔʹݶΔͱ͍͏ نଇΛઃ͚͍ͯΔͱ͜Ζ͋ͬͨ w
ίϯϙʔωϯτϑϨʔϜϫʔΫυϥοάυϩοϓͷϥΠϒϥϦ͕͋Δ ͜ͱΛ֬ೝͯ͠7VFKTʹܾఆ
࣮ͨͩͷ)5.-ϑΝΠϧ
શͳݟΓൃं w l)FMMP XPSMEz͔Β͚͍ͯͬͨ͠͠
։ൃ w ࠲੮ΛΫϦοΫ͢Δͱ৭͕ มΘΔΑ͏ʹͨ͠
։ൃ w ࠲੮શମͷେ͖͞Λ ม͑ΒΕΔΑ͏ʹͨ͠
։ൃ w ͚ۙͮΔੜెͱ͢ੜెΛೖྗͰ͖ΔΑ͏ʹͨ͠ w ೖྗ͢Δͱ࣍ͷϑΥʔϜΛࣗಈͰදࣔ͢ΔΑ͏ʹͨ͠
։ൃ w ࠷લྻʹݻఆ͢Δ੮ସ͑Λ࣮ͨ͠
։ൃ w ͕݅ͳ͍ੜెͷ੮ସ͑Λ࣮ͨ͠
։ൃ w ࠷લྻʹݻఆ͢Δ੮ସ͑ػೳͱɺ͕݅ͳ͍ੜెͷ੮ସ͑ػೳΛ݁߹ͨ͠
։ൃ w ࠷લྻʹݻఆ͢Δ݅ͱɺੜెಉ࢜Λ͚ۙͮΔ݅Λಉ࣌ʹຬͨͤΔΑ͏ ʹͨ͠
։ൃ w உঁΛࢦఆͰ͖ΔΑ͏ʹͨ͠ w ੜెಉ࢜Λ͢ػೳΛ࣮ͨ͠ w ࠷લྻʹݻఆ͢Δ݅ͱɺੜెಉ࢜Λ͚ۙͮΔ݅ͱɺੜెಉ࢜Λ͢ ݅Λಉ࣌ʹຬͨͤΔΑ͏ʹͨ͠
։ൃ w ੑผΛݻఆͰ͖ΔΑ͏ʹͨ͠ w લ͔ΒྻɺޙΖ͔Βྻɺ࠷ޙྻʹݻఆͰ͖ΔΑ͏ʹͨ͠
։ൃ w ੜెΛಛఆͷ࠲੮ʹݻఆͰ͖ΔΑ͏ʹͨ͠
։ൃ w ࠲੮Λυϥοάͯ͠ೖΕସ͑ΒΕΔΑ͏ʹͨ͠ w ΧʔιϧͷมߋΞχϝʔγϣϯͷ࣮ͳͲʹΑͬͯ6*Λվળͨ͠
։ൃ w ੮ସ͑ͷΞχϝʔγϣϯΛ࣮ͨ͠
։ൃ w Πϝʔδ͍ͯͨ͠৭ʹมߋͨ͠ w ݅ೖྗϑΥʔϜΛαΠυϝχϡʔʹදࣔ͢ΔΑ͏ʹͨ͠
։ൃ w ৭Λมߋͨ͠ w αΠυόʔΛดͯ͡શʹӅͣ͞ʹখ͘͞දࣔ͢ΔΑ͏ʹमਖ਼ͨ͠
։ൃ ϦϦʔε w ϦϦʔεͨ͠
։ൃ ϦϦʔεޙ w งғؾ͕҉͍ͱ͍͏ҙݟΛΒͬͯ৭Λมߋͨ͠
࣮ࡍʹڭࢣʹͬͯΒͬͯݕূ w ࣮ࡍʹ੮ସ͑ϝʔΧʔΛͬͯΒ͍ɺޙΖ͔Βݟͤͯ͞Βͬͨ w ԿΛҰ൪࠷ॳʹ͢Εྑ͍͔໎͍ͬͯͨΓ w ໊લΛೖྗ͢Δલʹʮ੮ସ͑ʯϘλϯΛԡͨ͠Γ͍ͯͨ͠ w ։ൃऀ͕ఆ͍ͯͨͨ͠Γલ͕ϢʔβʔʹͱͬͯͨΓલͰͳ͍ ͜ͱ͕͔ͬͨ
։ൃ ϦϦʔεޙ w νϡʔτϦΞϧΛ࣮ͨ͠
։ൃ ϦϦʔεޙ w λϒϨοτͰ͑ΔΑ͏ʹͯ͠΄͍͠ͱ͍͏ҙݟΛΒͬͯରԠͨ͠
ྑ͔ͬͨ͜ͱᶅ w ຊԻΛ͑ͯ͘ΕΔΑ͏ͳਓʹͬͯΒ࣮ͬͯࡍʹݕূͨ͜͠ͱ
ϚʔέςΟϯάฤ
੮ସ͑ϝʔΧʔͷత w ҰਓͰଟ͘ͷڭһͷํʹೝͯͬͯ͠Β͏͜ͱ w 4&0 w ޱίϛ
2JJUBͷهࣄΛߘ w ͍͖ͳΓڭһʹΞϓϩʔν͍͠ w ·ͣผνϟωϧ͔Β։࢝ w ະܦݧΤϯδχΞͷϙʔτϑΥϦΦͱͯ͠ΛूΊͨ
ϝσΟΞͷهࣄʹͳͬͨ w 2JJUBͷهࣄ͕͖͔͚ͬͰϝσΟΞͷهࣄʹͳͬͨ w ͜ΕͰҰؾʹϢʔβʔͱೝ͕ߴ·ͬͨ w શʹӡ͕ྑ͔ͬͨ݁Ռ͕ͩɺ͜ͷνϟϯεΛ׆͔͞ͳ͍खͳ͍
͜ͷ࣌Ͱͷ՝ w ಧ͚͍ͨରϢʔβʔڭࢣ͕ͩɺಧ͍͍ͯΔ૬ख΄ͱΜͲ͕ ΤϯδχΞͱ͍͏ w ϝσΟΞهࣄΛछʹͯ͠ɺڭҭؔऀͷతͳΞϓϩʔνΛܭը w ࠔͬͯௐͨͱ͖ʹͬͯΒ͑ΔΑ͏ʹɺ4&0Λ৳͢͜ͱΛඪʹ
OPUFͷهࣄΛߘ w ͜ͷޙͷ׆ಈͷछͱͯ͠OPUFͷهࣄΛߘ w ڭҭؔऀʹΞϓϩʔν͢Δͱ͖ɺٕज़తͳͰͳ͘ ͍͕͞Δͱߟ͑ͨͨΊ
%.Λૹͬͯతͳએ׆ಈ w ਓҎ্ͷڭҭܥΠϯϑϧΤϯαʔʹ9ͷ%.Ͱએ w Θ͍͔͠ͳͱͨΊΒ͏ؾ͕࣋ͪ͋ͬͨɺࠔ͍ͬͯΔਓʹͬͯ Β͑Εઈରʹॿ͚ʹͳΔͱ֬৴͕͋ͬͨͷͰ࣮ߦͨ͠ w ࣮ࡍʹڞײ֦ͯ͠ࢄͯ͘͠ΕͨΓɺݱઢͷΞυόΠεΛ͘ΕΔਓ͕ ଟ͔ͬͨ
ϒϩΨʔͷํʹએ w ϒϩάͰൃ৴͍ͯ͠Δڭҭؔऀʹએ w Կਓ͔ͷਓ͕هࣄΛॻ͍ͯ͘Εͨ
ϓϨεϦϦʔεͷґཔ w μϝݩͰͭͷϝσΟΞʹରͯ͠ݸਓͰϓϨεϦϦʔεͷґཔ w ͪ͜Βฦ৴͢Βདྷͣ
গͣͭ͠4&0্͕͕͖ͬͯͨ w ࠷ॳ3FGFSSBM͕ϝΠϯ͕ͩͬͨɺ0SHBOJD4FBSDIͷׂ߹͕૿Ճ
ͱ͏ͱ͏4&0ͰҐΛ֫ಘ w ʮ੮ସ͑ʯͷݕࡧ݁ՌͰҐΛ֫ಘ w ͔Βݱࡏ·ͰͣͬͱҐΛҡ࣋ w ࣌੮ସ͑ϝʔΧʔؔ࿈ͷϖʔδͰ্ҐΛಠ
͜ͷ࣌Ͱͷਐḿঢ়گ w ੮ସ͑ʹࠔͬͨਓ͕ࣗવͱ੮ସ͑ϝʔΧʔʹͨͲΓண͘Έ͕ Ͱ͖͖ͯͨ
ϓϨεϦϦʔεͷґཔઌ͔Βฦ৴ w ϓϨεϦϦʔεΛ͓ئ͍ͨ͠ϝσΟΞ͔Βϲ݄ӽ͠ʹฦ৴͕དྷͨ w খֶؗͷͭͷهࣄͰܝࡌ
ߨԋձͷొஃґཔ w ຊ࠷େͷڭҭ/10๏ਓͰɺڭࢣڭҭҕһձͷํΛରʹߨԋ
ॻ੶ʹܝࡌ w ڭࢣͷཱ͓ͪωλͱͯ͠ॻ੶ʹܝࡌ
ࣗવͱͨ͘͞ΜͷϒϩάͰհ͞Ε࢝Ίͨ w ґཔͳ͠Ͱଟ͘ͷϒϩάͰհ͞ΕΔΑ͏ʹͳͬͨ
ࢠͲͨͪʹೝ͞ΕΔΑ͏ʹ w ڭһͷํ͔Βಧ͍࣮ͨࡍͷֶڃࢽ
ଟ͘ͷֶߍͰΘΕΔΑ͏ʹͳͬͨ w ࣌Ұॹʹಇ͍͍ͯͨڭࢣͷํ͔Βϝοηʔδ͕ಧ͍ͨ
ྑ͔ͬͨ͜ͱᶆᶇ w ։ൃ͢Δ͜ͱͱಉ͔ͦ͡ΕҎ্ʹɺೝΛ֦େ͢ΔͨΊʹྗΛ ೖΕͨ͜ͱ w ϚʔέςΟϯάࢪࡦԿ͕ͨΔ͔͔Βͳ͍ͷͰɺͱʹ͔͘ߦಈྔΛ ૿͍͔ͯͭ͠ժ͕ग़Δ͔͠Εͳ͍छΛࢃ͖ଓ͚ͨ͜ͱ
·ͱΊ
·ͱΊ w ڭࢣઢͰ੮ସ͑ʹඞཁͳػೳΛ࣮ͨ͠੮ସ͑ΞϓϦΛ։ൃͯ͠ ڭࢣͷۀΛޮԽͨ͠ w ࡞Δͱ͜ΖͰऴΘΒͣʹϚʔέςΟϯάʹྗΛೖΕͨ͜ͱͰ ଟ͘ͷڭࢣʹೝͯ͠Β͍ಧ͚Δ͜ͱ͕Ͱ͖ͨ
ͬͯΒ͏ͨΊʹͬͯྑ͔ͬͨ͜ͱ ᶃ ؒҧ͍ͳ࣮͘ࡏ͢Δ ݪମݧ ʹରͯ͠Ξϓϩʔνͨ͜͠ͱ ᶄ ଞͷαʔϏεʹͳ͍͜ͷαʔϏεͰ͔͠Ͱ͖ͳ͍͜ͱΛ࡞ͬͨ͜ͱ ᶅ ຊԻΛ͑ͯ͘ΕΔΑ͏ͳਓʹͬͯΒ࣮ͬͯࡍʹݕূͨ͜͠ͱ ᶆ
։ൃ͢Δ͜ͱͱಉ͔ͦ͡ΕҎ্ʹೝΛ֦େ͢ΔͨΊʹྗΛೖΕͨ͜ͱ ᶇ ϚʔέςΟϯάࢪࡦԿ͕ͨΔ͔͔Βͳ͍ͷͰɺͱʹ͔͘ߦಈྔΛ ૿ͯ͠ɺ͍͔ͭժ͕ग़Δ͔͠Εͳ͍छΛࢃ͖ଓ͚ͨ͜ͱ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
൪֎ฤ
ࢁͰ͓͢͢Ίͷ͓࢈ w ·͢ͷ͢͠ w ϗλϧΠΧͷԭ௮͚
ࢁͰ͓͢͢Ίͷ͓࢈ w ·͢ͷ͢͠ w ϗλϧΠΧͷԭ௮͚
ࢁӺͰങ͑Δ
·͢ͷ͢͠ͷൺֱ w Ϩʔμʔνϟʔτʹͳ͍ͬͯΔ
͓͢͢Ίͷ·͢ͷ͢͠ w ݬ ˡ͜Ε͕͓͢͢Ίʂ w ·͕͢δϡʔγʔͰߴڃײ w ݯ w
͓ͦΒ͘࠷༗໊ͳϒϥϯυ w ·͢ͷ͢͠ҙ֎ͱফඅظݶ͕͍ w ৗԹͰ͘Β͍อͭ ݬ ݯ
ࢁӺۙ͘ͷ͓͢͢Ίͷεϙοτ w ਫެԂ w ࢁࢢཱਤॻؗ ਫެԂ ࢁࢢཱਤॻؗ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠