HomeΒ Β» Incremental Update

Incremental Update

incrementalupdate 파일의 μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•œ μƒν™©μ—μ„œ, λ³€κ²½λœ μ‚¬ν•­λ§Œμ΄ λ‹΄κΈ΄ νŒ¨μΉ˜νŒŒμΌμ„ λ‹€μš΄λ°›μ•„, λ‘œμ»¬μ—μ„œ 직접 νŒ¨μΉ˜ν•˜λŠ” 방법

κ°œμš”

2021λ…„, IT λ°±μ‹ νšŒμ‚¬μ—μ„œ μ‚°μ—… κΈ°λŠ₯ μš”μ›μœΌλ‘œμ„œ μΌν•˜λ˜ λ‹Ήμ‹œ 증뢄 μ—…λ°μ΄νŠΈλΌλŠ” ν”„λ‘œμ νŠΈλ₯Ό 혼자 λ§‘μ•˜μ—ˆλ‹€.

νšŒμ‚¬μ—μ„œλŠ” AWS S3λ‘œλΆ€ν„° μ–΄λ–€ 1MB νŒŒμΌμ„ κ³ κ°λ“€μ—κ²Œ 맀번 μ œκ³΅ν•˜κ³  μžˆμ—ˆλŠ”λ°,

이 νŒŒμΌμ€ κ³ κ°λ“€μ—κ²Œ 맀우 μ€‘μš”ν•œ 파일둜, λ‚΄μš©μ΄ λ³€κ²½λ˜λŠ” μ¦‰μ‹œ 고객듀은 λ‹€μ‹œ λ‹€μš΄ λ°›μ•„μ•Ό ν–ˆλ‹€.

λ‹Ήμ‹œ μ‹ μž…μ‚¬μ›μœΌλ‘œμ„œ λ‹€μ†Œ μœ„μΆ•λ˜μ–΄μžˆλ˜ λ‚˜μ—κ²Œ μ—„μ²­λ‚œ μ„±μž₯κ³Ό μžμ‹ κ°μ„ 심어쀀 ν”„λ‘œμ νŠΈμ΄κΈ°λ„ ν•˜λ‹€.

κ΅¬ν˜„ 방식

이 1mb 파일의 λ‚΄μš© 변경은 λ‹€λ₯Έ λΆ€μ„œμ—μ„œ μ΄λ£¨μ–΄μ‘Œλ‹€.

λ”°λΌμ„œ κΈ°μ‘΄ 일 처리 방식을 μ΅œλŒ€ν•œ μœ μ§€ν•˜λŠ” λ°©ν–₯으둜 κΈ°λŠ₯을 κ²€ν† ν–ˆλ‹€.

  1. λ‹€λ₯Έ λΆ€μ„œμ—μ„œ 1mbνŒŒμΌμ„ λ³€κ²½ν•˜κ³  μ—…λ‘œλ“œ μ‹œ, μžλ™ν™” triggerκ°€ μž‘λ™λ˜μ–΄ 직전 μ—…λ‘œλ“œ 파일과 ν˜„ 파일의 diff둜 νŒ¨μΉ˜νŒŒμΌμ„ λ§Œλ“€λ„λ‘ ν–ˆλ‹€.

  2. 그리고 이 패치 νŒŒμΌμ„ μ„œλ²„μ— μžλ™μœΌλ‘œ λ°°ν¬ν•˜κ³  ν΄λΌμ΄μ–ΈνŠΈκ°€ μ—…λ°μ΄νŠΈ μ‹œ ν•΄λ‹Ή νŒŒμΌμ„ μ΄μš©ν•˜λ„λ‘ ν•˜μ˜€λ‹€.

  3. ν΄λΌμ΄μ–ΈνŠΈμ—μ„œλŠ” λ‹€μš΄λ°›μ€ ν•΄λ‹Ή νŒ¨μΉ˜νŒŒμΌμ„ ν˜„ 1mbνŒŒμΌμ— μ μš©ν•  수 μžˆλ„λ‘ ν•˜κ²Œ λ§Œλ“€μ—ˆλ‹€.

μ‚¬μš© 기술 μŠ€νƒ

κ²°κ³Ό

결과적으둜 κΈ°μ‘΄ νŠΈλž˜ν”½μ˜ 총 60%의 λΉ„μš©μ„ μ ˆκ°ν•  수 μžˆμ—ˆλ‹€.

λ‘€λ°± 사고

μ²˜μŒμ— μ™„μ„±ν•˜κ³  λ°°ν¬ν•œ κ²°κ³Ό, κΈ°μ‘΄ νŠΈλž˜ν”½μ΄ 였히렀 3λ°° λŠ˜μ–΄λ‚˜ ν•˜λ£¨λ§Œμ— κΈ‰νžˆ λ‘€λ°±λμ—ˆλ‹€.

μ–΄λ €μ› λ˜ 점

  1. 기쑴의 μ—…λ°μ΄νŠΈ λ‘œμ§μ— μƒˆλ‘­κ²Œ μ΄μ‹ν•˜λŠ” 것이 ꡉμž₯히 μ–΄λ €μ› λ‹€.
    • λ‹΄λ‹Ήν–ˆλ˜ μ†Œν”„νŠΈμ›¨μ–΄λŠ” VS2003 ν™˜κ²½μ— μ•½ 20λ…„ 정도 된 μ†Œν”„νŠΈμ›¨μ–΄μ˜€κ³  μ—…λ°μ΄νŠΈ 둜직 뢀뢄이 κ·Έκ°„ λ¦¬νŒ©ν† λ§λ˜μ§€ μ•Šμ•˜λ‹€.
    • λ”°λΌμ„œ μ‹ μž…μ‚¬μ›μΈ λ‚΄κ°€ ν•΄λ‹Ή μ½”λ“œλ“€μ„ μ „λΆ€ λΆ„μ„ν•˜κ³  μƒˆλ‘œμš΄ κΈ°λŠ₯을 μ‚½μž…, 그리고 ν…ŒμŠ€νŠΈ ν™˜κ²½μ„ κ΅¬μ„±ν•˜λŠ” 것이 ꡉμž₯히 νž˜λ“€μ—ˆλ‹€.
  2. VS2003에 μƒˆ κΈ°λŠ₯을 κ°œλ°œν•˜λŠ” 것이 μ–΄λ €μ› λ‹€.
    • ꡉμž₯히 였래된 ide라 μ§€μ›ν•˜λŠ” κΈ°λŠ₯이 거의 아무것도 μ—†μ—ˆλ‹€.
    • κ·Έλž˜μ„œ λ¨Όμ €, κ°œλ°œν•˜κ³ μž ν•˜λŠ” κΈ°λŠ₯λ§Œμ„ VS2019 ν™˜κ²½μ—μ„œ μ •μ λΌμ΄λΈŒλŸ¬λ¦¬λ‘œ λ§Œλ“€μ—ˆλ‹€.
    • ν…ŒμŠ€νŠΈμ™€ ν•¨κ»˜ μ•ˆμ •λœ κΈ°λŠ₯을 ν™•μΈν•œ 후에 VS2003μƒμ˜ ν¬ν•¨μ‹œν‚€λŠ” μ‹μœΌλ‘œ μž‘μ—…μ„ μ§„ν–‰ν–ˆλ‹€.
  3. ν…ŒμŠ€νŠΈ κ΅¬ν˜„μ΄ νž˜λ“€μ—ˆλ‹€.
    • μ—­μ‹œλ‚˜ μ˜›λ‚  ideμ—μ„œ 개발된 ν”„λ‘œκ·Έλž¨μ΄μ—ˆκΈ°μ—, ν…ŒμŠ€νŠΈ μ½”λ“œ μ‚½μž…μ΄ νž˜λ“€μ—ˆλ‹€.
      • 이 λ˜ν•œ μ—­μ‹œ VS2019μ—μ„œ gtest λΌμ΄λΈŒλŸ¬λ¦¬μ™€ nginx둜 μžλ™ν™” ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν–ˆλ‹€.
    • ν•΄λ‹Ή κΈ°λŠ₯은 λ°˜λ“œμ‹œ μ„œλ²„μ˜ 상황과 ν•¨κ»˜ ν…ŒμŠ€νŠΈ λ˜μ—ˆμ–΄μ•Όν–ˆλ‹€.
    • μ„œλ²„ ν™˜κ²½ κ΅¬ν˜„μ΄ νž˜λ“€μ—ˆλ‹€. λͺ¨λ“  κ²½μš°μ—μ„œμ˜ νŒ¨μΉ˜νŒŒμΌλ“€μ„ μˆ˜λ™μœΌλ‘œ μƒμ„±ν•˜λŠ” 것 λ˜ν•œ μ–΄λ €μ› λ‹€.
    • μžλ™ν™” ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ κΈ°μ‘΄ ci/cd에 슀크립트λ₯Ό μž‘μ„±ν•΄ λ„£λŠ” 것이 μ–΄λ €μ› λ‹€.

총평