βπ[Backend Development] Path ꡬ쑰μ μ΄ν΄.β
β 1οΈβ£ β00a0z 00002βμ νμ λκΈμ 무μμΌκΉμ?
- β00a0z 00002βμ νμ λκΈμ β00a0z 00002 00000β μ λλ€.
- μ¦, β00a0z 00003βμ΄ μλλΌ β00a0z 00002 00000βμ΄ νμ λκΈμ λλ€.
β 2οΈβ£ νμ λκΈμ΄ β00a0z 00002 00000βμΈ μ΄μ ?
π1οΈβ£ Path ꡬ쑰 μ΄ν΄.
- CommentPathμμ λκΈμ pathλ λΆλͺ¨ λκΈμ path + νμ λκΈμ 5μ리 λ¬Έμμ΄λ‘ ꡬμ±λ©λλ€.
- κ° λκΈμ pathλ DEPTH_CHUNK_SIZE = 5 κΈ°μ€μΌλ‘ 5μλ¦¬μ© μ¦κ°ν©λλ€.
- depthκ° κΉμ΄μ§μλ‘ path λ¬Έμμ΄ κΈΈμ΄κ° κΈΈμ΄μ§λλ€.
π μμ:
λΆλͺ¨ λκΈ: 00a0z
-> 첫 λ²μ§Έ νμ λκΈ: 00a0z00000
-> λ λ²μ§Έ νμ λκΈ: 00a0z0000000000
- μ¦, νμ λκΈμ pathλ λΆλͺ¨ λκΈ pathλ₯Ό ν¬ν¨νλ©°, 5μλ¦¬μ© μΆκ°λ©λλ€.
π2οΈβ£ descendantsTopPath vs childrenTopPath
1οΈβ£ childrenTopPath (νμ¬ λκΈμ μ§μ μ μΈ νμ)
String childrenTopPath = findChildrenTopPath(descendantsTopPath);
private String findChildrenTopPath(String descendantsTopPath) {
return descendantsTopPath.substring(0, (getDepth() + 1) * DEPTH_CHUNK_SIZE);
}
- descendantsTopPath = β00a0z0000200000β
- childrenTopPath = β00a0z00002β (5μλ¦¬μ© μλ¦)
2οΈβ£ descendantsTopPath (νμ¬ λκΈμ λͺ¨λ μμ μ€ κ°μ₯ ν° path)
- descendantsTopPathλ νμ¬ λκΈμ΄ ν¬ν¨λ μ 체 νμ νΈλ¦¬μμ κ°μ₯ λ§μ§λ§ λκΈμ pathμ λλ€.
- μ¦, 00a0z00002μ λͺ¨λ μμ λκΈ μ€ κ°μ₯ λ§μ§λ§ λκΈμ΄ 00a0z0000200000 μ λλ€.
π κ²°λ‘
- 00a0z00002μ μ§μ μ μΈ νμ λκΈμ 00a0z0000200000 μ λλ€.
- 00a0z00003μ 00a0z00002μ κ°μ depthμμ μμ±λ μλ‘μ΄ sibling λκΈμΌ λΏ, 00a0z00002μ νμ λκΈμ΄ μλλλ€.
π μ 리.
- β 00a0z00002μ νμ λκΈμ 00a0z0000200000μ΄λ€.
- β λκΈ κ΅¬μ‘°μμ λΆλͺ¨ λκΈμ path + 5μ리 λ¬Έμμ΄μ΄ νμ λκΈμ pathκ° λλ€.
- β descendantsTopPathλ₯Ό νμ©ν΄ λͺ¨λ μμ μ€ κ°μ₯ λ§μ§λ§ λκΈμ μ°Ύκ³ , μ΄λ₯Ό κΈ°λ°μΌλ‘ μλ‘μ΄ λκΈμ pathλ₯Ό κ²°μ νλ€.
- β β00a0z00003βμ κ°μ depthμ sibling(νμ λκΈ)μ΄μ§, νμ λκΈμ΄ μλλ€.