HomeΒ Β» Incremental Update
Incremental Update
νμΌμ μ
λ°μ΄νΈκ° νμν μν©μμ, λ³κ²½λ μ¬νλ§μ΄ λ΄κΈ΄ ν¨μΉνμΌμ λ€μ΄λ°μ, λ‘컬μμ μ§μ ν¨μΉνλ λ°©λ²
κ°μ
2021λ
, IT λ°±μ νμ¬μμ μ°μ
κΈ°λ₯ μμμΌλ‘μ μΌνλ λΉμ μ¦λΆ μ
λ°μ΄νΈλΌλ νλ‘μ νΈλ₯Ό νΌμ λ§‘μμλ€.
νμ¬μμλ AWS S3λ‘λΆν° μ΄λ€ 1MB νμΌμ κ³ κ°λ€μκ² λ§€λ² μ 곡νκ³ μμλλ°,
μ΄ νμΌμ κ³ κ°λ€μκ² λ§€μ° μ€μν νμΌλ‘, λ΄μ©μ΄ λ³κ²½λλ μ¦μ κ³ κ°λ€μ λ€μ λ€μ΄ λ°μμΌ νλ€.
-
ν루μ 7λ²μ λ λ΄μ©μ΄ λΉλ²ν λ³κ²½λμμ§λ§ λ³κ²½ λ΄μ©μ κ·Ήν μ μΌλ©΄μλ
-
κΈ°μ‘΄ ν΄λΌμ΄μΈνΈλ ν΄λΉ 1mbνμΌ μ 체λ₯Ό μ λΆ λ€μ λ°μμΌ νλ€.
-
κ·Έ λλ¬Έμ ν΄λΉ νΈλν½μΌλ‘ λλ λΉμ©μ΄ κ΅μ₯ν λΉμλ€.
λΉμ μ μ
μ¬μμΌλ‘μ λ€μ μμΆλμ΄μλ λμκ² μμ²λ μ±μ₯κ³Ό μμ κ°μ μ¬μ΄μ€ νλ‘μ νΈμ΄κΈ°λ νλ€.
ꡬν λ°©μ
μ΄ 1mb νμΌμ λ΄μ© λ³κ²½μ λ€λ₯Έ λΆμμμ μ΄λ£¨μ΄μ‘λ€.
λ°λΌμ κΈ°μ‘΄ μΌ μ²λ¦¬ λ°©μμ μ΅λν μ μ§νλ λ°©ν₯μΌλ‘ κΈ°λ₯μ κ²ν νλ€.
-
λ€λ₯Έ λΆμμμ 1mbνμΌμ λ³κ²½νκ³ μ
λ‘λ μ, μλν triggerκ° μλλμ΄ μ§μ μ
λ‘λ νμΌκ³Ό ν νμΌμ diffλ‘ ν¨μΉνμΌμ λ§λ€λλ‘ νλ€.
-
κ·Έλ¦¬κ³ μ΄ ν¨μΉ νμΌμ μλ²μ μλμΌλ‘ λ°°ν¬νκ³ ν΄λΌμ΄μΈνΈκ° μ
λ°μ΄νΈ μ ν΄λΉ νμΌμ μ΄μ©νλλ‘ νμλ€.
-
ν΄λΌμ΄μΈνΈμμλ λ€μ΄λ°μ ν΄λΉ ν¨μΉνμΌμ ν 1mbνμΌμ μ μ©ν μ μλλ‘ νκ² λ§λ€μλ€.
μ¬μ© κΈ°μ μ€ν
- c++ μ μ λΌμ΄λΈλ¬λ¦¬
- λ°±μ νλ‘κ·Έλ¨μ΄ c++ μ΄μκΈ°μ, μ μ λΌμ΄λΈλ¬λ¦¬λ‘ λ§λ€μ΄ μ½μ
νμλ€.
- bsdiff μ€νμμ€ λΌμ΄λΈλ¬λ¦¬
- cλΌμ΄λΈλ¬λ¦¬μ΄κΈ°μ c++μ νΈμΆκ°λ₯νλλ‘ λ§λ€μλ€.
- ν¨μΉνμΌ μμ±μλ bsdiff, ν¨μΉνμΌ μ μ©μλ bspatchλ₯Ό μ¬μ©νμλ€.
- gtest
- μ μ λΌμ΄λΈλ¬λ¦¬ testλ₯Ό μν΄ μ¬μ©νμλ€. ci/cd μλν ν
μ€νΈμμλ μ΄μ©
- nginx
- ν
μ€νΈ λΆλΆμ μλ² μν©μ ꡬννκΈ° μν΄ λμ
- python
- ci/cd μ€ν¬λ¦½νΈλ‘ awsμ μλ ν¨μΉνμΌ μμ± λ° μ
λ‘λ κΈ°λ₯μ λ§λ€μλ€.
κ²°κ³Ό
κ²°κ³Όμ μΌλ‘ κΈ°μ‘΄ νΈλν½μ μ΄ 60%μ λΉμ©μ μ κ°ν μ μμλ€.
λ‘€λ°± μ¬κ³
μ²μμ μμ±νκ³ λ°°ν¬ν κ²°κ³Ό, κΈ°μ‘΄ νΈλν½μ΄ μ€νλ € 3λ°° λμ΄λ ν루λ§μ κΈν λ‘€λ°±λμλ€.
- κΈ°μ‘΄ μ
λ°μ΄νΈ λ‘μ§μ΄ μ΄λ€ νΉμν μν©μμ κ·Έ μ¦μ 3λ²μ΄μ μ
λ°μ΄νΈ μλνλ κ²μ΄ λ¬Έμ μλ€.
- κ·Έ λλ¬Έμ μ¦λΆ μ
λ°μ΄νΈ μ½λκ° 3λ² μ΄μ λμνλ©° λΉμ μμ μΈ νΈλν½μ΄ λ°μνλ κ².
- λ¨κΈ°κ°μ κ°λ°μ΄μκΈ° λλ¬Έμ, End-to-end ν
μ€νΈλ₯Ό μλνκ° μλ μλμΌλ‘ νλ€ λμΉ λ¬Έμ μλ€.
- κ·Έλ¦¬κ³ κΈ°μ‘΄ μ
λ°μ΄νΈ λ‘μ§μ μ’λ κΌΌκΌΌν μ΄νΌκ³ end-to-end ν
μ€νΈλ₯Ό μλνλ‘ κ΅¬μ±νλ€.
- μΆν, μμ μ±μ μ κ² ν λ€μ λ°°ν¬ν κ²°κ³Ό, μμ κ°μ΄ νΈλν½μ μ μ€μΌ μ μμλ€.
μ΄λ €μ λ μ
- κΈ°μ‘΄μ μ
λ°μ΄νΈ λ‘μ§μ μλ‘κ² μ΄μνλ κ²μ΄ κ΅μ₯ν μ΄λ €μ λ€.
- λ΄λΉνλ μννΈμ¨μ΄λ VS2003 νκ²½μ μ½ 20λ
μ λ λ μννΈμ¨μ΄μκ³ μ
λ°μ΄νΈ λ‘μ§ λΆλΆμ΄ κ·Έκ° λ¦¬ν©ν λ§λμ§ μμλ€.
- λ°λΌμ μ μ
μ¬μμΈ λ΄κ° ν΄λΉ μ½λλ€μ μ λΆ λΆμνκ³ μλ‘μ΄ κΈ°λ₯μ μ½μ
, κ·Έλ¦¬κ³ ν
μ€νΈ νκ²½μ ꡬμ±νλ κ²μ΄ κ΅μ₯ν νλ€μλ€.
- VS2003μ μ κΈ°λ₯μ κ°λ°νλ κ²μ΄ μ΄λ €μ λ€.
- κ΅μ₯ν μ€λλ ideλΌ μ§μνλ κΈ°λ₯μ΄ κ±°μ μ무κ²λ μμλ€.
- κ·Έλμ λ¨Όμ , κ°λ°νκ³ μ νλ κΈ°λ₯λ§μ VS2019 νκ²½μμ μ μ λΌμ΄λΈλ¬λ¦¬λ‘ λ§λ€μλ€.
- ν
μ€νΈμ ν¨κ» μμ λ κΈ°λ₯μ νμΈν νμ VS2003μμ ν¬ν¨μν€λ μμΌλ‘ μμ
μ μ§ννλ€.
- ν
μ€νΈ ꡬνμ΄ νλ€μλ€.
- μμλ μλ ideμμ κ°λ°λ νλ‘κ·Έλ¨μ΄μκΈ°μ, ν
μ€νΈ μ½λ μ½μ
μ΄ νλ€μλ€.
- μ΄ λν μμ VS2019μμ gtest λΌμ΄λΈλ¬λ¦¬μ nginxλ‘ μλν ν
μ€νΈλ₯Ό μ§ννλ€.
- ν΄λΉ κΈ°λ₯μ λ°λμ μλ²μ μν©κ³Ό ν¨κ» ν
μ€νΈ λμμ΄μΌνλ€.
- μλ² νκ²½ ꡬνμ΄ νλ€μλ€. λͺ¨λ κ²½μ°μμμ ν¨μΉνμΌλ€μ μλμΌλ‘ μμ±νλ κ² λν μ΄λ €μ λ€.
- μλν ν
μ€νΈλ₯Ό μν΄ κΈ°μ‘΄ ci/cdμ μ€ν¬λ¦½νΈλ₯Ό μμ±ν΄ λ£λ κ²μ΄ μ΄λ €μ λ€.
μ΄ν
- ν΄λ¦°μ½λκ° μλλλΌλ λ‘μ§ νμ
μ μ’ λ μ ν μ μλλ‘ λ
Έλ ₯ν΄μΌνλ€.
- μ’ λ μμ νλ κΈ°λ₯μ νμΈνκΈ° μν ν
μ€νΈ ꡬνμ νμ¨μΌνλ€.
- λ‘€λ°± μ¬κ³ λ₯Ό λ§κΈ° μν΄ μ΅λν λΆμ§λ°ν κ²ν ν΄μΌ νλ€.