λΌμ΄λΈλ¬λ¦¬, ν¨ν€μ§, μ€ν μμ€ λ±μ μΈλΆ μ½λλ₯Ό μ°λ¦¬ μ½λμ ν΅ν©μν€λ λ°©λ²κ³Ό
μ΄λ° μννΈμ¨μ΄ κ²½κ³λ₯Ό κΉλνκ² μ²λ¦¬νλ λ°©λ²μ λν΄ μμλ³Έλ€.
μννΈμ¨μ΄ κ²½κ³λ, μΈν°νμ΄μ€ μ 곡μμ μ¬μ©μ μ¬μ΄μ μ μ₯ μ°¨μ΄λ‘ λ°μνλ κ²½κ³
- μΈν°νμ΄μ€ μ 곡μλ μ΅λν μ μ©μ±μ λνλ λ°©ν₯μΌλ‘ μ€κ³νλ€.
- μΈν°νμ΄μ€ μ¬μ©μλ μμ μ μꡬμ μ§μ€νλ μΈν°νμ΄μ€λ₯Ό μνλ€.
μΈλΆ μ½λ μ¬μ©νκΈ°
μλ₯Ό λ€μ΄ Map κ°μ²΄λ κ΅μ₯ν λ€μν μΈν°νμ΄μ€λ‘ μλ§μ κΈ°λ₯μ μ 곡νλλ°, μ΄λ° μ μ°μ±μ μ μ©νμ§λ§ κ·Έλ§νΌ μνμ΄ ν¬λ€.
- κ°μ²΄ μ νμ μ ννμ§ μλλ€. μ΄λ€ νμ μ κ°μ²΄λ μΆκ°ν μ μλ€.
- μ¬μ©μμκ² νμνμ§ μμ κΈ°λ₯κΉμ§ μ 곡νλ€.
- λꡬλ λ΄μ₯λ clear() ν¨μλ₯Ό νΈμΆνμ¬ λ΄μ©μ μ§μλ²λ¦΄ κ°λ₯μ±μ΄ μλ€.
μ λλ¦ μ¬μ©νκΈ°
const sensors = new Map<string, Sensor>();
- κ°μ²΄ μ νμ μ§μ ν μ μλ€.
κ²½κ³ μΈν°νμ΄μ€λ₯Ό μΊ‘μννκΈ°
class Sensors {
private sensors = new Map<string, Sensor>();
getById(id: string) {
return sensors.get(id)
}
}
- νμν μΈν°νμ΄μ€λ§ μ 곡ν μ μλ€.
- μ€κ³ κ·μΉκ³Ό λΉμ¦λμ€ κ·μΉμ λ°λ₯΄λλ‘ κ°μ ν μ μλ€.
κ²½κ³ μΈν°νμ΄μ€λ₯Ό μ΄μ©ν λλ μ΄λ₯Ό μ΄μ©νλ ν΄λμ€λ ν΄λμ€ κ³μ΄ λ°μΌλ‘ λ ΈμΆλμ§ μλλ‘ μ£Όμνλ€.
κ²½κ³ μΈν°νμ΄μ€μ μΈμ€ν΄μ€λ₯Ό κ³΅κ° APIμ μΈμλ‘ λκΈ°κ±°λ λ°νκ°μΌλ‘ μ¬μ©νμ§ μλλ€.
κ²½κ³ μ΄νΌκ³ μ΅νκΈ°
μΈλΆ μ½λλ₯Ό μ¬μ©νκΈ° μ μ νμ΅ ν μ€νΈλ₯Ό ν΅ν΄ μΈλΆ μ½λλ₯Ό μ΅νλ€.
νμ΅ ν μ€νΈ: κ°λ¨ν ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±νμ¬ νλ‘κ·Έλ¨μμ μ¬μ©νλ €λ λ°©μλλ‘ μΈλΆ APIλ₯Ό νΈμΆνλ κ²
- ν΅μ λ νκ²½μμ APIλ₯Ό μ λλ‘ μ΄ν΄νλμ§ νμΈν μ μλ€.
- APIλ₯Ό μ¬μ©νλ €λ λͺ©μ μ μ΄μ μ λ§μΆμ΄ ν μ€νΈν μ μλ€.
νμ΅ ν μ€νΈλ κ³΅μ§ μ΄μμ΄λ€.
νμ΅ ν μ€νΈμμ μ¬μ©νλ ν μ€νΈ μΌμ΄μ€λ μ€μ μ½λμ λμΌν λ°©μμΌλ‘ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλ μ½λμ΄λ€.
λ°λΌμ νμ΅ ν μ€νΈλ,
- ν¨ν€μ§κ° μμλλ‘ μλνλμ§ κ²μ¦νλ€.
- ν¨ν€μ§κ° μλ‘μ΄ λ²μ μ 릴리μ¦νμ λ κΈ°μ‘΄ μ½λμ νΈνλμ§ μμΌλ©΄ νμ΅ ν
μ€νΈκ° μ΄λ₯Ό λ°λ‘ μμλΌ μ μλ€.
- μ λ²μ μΌλ‘ μ΄μ νκΈ° μ¬μμ§λ€.
μμ§ μ‘΄μ¬νμ§ μλ μ½λλ₯Ό μ¬μ©νκΈ°
μλ μ½λμ λͺ¨λ₯΄λ μ½λ μ¬μ΄μ κ²½κ³κ° μ‘΄μ¬νλ€.
μμ§ μ μλμ§ μμ κ²½κ³ λλ¨Έμ apiλ₯Ό μΈν°νμ΄μ€λ‘ λΆλ¦¬νκ³ μΊ‘μννμ¬, APIκ° λ°λ λ μμ ν μ½λλ₯Ό ν κ³³μΌλ‘ λͺ¨μλλλ€.
- μ°λ¦¬μκ² νμν μΈν°νμ΄μ€λ₯Ό 미리 ꡬνν΄ λλλ€. → apiκ° μ μλ ν κ·Έ κ°κ·Ήμ Adapter ν΄λμ€λ‘ λ©κΎΌλ€.
- μ μ μΌλ‘ μΈν°νμ΄μ€λ₯Ό ν΅μ ν μ μλ€λ μ₯μ μ΄ μκΉ
- μ μ ν Fake ν΄λμ€λ₯Ό μ¬μ©νλ©΄ ν
μ€νΈκ° κ°λ₯νλ€.
- apiκ° μ μλ ν κ²½κ³ ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±ν΄μ μ¬λ°λ₯΄κ² μ¬μ©νλμ§ ν μ€νΈν μ μλ€.
κΉ¨λν κ²½κ³
- κ²½κ³μ μμΉνλ μ½λλ κΉλν λΆλ¦¬νλ€.
- κΈ°λμΉλ₯Ό μ μνλ ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±νλ€.
- ν΅μ κ° λΆκ°λ₯ν μΈλΆ ν¨ν€μ§μ μμ‘΄νλ λμ ν΅μ κ° κ°λ₯ν μ°λ¦¬ μ½λμ μμ‘΄νλ νΈμ΄ ν¨μ¬ μ’λ€.
- μΈλΆ ν¨ν€μ§λ₯Ό νΈμΆνλ μ½λλ₯Ό κ°λ₯ν μ€μ¬ κ²½κ³λ₯Ό κ΄λ¦¬νμ.
- μλ‘μ΄ ν΄λμ€λ‘ κ²½κ³λ₯Ό κ°μΈκΈ°
- ADAPTER ν¨ν΄μ μ¬μ©ν΄ μ°λ¦¬κ° μνλ μΈν°νμ΄μ€λ₯Ό ν¨ν€μ§κ° μ 곡νλ μΈν°νμ΄μ€λ‘ λ³ν
μ΄λ° λ°©μμΌλ‘ κ²½κ³λ₯Ό μ²λ¦¬νλ©΄ μ½λ κ°λ μ±κ³Ό μΌκ΄μ±μ΄ μ’μμ Έ μΈλΆ ν¨ν€μ§κ° λ³ν λ λ³κ²½ν μ½λκ° μ€μ΄λ λ€.
λ§λ¬΄λ¦¬
νμ΅ ν μ€νΈλ κΈ°λ²μ μ²μ μκ² λμλ€.
λΉλ¨ μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν λλΏ μλλΌ, λ€λ₯Έ κ°λ°μκ° λ§λ μ»΄ν¬λνΈλ₯Ό μ¬μ©ν λλ μ΄ κΈ°λ²μ νμ©νλ©΄ μ½κ² μ¬μ©λ²μ μ΅νκ³ μμν λλ‘ λμνλμ§ νμΈν μ μμ κ² κ°λ€.
νλ‘ νΈμλ κ°λ°μ νλ€ λ³΄λ©΄ λ°±μλμμ API λͺ μΈλ₯Ό μ λ¬ν΄ μ£ΌκΈ° μ μ 미리 μμ μ μμνλ κ²½μ°κ° λ§μλ° νμ κ³ λ―Όμ΄ λλ λΆλΆμ΄λ€.
μ± μμ λμ¨ ADAPTER ν¨ν΄μ μ μ©νλ©΄ api λͺ μΈκ° λ³κ²½λ λ ν κ³³μ λͺ¨μλ μ½λλ§ λ³κ²½νλ©΄ λκΈ° λλ¬Έμ λΉ λ₯΄κ² λμν μ μλ€λ μ₯μ μ΄ μλ€.
νμ§λ§ λ°±μλμμ 보λ΄μ£Όλ λ°μ΄ν°μ νλ‘ νΈμμ UIμ λΏλ €μ£Όλ λ°μ΄ν°μμ κ°κ·Ήμ΄ μ¬ν΄μ§ μ μλ€λ λ¨μ μ΄ μλ€.
λ AdapterλΌλ κ³μΈ΅μ΄ νλ μΆκ°λλ κ²μ΄κΈ° λλ¬Έμ μ½λκ° λ³΅μ‘ν΄μ§ μΌλ €κ° μλ€.
νλ‘ νΈμλμ μ μ©νκΈ°μλ μ‘°κΈ κΉλ€λ‘μ΄ λ΄μ©μ΄μμ§λ§ κ²½κ³λ₯Ό ꡬλΆνκ³ μ΄λ»κ² 맀λλ½κ² μ²λ¦¬ν μ μμμ§ κ³ λ―Όν΄ λ³Ό μ μμλ€.
'πΏ μ€ν°λ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ν΄λ¦°μ½λ] 9μ₯ λ¨μν μ€νΈ (0) | 2023.07.21 |
---|---|
[ν΄λ¦°μ½λ] 7μ₯ μ€λ₯ μ²λ¦¬ (0) | 2023.07.12 |
[three.js] κ·Έλ¦Όμλ₯Ό λ λλ§νλ λ°©λ² (0) | 2023.07.06 |
[ν΄λ¦°μ½λ] 6μ₯ κ°μ²΄μ μλ£κ΅¬μ‘° (0) | 2023.07.02 |
[three.js] μΉ΄λ©λΌ - PerspectiveCamera vs OrthographicCamera (0) | 2023.07.01 |