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
AkafukuとAngular2で行う基幹システム開発
Search
hatappi
July 31, 2016
Technology
0
1.5k
AkafukuとAngular2で行う基幹システム開発
SpeeeKaigi#1
hatappi
July 31, 2016
Tweet
Share
More Decks by hatappi
See All by hatappi
RubyではじめるGraphQL
hatappi
0
800
RubyでChainerつくってます!!
hatappi
2
1.4k
TDDな個人開発
hatappi
0
280
できるだけ楽して楽しくRails開発しよう
hatappi
2
310
EKSにRailsをのせた
hatappi
1
1.1k
RubyとApache Arrow
hatappi
0
2.2k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.3k
Fargateで夢は見られるのか
hatappi
1
2.1k
個人サービスをFargateに移行したよ
hatappi
1
640
Other Decks in Technology
See All in Technology
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
370
クラウド食堂とは?
hiyanger
0
110
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
620
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
偏光画像処理ライブラリを作った話
elerac
1
170
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
280
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.7k
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
11
3.8k
What's new in Go 1.24?
ciarana
1
110
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.2k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Visualization
eitanlees
146
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
A Philosophy of Restraint
colly
203
16k
Unsuck your backbone
ammeep
669
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
How to Ace a Technical Interview
jacobian
276
23k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Music & Morning Musume
bryan
46
6.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Scaling GitHub
holman
459
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Transcript
ͱAngular2Ͱߦ͏جװγεςϜ։ൃ גࣜձࣾSpeee ։ൃ෦ WM։ൃϢχοτ ാத༔࡞
ࣗݾհ •ാத ༔࡞ • גࣜձࣾSpeee •ओʹRailsॻ͍ͯ·͢ɻ • Twitter: @hatappi •
Github: hatappi • facebook: hatappi
ࠓ͢͜ͱ •ݖݶཧγεςϜ •Angular2 + Rails ApiͰͷ ΞϓϦέʔγϣϯ࡞
ݖݶཧγεςϜ
ݱঢ়ͷݖݶཧ ࢲͷࣄۀ෦ͰෳͷϓϩμΫτ͕ ੜΈग़͞Ε͍ͯΔ •ੲPHPͰ ͔͔ΕͨϓϩμΫτ ଟ •RailsͰ͔͔Εͨ ϓϩμΫτɻ PHP͔ΒϦϓϨΠε ͍ͯ͠Δͷ͋Δ
ݱঢ়ͷݖݶཧ hatappi hoge admin hatappi guest hoge admin hatappi admin
ݖݶཧ֤ΞϓϦέʔγϣϯ͝ͱʹ APP1 APP2
ݖݶཧ༻ͷαʔϏε࡞Δʁ
͕ɾɾɾ
None
GoogleAppsͰ ղܾͰ͖ΔͷͰʁ
GoogleApps ? •99.9% ͷՔಇ͕อূ͞Εͨ Google ͷఏڙ͢ ΔάϧʔϓΣΞ •WebͰͷπʔϧఏڙʹͳΔͷͰΠϯλʔωοτ ʹଓͰ͖͍ͯΕ༻Λ͡ΊΔ͜ͱ͕Ͱ͖ Δ
ݖݶAPIΛ࣮ݱ͢ΔͨΊʹ Spread Sheet Apps Script σʔλιʔεͱͯ͠༻ ϢʔβʔͱΞϓϦέʔγϣϯͷ ݖݶΛཧ SpreadSheetͷૢ࡞ʹ༻ ·ͨExecution
APIʹΑΓAPIͷػೳ ఏڙ
ߏਤ voyager markeshi p hoge admin admin fuga guest admin
hatappi admin guest ɾɾɾ ϦΫΤετʹԠͯ͡ σʔλΛऔΓग़͢ ϨεϙϯεΛ JSONͰ͔͑͢ APP1 APP2
ߏਤ voyager markeshi p hoge admin admin fuga guest admin
hatappi admin guest ϦΫΤετʹԠͯ͡ σʔλΛऔΓग़͢ ϨεϙϯεΛ JSONͰ͔͑͢ JSONͷϨεϙϯεͷॲཧͳͲ ֤ΞϓϦέʔγϣϯʹʁʁʁ ɾɾɾ APP1 APP2
Akafuku
Akafuku? ݖݶཧgem ࡞ͨ͠GoogleAppsScriptͷAPIͷ ϨεϙϯεΛΑ͠ͳʹѻͬͯ͘ΕΔɻ ඞཁͳใARϥΠΫʹऔΓग़͢ ͜ͱ͕ग़དྷΔɻ require 'akafuku' Akafuku.find(‘
[email protected]
’) =>
#<Akafuku:0x007fff2b378340 @authorites={"app1"=>"guest", "app2"=>2}, @post=1, @employment=1, @department=7>
Akafukuͷࢫຯ •ΞϓϦέʔγϣϯଆͰͷߋ৽ର Ԡbundle update •εϓϨουγʔτΛΓସ͑Ε ଞࣄۀ෦ͷԣల։Մೳ
ݖݶཧͷ·ͱΊ •αʔόʔϨεͰ ݖݶཧAPIͷ࡞ •gemΛ࡞͢Δ͜ͱͰࠓޙͷΞ ϓϦέʔγϣϯͷಋೖͷ͠ ͢͞Λఏڙ
Rails5 (Api mode) + Angular2
Rails5
Rails5 (api mode) assetsviewhelperͳͲapiͰඞ ཁͷͳ͍ͷ͕ফ͍͑ͯΔɻ cookieͱ͔sessionपΓͳ͍
Angular2
Angular1ͱશ͘ผΒ͍͆͠
ཪΛฦͤ1ΛΒͳͯ͘ 2͔ΒೖΔ͜ͱ͕ग़དྷΔ
ॲཧͷ্ Angular1ܥͷ࣌ΑΓ2.7ഒͷε ϐʔυ͕ग़Δͱͷ͜ͱ
ίϯϙʔωϯτࢦ UIύʔπ͝ͱʹׂ ϓϩύςΟΠϕϯτϋϯυϥͳͲ Λίϯϙʔωϯτͷதʹ·ͱΊΔ ίϯϙʔωϯτ࠶ར༻͕Մೳ
TypeScript͕ਪ ੩తܕ͚ݴޠͷίϯύΠϧΤϥʔ ͰTyposyntaxΤϥʔʹ͖ͮ͘͜ͱ ͕ग़དྷΔɻ IDEͰܕใ͔Βͷิػೳ͕ ༻͢Δ͜ͱ͕ग़དྷΔ
Angularͷબఆʹ͋ͨͬͯ ֶशίετߴΊ͕ͩɺඞཁͳػೳ ϏϧυΠϯ͞Ε͍ͯΔͷͰɺҰ ֮͑ͯ͠·͑ɺ։ൃʹूதͰ͖Δ ࣾʹAngularΛ͔͍͍ͯͨํ͕͍ ͨ ↑ ͳΜ͔ͩΜͩͰܾΊͯίίେ ͖͔ͬͨ
FrontͱBackΛΘ͚Δͱ •ϦϙδτϦ͝ͱ͔ΕΔͷͰɺσϓϩΠ͕ํ ʹࠨӈ͞Εͳ͍ •ԾʹAngular͕ବʹͳͬͨͱͯ͠FrontͷΈ Λվम͢Δ͜ͱͰରԠ͕Ͱ͖Δ •ೝূपΓʹ͕ඞཁ
FrontͱBackΛΘ͚Δͱ •ϦϙδτϦ͝ͱ͔ΕΔͷͰɺσϓϩΠ͕ํ ʹࠨӈ͞Εͳ͍ •ԾʹAngular͕ବʹͳͬͨͱͯ͠FrontͷΈ Λվम͢Δ͜ͱͰରԠ͕Ͱ͖Δ •ೝূपΓʹ͕ඞཁ
ೝূʹ͋ͨͬͯ Rails Apiʹsessioncookieؔ࿈͕ͳ͍ͷͰɺ ࠓ·ͰͷΑ͏ͳcookieʹใΛ อ࣋͢ΔΑ͏ͳ͜ͱ͕ग़དྷͳ͍ɻ TokenBased Auth
TokenBased Auth
ॴײ •Angular2ָ͍͠!! ͲΜͲΜνϟϯδ͍ͯ͜͠͏ •gemԽ͓ͯ͘͠ͱԿ͔ͱศར
͓ΘΓ