Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction
Search
Kien Nguyen
April 13, 2018
71
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction
Kien Nguyen
April 13, 2018
More Decks by Kien Nguyen
See All by Kien Nguyen
Facebook Login Security
kiennt
0
67
Introduction to Django v2
kiennt
0
130
Clean code
kiennt
8
430
Introduction to Django
kiennt
0
130
Unix_Process.pdf
kiennt
2
8.3k
Happiness
kiennt
1
490
RTMP and RTMPE protocols
kiennt
2
690
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.9k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
For a Future-Friendly Web
brad_frost
184
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
It's Worth the Effort
3n
188
29k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
We Have a Design System, Now What?
morganepeng
55
8.4k
The Curse of the Amulet
leimatthew05
3
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Documentation Writing (for coders)
carmenintech
77
5.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Transcript
Introduction
My Personal life
Worked in 3 start ups The first one is closed
The second one is still running, and got benefit The last one is just merged with another company
Deployment workflow Continuous Integration Development Implementation GitHub Code Review Auto
Deployment CircleCI pre-push hook Static code analysis Unit tests Test coverage Pull Request pre-receive hook Static code analysis Lint Unit tests Automation test... Merge Live GAE pre-receive hook again!
Backend Architecture
Main application Is written in Python Is deployed into Google
App Engine Use Google DataStore - a NoSQL database built on top of BigTable
Google DataStore A key-value database, support secondary index Auto scaling
natively. Eventually consistent by default Support transaction with 2 limitation + One transaction could only change 25 entities group + Limit number of write to an entities. Normally it is 1-5 write operations / second
Google DataStore Device a transaction into many chunks, each chunk
has maximum 25 entities Identify the hot entities, and the hot fields
Google DataStore User CircleRelationship Circle - members_count
Google DataStore User CircleRelationship Circle - id: c1 CircleCount -
id: c1_count
Google DataStore User CircleRelationship Circle - id: c1 CircleCount -
id: c1_count_1 CircleCount - id: c1_count_2 CircleCount - id: c1_count_3
Google DataStore Circle - id: c1 Memcache Datastore Worker Pubsub
Backend Architecture
Backend Architecture
Backend Architecture
Backend Architecture
Other I found a security issue related to Facebook login
on mobile application. Some application are: AirBnb, Kickstarter, Carousell,…
None