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
(de)constructing architecture
Search
Ian Rumac
February 01, 2023
Programming
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(de)constructing architecture
Ian Rumac
February 01, 2023
More Decks by Ian Rumac
See All by Ian Rumac
Flutter Live Zagreb 2018 - What the Flut(ter)!?
ianrumac
0
120
Breaking up with RxJava (Kotlin Coroutines & Channels)
ianrumac
0
92
Other Decks in Programming
See All in Programming
Railsバージョンを4倍にした話
optim
0
910
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
820
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
8年前のNode.jsを動かして分かった、npm installの裏側
keisukeikeda
0
120
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
340
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
GraphQL の onError と Nullability のこれから
quramy
0
200
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
310
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
5k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
270
Next.js: The final boss of Web Performance
guaca
0
380
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Skip the Path - Find Your Career Trail
mkilby
1
280
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Six Lessons from altMBA
skipperchong
29
4.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
Designing for humans not robots
tammielis
254
26k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
390
How to make the Groovebox
asonas
2
2.5k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Raft: Consensus for Rubyists
vanstee
143
7.8k
Marketing to machines
jonoalderson
1
6k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
(de)constructing architecture LOTUS LAMBDA
who am I? I’m Ian (2022, the artist is a
machine)
architecture=? 1.: the art or science of building specifically: the
art or practice of designing and building structures and especially habitable ones
signal of culture ( technical knowledg ( project histor8 (
bureaucrac8 ( developer happiness
the age of chaos
= Time x Lines of code Scale time to Feature
mvp x mvc x mvvm model The every thing box
view
mvp x mvc x mvvm (2022, the artist is a
machine) model The every thing box view
= Time x Lines of code Scale time to Feature
same problem, new blog post 4 giant controllers/presenters/vm( 4 fuzzy
states & cross-polinatioC 4 “where do we put this”
architecture != boilerplate != brutalism
architecture = design
good architecture should be invisible
less typing, less reading, less thinking $ noise = cognitive
loa $ code = bug3 $ think laz5 $ simple names
None
(2022, the artist is a machine)
None
don’t make it hard to do the right thing
write to read read to write, 2 does it sound
good6 2 is it easy to reason about6 2 if I read it out loud to my mother would she think I’m speaking gibberish?
None
None
words create meaning ( compress dat$ ( denote responsibilit (
give contex ( depend on context
systems, not siloes 3 focus on the bigger pictur 3
no overgrown controller 3 independent components
“harmonika” architecture repository model view Presenter mapper mapper usecase
“harmonika” architecture
Cart state Add Remove Cart LoadCart AddToCart CartScreen State VM
design the flow of data
rigidity scalability, & flexibility 8 handling edge case& 8 enabling
new features5 8 making your life easie" 8 use the compiler
event-based systems scale easier
(state, action) => state
(MEMORY,INSTRUCTION ) => MEMORY
states and components, not managers and controllers ( easily scalabl2
( repeatable, saveabl2 ( can easily spli$ ( can move in scope
Cart Discounts Checkout
keep it simple, stupid! dont overenginee1 hide the
pipin& write for human explore code
questions? thank you!