[TIL] 2024. 08. 14

2024. 8. 14. 09:13ยทTIL (Today I Learned)
๐Ÿ”ฅ ํ‚ค์›Œ๋“œ
     - Array
     - Stack
     - Queue
     - Property
     - Optional
     - Closure
     - Extension

 

๐Ÿ”ฅ ์˜ˆ์ƒ ์งˆ๋ฌธ์ง€

  1. Array์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Array๋Š” ๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ์ปฌ๋ ‰์…˜ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Swift์—์„œ ๋ฐฐ์—ด์€ Array<Element> ๋˜๋Š” [Element] ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์€ ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ๋™์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์€ ์‚ฝ์ž…, ์‚ญ์ œ, ํƒ์ƒ‰ ๋“ฑ์˜ ์—ฐ์‚ฐ์ด ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Stack, Queue ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Stack์€ LIFO(Last In, First Out) ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€๋œ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์—ฐ์‚ฐ์œผ๋กœ๋Š” push(์š”์†Œ ์ถ”๊ฐ€), pop(์š”์†Œ ์ œ๊ฑฐ), peek(๋งˆ์ง€๋ง‰ ์š”์†Œ ํ™•์ธ) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • Queue๋Š” FIFO(First In, First Out) ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ฒ˜์Œ์— ์ถ”๊ฐ€๋œ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์—ฐ์‚ฐ์œผ๋กœ๋Š” enqueue(์š”์†Œ ์ถ”๊ฐ€), dequeue(์š”์†Œ ์ œ๊ฑฐ), front(์ฒซ ๋ฒˆ์งธ ์š”์†Œ ํ™•์ธ) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  3. iOS์—์„œ Stack์„ ์‚ฌ์šฉํ•˜๋Š”๊ฑด ์–ด๋–ค๊ฒŒ ์žˆ์„๊นŒ์š”?
    • iOS์—์„œ Stack ๊ตฌ์กฐ๋Š” Navigation Stack์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. UINavigationController๋Š” ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์„ ์Šคํƒ ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ๋กœ์šด ๋ทฐ๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์Šคํƒ์— push๋˜๊ณ , ๋’ค๋กœ ๊ฐˆ ๋•Œ๋Š” pop๋˜์–ด ์ด์ „ ๋ทฐ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ ๋•๋ถ„์— ์‚ฌ์šฉ์ž๋Š” ์ง๊ด€์ ์ธ ํƒ์ƒ‰ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ €์žฅ ํ”„๋กœํผํ‹ฐ์™€ ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํ”„๋กœํผํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ดˆ๊ธฐํ™”๋˜๋ฉฐ, ์ดํ›„์— ๊ฐ’์„ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋Š” ์‹ค์ œ๋กœ ๊ฐ’์„ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ๊ฐ’์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ”„๋กœํผํ‹ฐ์ž…๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋Š” get ๋ธ”๋ก์„ ํ†ตํ•ด ๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ set ๋ธ”๋ก์„ ํ†ตํ•ด ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. lazy ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • lazy ํ”„๋กœํผํ‹ฐ๋Š” ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ํ”„๋กœํผํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ์— ์ฒ˜์Œ ์ ‘๊ทผํ•  ๋•Œ ์ดˆ๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์ดˆ๊ธฐํ™” ๋น„์šฉ์ด ํฌ๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์€ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. lazy ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  6. Optional์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Optional์€ ๊ฐ’์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž…์ž…๋‹ˆ๋‹ค. Swift์—์„œ Optional์€ ?๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ nil์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Optional์€ null safety๋ฅผ ๊ฐ•ํ™”ํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ , ์•ˆ์ „ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ๋„์™€์ค๋‹ˆ๋‹ค.
  7. Optional์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Optional์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ๋ช…ํ™•ํžˆ ํ‘œํ˜„ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด null ๊ฐ’์œผ๋กœ ์ธํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Optional์€ ํ•จ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  8. Optional ์–ธ๋ž˜ํ•‘ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•„๋Š”๋งŒํผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
    • Optional ์–ธ๋ž˜ํ•‘์€ Optional์— ํฌํ•จ๋œ ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค:
      1. ๊ฐ•์ œ ์–ธ๋ž˜ํ•‘(Forced Unwrapping): ! ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ•์ œ๋กœ ๊ฐ’์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ’์ด nil์ผ ๊ฒฝ์šฐ ํฌ๋ž˜์‹œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      2. ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ(Optional Binding): if let์ด๋‚˜ guard let์„ ์‚ฌ์šฉํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ’์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๊ฐ’์ด ์žˆ์„ ๋•Œ๋งŒ ์–ธ๋ž˜ํ•‘์„ ์‹œ๋„ํ•˜๋ฏ€๋กœ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
      3. nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(Nil-Coalescing Operator): ?? ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Optional์ด nil์ผ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ฐ’์„ ์ œ๊ณตํ•˜์—ฌ ์–ธ๋ž˜ํ•‘ํ•ฉ๋‹ˆ๋‹ค.
      4. ์˜ต์…”๋„ ์ฒด์ด๋‹(Optional Chaining): ?๋ฅผ ์‚ฌ์šฉํ•ด ์—ฐ์‡„์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉฐ, ์ค‘๊ฐ„์— nil์ด ๋ฐœ์ƒํ•˜๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  9. Closure์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
    • Closure๋Š” ์ฝ”๋“œ์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์˜ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. Swift์—์„œ Closure๋Š” ํ•จ์ˆ˜์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ์ด๋ฆ„์ด ์—†๊ณ , ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠน์ • ์ปจํ…์ŠคํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Closure๋Š” ์ฃผ๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋‚˜ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” { (parameters) -> return type in statements }์ž…๋‹ˆ๋‹ค.
  10. Escaping Closure์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
    • Escaping Closure๋Š” ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋œ Closure๊ฐ€ ํ•จ์ˆ˜์˜ ์‹คํ–‰์ด ๋๋‚œ ํ›„์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, Closure๋Š” @escaping ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ์ž‘์—…์ด๋‚˜ ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ๋‚˜์ค‘์— ์‹คํ–‰๋˜๋Š” ํด๋กœ์ €์— ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„์—๋„ ํด๋กœ์ €๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์–ด ํŠน๋ณ„ํžˆ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  11. Extension์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
    • Extension์€ ๊ธฐ์กด์˜ ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜• ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Extension์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ์†Œ์Šค ์ฝ”๋“œ์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ๋ชจ๋“ˆ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฉ”์„œ๋“œ, ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ, ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  12. Extension์„ ์‚ฌ์šฉํ•ด๋ณด์…จ๋‚˜์š”?
    • ๋„ค, Extension์„ ์‚ฌ์šฉํ•ด๋ดค์Šต๋‹ˆ๋‹ค. Extension์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ํƒ€์ž…์— ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ฆ๊ฐ€์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

    • 12-1. Extension์—์„œ ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”? - ์•„๋‹ˆ์š”, Extension์—์„œ๋Š” ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Extension์€ ๊ธฐ์กด ํƒ€์ž…์— ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ, ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ, ์ด๋‹ˆ์…œ๋ผ์ด์ € ๋“ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” ๊ธฐ์กด ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜•

'TIL (Today I Learned)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 2024. 08. 16  (0) 2024.08.19
[TIL] 2024. 08. 15  (0) 2024.08.19
[TIL] 2024. 08. 13  (0) 2024.08.13
[TIL] 2024. 08. 12  (0) 2024.08.12
[TIL] 2024. 08. 09  (0) 2024.08.09
'TIL (Today I Learned)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [TIL] 2024. 08. 16
  • [TIL] 2024. 08. 15
  • [TIL] 2024. 08. 13
  • [TIL] 2024. 08. 12
DongDong_
DongDong_
  • DongDong_
    how-dev
    DongDong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (102)
      • TIL (Today I Learned) (96)
      • DEV (0)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
        • SWIFT (0)
      • ์‚ฌ์ „์บ ํ”„ ๋ฐ์ผ๋ฆฌ ๋ฏธ์…˜ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์ž‘์„ฑ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
DongDong_
[TIL] 2024. 08. 14
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”