Home
>
Data Structure
>
𧩠[Data Structure] λκ·λͺ¨ λ°μ΄ν°μμμ κ²μκΈ λͺ©λ‘ μ‘°ν
Data Structure
𧩠[Data Structure] λκ·λͺ¨ λ°μ΄ν°μμμ κ²μκΈ λͺ©λ‘ μ‘°ν.
π Intro.
- λκ·λͺ¨ λ°μ΄ν
μ΄μ κ²μκΈ λͺ©λ‘ μ‘°νλ μ 볡μ‘ν κΉμ?
- κ·Έ μ΄μ λ λͺ¨λ λ°μ΄ν°λ₯Ό ν λ²μ 보μ¬μ€ μ μκΈ° λλ¬Έμ
λλ€.
- λ©λͺ¨λ¦¬, λ€νΈμν¬, μ±λ₯ λ±μ μ μ½μ΄ μμ.
- μμ κ°μ μ΄μ λ‘ μΈν΄ νμ΄μ§μ΄ νμν©λλ€.
β
1οΈβ£ νμ΄μ§ μ²λ¦¬λ 무μμΌκΉμ?
-
νμ΄μ§ μ²λ¦¬(Paging)λ, λ§μ μμ λ°μ΄ν°λ₯Ό μ¬λ¬ νμ΄μ§λ‘ λλμ΄ ν λ²μ μΌλΆ λ°μ΄ν°λ§ νμνλ λ°©λ²μ λ§ν©λλ€.
- μ£Όλ‘ μΉ μ ν리μΌμ΄μ
, λ°μ΄ν°λ² μ΄μ€, UI μ€κ³ λ±μμ λλ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ νμνκ³ μ²λ¦¬νκΈ° μν΄ μ¬μ©λ©λλ€.
β
2οΈβ£ νμ΄μ§ μ²λ¦¬κ° νμν μ΄μ ?
-
1. λλ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ μ²λ¦¬νκΈ° μν΄:
- λ°μ΄ν°κ° λ§μ κ²½μ°, ν λ²μ λͺ¨λ λ°μ΄ν°λ₯Ό μ¬μ©μμκ² λ³΄μ¬μ£Όλ©΄ μ±λ₯ μ νμ λΆνΈν UI/UX λ¬Έμ κ° λ°μν©λλ€.
- νμ΄μ§μ μ¬μ©νλ©΄ ν λ²μ νμν λ°μ΄ν°λ§ κ°μ Έμ μ±λ₯μ ν₯μν μ μμ΅λλ€.
-
2. μ¬μ©μ κ²½ν(UX) κ°μ :
- λ°μ΄ν°λ₯Ό νμ΄μ§λ³λ‘ λλμ΄ λ³΄μ¬μ€μΌλ‘μ¨ μ¬μ©μκ° λ°μ΄ν°λ₯Ό μ½κ² νμν μ μμ΅λλ€.
- μ: μΌνλͺ° μν λͺ©λ‘, λΈλ‘κ·Έ κ²μκΈ λͺ©λ‘ λ±
β
3οΈβ£ νμ΄μ§ μ²λ¦¬μ κ΅¬μ± μμ?
- νμ΄μ§ μ²λ¦¬λ μ£Όλ‘ λ€μκ³Ό κ°μ κ΅¬μ± μμλ‘ μ΄λ£¨μ΄μ§λλ€:
-
1. νμ΄μ§ λ²νΈ(Page Number):
- μ¬μ©μκ° λ³΄κ³ μ νλ νμ΄μ§λ₯Ό λνλ
λλ€.
-
2. νμ΄μ§ ν¬κΈ°(Page Size):
- ν νμ΄μ§μ νμν λ°μ΄ν°μ κ°μλ₯Ό μ€μ ν©λλ€.
- μ: 10κ°, 20κ°, 50κ° λ±.
-
3. μ 체 λ°μ΄ν° μ(Total Items):
- μ 체 λ°μ΄ν°μ κ°μλ₯Ό κ³μ°νμ¬ λͺ νμ΄μ§κΉμ§ νμνμ§ κ²°μ ν©λλ€.
-
4. μ 체 νμ΄μ§ μ(Total Pages):
- μ 체 λ°μ΄ν°λ₯Ό νμ΄μ§ ν¬κΈ°λ‘ λλ κ°μ
λλ€.
- κ³μ°: μ 체 νμ΄μ§ μ = [μ 체 λ°μ΄ν° μ / νμ΄μ§ ν¬κΈ°]
β
4οΈβ£ νμ΄μ§ μ²λ¦¬μ μ.
ποΈ μΌνλͺ° μν λͺ©λ‘.
- μλ₯Ό λ€μ΄, 1,000κ°μ μνμ΄ μκ³ , ν νμ΄μ§μ 20κ°μ μνμ νμνλ€κ³ κ°μ ν©λλ€.
- νμ΄μ§ ν¬κΈ° (Page Size): 20
- μ 체 νμ΄μ§ μ (Total Pages): [1,000 / 20] = 50
- μ¬μ©μκ° κ° νμ΄μ§λ₯Ό μμ²νλ©΄ λ€μκ³Ό κ°μ΄ λ°μ΄ν°λ₯Ό λλμ΄ κ°μ Έμ΅λλ€:
-
1νμ΄μ§ : μν 1 ~ 20
-
2νμ΄μ§ : μν 21 ~ 40
- β¦
-
50νμ΄μ§ : μν 981 ~ 1,000
β
5οΈβ£ νμ΄μ§ μ²λ¦¬μ ꡬν λ°©μ.
- μλ² μ ν리μΌμ΄μ
λ΄μ λ©λͺ¨λ¦¬λ‘ λμ€ν¬μ μ μ₯λ λͺ¨λ λ°μ΄ν°λ₯Ό κ°μ Έμ¨ ν νΉμ νμ΄μ§λ§ μΆμΆνλ κ²μ λΉν¨μ¨μ μ
λλ€.
- λμ€ν¬ μ κ·Όμ λ©λͺ¨λ¦¬ μ κ·Όλ³΄λ€ λ리기 λλ¬Έμ
λλ€.
- λμ€ν¬ I/O λΉμ©μ΄ λλλ€.
- λμ€ν¬μ μ μ₯λ λ°μ΄ν°λ λ©λͺ¨λ¦¬ μ©λμ μ΄κ³Όν μ μμ΅λλ€.
- Out of Memory(OOM)
- μμ€ν
μμ μ¬μ© κ°λ₯ν λ©λͺ¨λ¦¬κ° λͺ¨λ μ¬μ©λμ΄ λ μ΄μ ν λΉν μ μλ μν©μ λ§ν©λλ€.
- λ°μ΄ν°λ² μ΄μ€μμ νΉμ νμ΄μ§μ λ°μ΄ν°λ§ λ°λ‘ μΆμΆνλ λ°©λ²μ΄ νμν©λλ€.
- μ΄κ²μ βνμ΄μ§ 쿼리βλΌκ³ λΆλ¦
λλ€.
- μ΄λ¬ν νμ΄μ§ λ°©μμ ν΄λΌμ΄μΈνΈ λλ μλΉμ€ νΉμ±μ λ°λΌμ ν¬κ² λ κ°μ§λ‘ λλ©λλ€.
-
- νμ΄μ§ λ²νΈ
-
- 무ν μ€ν¬λ‘€
-
β
1οΈβ£ βνμ΄μ§ λ²νΈβμ β무ν μ€ν¬λ‘€βμ΄λ?
-
νμ΄μ§ λ²νΈ λ°©μκ³Ό 무ν μ€ν¬λ‘€ λ°©μμ λ°μ΄ν°λ₯Ό νμ΄μ§ μ²λ¦¬νμ¬ μ¬μ©μμκ² λ³΄μ¬μ£Όλ λ°©λ²μ
λλ€.
- λ λ€ λ°μ΄ν°λ₯Ό νμ΄μ§ λ¨μλ‘ λλμ΄ λ‘λνμ§λ§, μ¬μ© λ°©μκ³Ό μ¬μ©μ κ²½ν(UX)μ΄ ν¬κ² λ€λ¦
λλ€.
β
2οΈβ£ νμ΄μ§ λ²νΈ λ°©μ.
-
νμ΄μ§ λ²νΈ λ°©μμ λ°μ΄ν° μ 체μ νμ΄μ§λ₯Ό λ²νΈλ‘ λλκ³ , μ¬μ©μκ° νΉμ νμ΄μ§ λ²νΈλ₯Ό ν΄λ¦νκ±°λ μ ννμ¬ ν΄λΉ νμ΄μ§μ λ°μ΄ν°λ₯Ό μμ²νλ λ°©μμ
λλ€.
π1οΈβ£ νμ΄μ§ λ²νΈ λ°©μμ νΉμ§.
- λ°μ΄ν°λ νμ΄μ§λ³λ‘ ꡬλΆλ©λλ€.
- μ¬μ©μλ νΉμ νμ΄μ§λ₯Ό μ§μ νμν μ μμ΅λλ€.
- μΌλ°μ μΌλ‘ νλ©΄ μλμ νμ΄μ§ λ²νΈ(Pagination)κ° νμλ©λλ€.
π2οΈβ£ μμ: μΌνλͺ° μν λͺ©λ‘.
[1] [2] [3] [4] [5] ... [Next >]
- μ¬μ©μκ° β3λ² νμ΄μ§βλ₯Ό ν΄λ¦νλ©΄, 3λ² νμ΄μ§μ ν΄λΉνλ λ°μ΄ν°λ₯Ό μλ²μμ κ°μ Έμ΅λλ€.
π3οΈβ£ νμ΄μ§ λ²νΈ λ°©μμ μ₯μ .
- 1. μ¬μ©μκ° μνλ νμ΄μ§λ₯Ό μ§μ νμν μ μμ΅λλ€.
-
- λ€νΈμν¬ μμ²μ΄ λͺ
νν ꡬλΆλμ΄, μ¬μ©μκ° λ‘λ κ³Όμ μ μ μ΄ κ°λ₯ν©λλ€.
-
- λ°μ΄ν° λ‘λ© λ° μ±λ₯ κ΄λ¦¬κ° μ©μ΄ν©λλ€.
π4οΈβ£ νμ΄μ§ λ²νΈ λ°©μμ λ¨μ .
-
- νμ΄μ§ μ΄λ μ νλ©΄μ΄ κ°±μ λλ―λ‘ UXκ° λκΈΈ μ μμ΅λλ€.
-
- μ¬μ©μκ° μνλ λ°μ΄ν°λ₯Ό μ°ΎκΈ° μν΄ μ¬λ¬ νμ΄μ§λ₯Ό λ°λ³΅ νμν΄μΌ ν μ μμ΅λλ€.
β
2οΈβ£ 무ν μ€ν¬λ‘€ λ°©μ.
-
무ν μ€ν¬λ‘€ λ°©μμ μ¬μ©μκ° νμ΄μ§ λ²νΈλ₯Ό μ ννμ§ μκ³ , νλ©΄μ μλλ‘ μ€ν¬λ‘€ν λλ§λ€ μλμΌλ‘ λ€μ λ°μ΄ν°λ₯Ό λ‘λνλ λ°©μμ
λλ€.
π1οΈβ£ 무ν μ€ν¬λ‘€ λ°©μμ νΉμ§.
- λ°μ΄ν°λ ν λ²μ νλμ νμ΄μ§μ© λ€μμ μΆκ° λ‘λλ©λλ€.
- μ¬μ©μλ λκΉ μλ μ€ν¬λ‘€ κ²½νμ μ»μ΅λλ€.
- μΌλ°μ μΌλ‘ μμ
λ―Έλμ΄λ μ΄λ―Έμ§ κ°€λ¬λ¦¬μμ λ§μ΄ μ¬μ©ν©λλ€.
π2οΈβ£ 무ν μ€ν¬λ‘€ λ°©μμ μμ: SNS νΌλ.
- μ¬μ©μκ° μλλ‘€ μ€ν¬λ‘€νλ©΄ μλ‘μ΄ κ²μλ¬Όμ΄ κ³μ μΆκ°λ‘ λ‘λλ©λλ€.
- νμ΄μ§μ κ°λ
μ΄ λ³΄μ΄μ§ μμΌλ©°, λ°μ΄ν°κ° λκΈ°μ§ μκ³ κ³μ νμλ©λλ€.
π3οΈβ£ 무ν μ€ν¬λ‘€ λ°©μμ μ₯μ .
-
- UXκ°λ§€λλ½κ³ μ§κ΄μ μ΄λ©°, νμμ΄ λΉ λ¦
λλ€.
-
- μ¬μ©μκ° ν΄λ¦ μμ΄ λ°μ΄ν°λ₯Ό μμ°μ€λ½κ² νμ κ°λ₯ν©λλ€.
-
- λͺ¨λ°μΌ νκ²½μ νΉν μ ν©ν©λλ€.
π4οΈβ£ 무ν μ€ν¬λ‘€ λ°©μμ λ¨μ .
-
- λ€νΈμν¬ μμ²μ΄ λ§μμ Έμ μλ² λΆνκ° μ¦κ°ν μ μμ΅λλ€.
-
- μ¬μ©μκ° νΉμ μμΉλ‘ λμκ°κ±°λ νΉμ λ°μ΄ν°λ₯Ό λ€μ μ°Ύγ±κΈ° μ΄λ ΅μ΅λλ€.
-
- λ°μ΄ν°κ° λ§μμ§μλ‘ λΈλΌμ°μ λ©λͺ¨λ¦¬ μ¬μ©λμ΄ μ¦κ°ν©λλ€.
β
3οΈβ£ λΉκ΅: νμ΄μ§ λ²νΈ vs 무ν μ€ν¬λ‘€
νΉμ§ |
νμ΄μ§ λ²νΈ λ°©μ |
무ν μ€ν¬λ‘€ λ°©μ |
μ¬μ©μ κ²½ν(UX) |
μ¬μ©μκ° μνλ νμ΄μ§λ‘ μ§μ μ΄λ κ°λ₯ |
μμ°μ€λ¬μ΄ νμ, ν΄λ¦ μμ΄ λ°μ΄ν° μλ‘± λ‘λ |
λ°μ΄ν° λ‘λ© λ°©μ |
λͺ
μμ μΌλ‘ νμ΄μ§ μμ² |
μ€ν¬λ‘€ μ΄λ²€νΈμ λ°λΌ μλμΌλ‘ μΆκ° λ‘λ |
λ€νΈμν¬ λΆν |
νμ΄μ§ μμ²μ΄ λͺ
ν, λΆνκ° μ μ |
μ€ν¬λ‘€ν λλ§λ€ μμ² λ°μ, λΆν μ¦κ° κ°λ₯ |
νΉμ λ°μ΄ν° νμ |
νΉμ νμ΄μ§λ‘ λ°λ‘ μ΄λ κ°λ₯ |
νΉμ μμΉλ‘ μ΄λμ΄ μ΄λ €μ |
μ ν©ν νκ²½ |
μν λͺ©λ‘, λΈλ‘κ·Έ κ²μκΈ, κ²μ κ²°κ³Ό λ± |
μμ
λ―Έλμ΄, μ΄λ―Έμ§ κ°€λ¬λ¦¬, λμ μ½ν
μΈ |
β
4οΈβ£ SQL μμ .
π1οΈβ£ νμ΄μ§ λ²νΈ λ°©μ.
-- νμ΄μ§ λ²νΈ κΈ°λ° νμ΄μ§ (νμ΄μ§ ν¬κΈ°: 10, 2λ² νμ΄μ§ λ°μ΄ν°)
SELECT *
FROM article
ORDER BY created_at DESC
LIMIT 10 OFFSET 10;
- LIMIT 10 β ν λ²μ κ°μ Έμ¬ λ°μ΄ν° κ°μ.
- OFFSET 10 β λͺ κ°λ₯Ό 건λλ°κ³ κ°μ Έμ¬μ§.
π2οΈβ£ 무ν μ€ν¬λ‘€ λ°©μ.
-- 무ν μ€ν¬λ‘€ νμ΄μ§ (컀μ κΈ°λ°, created_at κΈ°μ€)
SELECT *
FROM article
WHERE created_at < '2025-01-31 12:00:00'
ORDER BY created_at DESC
LIMIT 10;
- WHERE created_at < ? β νμ¬ λ‘λλ λ§μ§λ§ λ°μ΄ν°μ μκ°λ³΄λ€ μ΄μ λ°μ΄ν°λ₯Ό κ°μ Έμ΄.
- LIMIT 10 β ν λ²μ κ°μ Έμ¬ λ°μ΄ν° κ°μ.
β
5οΈβ£ νμ΄μ§ λ²νΈ λ°©μ±κ³Ό 무ν μ€ν¬λ‘€ λ°©μ μ 리.
-
νμ΄μ§ λ²νΈ λ°©μ : μ¬μ©μκ° νμ΄μ§λ₯Ό μ§μ μ ννμ¬ νμνλ©°, μν λͺ©λ‘, κ²μ κ²°κ³Όμ κ°μ ꡬ쑰μ μ ν©ν©λλ€.
-
무ν μ€ν¬λ‘€ λ°©μ : λκΉ μλ μ€ν¬λ‘€ κ²½νμ μ 곡νλ©°, μμ
λ―Έλμ΄ νΌλ, μ΄λ―Έμ§ κ°€λ¬λ¦¬ λ± λμ μ½ν
μΈ μ μ ν©ν©λλ€.
β
6οΈβ£ νμ΄μ§ μ²λ¦¬μ μ₯λ¨μ .
β
1οΈβ£ μ₯μ .
-
1 μ±λ₯ μ΅μ ν : ν λ²μ νμν λ°μ΄ν°λ§ μ²λ¦¬νλ―λ‘ μλ΅ μλκ° λΉ¨λΌμ§λλ€.
-
2. μ¬μ©μ κ²½ν κ°μ : λλ λ°μ΄ν°λ₯Ό νμνκΈ° μ½κ³ , UIκ° κ°κ²°ν΄μ§λλ€.
-
3. λ€νΈμν¬ ν¨μ¨μ± : ν΄λΌμ΄μΈνΈμ μλ² κ° μ μ‘λλ λ°μ΄ν° μμ΄ μ€μ΄λλλ€.
β2οΈβ£ λ¨μ .
-
1. ꡬν 볡μ‘μ± μ¦κ° : μλ² λ° ν΄λΌμ΄μΈνΈμμ νμ΄μ§ μ²λ¦¬λ₯Ό μΆκ°λ‘ ꡬνν΄μΌ ν©λλ€.
-
2. νμ΄μ§ μ΄λ μ μΆκ° μμ² : κ° νμ΄μ§λ₯Ό μ΄λν λλ§λ€ μλ²μ ν΅μ ν΄μΌ νλ―λ‘, λλ¦° λ€νΈμν¬μμλ μ²΄κ° μλκ° λ¨μ΄μ§ μ μμ΅λλ€.