๐ŸŒฑ SeSAC

[Diary App: DDAK] ๊ธฐ๋ก์˜ ์‹œ์ž‘ (0)

taeeekki 2022. 8. 23. 03:11

๋“ค์–ด๊ฐ€๋ฉฐ

๋‹ค์ด์–ด๋ฆฌ ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋งค๋ฒˆ TIL๋งŒ ์ ์—ˆ์—ˆ๋Š”๋ฐ ๊ฐœ๋ฐœ์ด๋ž‘ ๊ธฐ๋ก์„ ๋„ˆ๋ฌด ์†Œํ™€ํžˆ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋ฐœํ–ˆ๋˜ ์ƒํ™ฉ์ด๋‚˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…, ๊ธฐํƒ€ ๋“ฑ๋“ฑ์„ ๊ฐ€๋ณ๊ฒŒ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ผ๋‹จ ์ง€๊ธˆ์€ ๋„ˆ๋ฌด ์กธ๋ฆฌ๋‹ˆ๊นŒ ์˜ค๋Š˜ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ๊ธฐ๋กํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค... (์›๋ž˜ ๋ฏธ๋ฆฌ ํ–ˆ์—ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ๋ฐ˜์„ฑ ์ค‘๐Ÿ˜ต)

 

์ด๋ฒˆ์ฃผ๋Š” Realm Local Database๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๊ฒƒ์„ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ์ผ๊ธฐ, ๋ฉ”๋ชจ, ๊ธฐ๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ํ…๋ฐ ์ง€๊ธˆ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋กœ ์ผ๊ธฐ(๋‹ค์ด์–ด๋ฆฌ)์•ฑ์„ ๋งŒ๋“œ๋Š” ์ค‘์ด๋‹ค. ์š•์‹ฌ์ด ์•ฝ๊ฐ„ ๋‚˜์„œ ๋””์ž์ธ๋„ ์‹ ๊ฒฝ์จ๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์—ญ์‹œ๋‚˜ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฐ๋‹ค... ์ผ๋‹จ ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๋” ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— UI๋Š” ๊ทธ ์ดํ›„์— ์‹ ๊ฒฝ์จ๋ณด๋„๋ก ํ•˜์ž.

 


๊ฐ„๋‹จํžˆ ๊ตฌํ˜„ํ•œ ๋‚ด์šฉ

์ปจ์…‰์€ ์•ฝ๊ฐ„ ํด๋ผ๋กœ์ด๋“œ๋ฅผ ๊ณ๋“ค์ธ ์ผ๊ธฐ ์•ฑ์ด๋‹ค. (์™ ์ง€ ๋ชจ๋ฅด๊ฒŒ ํด๋ผ๋กœ์ด๋“œ์— ๊ฝ‚ํ˜”๋„ค...) ์Œ ๊ทธ๋ฆฌ๊ณ  ์Šฌ๋กœ๊ฑด? ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด "๋”ฑ ํ•œ ์ค„๋งŒ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ํ•ด์š”."์ด๋‹ค. ์ผ๊ธฐ ์“ฐ๊ธฐ ๊ท€์ฐฎ์€๋ฐ ๊ทธ๋ƒฅ ์‚ฌ์ง„ ๋„ฃ๊ณ  ์‚ฌ์ง„์— ๋Œ€ํ•œ ์ œ๋ชฉ์„ ๋‚จ๊ธฐ๋ฉด์„œ ๊ทธ๋‚ ์˜ ์ถ”์–ต์„ ํšŒ์ƒํ•˜๋Š” ์šฉ๋„๋กœ ์“ฐ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ง€๊ธˆ์€ ์‚ฌ์ง„ ๊ฒ€์ƒ‰ API๋ฅผ ์ด์šฉํ•ด์„œ ๊ณ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ์ฃผ๋Š” ์ƒํƒœ์ธ๋ฐ, ์‚ฌ์šฉ์ž์˜ ๊ฐค๋Ÿฌ๋ฆฌ์— ์ ‘๊ทผํ•ด์„œ ์‚ฌ์ง„์„ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ์ด์ง€๋งŒ ํ•˜๋‚˜์”ฉ ๊ทธ๋ƒฅ ์ถ”๊ฐ€ํ•ด๋ณด๊ณ  ํ•ด์•ผ๊ฒ ๋‹ค.

 

 

๐Ÿ—ฃ UI๋Š” Code Base๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ViewController์˜ RootView๋Š” ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ตฌํ˜„ํ•œ ํ›„ ๊ต์ฒดํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ ์ค‘์ด๋‹ค. (์ฝ”๋“œ์— ๋‚ด ๋ชธ์„ ๋งก๊ธฐ๋Š” ์ค‘์ด๋‹ค...)

 

๐Ÿ—ฃ Local Framework๋ฅผ ์ด์šฉํ•ด์„œ ๋ชจ๋“ˆํ™”๋ฅผ ํ•ด๋ณด๊ณ  ์žˆ๋‹ค. ๋ญ”๊ฐ€ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•ด๋ณด๋ฉด์„œ ์ด ๋ถ€๋ถ„์— ์ด ์—ญํ• ์„ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์œ„์น˜ํ•ด์žˆ๋Š” ๊ฒƒ์ด ๋งž๋Š”์ง€ ๊ณ ๋ฏผํ•ด๋ณด๊ณ  ์žˆ๋‹ค.

์•ฝ๊ฐ„ ์ด๋Ÿฐ ๋„ˆ๋‚Œ...

 

 

๐Ÿ—ฃ ์ด์ „ ํ™”๋ฉด์—์„œ ์‚ฌ์ง„์„ ์„ ํƒํ–ˆ์„ ๋•Œ ๊ธ€ ์ž‘์„ฑ ๋ทฐ์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์€ ํด๋กœ์ €๋ฅผ ํ†ตํ•ด์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ณ  ์žˆ๋‹ค. ํด๋กœ์ €๋ฅผ ํ†ตํ•ด URLString์„ ์ „๋‹ฌํ•ด์ฃผ๊ณ  Kingfisher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€ ์บ์‹ฑ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค.

 

๐Ÿ—ฃ Shadow ๋„ฃ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ๋•Œ๋ฉด ํ•ญ์ƒ ์†์„ฑ์„ ์žŠ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๋ฉ”์„œ๋“œ๋กœ ๋นผ์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•„๋ณด์ธ๋‹ค. (์ด๊ฑด ์ดํ›„์— ๊ฐœ์„ ํ•ด์•ผ๊ฒ ๋‹ค.)

 

๐Ÿ—ฃ ๊ธ€ ์ €์žฅ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ Alert ์ฐฝ์„ ๋„์›Œ ์ •์ƒ์ ์œผ๋กœ ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค. (์ด๊ฒŒ UX๋ฅผ ๊ณ ๋ คํ•œ ๋ถ€๋ถ„์ด๋ž„๊นŒ..?)

 

๐Ÿ—ฃ Realm์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. ์ต์ˆ™ํ•ด์ง€๋ ค๊ณ  ๋…ธ๋ ฅ ์ค‘์ด๋‹ค. TMI์ธ๋ฐ 2020๋…„์— ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ด๋ดค๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋˜ ๋•Œ๋ผ ๊ทธ๋ƒฅ ๋Œ€์ถฉ ์‚ฌ์šฉํ•˜๊ณ  ๋„˜๊ฒผ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. (Realm Studio๊ฐ€ ๊น”๋ ค์žˆ๋”๋ผ๊ณ .. ๋ฒ„์ „ ์•ˆ ๋งž์•„์„œ ์ƒˆ๋กœ ๊น”์•˜๋‹ค..)

 


 

๋™์ž‘ ์˜ˆ์‹œ

DDAK ๊ธ€ ์ž‘์„ฑ ๋ทฐ - ์‚ฌ์ง„ ์„ ํƒ(+๊ฒ€์ƒ‰) ๋ทฐ

 

 


 

ํ•  ๊ฒƒ(?!)

โœ… TextField์™€ TextView์˜ placeholder ๋ถ€๋ถ„ ๊ฐœ์„ 

โœ… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ฐœ์„ ํ•˜๊ธฐ(ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ฒ˜๋ฆฌ)

โœ… ํƒญ ๋ฐ” ๋งŒ๋“ค๊ณ , ๊ธ€ ๋ชฉ๋ก ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋„ ์ถ”๊ฐ€ํ•˜๊ธฐ

โœ… ์ปฌ๋Ÿฌ ์„ ํƒํ•˜๋Š” ๋ฒ„ํŠผ ๋งŒ๋“ค์–ด์„œ ๊ธ€ ์ž‘์„ฑ ๋ทฐ ๋ฐฐ๊ฒฝ์ƒ‰๋„ ๋ฐ”๊ฟ”์ฃผ๊ธฐ

โœ… ๋งˆ์Šคํ‚น ํ…Œ์ดํ”„ ๋ถ€๋ถ„๋„ ์„ ํƒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์—์…‹์„ ๋” ์ถ”๊ฐ€ํ•˜๊ธฐ