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
뚝딱뚝딱 20분 UI
Search
Ji Sungbin
February 23, 2023
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
뚝딱뚝딱 20분 UI
매시업 세미나 발표 자료 (20분)
Ji Sungbin
February 23, 2023
More Decks by Ji Sungbin
See All by Ji Sungbin
2025 컴포즈 마법사
jisungbin
1
390
Kotlin Compiler Plugin 맛보기
jisungbin
0
190
2024 컴포즈 정원사
jisungbin
0
340
설레발 주도 개발
jisungbin
0
310
Deep Dive into Jetpack Compose State
jisungbin
0
580
[단축본] 컴포즈 내부로 이해하는 최적화 비법
jisungbin
0
170
Jetpack Compose: How it works?
jisungbin
0
380
우리가 기술 블로그를 시작해야 하는 이유
jisungbin
0
400
2023 SBLDC Welcome
jisungbin
0
1.3k
Other Decks in Programming
See All in Programming
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
250
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
480
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
120
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
140
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
150
どこまでゆるくて許されるのか
tk3fftk
0
470
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
act2-costs.pdf
sumedhbala
0
110
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
480
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
560
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Crafting Experiences
bethany
1
210
Become a Pro
speakerdeck
PRO
31
6k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Discover your Explorer Soul
emna__ayadi
2
1.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
Statistics for Hackers
jakevdp
799
230k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Transcript
ڣٯڣٯ࠙6* ✨ࢿ࠼
👋ࢿ࠼ 🏠TVOHCJO 🏰TVOHCJOMBOETVOHCJOMBOEEBZ 🐙HJUIVCDPNKJTVOHCJO UI"OESPJE
ӝઓ6*ѐߊޙઁ 6*ѐߊ࢜۽ഄݺ ࢶഋ6*೧ೞӝ ӝୡஹನքӝ ݒएসজ6*ٮۄٜ݅ӝ
݃ޖܻ 📖ݾର
📝दೞӝী $PNQPTF.BMQIBӝળ ٘ࣁࠗࢎ೦ࢤۚ
6*ஹನքܳ݅٘חҗցޖࠂೞ ࢚కҙܻоࣻزۄपࣻೞӝऔ 😵💫ӝઓ6*ѐߊޙઁ
ஹನքࣘࢿ ஹನքݽন݃স ஹನք۽ࢿ ࣘࢿݽন݃সपઁ6*োѾ
None
None
ࢤࢿೞ
tݺ۸ഋ6*u
🔥ܳӓࠂೞӝਤೠ֢۱
🔥ܳӓࠂೞӝਤೠ֢۱
😭ೞ݅ ఋࢎࢲ࠺झ ୶о۽٘ਃ 6*ܻࠁӝࠛоמ ٘߸҃ࢎ೦द߈ࠛоמ IPUSFMPBE
🥳ݽ߄ੌ6*ѐߊഄݺ١
+FUQBDL$PNQPTF (PPHMF*0
4XJGU6* 88%$
ա݅6*ஹನքٜܳ݅ӝਤೠҗࢎۄ ࢚కҙܻоز 6*ܻࠁӝоਗػ ߸҃ࢎ೦द߈ਗػ 🧐ޖજਸө
ஹನք۽ࢿ ࣘࢿ ݽন݃সࠛਃ
None
ࢤࢿ߂ࢎਊࢿૐо
tࢶഋ6*u
ݺ۸ഋ6*⚔️ࢶഋ6* <ࢿ࠼ীࢲࢲоחߨ> ীࢲա৬ࢲࢲҕਊߡझఠօөLNѦযр ࢲҕਊߡझఠօীࢲࣃۡद౭ఠօഐթࢶ೯Ҋࣘߡझܳݒೠ ݒೠथରӂਸࢎਊೞৈҊࣘߡझীथೠ Ҋࣘߡझীदрزউঊইח ࣃۡद౭ఠօীبೞݶݽࣗ۽тࣻחೞ୍ਵ۽Ѧযр j 👉ਗೞחѾҗীب׳ೞӝਤೠݽٚҗਸݺदೠ
ݺ۸ഋ6*⚔️ࢶഋ6* <ࢿ࠼ীࢲࢲоחߨ> ݽࣗ۽р 👉ਗೞחѾҗ݅ݺदೠ
🤩ࢶഋ6*
📦+FUQBDL$PNQPTF-BZPVU 4DBGGPME 3PX $PMVNO
📦4DBGGPME ஹನքܳ.BUFSJBM٣ੋীݏѱߓ ݒएসজীࢶ5PQ#BS $POUFOU #PUUPN#BSࢎਊ
📦3PX ஹನքо۽ߓ
📦$PMVNO ஹನքࣁ۽ߓ
🏷️+FUQBDL$PNQPTF$PNQPOFOU 5FYU *NBHF *DPO
🏷️5FYU ޙद
🏷️*NBHF Ӓܿद
🏷️*DPO ইद *NBHF৬ର౯оӝࠄਵ۽ࢸظ
🎨+FUQBDL$PNQPTF.PEJGJFS GJMM.BY8JEUIGJMM.BY4J[F TJ[FXFJHIUIFJHIU QBEEJOH DMJQ
CBDLHSPVOE CPSEFS TIBEPX
GJMM.BY8JEUIஹನքо۽ܳ୭۽ݏ GJMM.BY4J[Fஹನքࢎૉ о۽ࣁ۽ ܳ୭۽ݏ 🎨GJMM.BY8JEUIGJMM.BY4J[F 3BX $PMVNOGJMM $PMVNOթ݅ఀGJMM
3BX
TJ[Fஹನքࢎૉ о۽ࣁ۽ XFJHIUஹನքࢎૉ о۽ࣁ۽ ࠺ਯ IFJHIUஹನքࣁ۽ӡ
🎨TJ[FXFJHIUIFJHIU EQ EQYEQ
QBEEJOHஹನք࢚ೞઝಁ٬୶о DMJQஹನքݽন CBDLHSPVOEஹನքߓ҃࢝ CPSEFSஹನքపفܻद TIBEPXஹನքӒܿद
🎨FUDj DMJQ CBDLHSPVOE CPSEFS TIBEPX QBEEJOH
⚒️+FUQBDL$PNQPTF"MJHO 4QBDF#FUXFFO TQBDFE#Z $FOUFS
4QBDF#FUXFFOஹನքܳۨইਓনীߓ TQBDFE#ZஹನքߓрѺ $FOUFSஹನքܳۨইਓबীߓ ⚒️+FUQBDL$PNQPTF"MJHO $FOUFS 4QBDF#FUXFFO TQBDFE#Z
Scaffold( topBar = { Row( modifier = Modifier .fillMaxWidth() .padding(top
= 30.dp, horizontal = 30.dp), horizontalArrangement = Arrangement.SpaceBetween ) { Text( text = "ੌ ળ࠺ ীਃ.\nઑӘ݅ ӝ۰ ࣁਃ!", fontSize = 20.sp, fontWeight = FontWeight.Bold ) Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 8.dp)) .border(width = 1.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 8.dp), text = "ੌ ࢜۽Ҋஜ", fontSize = 13.sp ) } }, content = {
Scaffold( topBar = { Row( modifier = Modifier .fillMaxWidth() .padding(top
= 30.dp, horizontal = 30.dp), horizontalArrangement = Arrangement.SpaceBetween ) { Text( text = "ੌ ળ࠺ ীਃ.\nઑӘ݅ ӝ۰ ࣁਃ!", fontSize = 20.sp, fontWeight = FontWeight.Bold ) Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 8.dp)) .border(width = 1.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 8.dp), text = "ੌ ࢜۽Ҋஜ", fontSize = 13.sp ) } }, content = {
Scaffold( topBar = { Row( modifier = Modifier .fillMaxWidth() .padding(top
= 30.dp, horizontal = 30.dp), horizontalArrangement = Arrangement.SpaceBetween ) { Text( text = "ੌ ળ࠺ ীਃ.\nઑӘ݅ ӝ۰ ࣁਃ!", fontSize = 20.sp, fontWeight = FontWeight.Bold ) Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 8.dp)) .border(width = 1.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 8.dp), text = "ੌ ࢜۽Ҋஜ", fontSize = 13.sp ) } }, content = {
Scaffold( topBar = { Row( modifier = Modifier .fillMaxWidth() .padding(top
= 30.dp, horizontal = 30.dp), horizontalArrangement = Arrangement.SpaceBetween ) { Text( text = "ੌ ળ࠺ ীਃ.\nઑӘ݅ ӝ۰ ࣁਃ!", fontSize = 20.sp, fontWeight = FontWeight.Bold ) Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 8.dp)) .border(width = 1.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 8.dp), text = "ੌ ࢜۽Ҋஜ", fontSize = 13.sp ) } }, content = {
content = { Column( modifier = Modifier .padding(all = 30.dp)
.fillMaxSize() .clip(shape = RoundedCornerShape(size = 20.dp)) .border(width = 0.5.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 20.dp), verticalArrangement = Arrangement.spacedBy(space = 16.dp) ) { Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 30.dp)) .background(color = Color.MashupGray) .padding(vertical = 4.dp, horizontal = 8.dp), text = "D-?", color = Color.DarkGray, fontSize = 13.sp ) Text( text = "١۾ػ ੌ হযਃ", color = Color.Gray, fontSize = 20.sp, fontWeight = FontWeight.Bold )
content = { Column( modifier = Modifier .padding(all = 30.dp)
.fillMaxSize() .clip(shape = RoundedCornerShape(size = 20.dp)) .border(width = 0.5.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 20.dp), verticalArrangement = Arrangement.spacedBy(space = 16.dp) ) { Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 30.dp)) .background(color = Color.MashupGray) .padding(vertical = 4.dp, horizontal = 8.dp), text = "D-?", color = Color.DarkGray, fontSize = 13.sp ) Text( text = "١۾ػ ੌ হযਃ", color = Color.Gray, fontSize = 20.sp, fontWeight = FontWeight.Bold )
content = { Column( modifier = Modifier .padding(all = 30.dp)
.fillMaxSize() .clip(shape = RoundedCornerShape(size = 20.dp)) .border(width = 0.5.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 20.dp), verticalArrangement = Arrangement.spacedBy(space = 16.dp) ) { Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 30.dp)) .background(color = Color.MashupGray) .padding(vertical = 4.dp, horizontal = 8.dp), text = "D-?", color = Color.DarkGray, fontSize = 13.sp ) Text( text = "١۾ػ ੌ হযਃ", color = Color.Gray, fontSize = 20.sp, fontWeight = FontWeight.Bold )
content = { Column( modifier = Modifier .padding(all = 30.dp)
.fillMaxSize() .clip(shape = RoundedCornerShape(size = 20.dp)) .border(width = 0.5.dp, color = Color.LightGray) .background(color = Color.White) .padding(all = 20.dp), verticalArrangement = Arrangement.spacedBy(space = 16.dp) ) { Text( modifier = Modifier .clip(shape = RoundedCornerShape(size = 30.dp)) .background(color = Color.MashupGray) .padding(vertical = 4.dp, horizontal = 8.dp), text = "D-?", color = Color.DarkGray, fontSize = 13.sp ) Text( text = "١۾ػ ੌ হযਃ", color = Color.Gray, fontSize = 20.sp, fontWeight = FontWeight.Bold )
fontWeight = FontWeight.Bold ) Column( modifier = Modifier .fillMaxSize() .clip(shape
= RoundedCornerShape(size = 20.dp)) .background(color = Color.MashupGray), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Image( modifier = Modifier.size(size = 150.dp), image = Image.MashupSleeping ) Text( modifier = Modifier.padding(top = 4.dp), text = "ৌब ੌਸ ળ࠺ೞҊ যਃ\nઑӘ݅ ӝ۰ ࣁਃ!", color = Color.Gray, fontSize = 15.sp, textAlign = TextAlign.Center ) } } }, bottomBar = { Row(
fontWeight = FontWeight.Bold ) Column( modifier = Modifier .fillMaxSize() .clip(shape
= RoundedCornerShape(size = 20.dp)) .background(color = Color.MashupGray), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Image( modifier = Modifier.size(size = 150.dp), image = Image.MashupSleeping ) Text( modifier = Modifier.padding(top = 4.dp), text = "ৌब ੌਸ ળ࠺ೞҊ যਃ\nઑӘ݅ ӝ۰ ࣁਃ!", color = Color.Gray, fontSize = 15.sp, textAlign = TextAlign.Center ) } } }, bottomBar = { Row(
fontWeight = FontWeight.Bold ) Column( modifier = Modifier .fillMaxSize() .clip(shape
= RoundedCornerShape(size = 20.dp)) .background(color = Color.MashupGray), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Image( modifier = Modifier.size(size = 150.dp), image = Image.MashupSleeping ) Text( modifier = Modifier.padding(top = 4.dp), text = "ৌब ੌਸ ળ࠺ೞҊ যਃ\nઑӘ݅ ӝ۰ ࣁਃ!", color = Color.Gray, fontSize = 15.sp, textAlign = TextAlign.Center ) } } }, bottomBar = { Row(
fontWeight = FontWeight.Bold ) Column( modifier = Modifier .fillMaxSize() .clip(shape
= RoundedCornerShape(size = 20.dp)) .background(color = Color.MashupGray), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Image( modifier = Modifier.size(size = 150.dp), image = Image.MashupSleeping ) Text( modifier = Modifier.padding(top = 4.dp), text = "ৌब ੌਸ ળ࠺ೞҊ যਃ\nઑӘ݅ ӝ۰ ࣁਃ!", color = Color.Gray, fontSize = 15.sp, textAlign = TextAlign.Center ) } } }, bottomBar = { Row(
}, bottomBar = { Row( modifier = Modifier .fillMaxWidth() .height(height
= 60.dp) .shadow(elevation = 10.dp) .background(color = Color.White), verticalAlignment = Alignment.CenterVertically ) { Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.Tv ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.QrCodeScanner ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.EmojiPeople ) } } )
}, bottomBar = { Row( modifier = Modifier .fillMaxWidth() .height(height
= 60.dp) .shadow(elevation = 10.dp) .background(color = Color.White), verticalAlignment = Alignment.CenterVertically ) { Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.Tv ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.QrCodeScanner ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.EmojiPeople ) } } )
}, bottomBar = { Row( modifier = Modifier .fillMaxWidth() .height(height
= 60.dp) .shadow(elevation = 10.dp) .background(color = Color.White), verticalAlignment = Alignment.CenterVertically ) { Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.Tv ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.QrCodeScanner ) Icon( modifier = Modifier.weight(weight = 1f), icon = Icon.EmojiPeople ) } } )
🤓৮ࢿ ٘חױ
🥺$PNQPTFী൜оࢤ҂ݶ ߊীաৡ٘ܳप೯೧ࠁҊर +FUQBDL$PNQPTF۽ա݅জਸٜ݅যࠁҊर +FUQBDL$PNQPTFনೠӝמਸ؊ঌইࠁҊर +FUQBDL$PNQPTFղࠗزҾӘೞ 👉%JTDPSEࢿ࠼
хࢎפ ۨઃప࣌IUUQTTVOHCJONBTIVQীࢲदࠅࣻणפ ۨઃప࣌ীחషझীࢲઁҕೠషझಕझоਊغযणפ QnA🙋