Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
OKUNOKENTARO
January 31, 2022
Technology
3
300
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
2022/1/31 日本大学文理学部情報科学科 Webプログラミング 発表会にてゲスト発表した際の資料です。
OKUNOKENTARO
January 31, 2022
Tweet
Share
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
12
4.9k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
1
630
any禁止 絶対に型付けを諦めないための便利なユーティリティ関数 / techstand6
okunokentaro
21
5.4k
Vercel monorepo対策 / Vercel monorepo
okunokentaro
0
100
エラーハンドリングと監視
okunokentaro
1
240
Service禁止 / mini ng-japan 2020
okunokentaro
2
1.1k
TypeScriptでテストコードを徹底的に型推論する / TypeScript Meetup 4
okunokentaro
8
2.9k
Building the layered server application achieved by InversifyJS
okunokentaro
1
3k
ディレクトリ構成ベストプラクティス ~ Angularアプリを作り続けてわかったこと / FRONTEND CONFERENCE 2019
okunokentaro
22
9.3k
Other Decks in Technology
See All in Technology
情報の世界 2022年度 第11回「都市のデータ」 #情報の世界 / Data of City 2022
yumulab
0
110
Build 2022で発表されたWindowsアプリ開発のあれこれ振り返ろう
hatsunea
1
390
DOM Invader - prototype pollution対応の衝撃 - / DOM Invader - prototype pollution
okuken
0
160
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
3
9.1k
機械学習システムアーキテクチャ入門 #1
asei
3
1.2k
Citizen 개발기
outsider
0
290
220628 「Google AppSheet」タスク管理アプリをライブ作成 吉積情報伊藤さん
comucal
PRO
0
240
Custom GitHub Actions by Java
kazamori
0
290
データ分析基盤のはじめかた
chanyou0311
0
120
What's new in Vision
satotakeshi
0
220
2024卒_freee_エンジニア職(ポテンシャル採用)_説明資料
freee
0
290
Implementing Kubernetes operators in Java with Micronaut - TechWeek Java Summit 2022
alvarosanchez
0
120
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.6k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
47
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
920
Agile that works and the tools we love
rasmusluckow
319
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
How to Ace a Technical Interview
jacobian
265
21k
Happy Clients
brianwarren
89
5.6k
Statistics for Hackers
jakevdp
781
210k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
Navigating Team Friction
lara
175
11k
Transcript
)BTVSBJP 3%#ΛαΫαΫ࡞Δํ๏ "303.͚ͩ͡Όͳ͘ ͳΓ · ͨ͠ +BO ຊେֶจཧֶ෦ใՊֶՊ8FCϓϩάϥϛϯάൃදձ !PLVOPLFOUBSP
"DUJWF3FDPSE 0CKFDU3FMBUJPOBM.BQQFS
୭ w Ԟݡଠ!PLVOPLFOUBSP w ΫϨεΣΞגࣜձࣾ w ࣗࣾαʔϏε.PUJGBSZ։ൃӡӦ w 5ZQF4DSJQUϑϩϯ τΤϯ
υ ɾ όοΫΤϯ υ
8FCΞϓϦΛ࡞ΔͨΊʹԿ͕ඞཁ ʁ w ։ൃεΩϧ w σϓϩΠઌͷڥ w σʔλϕʔε w ແݶͷ࣌ؒ
σʔλϕʔεΛαΫοͱ w ੈͷத ʮαΫοͱʯ ͱ͍͏ݴ༿ΛΧδϡΞϧʹ͏ w 3%# 3FMBUJPOBM%BUBCBTF w
3VCZPO3BJMT "DUJWF3FDPSE w /PEFKT 4FRVFMJ[F 5ZQF03. w /P42- w 'JSFCBTF$MPVE'JSFTUPSF
"DUJWF3FDPSE w 3VCZPO3BJMTʹଐ͢ΔϞσϦ ϯά ɾ ϑ ϨʔϜϫʔΫ w લʹ ʮ8FCΞϓϦέʔγϣϯΛ࡞ΔͳΒͱ
Γ͋͑ͣ3BJMTʯ ͱ͍ΘΕ࣮ͨ࣌ࡏͨ͠ࠓΒͳ͍ w 42-͕Θ͔Βͳ͘ ͯ"DUJWF3FDPSE͕ॻ͚Εσʔλϕʔε͕ૢ࡞Ͱ͖Δ
0CKFDU3FMBUJPOBM.BQQFS w 03.ͱݺΕΔ "DUJWF3FDPSE03.ͷҰछͰ͋Δ͕ɺ 3VCZҎ֎ͷݴޠͷ03.ͱҰઢΛը͍ͯ͠ΔͨΊ۠ผͯ͠͞ΕΔ͜ͱ͕͋Δ w /PEFKT͚03.ͷ߹ w
DMBTTએݴΛલఏͱ ͨ͠ϞσϦ ϯάͱϥϯλΠϜܕΞϊςʔγϣϯ ʢΦϒδΣΫ τهड़ɺ 5ZQF4DSJQU%FDPSBUPSߏจͳͲΛ͏ʣ w 42-Λॻ͔ͣͱ$36% ʢՃɺ ಡࠐɺ ฤूɺ আʣ ͕࣮Ͱ͖Δ
/P42- w 'JSFCBTF'JSFTUPSFͳͲ w ςʔϒϧϦ Ϩʔγϣϯͷ֓೦͕ͳ͍ υΩϡϝϯ τࢦ w εΩʔϚ͕ͳ͍ͨΊࣗ༝ͳΩʔͱΛ֨ೲͰ͖Δ
w αϒίϨΫγϣϯΛ͏ ͜ͱͰෳࡶͳσʔλπϦʔߏΛ֨ೲͰ͖Δ w 42-Λॻ͔ͳ͘ ͍͍ͯ
42-ॻ͖ͨ͘ ͳ͗͢͞Μ
42-ͷͭΒ͍ͱ͜Ζ w 03.ΛΘͣͱ42-ΠϯδΣΫγϣϯ͑͞ҙ͢Ε ੜͷ42-Λ υϯ υϯॻ͖͘ w 42-ࣗମॻ͚ͯΞϓϦέʔγϣϯଆͰͷՃ͕खؒ w
3%#ʹྻͱ͍͏֓೦͕ͳ͍ͨΊ +0*/ͨ͠ඇਖ਼نԽσʔλΛ+40/ͱ ͯ͠ѻ͏ʹมॲཧ͕ඞཁ w ͲͪΒ͔ͱ͍͏ ͱɺ ͭΒ͍ͷ͜ͷՃॲཧͷ࣮
͍͍ͱ͜औΓ͕͍ͨ͠ w 8SJUFॲཧ τϥϯβΫγϣϯཧͷͨΊʹ42-Λॻ͖͍ͨ w 3FBEॲཧ +40/มॲཧΛল͖͍ͨͷͰ͍͍ײ͡ʹσʔλΛऔΓ͍ͨ
None
)BTVSBJPͱ w (SBQI2-3FTPMWFS(FOFSBUPS w ࣗલͷ1PTUHSF42-αʔόʔʹରͯ͠(SBQI2-αʔόʔΛࣗಈੜ͢Δπʔϧ w ཪ1PTUHSF42-ͳͷͰ42-ʹΑΔ3FBE8SJUF͍ͭ௨ΓՄೳ w )BTVSBΛܦ༝ͯ͠(SBQI2-ͰσʔλΛऔΔͱ
࠷ॳ͔ΒߏԽ͞Εͨ+40/ͰऔΕΔ w 8SJUF(SBQI2-NVUBUJPOܦ༝ͰͰ͖Δ w ͪΐ͍͍ͳΒແྉ
(SBQI2- w (SBQI2-ʹެ։͞ΕͨΫΤϦݴޠ w 3&45GVM"1*ͷΑ ͏ʹ͍ͭ͘ͷΤϯ υϙΠϯ τΛఆٛͤͣʹ Τϯ
υϙΠϯ τ ɾ ࣗ༝ͳΫΤϦͰࣗ༝ͳߏͷσʔλ͕औಘͰ͖Δͱ͞Εͨ w ࣮ࡍཪͷ3FTPMWFSΛΊͬͪΌ࣮͢Δඞཁ͕͕͔͋ͬͯ͜͜ͳΓେมͩͬͨ w ͡Ό͋༻్ಛԽͷ+40/"1*Ͱ͑͑Μͱ·ͰݴΘΕͨ
3FTPMWFS͕ࣗಈੜ͞ΕΔࢫΈ w (SBQI2-ཧͷΫΤϦݴޠ͕ͩͬͨ 3FTPMWFS࣮ͷίε τ͕͔ͤͰಋೖΛͨΊΒ͏৫͋ͬͨ w ͜ͷίε τΛ·Δ͝ͱ)BTVSB͕ෛ୲͢Δͱ
զʑཧͷΫΤϦݴޠͷ෦͚͍͖ͩͳΓڗडͰ͖Δ
ͲΜͳը໘
(6*ϕʔεͷϚΠάϨʔγϣϯ w QIQ.Z"ENJOΈ͍ͨͳͭ w Έ͔ΕΔͱ͜ΖͰ͋Δ͕ɺ ͜͜Ͱૢ࡞͢Δͱ)BTVSB.FUBEBUB͕ߋ৽͞ΕΔ w Ϧ ϨʔγϣϯΛுΔ͝ͱʹ(SBQI2-ͷRVFSZεΩʔϚNVUBUJPOεΩʔϚ͕
ߋ৽͞ΕΔ w ੜ42-ॻ͚ΔͷͰͩ͜ΘΓͦͬͪͰ w (6*ܦ༝Ͱૢ࡞ͯ͠VQTRMͱEPXOTRM͕ࣗಈੜ͞ΕΔͷͰ(JUཧͦΕͰ
+85ΧελϜΫϨʔϜ w +85Λϔομʹ༩͢Δ͜ͱͰ ͦͷ+85ʹؚ·ΕΔ)BTVSB͚ΧελϜΫϨʔϜΛࣝผ͢Δ w ݺΔRVFSZɺ ݺͳ͍RVFSZͳͲͱ͍ͬͨઃఆ͕Մೳ w ύʔϛ
ογϣϯɺ ϩʔϧͳͲͷೝՄ֓೦͕͋Δ wʮࣗͷΤϯςΟ ςΟ ͔͠আͰ͖ͳ͍ʯ ͳͲ
τϥϯβΫγϣϯ w NVUBUJPOΛෳهड़ͨ͠߹ ճͷ(SBQI2-ΞΫηεͰτϥϯβΫγϣϯΛுͬͯ͘ΕΔ w தஅ࣌ͷϩʔϧόοΫߟྀ͞Ε͍ͯΔ w ͬͱ8SJUFͷ τϥϯβΫγϣϯΛૢ࡞͍ͨ͠ͳΒ
ͳ8SJUFͷΈ42-ܦ༝ɺ 3FBEΛ(SBQI2-ܦ༝ͳͲͷ͕ඞཁ
)BTVSBͰαΫοͱ࡞Δ w ͔ͭͯ ʮ3%#ͰαΫοͱ ͚ͨ͠Ε"303.ʯ ͷΑ ͏ʹݴΘΕ͍ͯͨ͜ͱ͋ͬͨ w )BTVSBʹΑͬͯ(SBQI2-ͷ3FTPMWFSࣗಈੜΛར༻Ͱ͖Δͱ
"3 03.Ҏ֎ͷ ʮαΫοͱʯ ͕࣮ݱͰ͖Δ w ཪͨͩͷ1PTUHSF42-ͳͷͰɺ ςʔϒϧઃܭ࣍ୈͰ͋Δ͕εέʔϧ͍ͤ͢͞
5IBOLZPV