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
410
Kotlin Compiler Plugin 맛보기
jisungbin
0
190
2024 컴포즈 정원사
jisungbin
0
340
설레발 주도 개발
jisungbin
0
320
Deep Dive into Jetpack Compose State
jisungbin
0
590
[단축본] 컴포즈 내부로 이해하는 최적화 비법
jisungbin
0
170
Jetpack Compose: How it works?
jisungbin
0
390
우리가 기술 블로그를 시작해야 하는 이유
jisungbin
0
410
2023 SBLDC Welcome
jisungbin
0
1.3k
Other Decks in Programming
See All in Programming
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
360
テーブルをDELETEした
yuzneri
0
130
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
210
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
240
霧の中の代数的エフェクト
funnyycat
1
460
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
200
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
170
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
310
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
570
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
210
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
A Tale of Four Properties
chriscoyier
163
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Automating Front-end Workflow
addyosmani
1370
210k
Building an army of robots
kneath
306
46k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
820
How to Talk to Developers About Accessibility
jct
2
480
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Believing is Seeing
oripsolob
1
180
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🙋