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
420
Kotlin Compiler Plugin 맛보기
jisungbin
0
200
2024 컴포즈 정원사
jisungbin
0
340
설레발 주도 개발
jisungbin
0
330
Deep Dive into Jetpack Compose State
jisungbin
0
600
[단축본] 컴포즈 내부로 이해하는 최적화 비법
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
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.7k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
260
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
Press start. Python's next generation.
willingc
PRO
3
130
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
210
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
280
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
490
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
210
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
730
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
280
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
940
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The Limits of Empathy - UXLibs8
cassininazir
1
610
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
250
Unsuck your backbone
ammeep
672
58k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
490
Technical Leadership for Architectural Decision Making
baasie
3
530
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Leo the Paperboy
mayatellez
8
2.2k
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🙋