Skip to content

๐Ÿงฑ ํ•˜๋ฃจ๋Š” 24๋ธ”๋Ÿญ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋ช‡๊ฐœ์˜ ๋ธ”๋ก์„ ํ™ฉ๊ธˆ ๋ธ”๋Ÿญ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

Notifications You must be signed in to change notification settings

thinkySide/DayBlock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงฑ DayBlock

ํ•˜๋ฃจ 24๊ฐœ์˜ ๋ธ”๋Ÿญ์„ ๊ฐ€์น˜์žˆ๊ฒŒ ์Œ“์•„๋‚˜๊ฐ€๋Š” ๋ฐฉ๋ฒ•,
DayBlock ๋ฐ์ด๋ธ”๋Ÿญ๊ณผ ํ•จ๊ป˜ํ•ด์š”!

"๋‚ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ƒ์‚ฐ์„ฑ ์žˆ๋Š” ์‹œ๊ฐ„๋“ค์„ ๋ณด๋ƒˆ์„๊นŒ?"

์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ํ•˜๋ฃจ๋ฅผ ๋‹ค์–‘ํ•œ ์‹œ๊ฐ„์œผ๋กœ ์ฑ„์›Œ๊ฐ€๊ณ  ์žˆ์–ด์š”.
๊ทธ์ค‘ ๊ธฐ๋กํ•˜๊ณ  ์‹ถ์€ ์‹œ๊ฐ„๋“ค์„ ๋ธ”๋Ÿญ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์Œ“์•„๊ฐ€๋‹ค ๋ณด๋ฉด
๋…ธ๋ ฅ๊ณผ ์—ด์ •์˜ ํ”์ ์„ ๋ฐ์ด๋ธ”๋Ÿญ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ์—์š”.

APP Store ๋งํฌ
Figma ๋””์ž์ธ ๋งํฌ


๐Ÿ“… ํ”„๋กœ์ ํŠธ ์ผ์ •ํ‘œ

  • ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ผ : 23.03.01(์ˆ˜)
  • ํ”„๋กœ์ ํŠธ ๋งˆ๊ฐ์ผ : 24.01.11(๋ชฉ)

โญ๏ธ ์„œ๋น„์Šค ํ•ต์‹ฌ ๋ชฉํ‘œ

  • ํ•˜๋ฃจ 24๊ฐœ์˜ ๋ธ”๋Ÿญ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ–ˆ๋Š”์ง€ ์ง๊ด€์ ์ธ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ ์ „๋‹ฌํ•˜๊ธฐ
  • ์ƒ์‚ฐ์„ฑ ์—…๋ฌด์— ์˜จ์ „ํžˆ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ต์‹ฌ ์ •๋ณด ์œ„์ฃผ๋กœ ์ „๋‹ฌํ•˜๊ธฐ
  • ์–ด๋–ค ์ƒ์‚ฐ์„ฑ์„ ๋ฐœํœ˜ํ–ˆ๋Š”์ง€ ํ™•์ธ ๋ฐ ๋™๊ธฐ๋ถ€์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ†ต๊ณ„ ๋ฆฌํฌํŠธ ์ œ๊ณตํ•˜๊ธฐ

๐Ÿ“ ๊ธฐ๋Šฅ ์ •์˜

ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • 1์‹œ๊ฐ„=1๋ธ”๋Ÿญ / 30๋ถ„=0.5๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ์ƒ์‚ฐ์„ฑ ํŠธ๋ž˜ํ‚น โœ…
  • ๋ฐ˜๋ณต์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ์ƒ์‚ฐ์„ฑ ์ž‘์—…์„ ๋ธ”๋Ÿญ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ƒ์„ฑ ๋ฐ ๋“ฑ๋ก โœ…
  • ํ˜„์žฌ๊นŒ์ง€ ์ƒ์‚ฐํ•œ ๋ธ”๋Ÿญ ์ €์žฅ ๋ฐ ๊ทธ๋ฃน/๋‚ ์งœ๋ณ„ ํ†ต๊ณ„ ๋ฆฌํฌํŠธ ์ œ๊ณต โœ…

์ถ”๊ฐ€ ์˜ˆ์ • ๊ธฐ๋Šฅ

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

ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  - 24.01.12 ์ž‘์„ฑ

๋Œ€๋žต 10๊ฐœ์›”๊ฐ„์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋์ด ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ฒ˜์Œ์—” ์ด๋ ‡๊ฒŒ ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ค„ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.(๊ทธ๋„ ๊ทธ๋Ÿด ๊ฒƒ์ด ์ฒ˜์Œ ์ผ์ •ํ‘œ์—๋Š” 3๊ฐœ์›” ๋งŒ์— ๋๋‚ผ ๊ฑฐ๋ผ ์ž์‹ ๋งŒ๋งŒํ•˜๊ฒŒ ์ž‘์„ฑํ•ด๋’€์—ˆ์Œ,,) ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์˜€๊ธฐ์— ๋‚ ์งœ์— ์ซ“๊ธฐ์ง€ ์•Š์•˜๊ณ , ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ์„ ๋„ฃ์œผ๋ฉฐ ์žฌ๋ฐŒ๊ฒŒ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ ๋Œ์•„๋ณด๋‹ˆ ์•„์‰ฌ์šด ์ ๋„ ๋ถ„๋ช… ์žˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋‚ด์šฉ๋“ค์„ ๋ณต๊ธฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ๋กœ ๊ฐœ๋ฐœ์„ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ์•ž์„œ, ๊ธฐํš์„ ์†Œํ™€ํžˆ ํ–ˆ๋˜ ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. UX/UI ๋””์ž์ด๋„ˆ๋กœ ํ™œ๋™ํ•˜๋ฉฐ ์Šค์Šค๋กœ์—๊ฒŒ ํ•ญ์ƒ ๊ฐ•์กฐํ–ˆ๋˜ ๊ฒŒ ํƒ„ํƒ„ํ•œ ๊ธฐํš ๋ถ€๋ถ„์ด์—ˆ๋Š”๋ฐ, ์ •์ž‘ ์ œ๊ฐ€ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉฐ ์ด๋ฅผ ์†Œํ™€ํžˆ ํ–ˆ๋˜ ๊ฒŒ ์•„์ด๋Ÿฌ๋‹ˆํ•˜๊ธฐ๋„ ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฝ˜์…‰ํŠธ๋‚˜ ๋กœ์ง๋“ค์ด "์ด๋Ÿฐ ๋Š๋‚Œ์œผ๋กœ ๊ฐ€์ž~" ์ •๋„๋กœ ์ •ํ•ด์ ธ ์žˆ๋‹ค ๋ณด๋‹ˆ ์ดˆ๋ฐ˜์—๋Š” ์ „ํ˜€ ๋ฌธ์ œ์—†์ด ์ง„ํ–‰๋˜๋Š” ๋“ฏํ–ˆ์ง€๋งŒ, ๊ทœ๋ชจ๊ฐ€ ์กฐ๊ธˆ์”ฉ ์ปค์ง€์ž "์ด๋Ÿฐ ๋ถ€๋ถ„์€ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•ˆ ๋์—ˆ๋„ค,,"๋ผ๋ฉฐ ๋‹ค์‹œ ๋Œ์•„๊ฐ€ ์ˆ˜์ •ํ•˜๋Š” ์ผ์ด ๋นˆ๋ฒˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ์ž…์žฅ์—์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ธฐํš์˜ ์ค‘์š”์„ฑ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

์•ž์œผ๋กœ์˜ ๊ณ„ํš์€ ์šฐ์„  ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„ ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ UX๋ฅผ ๊ฐœ์„ ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. (์ˆ˜๋งŽ์€ ํŠธ๋ž˜ํ‚น, ๋ธ”๋Ÿญ, ๊ทธ๋ฃน ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ดค์ง€๋งŒ ์–ธ์ œ๋‚˜ ๋ฒ„๊ทธ๋Š” ์กด์žฌํ–ˆ๊ธฐ์—,,!) ์ด์™€ ํ•จ๊ป˜ ์กฐ๊ธˆ์”ฉ ๋ชจ๋“ˆํ™” ๋ฐ RxSwift๋ฅผ ์ด์šฉํ•œ MVVM ํŒจํ„ด์œผ๋กœ ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋„คํŠธ์›Œํ‚น, BM ๋„์ž… ๋“ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋„ ์ •๋ง ํ•˜๊ณ  ์‹ถ์ง€๋งŒ,, ๊ทผ๋ณธ์ ์ธ ์ œ ๊ธฐ๋Šฅ์„ ๋‹ค ํ–ˆ์„ ๋•Œ ๊ฑด๋“œ๋ฆฌ๋Š” ๊ฒŒ ์˜ณ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ์— ์‹œ๊ฐ„์„ ๋‘๊ณ  ์ฒœ์ฒœํžˆ ํ•œ ๊ฑธ์Œ์”ฉ ๋‚˜์•„๊ฐ€๋ ค ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋Š๋‚€ ์ ์„ ์ข…ํ•ฉ ์ •๋ฆฌํ•ด ๋ณด์ž๋ฉด, ์ •๋ง ์˜›๋‚ ๋ถ€ํ„ฐ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ "๋‚ด ์ƒ๊ฐ์„ ๊ตฌ์ฒดํ™”์‹œ์ผœ ์„œ๋น„์Šค๋กœ ์ถœ์‹œํ•ด ๋ณด๊ฒ ๋‹ค"๋ผ๋Š” ๋œป์„ ์ด๋ค„ ๊ฐํšŒ๊ฐ€ ์ƒˆ๋กญ์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ์ œ ๊ฐœ๋ฐœ ์ธ์ƒ์˜ ์‹œ์ž‘์ ์ด์ž ๋ฐ‘๊ฑฐ๋ฆ„์ด ๋œ๋‹ค ์ƒ๊ฐํ•˜๊ณ  ์„ฑ์žฅํ•ด๋‚˜๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

image



๐Ÿง‘โ€๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€

Day01 ~ Day30์ผ์€ ๊ธฐํš ๋ฐ UI๋””์ž์ธ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Day 31 - 23.03.31

  • Github ์—ฐ๋™
    Repository๋ฅผ ๋งŒ๋“ค๊ณ , README ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Code base ๋ ˆ์ด์•„์›ƒ ํ™˜๊ฒฝ ์„ธํŒ…
    Storyboard ์‚ฌ์šฉ ๋Œ€์‹  Code Base ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • View/Controller ๋ถ„๋ฆฌ
    ๊ฐ€์žฅ ์ต์ˆ™ํ•œ MVC ํŒจํ„ด์„ ์ด์šฉํ•ด ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ์žก์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • ์ปค์Šคํ…€ ํฐํŠธ ์ถ”๊ฐ€
    Pretendard, Poppins ํฐํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ปฌ๋Ÿฌ ๋“ฑ๋ก
    GrayScale ์ปฌ๋Ÿฌ๋ฅผ NameSpace์— ๋“ฑ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

  • HomeView ๋ฉ”์ธ ๋ผ๋ฒจ ์ถ”๊ฐ€

  • UINavigationController ์ถ”๊ฐ€



Day 33 - 23.04.02

  • Block Preview ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
    BlockPreview ๋Š” ์•ž์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ์˜ˆ์ •์ด๊ธฐ์— ์ปดํฌ๋„ŒํŠธํ™” ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
    ์ด 24๊ฐœ์˜ ๋ธ”๋Ÿญ์„ ๊ฐ๊ฐ์˜ UIView๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  • UITabBarController ์ถ”๊ฐ€



Day 34 - 23.04.03

  • Block, Group ๋ชจ๋ธ ์ถ”๊ฐ€
    Block, Group์˜ ํ•„์š” ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ Struct๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  • UICollectionView ์…‹ํŒ…
    CollectionView๋ฅผ ์ด์šฉํ•ด ๋ธ”๋Ÿญ ์„ ํƒ์ฐฝ ํ‹€์„ ์žก์•˜์Šต๋‹ˆ๋‹ค.

  • BlockCollectionView์— ์บ๋Ÿฌ์…€ ์ดํŽ™ํŠธ ์ถ”๊ฐ€
    ์ฒ˜์Œ ๊ตฌํ˜„ํ•ด๋ณด๋Š” Carousel Effect๊ฐ€ ์–ด๋ ค์› ์ง€๋งŒ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ๊ณ ํ•ด ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ํ•ต์‹ฌ์€ ๋ณด์ด์ง€ ์•Š๋Š” ๋ ˆ์ด์•„์›ƒ์šฉ ๋ธ”๋Ÿญ ์‚ฌ์ด์ฆˆ๋ฅผ ํฌ๊ฒŒ ์žก๊ณ ,
    scrollViewWillEndDragging ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ๋ช‡๋ฒˆ์งธ ๋ธ”๋Ÿญ์ธ์ง€ index๊ฐ’์„ ๊ตฌํ•ด ํฌ์ปค์‹ฑ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
    ์บ๋Ÿฌ์…€ ์ดํŽ™ํŠธ๋Š” ๋‹ค์–‘ํ•œ ๋ ˆ์ด์•„์›ƒ์— ํ™œ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ธฐ์—, ๊ผผ๊ผผํžˆ ๋Œ์•„๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.



Day 35 - 23.04.04

  • BlockCollectionViewCell ๋””์ž์ธ

  • TabBarActiveStackView ๋””์ž์ธ ๋ฐ ์ปดํฌ๋„ŒํŠธํ™”
    ํ˜„์žฌ ์–ด๋–ค View์— ์œ„์น˜ํ•ด ์žˆ๋Š”์ง€ ์‹œ๊ฐ์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ TabBar ์ƒ๋‹จ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    class๋กœ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , ๊ฐ„๋‹จํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ํŽ˜์ด์ง€์— ๋”ฐ๋ผ switch ๋  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • MessageLabel, TrackingButton ์ถ”๊ฐ€

  • BlockDataManager ์ถ”๊ฐ€ ๋ฐ TestData๋กœ ํ…Œ์ŠคํŠธ
    BlockGroup ์•ˆ์— Block์„ ๋„ฃ์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
    ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌํ˜„์€ ์„ฑ๊ณตํ•˜์˜€์œผ๋‚˜, BlockGroup ์ด๋ฆ„์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผํ• ์ง€๋Š” ๋” ๊ณ ๋ฏผํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.


Day 36 - 23.04.05

  • ํ˜„์žฌ ๋‚ ์งœ, ์š”์ผ, ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ
    dateFormatter๋ฅผ ํ™œ์šฉํ•ด ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์™”์Šต๋‹ˆ๋‹ค.

  • ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ
    Timer๋ฅผ ํ™œ์šฉํ•ด 1์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ฉ๋‹ˆ๋‹ค.



Day 37 - 23.04.06

  • BlockPreview ๋‚ด๋ถ€ PaintBlock ํด๋ž˜์Šค ์ƒ์„ฑ
    ๊ธฐ์กด์˜ UIView๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ๋˜ ๊ฐ๊ฐ์˜ ๋ธ”๋Ÿญ์„ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•ด PaintBlock ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
    ๊ทธ ๊ณผ์ •์—์„œ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ์ ์— ๋”ฐ๋ฅธ frameSize๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•„, ๋ฐฐ๊ฒฝ์ƒ‰์ƒ์ด ์ •ํ™•ํžˆ ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  • PaintBlock ์ƒํƒœ์— ๋”ฐ๋ฅธ Switch
    ์—ด๊ฑฐํ˜•์„ ํ™œ์šฉํ•˜์—ฌ ๋ธ”๋Ÿญ์ด ๋ฐ˜๋งŒ ์ฐผ์„ ๋•Œ, ๋ชจ๋‘ ์ฐผ์„ ๋•Œ ๋“ฑ์˜ ์ผ€์ด์Šค๋ฅผ ๊ตฌ๋ถ„ํ•ด ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Group ์„ ํƒ ๋ฒ„ํŠผ ๋””์ž์ธ
    GroupSelectButton ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด navigation titleView์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์ถ”ํ›„ ํ„ฐ์น˜ ์‹œ ๊ทธ๋ฃน ๊ฐ„ ์ „ํ™˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.



Day 38 - 23.04.07

  • ๋ธ”๋Ÿญ ์ถ”๊ฐ€ ๋ฒ„ํŠผ ์ปฌ๋ ‰์…˜๋ทฐ ๋งˆ์ง€๋ง‰์— ์ƒ์„ฑ
    blockDataList์˜ count ๋ณด๋‹ค 1๊ฐœ ๋งŽ์€ ์ปฌ๋ ‰์…˜ ๋ทฐ๋ฅผ ์ƒ์„ฑ ํ›„,
    ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ๋ธ”๋Ÿญ ์ถ”๊ฐ€ ์…€์„ ์‚ฝ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์…€์˜ ์žฌ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด prepareForReuse ๋ฉ”์„œ๋“œ์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ธ”๋Ÿญ ์ถ”๊ฐ€ ํ™”๋ฉด ์ƒ์„ฑ + ํƒญ๋ฐ” ์ˆจ๊ธฐ๊ธฐ
    hidesBottomBarWhenPushed ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด push์‹œ TabBar๋ฅผ ์ˆจ๊ฒจ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

  • MainTextFieldView ์ปดํฌ๋„ŒํŠธํ™”
    blockPreview์— ์ด์–ด 2๋ฒˆ์งธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๊ทธ ๊ณผ์ • ์†์—์„œ ์ œ์•ฝ์„ ํ™•์‹คํ•˜๊ฒŒ ๊ฑธ์ง€ ์•Š์œผ๋ฉด ๋””๋ฒ„๊น…์ด ์–ด๋ ค์šด ์ ์„ ๋ฐœ๊ฒฌํ•ด,
    init๋ฉ”์„œ๋“œ์— print๋ฌธ์„ ์ฐ์œผ๋ฉฐ ์˜ค๋ฅ˜๋ฅผ ์žก์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.



Day 39 - 23.04.08

  • SelectForm ์ปดํฌ๋„ŒํŠธํ™”

  • SelectForm ์Šคํƒ€์ผ ์—ด๊ฑฐํ˜• ์ •์˜
    ๊ทธ๋ฃน ์„ ํƒ, ์ƒ‰์ƒ, ์•„์ด์ฝ˜ SelectForm์„ ๋ฏธ๋ฆฌ ์ง€์ •ํ•œ style์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋„๋ก
    ์—ด๊ฑฐํ˜•๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ofType(_ label: String, _ type: SelectType)

  • TrackingMode ํ™”๋ฉด ๋””์ž์ธ
    trackingButton ํด๋ฆญ ์‹œ ์ „ํ™˜๋˜๋Š” ํ™”๋ฉด์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์ถ”ํ›„ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉ์‹œํ‚ฌ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • ContentsBlock ์ปดํฌ๋„ŒํŠธํ™”



Day 40 - 23.04.09

+ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ ๊ฒ€
ํ™˜๊ฒฝ ์…‹ํŒ…, MVC ํŒจํ„ด ๊ตฌ์„ฑ, ๋ฉ”์ธํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์žก๊ธฐ ๋ชฉํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ณ„ํšํ–ˆ๋˜ 23.04.09 ๊ธฐ์ค€ ์ง„ํ–‰์ƒํ™ฉ์€ ์˜ˆ์ •๋ณด๋‹ค ์•ฝ 20% ์ •๋„ ๋” ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ‚น, ๋ธ”๋Ÿญ ์ถ”๊ฐ€ ํ™”๋ฉด์˜ ๋””์ž์ธ์ด ๊ฑฐ์˜ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚จ๋Š” ์‹œ๊ฐ„์€ CoreData ๊ด€๋ จ ๊ณต๋ถ€, ๋ฆฌํŒฉํ† ๋ง์— ์ง‘์ค‘ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.



Day 42 - 23.04.11

  • TimeTracker ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ ๋ฐ View์— ์—ฐ๊ฒฐ
    String(format: "%02d:%02d:%02d") ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด TimeTracker ๊ฐ’์„ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

  • TimeTracker progressView ์—ฐ๊ฒฐ
    ํ˜„์žฌ second์— ๊ธฐ๋ณธ ๋ธ”๋Ÿญ ๋‹จ์œ„ 30๋ถ„(1800)๊ณผ ๋‚˜๋ˆ„์–ด progressView์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 43 - 23.04.12

  • TimeTracker Paused ์ƒํƒœ ์ถ”๊ฐ€
    Paused ์ƒํƒœ์ผ ๋•Œ ํƒ€์ด๋จธ์™€ progressView๊ฐ€ ๋ฉˆ์ถ”๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • stopTacker BarButtonItem ์ถ”๊ฐ€
    ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ์ข…๋ฃŒ ๋ฒ„ํŠผ ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์ถ”ํ›„ ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ, ํ•œ๋ฒˆ ๋” ์ข…๋ฃŒ๋ฅผ ํ™•์ธํ•˜๋Š” alert์ฐฝ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • TrackingMode ๋ธ”๋Ÿญ ๋งค์น˜
    ์Šคํฌ๋กค๋œ ํฌ๊ธฐ๋ฅผ ์ด์šฉํ•ด ํ˜„์žฌ ํฌ์ปค์‹ฑ๋œ ๋ธ”๋Ÿญ์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•œ ํ›„,
    TrackingMode ์ง„์ž… ์‹œ ํ•ด๋‹น ๋ธ”๋Ÿญ์˜ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • GroupSelectBarButtonItem ์œ„์น˜ ๋ณ€๊ฒฝ
    ๊ฐ€์šด๋ฐ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋˜ groupSelectBarButtonItem์˜ ์œ„์น˜๋ฅผ ์™ผ์ชฝ ์ •๋ ฌํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๊ทธ ๊ณผ์ •์—์„œ ์‹œ๊ฐ ๋ณด์ •์„ ์œ„ํ•ด ์™ผ์ชฝ layoutMargin ์†์„ฑ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ธฐ๋ก : UIStackView์— ContentsInset ์ฃผ๊ธฐ

  • ๋ธ”๋Ÿญ ์ถ”๊ฐ€ํ™”๋ฉด ์ž‘์—…๋ช… TextField ๊ธ€์ž์ˆ˜ ์ œํ•œ ๋กœ์ง ์ถ”๊ฐ€
    UITextFieldDelegate์˜ shouldChangeCharactersIn ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ธ€์ž์ˆ˜ ์ œํ•œ ๋กœ์ง์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 45 - 23.04.14

  • SelectForm Tap ์ œ์Šค์ฒ˜ ์ถ”๊ฐ€ ๋ฐ ํ™”๋ฉด ์—ฐ๊ฒฐ



Day 46 - 23.04.15

  • ๋ธ”๋Ÿญ ์ถ”๊ฐ€ ๋ฒ„ํŠผ focusing ์ƒํƒœ์—์„œ trackingButton ๋น„ํ™œ์„ฑํ™”
    ํ”„๋กœํผํ‹ฐ ์˜ต์ €๋ฒ„๋ฅผ ํ™œ์šฉํ•ด blockIndex(ํ˜„์žฌ ์ธ๋ฑ์Šค)์ผ ๋•Œ trackingButton์„ ๋น„ํ™œ์„ฑํ™” ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํ…์ŠคํŠธ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๋น„ํ™œ์„ฑํ™”
    ๊ธฐ์กด ๊ตฌํ˜„ ๋ฐฉํ–ฅ์€ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜ 18์ž๋ฅผ ๋„˜๊ธด ์ƒํƒœ๋กœ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•  ์‹œ, 18์ž๋งŒํผ๋งŒ ์ž˜๋ ค ๋ถ™์—ฌ์ง€๋Š” ๊ธฐ๋Šฅ์ด์—ˆ์ง€๋งŒ
    ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์–ด๋ ค์›€์„ ๊ฒช์–ด ์ผ์ •์ƒ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๋น„ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ์œผ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์ถ”ํ›„ ์—…๋ฐ์ดํŠธ ์ง„ํ–‰ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.



Day 46 - 23.04.15

  • CustomBottomModal ์ถ”๊ฐ€
    ์•„๋ž˜์—์„œ ๋ฐ˜๋งŒ ์˜ฌ๋ผ์˜ค๋Š” CustomBottomModal์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์• ํ”Œ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” UISheetPresentationController๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์—ˆ์ง€๋งŒ,
    iOS 15.0 ๋ถ€ํ„ฐ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ  ๋ ˆํผ๋Ÿฐ์Šค

  • ConfirmButton ์ปดํฌ๋„ŒํŠธํ™”

+ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ ๊ฒ€
๊ธˆ์ผ๊นŒ์ง€ ๋ธ”๋Ÿญ ์ถ”๊ฐ€์— ํ•„์š”ํ•œ ๋ชจ๋“  ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ณ„ํš์ด์—ˆ์ง€๋งŒ ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
BlockManager ์˜ ํšจ๊ณผ์ ์ธ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ํ•ด๋‹น ๊ธฐ๋Šฅ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์„ 2์ผ์—์„œ 7์ผ๋กœ ์—ฐ์žฅํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ~04.21
์ „์ฃผ ๊ณ„ํš๊นŒ์ง€๋Š” ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰์ด ๋˜์—ˆ์—ˆ์ง€๋งŒ ์ ์  ์ปค์ง€๋‹ค๋ณด๋‹ˆ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ฃผ์š”ํ•œ ์ด์œ ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.



Day 48 - 23.04.17

  • BlockManager ๊ตฌ์กฐ ๋ณ€๊ฒฝ(์‹ฑ๊ธ€ํ†ค)
    ํ™”๋ฉด ๊ฐ„ ํšจ๊ณผ์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด `BlockManager'๋ฅผ ์‹ฑ๊ธ€ํ†ค ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
    ํ˜„์žฌ ๋ธ”๋Ÿญ ๊ฒ€์ƒ‰์€ ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„๋ถ€ํ„ฐ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ๋Œ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”ํ›„ ๋” ํšจ๊ณผ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • SelectGroupVIew TableView ๊ธฐ๋ณธ๊ฐ’ ์„ ํƒ



Day 50 - 23.04.19

  • ActionButton, ActionStackView ์ปดํฌ๋„ŒํŠธํ™”



Day 52 - 23.04.21



Day 54 - 23.04.23

  • ๊ทธ๋ฃน ์ „ํ™˜ ๊ธฐ๋Šฅ ์ˆ˜์ •
    createBlockViewController์˜ ์‹œ์ ์„ ์กฐ์ •ํ•˜์—ฌ ๊ทธ๋ฃน ์ „ํ™˜ ๊ธฐ๋Šฅ ์ˆ˜์ • ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.

  • SelectColor CollectionView ์…‹ํŒ…

  • ColorManager ์ƒ์„ฑ
    ์ƒ‰์ƒ ์„ ํƒ์„ ์œ„ํ•œ ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ๋ฅผ 50๊ฐœ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • Color ์„ ํƒ ์‹œ ์—…๋ฐ์ดํŠธ

  • Group Color ์‚ฌ์šฉ
    ๊ธฐ์กด ๋ธ”๋Ÿญ๋งˆ๋‹ค ๊ฐœ๋ณ„ ์ปฌ๋Ÿฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ๊ทธ๋ฃน๋งˆ๋‹ค ์ปฌ๋Ÿฌ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด
    ๋” ํšจ๊ณผ์ ์„ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•ด ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•จ๊ณผ ๋™์‹œ์— ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

+ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ ๊ฒ€
์›๋ž˜ ์ผ์ •๋Œ€๋กœ๋ผ๋ฉด ์˜ค๋Š˜ ํ†ต๊ณ„ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์™„์„ฑํ–ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ •๋œ ์ผ์ •์„ ๋ฐ˜์˜ํ•˜์˜€์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์— ์‹œ๊ฐ„์ด ๋” ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•ด
๋ฐ๋“œ๋ผ์ธ์„ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ•๊ณผ, ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ๋Œ€ํญ ์ถ•์†Œํ•ด ๋ฐฐํฌํ•˜๋Š” ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์„ ํƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์ฒซ APP ๊ฐœ๋ฐœ์ด๋ผ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ์ •ํ™•ํžˆ ๊ณ„์‚ฐํ•˜์ง€ ๋ชปํ•œ๊ฒŒ ์•„์‰ฌ์›€์œผ๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค.



Day 65 - 23.05.04

+ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ ๊ฒ€
๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์„ ๋” ์—ฐ์žฅํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ชฉํ‘œ๋กœ ๋‘๊ณ  ์žˆ๋˜ ์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ ์ง€์›์„œ ์ž‘์„ฑ ๋ฐ ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ์ „์ฒด ์ผ์ •์„ ๋ฏธ๋ฃจ๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ๋“œ๋ผ์ธ ์ผ์ •์„ ๋ฒˆ๋ณตํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ผ์„ ๊ณ„๊ธฐ๋กœ ์ดํ›„ ๊ณ„ํš์„ ์„ธ์šธ ๋•Œ๋Š” ๋”์šฑ ์‹ ์ค‘ํžˆ ์„ธ์šฐ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.



Day 70 - 23.05.09

  • ํƒ€์ด๋จธ ์นด์šดํŠธ ๋ฒ„๊ทธ ์ˆ˜์ •
    1800์ดˆ(30๋ถ„) ์ด์ƒ ๋ถ€ํ„ฐ ํŠธ๋ž˜ํ‚น์ด ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • CustomDelegate ํŒŒ์ผ ์ƒ์„ฑ
    ๊ธฐ์กด ํด๋ž˜์Šค ์œ„์— protocol ์ƒ์„ฑ ํ›„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์—์„œ, CustomDelegate ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ํ•˜๋‚˜๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

  • SelectColor ๊ตฌํ˜„

  • TrackingButton ์ƒํƒœ๊ฐ’ ๋ฒ„๊ทธ ์ˆ˜์ •
    TrackingButton ํ™œ์„ฑํ™” ๋ฌธ์ œ๋กœ ๊ทธ๋ฃน ์ „ํ™˜ ์‹œ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋กœ ์ „ํ™˜๋˜๋„๋ก ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • SFSymbol Manger ์ƒ์„ฑ
    ํ˜„์žฌ ๊ฑฐ์˜ ๋ชจ๋“  symbol์„ ๊ฐ€์ง€๊ณ ์™€ SymbolManager๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. .fill ์ƒํƒœ์˜ ์•„์ด์ฝ˜๋งŒ ๊ฐ€์ง€๊ณ  ์™”์œผ๋ฉฐ, ์ถ”ํ›„ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๊ทธ๋ฃนํ•‘ ํ•ด ์•„์ด์ฝ˜ ์ œ๊ณต ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • SelectIcon ๊ตฌํ˜„

  • CreateBlock BarButtonItem ์ถ”๊ฐ€

  • Create New Block ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    ์ƒˆ ๋ธ”๋Ÿญ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž์ž˜ํ•œ trackingButton ํ™œ์„ฑํ™” ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 71 - 23.05.10

  • HomeView ๋ธ”๋Ÿญ ํ„ฐ์น˜ ์‹œ ํ™”๋ฉด ์ „ํ™˜ ์ด๋ฒคํŠธ ์ถ”๊ฐ€
    ๋ธ”๋Ÿญ ํ„ฐ์น˜ ์‹œ, ํ•ด๋‹น ์•„์ดํ…œ์œผ๋กœ ํ™”๋ฉด ์ „ํ™˜์ด ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๋˜ํ•œ ๊ฐœ๋ณ„ ๋ธ”๋Ÿญ ํ„ฐ์น˜ ์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํฌ์ปค์‹ฑ ๋˜์ง€ ์•Š์•˜์„ ๋•Œ๋Š” ์…€์ด ๋ˆŒ๋ฆฌ์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค.


Day 72 - 23.08.05

  • ๋‹ค์‹œ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘
    ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , ๋‹ค์‹œ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ๋ณต๊ท€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋งŽ์ด ์ง€๋‚˜ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ฒœ์ฒœํžˆ ๋œฏ์–ด๋ณด๋ฉฐ ํŒŒ์•…ํ•  ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.

  • CoreData ๊ตฌํ˜„
    ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Group, Block ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ CoreData๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ธฐ๋Šฅ์ด์—ˆ๊ธฐ์— ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ๊ฝค๋‚˜ ๊ธธ์–ด์กŒ์ง€๋งŒ, ๊ด€๊ณ„ํ˜• ์„ค์ •์„ ํ†ตํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ (READ) ์ƒ์„ฑํ•˜๋Š”(CREATE) ๊ธฐ๋Šฅ๋งŒ์„ ๊ตฌํ˜„ํ•ด๋‘์—ˆ๊ณ , ์ถ”ํ›„ ์ˆ˜์ •๊ณผ ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

    ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ธฐ๋ก : CoreData ์ €์žฅ์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ



Day 73 - 23.08.06

  • BlockCollectionViewCell ๋’ค์ง‘๊ธฐ ๋ชจ๋“œ ๊ตฌํ˜„
    ๋ธ”๋Ÿญ์„ ์‚ญ์ œ, ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•œ ๋’ค์ง‘๊ธฐ ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํด๋ฆญ ์‹œ ์…€์˜ UI๋ฅผ ์—…๋ฐ์ดํŠธ ํ›„ Closure๋ฅผ ์ด์šฉํ•œ ๋ฒ„ํŠผ ์—ฐ๊ฒฐ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€๋“œ๋Ÿฌ์šด ์ „ํ™˜์„ ์œ„ํ•œ Alpha๊ฐ’์„ ์ด์šฉํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”ํ›„ CoreData์™€ ์—ฐ๊ฒฐํ•ด ์‚ญ์ œ ๋ฐ ํŽธ์ง‘ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.


Day 74 - 23.08.07

  • BlockEntity ์‚ญ์ œ, ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    CoreData์™€ ์—ฐ๋™๋˜์–ด BlockEntity๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 75 - 23.08.08

  • BlockEntity ์‚ญ์ œ ํ™•์ธ ํŒ์—… ์ถ”๊ฐ€
    UX ํ–ฅ์ƒ์„ ์œ„ํ•œ Block ์‚ญ์ œ ์ „ ํ™•์ธ ํŒ์—…์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 76 - 23.08.13

  • ๋ธ”๋Ÿญ ๊ทธ๋ฃน ๊ฐ„ ์ด๋™ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
    A๊ทธ๋ฃน์—์„œ B๊ทธ๋ฃน์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”์–ด๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Group ์ปจํŠธ๋กค์„ ์œ„ํ•œ CustomUIMenu ์ถ”๊ฐ€ Group ์ƒ์„ฑ, ํŽธ์ง‘, ์‚ญ์ œ ๊ธฐ๋Šฅ ํ™”๋ฉด์œผ๋กœ์˜ ์ด๋™์„ ์œ„ํ•œ CustomUIMenu ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ์ด ์ง€์›ํ•˜๋Š” ๊ธฐ์กด์˜ UIMenu๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์—ˆ์ง€๋งŒ, ์„œ๋น„์Šค์˜ ์ „์ฒด์ ์ธ ํ†ค์•ค๋งค๋„ˆ์™€ ๋งž์ง€ ์•Š๋‹ค๊ณ  ํŒ๋‹จํ•ด Custom์œผ๋กœ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 77 - 23.08.17

  • ๊ทธ๋ฃน ํŽธ์ง‘ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    ๊ทธ๋ฃน ์‚ญ์ œ ๋ฐ ํŽธ์ง‘์ด ๊ฐ€๋Šฅํ•œ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๋ฏผํ•ด๋ณผ ์‚ฌํ•ญ์€ ํ˜„์žฌ ๊ทธ๋ฃน ์‚ญ์ œ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Depth๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊นŠ์–ด์ง„๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ์ถ”ํ›„ ์ˆ˜์ •ํ•ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.


Day 78 - 23.08.21

  • CollectionView ์Šคํฌ๋กค ๋ฌธ์ œ ํ•ด๊ฒฐ
    Select๋Š” ๋˜์ง€๋งŒ, Scroll์ด ๋˜์ง€ ์•Š์•˜๋˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. View ์—…๋ฐ์ดํŠธ์™€ ๊ด€๋ จ๋œ ์ด์Šˆ๋กœ viewDidLayoutSubviews ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ธฐ๋ก : UICollectionView ์„ ํƒ๋œ item์œผ๋กœ ์Šคํฌ๋กค์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ

  • ๊ทธ๋ฃน ํŽธ์ง‘ ์‹œ, UI ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋˜ ๋ฌธ์ œ ์ˆ˜์ •
    NotificationCenter๋ฅผ ํ™œ์šฉํ•ด ๊ทธ๋ฃน์ด ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์‹œ์ ์— ๋งž์ถฐ HomeViewController์˜ UI๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.



Day 79 - 23.08.23

  • TrackingBlock LongPressGesture ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€
    ํŠธ๋ž˜ํ‚น์ด ๋๋‚˜๊ณ  ์ง€๊ธˆ๊นŒ์ง€ ์ƒ์‚ฐํ•œ ๋ธ”๋Ÿญ์„ ์ €์žฅํ•˜๋Š” ์ด๋ฒคํŠธ์ธ LongPressGesture Animation์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋‹น ์ด๋ฒคํŠธ๋Š” ์ง๊ด€์ ์ด์ง€ ์•Š๋‹ค๊ณ  ํŒ๋‹จํ•ด ์ดˆ๊ธฐ ์˜จ๋ณด๋”ฉ ์ง„ํ–‰ ๋ฐ ์•ˆ๋‚ด ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

    ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ธฐ๋ก : LongPress Animation ๋งŒ๋“ค๊ธฐ

  • ๊ทธ๋ฃน ์ˆ˜์ • ์‹œ ๋ธ”๋Ÿญ ์ƒ์„ฑ UI ํ™”๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •
    NotificationCenter๋ฅผ ํ™œ์šฉํ•ด ๋ธ”๋Ÿญ ์ƒ์„ฑ ํ™”๋ฉด์—์„œ UI ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 80 - 23.08.28

  • ๊ทธ๋ฃน ๋‚ด ๋™์ผํ•œ ์ž‘์—…๋ช… ๋ธ”๋Ÿญ ์žˆ์„ ์‹œ ์ƒ์„ฑ ๋ฐ ์ด๋™ ์ œํ•œ
    ๋ธ”๋Ÿญ ์‹๋ณ„์„ ์œ„ํ•ด ๊ทธ๋ฃน ๋‚ด ๋™์ผํ•œ ์ž‘์—…๋ช…์˜ ๋ธ”๋Ÿญ์˜ ์ƒ์„ฑ์„ ์ œํ•œ์‹œํ‚ค๋Š” ๊ทœ์น™์„ ๋งŒ๋“ค์—ˆ๊ณ , ์ด๋ฅผ ๋กœ์ง์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์ผํ•œ ์ž‘์—…๋ช…์€ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋น ๋ฅด๊ฒŒ ์ฃผ๊ณ ์ž TextField ์ž…๋ ฅ ์ค‘ ์ถœ๋ ฅ๋˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋™์ผํ•œ ๊ทธ๋ฃน๋ช… ์ƒ์„ฑ ๋ฐ ํŽธ์ง‘ ์ œํ•œ
    ๊ทธ๋ฃน ์‹๋ณ„์„ ์œ„ํ•ด ๋™์ผํ•œ ๊ทธ๋ฃน๋ช… ์ƒ์„ฑ์„ ์ œํ•œ์‹œํ‚ค๋Š” ๊ทœ์น™์„ ๋งŒ๋“ค์—ˆ๊ณ , ์ด๋ฅผ ๋กœ์ง์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋Ÿญ ์ƒ์„ฑ ์ œํ•œ ๊ฒฝํ—˜๊ณผ ๋™์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 81 - 23.08.31

  • ์•„์ด์ฝ˜, ์ปฌ๋Ÿฌ ์„ ํƒ CollectionView Inset ์กฐ์ •
    ์ž‘์€ ํ™”๋ฉด์„ ๊ฐ€์ง„ ๋””๋ฐ”์ด์Šค์—์„œ ๋ชจ์„œ๋ฆฌ์ชฝ ํ…Œ๋‘๋ฆฌ๊ฐ€ ์ž˜๋ฆฌ๋Š” ํ˜„์ƒ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 82 - 23.09.05

  • Tracking ํƒ€์ž„ ํŠน์ •
    0์ดˆ๋ถ€ํ„ฐ 86,400์ดˆ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ˜„์žฌ ์–ด๋–ค ๋ธ”๋Ÿญ์„ ํŠธ๋ž˜ํ‚นํ• ์ง€ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” TrackingManager ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Tracking Animation ์ถ”๊ฐ€
    ํ˜„์žฌ ํŠธ๋ž˜ํ‚น ๋˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์‹œ๊ฐ์ ์œผ๋กœ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด, 1์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฌดํ•œํžˆ ๋ฐ˜๋ณตํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 83 - 23.09.12

  • TrackingCompleteView ํผ๋ธ”๋ฆฌ์‹ฑ
    ํŠธ๋ž˜ํ‚น ์™„๋ฃŒ ํ™”๋ฉด UI ๋””์ž์ธ ๋ฐ ํผ๋ธ”๋ฆฌ์‹ฑ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 84 - 23.09.27

  • TrackingData CoreData ๋กœ์ง ๊ตฌํ˜„
    ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋กœ์ง์„ ์žฌ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. Group - Block - TrackingDate - TrackingTime ์ˆœ์œผ๋กœ ์ด์–ด์ง„ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฅผ CRUD ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ ๊ตฌํ˜„ ์ž‘์—…์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


Day 85 - 23.10.18

  • ํŠธ๋ž˜ํ‚น ๋ชจ๋“œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์„ธํŒ…
    30๋ถ„ ๋‹จ์œ„๋กœ ํŠธ๋ž˜ํ‚น์ด ๋˜๊ณ  ํ•ด๋‹น ์‹œ๊ฐ„์— ๋งž๊ฒŒ ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋‹ค๋ณด๋‹ˆ ์ด๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์œ„ํ•ด 30๋ถ„ ์ด์ƒ์˜ ์‹œ๊ฐ„์ด ๋งค๋ฒˆ ์†Œ์š”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ๋™์ž‘ ํ…Œ์ŠคํŠธ๋ฅผ ์›ํ™œํžˆ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์…‹๊ณผ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด ๋น ๋ฅธ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ ์•ฑ ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ ํŠธ๋ž˜ํ‚น ๋ชจ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ ์•ฑ์ด ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ๋„ ํŠธ๋ž˜ํ‚น ์‹œ๊ฐ„์ด ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋Š” ๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ ์•„๊ฐ€์ง€ ์•Š์•„ ๋น„๊ต์  ์‰ฌ์› ์ง€๋งŒ, ์•ฑ์ด ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ๋Š” UserDefaults ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์„ค์ •ํ•ด์ฃผ์–ด์•ผํ•  ๋ถ€๋ถ„์ด ๋งŽ์•„ ์˜ˆ์ƒ ๋ณด๋‹ค ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋ฃน ๊ฐ„ ์ด๋™ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    ๊ทธ๋ฃน ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€์—์„œ Drag&Drop ๊ธฐ๋Šฅ์œผ๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. TableView์˜ Delegate ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ์ฝ”์–ด๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋„ ๋ณ€๊ฒฝํ•ด์ค˜์•ผํ•˜๋Š” ๋กœ์ง์„ ์œ„ํ•ด order ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๊ณ , Request๋ฅผ ๋‚ ๋ฆด ๋•Œ NSSortDescriptor๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ๋กœ์ง์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ด€๋ฆฌ์†Œ UI ๋””์ž์ธ
    ๊ทธ๋ฃน ๋ฐ ๋ธ”๋Ÿญ์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆœ์„œ, ์ •๋ณด ๋“ฑ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌ์†Œ ํŽ˜์ด์ง€์˜ UI ๋””์ž์ธ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 86 - 23.10.19

  • ManageBlockViewController ํผ๋ธ”๋ฆฌ์‹ฑ
    ๋ธ”๋Ÿญ ๋ฐ ๊ทธ๋ฃน ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ํผ๋ธ”๋ฆฌ์‹ฑ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. UITableView์˜ Header, Footer ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 87 - 23.10.23

  • ManageBlockViewController ์…€ ์ด๋™ ๋กœ์ง ๊ตฌํ˜„
    ๋ธ”๋Ÿญ ์…€์„ ์ด๋™ํ•ด ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. CoreData์—์„œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•ด์ฃผ์ง€ ์•Š์•„ order ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด ์—…๋ฐ์ดํŠธํ•ด์ฃผ๋Š” ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 88 - 23.12.06

  • RepositoryViewController ๊ตฌํ˜„
    ์™ธ์ฃผ ๊ฐœ๋ฐœ์„ ๋งˆ์นœ ํ›„ ๋‹ค์‹œ ๋ณธ๊ฒฉ์ ์ธ ๊ฐœ์ธ APP ์ž‘์—…์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋‚ ์งœ์— ์–ด๋–ค ํŠธ๋ž˜ํ‚น ๋ธ”๋Ÿญ์„ ์ƒ์‚ฐํ–ˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•œ RepositoryViewController๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. FSCalendar๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ฌ๋ ฅ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์…€ ์ปค์Šคํ…€์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฉ”์„œ๋“œ๋“ค์„ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ SummaryView ๋ฐฐ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 89 - 23.12.08

  • RepositoryViewController ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ์™„๋ฃŒ
    ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋‚ ์งœ์˜ ํŠธ๋ž˜ํ‚น ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ๋น ๋ฅธ ์ˆœ์„œ ์ •๋ ฌ๋กœ ์ถœ๋ ฅํ•˜์˜€๊ณ , ์ƒ์‚ฐํ•œ ๋ธ”๋Ÿญ ํƒ€์ž…์˜ ๊ฐœ์ˆ˜๋งˆ๋‹ค ์ƒ‰์ƒ์„ ์ ์šฉํ•ด ์‹œ๊ฐํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 90 - 23.12.13

  • MyPageViewController ํผ๋ธ”๋ฆฌ์‹ฑ
    MyPageViewController๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์ƒ์‚ฐ๋Ÿ‰, ์˜ค๋Š˜ ์ƒ์‚ฐ๋Ÿ‰, ์—ฐ์† ์ƒ์‚ฐ๋Ÿ‰์„ ์‹œ๊ฐํ™”ํ•ด ๋ณด์—ฌ์ฃผ๊ณ  ๊ฐ์ข… ์„ค์ • ๋ฐ ์ •๋ณด๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋Š” TableView๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘๊ฐœ ์ด์ƒ์˜ UITableViewDelegate๋ฅผ ๋‘๊ฐœ์˜ ํ…Œ์ด๋ธ”์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด tag ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.


Day 91 - 23.12.14

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

  • ์˜จ๋ณด๋”ฉ UI ๋””์ž์ธ
    APP ์ดˆ๊ธฐ ์„ค์น˜ ์‹œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์•ˆ๋‚ด๋ฅผ ์œ„ํ•œ ์˜จ๋ณด๋”ฉ ํŽ˜์ด์ง€ ๋””์ž์ธ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 92 - 23.12.18

  • ์˜จ๋ณด๋”ฉ ๋กœ์ง ๊ตฌํ˜„
    ์˜จ๋ณด๋”ฉ์€ ์ตœ์ดˆ 1ํšŒ ์‹คํ–‰๋˜๋ฉฐ, ๋„์›€๋ง์—์„œ ํ•ด๋‹น ๋‚ด์šฉ์„ ๋‹ค์‹œ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํŠธ๋ž˜ํ‚น ์™„๋ฃŒ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—…๋ฐ์ดํŠธ
    ๊ธฐ์กด ๋‹จ์กฐ๋กœ์› ๋˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํšจ๊ณผ๋ฅผ ๋”ํ•ด ์‚ฌ์šฉ์— ์žฌ๋ฏธ๋ฅผ ๋”ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 93 - 24.01.03

  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ํŠธ๋ž˜ํ‚น ๋กœ์ง ์ˆ˜์ •
    APP์ด ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ์™€, background๋กœ ์ „ํ™˜๋˜์—ˆ์„ ๋•Œ ํŠธ๋ž˜ํ‚น์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ง‘๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์‹ค์ œ ์‹œ๊ฐ„์— ๋งž์ถ˜ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๊ฐœ์„ ํ•˜๊ณ ์ž, ๋””๋ฐ”์ด์Šค์˜ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์„ค์ •์„ ์กฐ์ •ํ•ด ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํŠธ๋ž˜ํ‚น ๋ณด๋“œ ์—…๋ฐ์ดํŠธ
    ๊ธฐ์กด ํŠธ๋ž˜ํ‚น ๋ณด๋“œ ๋กœ์ง์€ ์™„์ „ํžˆ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. "18:00", "18:30"์˜ ์‹ค์ œ ์‹œ๊ฐ„ ํ˜•์‹์œผ๋กœ ํŠธ๋ž˜ํ‚น ๋ณด๋“œ๋ฅผ ์กฐ์ •ํ–ˆ๋˜ ๊ธฐ์กด ๋ฐฉ์‹์—์„œ, 3500, 8700๊ณผ ๊ฐ™์€ ํ˜„์žฌ ์ผ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ดˆ๋ฅผ ์“ฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๊ณ , ์ง๊ด€์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€๊ฒฝ ๋ฐ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 94 - 24.01.05

  • SFSymbol ์„น์…˜ ์ถ”๊ฐ€
    ์›ํ™œํ•œ ์•„์ด์ฝ˜ ์„ ํƒ์„ ์œ„ํ•ด ์• ํ”Œ์ด ์ œ๊ณตํ•˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž์ถฐ ์„น์…˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ + ์ผ์‹œ์ •์ง€ ํ™˜๊ฒฝ์—์„œ ํŠธ๋ž˜ํ‚น ์ค‘๋‹จ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ๋‚˜๊ฐ„ ์ƒํƒœ์—์„œ ์ผ์‹œ์ •์ง€ ์‹œ๊ฐ„์ด 12์‹œ๊ฐ„ ์ด์ƒ ๊ฒฝ๊ณผ ์‹œ, ํŠธ๋ž˜ํ‚น์„ ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ๊ทธ๋ฃน ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    ๊ธฐ์กด ๊ธฐ๋ณธ ๊ทธ๋ฃน์€ ์™„์ „ ์ˆ˜์ • ๋ถˆ๊ฐ€๋กœ ์ง€์ •ํ•ด๋†“์•˜์ง€๋งŒ, ์ž์œ ๋กœ์šด ์ปค์Šคํ…€์„ ์œ„ํ•ด ๊ทธ๋ฃน๋ช… ๋ฐ ์ƒ‰์ƒ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋„๋ก ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Grayscale ์ปฌ๋Ÿฌ ์„ธํŠธ ์ถ”๊ฐ€
    Grayscale ์ปฌ๋Ÿฌ ์„ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํƒ€์ž„๋ผ์ธ๋ทฐ ์ ์œ ์œจ ๋ฐ ์ด ์ƒ์‚ฐ๋Ÿ‰ ๋ผ๋ฒจ ์ถ”๊ฐ€
    ์„ ํƒํ•œ ๋‚ ์งœ์˜ ์ด ์ƒ์‚ฐ๋Ÿ‰๊ณผ ํ•˜๋ฃจ ๊ธฐ์ค€ ๋ช‡ํผ์„ผํŠธ์˜ ๋ธ”๋Ÿญ์„ ์ƒ์‚ฐํ–ˆ๋Š”์ง€ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋ผ๋ฒจ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.



Day 95 - 24.01.11

  • ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ ์ž‘์„ฑ
    ์•ฑ์Šคํ† ์–ด ์‹ฌ์‚ฌ ์ œ์ถœ์„ ์œ„ํ•ด์„œ๋Š” ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ์ด ํ•„์ˆ˜์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค ํ•˜์—ฌ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์ž‘์„ฑ, Github์— ์—…๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
    Privacy Policy ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ

  • ์‹ฌ์‚ฌ ์ œ์ถœ ๋ฐ ์Šน์ธ ์™„๋ฃŒ
    ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ, ์•ฑ์Šคํฌ๋ฆฐ์ƒท, ๊ฐ์ข… ์ •๋ณด๋ฅผ ๊ธฐ์ž… ํ›„ ์‹ฌ์‚ฌ๋ฅผ ์ œ์ถœํ–ˆ๊ณ , ๋Œ€๋žต 5~6์‹œ๊ฐ„ ๋งŒ์— ์Šน์ธ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

About

๐Ÿงฑ ํ•˜๋ฃจ๋Š” 24๋ธ”๋Ÿญ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋ช‡๊ฐœ์˜ ๋ธ”๋ก์„ ํ™ฉ๊ธˆ ๋ธ”๋Ÿญ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages