λμμΈ ν¨ν΄
- νλ‘κ·Έλ¨μ μ€κ³ μ λ°μνλ λ¬Έμ μ λ€μ κ°μ²΄ κ°μ μνΈ κ΄κ³ λ±μ μ΄μ©νμ¬ ν΄κ²°ν μ μλλ‘ κ·μ½ ννλ‘ μ ν΄λ κ²
(λΌμ΄λΈλ¬λ¦¬, νλ μμν¬ λ±μ λ§λ€ λ μ΄λ»κ² λͺ¨λνν μ§ λ±)
- ex) μ€νλ§, 리μ‘νΈ, λ·° λ±λ λμμΈ ν¨ν΄μ κ·Όκ±°νμ¬ λ§λ€μ΄μ‘λ€.
λΌμ΄λΈλ¬λ¦¬ vs νλ μμν¬
λΌμ΄λΈλ¬λ¦¬ | νλ μμν¬ |
곡ν΅μ μ¬μ©λ μ μλ νΉμ κΈ°λ₯λ€μ λͺ¨λν | |
ν΄λλͺ , νμΌλͺ λ±μ λν κ·μΉ X(λΉκ΅μ μμ λ‘λ€.) | ν΄λλͺ , νμΌλͺ λ±μ λν κ·μΉ O(λΉκ΅μ μ격νλ€.) |
λ΄κ° λꡬλ₯Ό μ§μ 컨νΈλ‘€νμ¬ μ¬μ© ex) κ°μ |
λꡬλ₯Ό μ΄μ©νκΈ΄ νμ§λ§ μ§μ μ μΈ μ»¨νΈλ‘€μ λͺ»ν¨ ex) μ κΈ°ν± |
μ±κΈν€ ν¨ν΄
- νλμ ν΄λμ€μ μ€μ§ νλμ μΈμ€ν΄μ€λ§ κ°μ§λ ν¨ν΄
- λ°μ΄ν°λ² μ΄μ€ μ°κ²° λͺ¨λ(I/O λ°μ΄λ)μ μμ£Ό μ¬μ©λλ€.
-> λλΉμ λν μΈμ€ν΄μ€λ₯Ό νλ λ§λ€μ΄μ μ°κ²°ν΄λκ³ κ·Έ μΈμ€ν΄μ€μ μ¬λ¬ λͺ¨λμ μ°κ²°ν΄μ 쿼리λ₯Ό λ 리λ μ
μ₯μ | λ¨μ |
νλμ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ° λλ¬Έμ λΉμ©μ΄ μ€μ΄λ λ€. -> νλμ μΈμ€ν΄μ€λ₯Ό λ§λ€κ³ λ€λ₯Έ λͺ¨λλ€μ΄ 곡μ νλ©° μ¬μ©νκΈ° λλ¬Έ |
νλμ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ° λλ¬Έμ μμ‘΄μ±μ΄ λμμ§λ€. |
TDD(Test Driven Development) -> λ¨μ ν μ€νΈλ₯Ό μ£Όλ‘ νλλ°, λ¨μ ν μ€νΈμ κ²½μ° μλ‘κ° λ 립μ μ΄μ΄μΌ νκ³ ν μ€νΈλ₯Ό μ΄λ€ μμλ‘λ μ€νν μ μμ΄μΌνλ€. νμ§λ§ μ±κΈν€ ν¨ν΄μ νλμ μΈμ€ν΄μ€λ₯Ό κΈ°λ°μΌλ‘ ꡬννλ ν¨ν΄μ΄λ―λ‘ ν μ€νΈλ§λ€μ λ 립μ μΈ μΈμ€ν΄μ€λ₯Ό λ§λ€κΈ° μ΄λ ΅λ€. |
I/O λ°μ΄λκ΄λ ¨ μ 리
CPU(Central Processing Unit)
- νλ‘μΈμ€μ λͺ λ Ήμ΄λ₯Ό ν΄μνκ³ μ€ννλ μ₯μΉ
I/O(Input/Output)
- νμΌμ μ½κ³ μ°κ±°λ λ€νΈμν¬μ μ΄λκ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κ², μ μΆλ ₯ μ₯μΉμ λ°μ΄ν°λ₯Ό μ£Όκ±°λ λ°λ κ²
Burst
- μ΄λ€ νμμ΄ μ§§μ μκ° μμ μ§μ€μ μΌλ‘ μΌμ΄λλ μΌ
CPU λ²μ€νΈ
- νλ‘μΈμ€κ° CPUμμ νλ²μ μ°μμ μΌλ‘ μ€νλλ μκ°
I/O λ²μ€νΈ
- νλ‘μΈμ€κ° I/O μμ μ μμ²νκ³ κ²°κ³Όλ₯Ό κΈ°λ€λ¦¬λ μκ°
→ νλ‘μΈμ€μ μΈμμ CPU λ²μ€νΈμ IO λ²μ€νΈμ μ°μ
CPU bound νλ‘μΈμ€
- CPU λ²μ€νΈκ° λ§μ νλ‘μΈμ€(IO λ²μ€νΈλ μ‘°κΈ)
- ex) λμμ νΈμ§ νλ‘κ·Έλ¨(μμ μΈμ½λ©), λ¨Έμ λ¬λ νλ‘κ·Έλ¨
IO λ°μ΄λ νλ‘μΈμ€
- IO λ²μ€νΈκ° λ§μ νλ‘μΈμ€
- ex) (μΌλ°μ μΈ) λ°±μλ API μλ²