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
180
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
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
230
AI時代のUIはどこへ行く?その2!
yusukebe
20
7k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
670
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.4k
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
Inside Stream API
skrb
1
680
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
ふつうのFeature Flag実践入門
irof
7
3.7k
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
200
Thoughts on Productivity
jonyablonski
76
5.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Design in an AI World
tapps
1
230
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Six Lessons from altMBA
skipperchong
29
4.3k
From π to Pie charts
rasagy
0
200
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🙋