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
Repositoryによる抽象化の理想と現実/Ideal and reality of abs...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sonatard
December 04, 2019
Programming
70
19k
Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository
sonatard
December 04, 2019
Tweet
Share
More Decks by sonatard
See All by sonatard
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
550
Iteratorでページネーションを実現する
sonatard
5
1.4k
Goのエラースタックトレースの歴史と今後
sonatard
19
16k
Go 1.22のEnhanced ServeMux chiから移行できるのか?
sonatard
5
660
GraphQL実践ノウハウv2
sonatard
17
3.1k
プロトコル、インターフェースとしてのGraphQL
sonatard
4
2.2k
GraphQL実践ノウハウ/graphql-knowhow
sonatard
41
12k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Go1.18から導入されるnetip package/netip-package
sonatard
3
1.2k
Other Decks in Programming
See All in Programming
SourceGeneratorのススメ
htkym
0
200
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
React Native × React Router v7 API通信の共通化で考えるべきこと
suguruooki
0
100
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
740
AI巻き込み型コードレビューのススメ
nealle
2
1.4k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
630
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
The Curse of the Amulet
leimatthew05
1
8.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Prompt Engineering for Job Search
mfonobong
0
160
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Evolving SEO for Evolving Search Engines
ryanjones
0
130
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Transcript
1 3FQPTJUPSZʹΑΔநԽͷཧͱݱ࣮ HPMBOHUPLZPͩΑʂ(Pେձ-5େձʂ !TPOBUBSE
Appify Technologies CTO ͦͳଠ @sonatard
JOGSB 3 3FQPTJUPSZͱ w %%%ͷϨΠϠʔυΞʔΩςΫνϟͰఏএ͞Ε͍ͯΔ w 3FQPTJUPSZͰΠϯλʔϑΣʔεΛఆٛ͢Δ͜ͱʹΑΓJOGSBΛநԽɺґଘੑͷٯస w ϞοΫͷࠩ͠ସ͕͑ՄೳʹͳΓBQQMJDBUJPOͷϢχοτςετ͕ՄೳʹͳΔ BQQMJDBUJPO
3FQPTJUPSZ $MPVE%BUBTUPSF .Z42- "1* 1PTUHSF42-
4 6TFSऔಘ "DDPVOUऔಘ ߴॲཧ "DDPVOUߋ৽ τϥϯβΫγϣϯ ΞϓϦέʔγϣϯͷૹۚॲཧ
5 ͦͷ ԿΛநԽ͍ͯ͠Δͷ͔
6 நԽͱ͍͏͔ΒʹԿ͔ΛநԽ͍ͯ͠Δͣ %#"1*ΛؚΊͯ֎෦ͷ*0ͯ͢ΛநԽ͍ͯ͠Δʁ %# ,74ؚΉ ΛநԽ͍ͯ͠Δʁ 3%#.4ΛநԽ͍ͯ͠Δʁ
7 ͦ͜Ͱ۩ମྫ͔Βߟ͑ͯΈΔ
8 ͜ͷίʔυͰ3FQPTJUPSZͰ ԿΛநԽ͍ͯ͠Δ͔ߟ͑ͯΈΔ
9 ͜ͷίʔυ͚ͩͰߟ͑ͯԿΛநԽ͍ͯ͠Δ͔Θ͔Βͳ͍ நԽ͞Ε͍ͯΔ͔Β ͦ͜ΠϯλʔϑΣʔεͷ༷Λ֬ೝ͠ͳ͚ΕͳΒͳ͍
10 ԿΛநԽ͍ͯ͠Δ͔ݴޠԽ͠Α͏ νʔϜϝϯόʔͰڞ௨ͷೝࣝΛ࣋ͱ͏
11 %%%ʹॻ͍ͯ͋Δ͔Β3FQPTJUPSZΛ༻ҙ͢Δ/( நԽ͢ΔͨΊʹ3FQPTJUPSZΛར༻͠Α͏
12 ͦͷ ͦͷநԽਖ਼͍͔͠
13 ֤3FQPTJUPSZɺ%#"1*ίʔϧؚΊͨ ֎෦ͷ*0ͯ͢ΛநԽ͍ͯ͠Δ߹ ͜ͷநԽਖ਼͍͠ʁ
14 ਖ਼͘͠ͳ͍
15 நԽ͞Ε͍ͯΔͨΊɺ"DDPVOU3FQPTJUPSZ"1*ίʔϧʹΑΓଞͷ.JDSPTFSWJDFTΞΫηε͍ͯ͠Δ Մೳੑ͕͋Δɻ͔͠͠"1*ίʔϧ%#ͷτϥϯβΫγϣϯର֎ɻ "DDPVOU్தͰΤϥʔʹͳͬͨ߹ʹదͳϩʔϧόοΫ͕͞Εͳ͍ɻ "DDPVOU͕)551Ͱ͋Δͱ͍͏ҙࣝΛͯ͠ϩʔϧόοΫॲཧͷ࣮͕ඞཁɻ
16 ΞϓϦέʔγϣϯ࣮ऀͷࢥߟ ͜ͷ"DDPVOU3FQPTJUPSZ)551ͩΖ͏͔ʁ%#ͩΖ͏͔ʁ )551ͳΒϩʔϧόοΫॲཧॻ͔ͳ͍ͱ͍͚ͳ͍ͳ %#ͳΒτϥϯβΫγϣϯͰͲ͏ʹ͔ͳΔͳ நԽ͕ͨͣ͠ҙࣝతʹϓϩτίϧͷ۩ʹґଘ͍ͯ͠Δ ͭ·Γ͜ΕநԽͰͳ͘ɺͨͩίʔυ্ʹඞཁͳใ͕ͳ͍͚ͩͰ͋Δ
17 3FQPTJUPSZʹΑΔநԽઃܭ͕ؒҧ͍ͬͯΔ
18 ͜ΕΛղܾ͢Δํ๏ͭ நԽʹ͋Θ࣮ͤͨ நԽͷݶఆ நԽͷׂ
19 ղܾࡦநԽʹ߹Θ࣮ͤͨ 5YؔͰ%#ͱ"1*ͷτϥϯβΫγϣϯΛ࣮ݱ͢Δ ֎෦ͷ"1*ʹϩʔϧόοΫ༻ͷ"1*ΛఆٛɺదͳϦτϥΠॲཧͳͲ
20 ղܾࡦநԽͷݶఆ %#͔͠ߟྀ͢Δඞཁ͕ͳ͍ͷͰ͋Ε 3FQPTJUPSZͷநԽର͔Β"1*Λআ֎͢Δ
21 ղܾࡦநԽͷׂ %#ͱ"1*Λಉ͡நʹؚΊͳ͍
22 நԽͰӕΛ͔ͭͳ͍
23 ૉʹϓϩτίϧ͕දݱ͞Ε͍ͯΔํ͕Մಡੑ͕ߴ͍
24 %%%ʹॻ͍ͯ͋Δ͔Β3FQPTJUPSZΛ༻ҙ͢Δ/( ਖ਼͍͠நԽΛίʔυ্Ͱදݱ͠Α͏
25 ͦͷ ͦͷநԽඞཁ͔ʁ
26 ͜ΜͳΛฉ͘͜ͱ͕͋Δ কདྷΠϯϑϥ͕มߋ͞ΕΔՄೳੑ͕͋Δ͔Βɺ3FQPTJUPSZͰநԽ͢Δ .Z42-͕1PTUHSFT42-ʹ ผͷ3%#.4ʹ .Z42-͕$MPVE%BUBTUPSFʹ ,74ʹ .Z42-͕.JDSPTFSWJDFTʹ
"1*ίʔϧʹ
27 ຊʹ͜ͷมߋ͋Δʁ
28 ͜ͷมߋ͕ىͬͨ͜ͱ͖Λఆͨ͠దͳநԽΛͰ͖͍ͯΔʁ
29 .Z42-ɺ$MPVE4QBOOFSɺ$MPVEEBUBTUPSFͰ࣮ߦͰ͖ΔΫΤϦʔҧ͏ .Z42-ͳΒΫΤϦʔͰ࣮ݱͰ͖Δ͜ͱɺ$MPVEEBUBTUPSFͰυϝΠϯͰ࣮ࢪ͢Δඞཁ ͕͋Δ͜ͱ͕͋Δ τϥϯβΫγϣϯΛ࣮ݱ͢ΔͨΊʹඞཁͳͷܕҧ͏
30 ͠ݕূɺςετ͍ͯ͠ͳ͍ͳΒߟྀͰ͖͍ͯΔͱݴ͑ͳ͍ த్ͳநԽ։ൃΛམͱ͍ͯ͠Δ͚͔ͩ͠Εͳ͍
31 աͳະདྷΛఆͨ͠ઃܭͰͳ͍͔ʁ ͦΕʹΑΓ༨ܭͳ࣮͕૿͍͑ͯͳ͍͔ʁ
32 ݱࡏಛఆͷ%#ґଘͨ͠ΠϯλʔϑΣʔεʹ͓͖ͯ͠ɺ কདྷ%#ͷมߋ͕͋ͬͨͱ͖ʹॻ͖͢ํ͕͍ͷͰͳ͍͔ʁ
33 ςελϏϦςΟͷͨΊͳΒΠϯϑϥͷϓϩτίϧΛநԽ͠ͳ͍Ͱɺ ۩ମతͳΠϯϑϥʹґଘͨ͠ΠϯλʔϑΣʔεΛ༻ҙ͢Δ͚ͩͰे .Z42-PS.PDL $MPVE%BUBTUPSFPS.PDL $MPVE4QBOOFSPS.PDL
34 ͘͠ར༻͍ͯ͠Δ%#"1*ͷΫϥΠΞϯτϥΠϒϥϦʹ.PDLͷػೳ͕͋Ε ͦΕͰेͰͳ͍Ͱ͠ΐ͏͔ʁ
35 %%%ʹॻ͍ͯ͋Δ͔Β3FQPTJUPSZΛ༻ҙ͢Δ/( ϓϩμΫτʹຊʹඞཁͳநԽ͚ͩΛ࣮͠Α͏
36 ͦͷ நԽͱϨΠϠʔԽҟͳΔ
37 ຊʹΓ͔͍ͨ͜ͱϓϩτίϧͷநԽͰ͠ΐ͏͔ʁ ͔ͯ͠͠ඞཁͳͷؔ৺͝ͱͷʁ
38 3FQPTJUPSZɺநԽͱϨΠϠʔԽΛಉ࣌ʹ࣮ࢪ͍ͯ͠Δͷ͕Ұൠత ࠓ͋ͳ͕ͨߟ͍͑ͯΔ3FQPTJUPSZͷϝϦοτɺ நԽʹΑΔͷʁͦΕͱϨΠϠʔԽʹΑΔͷʁ
39 ϨΠϠʔԽͷϝϦοτ ؔ৺͝ͱͷ ୯Ұͷݪଇ ࣮ͷӅṭ
40 நԽͷϝϦοτ ։์ดݪଇ ґଘੑٯసͷݪଇ ςελϏϦςΟ ϓϩτίϧͷநԽ
41 ຊʹநԽඞཁͰ͔͢ʁ
42 ϓϩτίϧͷநԽඞཁͰ͔͢ʁ
43 ࢲͨͪݱࡏϓϩτίϧͷநԽͷͨΊͷ3FQPTJUPSZ༻ҙ͍ͯ͠·ͤΜ
44 কདྷ%#͕มΘΔఆ͍ͯ͠·ͤΜɻ มΘͬͨ࣌ʹ͢ͱ͍͏அͰ͢ɻ
45 ςελϏϦςΟͷͨΊͷΠϯλʔϑΣʔεඞཁͰ͔͢ʁ ඞཁͳΒͪΌΜͱϢʔεέʔεͷϢχοτςετΛॻ͍͍ͯ·͔͢ʁ
46 ࢲͨͪݱࡏςετͷͨΊͷ3FQPTJUPSZΛ༻ҙ͍ͯ͠·ͤΜ
47 ΞϓϦέʔγϣϯ͕ेʹγϯϓϧͰ͋ΔͨΊ&&ςετͰิ͑Δ ΞϓϦέʔγϣϯʹGPSจΤϥʔϋϯυϦϯάҎ֎ͷJGจొ͠ͳ͍
48 ϨΠϠʔԽ ΞϓϦέʔγϣϯͱΠϯϑϥͷ͍ͯ͠·͢
49 ؔ৺͝ͱͷɺ୯ҰͷݪଇɺใӅṭ࣮ࢪͨ͠΄͏͕ྑ͍ͱ͍͏அ
50 நԽͱϨΠϠʔԽͷϝϦοτΛ۠ผͯ͠ɺνʔϜͰඞཁͳͷΛબ͠Α͏
51 ͓ΘΓʹ Έͳ͞Μ3FQPTJUPSZͰԿΛநԽ͍ͯ͠·͔͢ʁ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠