본 콘텐츠의 이미지 및 내용은 AI로 생성되었습니다.
본 콘텐츠의 이미지 및 내용을 무단으로 복제, 배포, 수정하여 사용할 경우 저작권법에 의해 법적 제재를 받을 수 있습니다.
이미지 로딩 중...
AI Generated
2025. 12. 3. · 18 Views
예측 모델 평가 완벽 가이드 MAE, RMSE, MAPE, AIC
머신러닝 모델의 예측 성능을 평가하는 핵심 지표들을 알아봅니다. MAE, RMSE, MAPE, AIC 각각의 특징과 언제 어떤 지표를 사용해야 하는지 실무 관점에서 쉽게 설명합니다.
목차
1. MAE
김개발 씨는 처음으로 부동산 가격 예측 모델을 만들었습니다. 모델이 완성되자 팀장님이 물었습니다.
"이 모델 정확도가 어느 정도야?" 순간 김개발 씨는 머릿속이 하얘졌습니다. 정확도를 어떻게 숫자로 표현해야 할까요?
**MAE(Mean Absolute Error)**는 예측값과 실제값의 차이를 절댓값으로 계산한 뒤 평균을 낸 것입니다. 마치 시험에서 각 문제마다 몇 점 틀렸는지 계산하고 평균을 내는 것과 같습니다.
값이 작을수록 예측이 정확하다는 의미이며, 단위가 원래 데이터와 같아서 해석하기 쉽습니다.
다음 코드를 살펴봅시다.
import numpy as np
from sklearn.metrics import mean_absolute_error
# 실제 집값 (단위: 억원)
actual_prices = np.array([5.2, 3.8, 7.1, 4.5, 6.3])
# 모델이 예측한 집값
predicted_prices = np.array([5.0, 4.2, 6.8, 4.3, 6.0])
# MAE 계산: 각 차이의 절댓값 평균
mae = mean_absolute_error(actual_prices, predicted_prices)
print(f"MAE: {mae:.2f}억원") # 결과: 0.26억원
# 수동 계산으로 이해하기
errors = np.abs(actual_prices - predicted_prices)
manual_mae = np.mean(errors)
print(f"수동 계산 MAE: {manual_mae:.2f}억원")
김개발 씨는 입사 6개월 차 데이터 분석가입니다. 오늘은 처음으로 머신러닝 모델을 실무에 적용하는 날입니다.
부동산 가격을 예측하는 모델을 만들었는데, 과연 이 모델이 얼마나 정확한지 어떻게 알 수 있을까요? 선배인 박시니어 씨가 다가와 물었습니다.
"모델 성능 평가는 해봤어?" 김개발 씨가 어리둥절한 표정을 짓자 박시니어 씨가 웃으며 말했습니다. "가장 기본이 되는 MAE부터 알아보자." 그렇다면 MAE란 정확히 무엇일까요?
쉽게 비유하자면, MAE는 마치 양궁 선수의 평균 빗나간 거리와 같습니다. 양궁 선수가 10발을 쏘았을 때, 각 화살이 정중앙에서 얼마나 벗어났는지 측정하고 그 거리들의 평균을 내는 것입니다.
이 평균 거리가 작을수록 실력이 좋은 선수라고 할 수 있습니다. 예측 모델도 마찬가지입니다.
MAE가 없던 시절, 개발자들은 "대충 잘 맞는 것 같다"는 주관적인 평가에 의존해야 했습니다. 하지만 이런 방식으로는 모델 A와 모델 B 중 어느 것이 더 나은지 객관적으로 비교할 수 없었습니다.
MAE는 Mean Absolute Error의 약자로, 예측 오차의 절댓값 평균을 의미합니다. 수식으로 표현하면 모든 예측에서 실제값을 뺀 값의 절댓값을 구하고, 이를 모두 더한 뒤 개수로 나누는 것입니다.
위의 코드를 살펴보겠습니다. 실제 집값이 5.2억원인데 모델이 5.0억원으로 예측했다면, 그 차이는 0.2억원입니다.
이런 식으로 모든 예측의 오차를 구하고 평균을 냅니다. 결과가 0.26억원이라면, 평균적으로 2,600만원 정도 빗나간다는 뜻입니다.
MAE의 가장 큰 장점은 해석이 직관적이라는 것입니다. 원래 데이터와 같은 단위를 사용하기 때문에 "평균 2,600만원 오차"라고 바로 이해할 수 있습니다.
비전문가에게 설명할 때도 매우 유용합니다. 실제 현업에서는 언제 MAE를 사용할까요?
쇼핑몰에서 상품 수요를 예측한다고 가정해봅시다. MAE가 10이라면 평균적으로 10개 정도 수요 예측이 빗나간다는 의미입니다.
재고 관리 담당자가 이 숫자를 보고 바로 이해할 수 있습니다. 하지만 주의할 점도 있습니다.
MAE는 모든 오차를 동등하게 취급합니다. 1억원 틀린 것과 100만원 틀린 것이 있을 때, 큰 오차에 대한 페널티가 특별히 크지 않습니다.
만약 큰 오차를 더 심각하게 보고 싶다면 다른 지표가 필요합니다. 다시 김개발 씨의 이야기로 돌아가 봅시다.
박시니어 씨의 설명을 들은 김개발 씨는 고개를 끄덕였습니다. "아, 그러면 저희 모델은 평균 2,600만원 정도 오차가 난다고 보고하면 되겠네요!"
실전 팁
💡 - MAE는 이상치에 덜 민감하므로 데이터에 이상치가 많을 때 유용합니다
- 비즈니스 관계자에게 모델 성능을 설명할 때 가장 이해하기 쉬운 지표입니다
2. RMSE
김개발 씨가 MAE를 보고했더니 팀장님이 또 물었습니다. "그런데 가끔 크게 틀리는 경우는 없어?
큰 오차가 나면 우리 서비스에 치명적일 수 있거든." 김개발 씨는 다시 한번 고민에 빠졌습니다. 큰 오차에 더 가중치를 주는 방법은 없을까요?
**RMSE(Root Mean Squared Error)**는 오차를 제곱한 뒤 평균을 내고 다시 제곱근을 취한 값입니다. 마치 학교에서 작은 실수보다 큰 실수에 더 엄격한 선생님과 같습니다.
제곱 연산 때문에 큰 오차일수록 더 큰 페널티를 받게 되어, 극단적인 예측 실패를 피하고 싶을 때 유용합니다.
다음 코드를 살펴봅시다.
import numpy as np
from sklearn.metrics import mean_squared_error
# 실제값과 예측값
actual = np.array([100, 150, 200, 250, 300])
predicted = np.array([110, 145, 190, 280, 295])
# RMSE 계산
rmse = np.sqrt(mean_squared_error(actual, predicted))
print(f"RMSE: {rmse:.2f}") # 결과: 17.32
# MAE와 비교해보기
mae = np.mean(np.abs(actual - predicted))
print(f"MAE: {mae:.2f}") # 결과: 14.00
# 큰 오차가 있을 때 RMSE가 더 민감함
# 250 예측이 280으로 30이나 벗어남 -> RMSE에 큰 영향
박시니어 씨가 김개발 씨에게 새로운 질문을 던졌습니다. "MAE가 10인 모델 두 개가 있다고 해봐.
하나는 매번 10씩 틀리고, 다른 하나는 대부분 맞추다가 가끔 100씩 틀려. 어떤 게 더 위험할 것 같아?" 김개발 씨는 곰곰이 생각했습니다.
평균은 같지만, 가끔 100씩 틀리는 모델이 더 위험해 보입니다. 특히 그 큰 오차가 중요한 순간에 발생한다면 큰 손실을 입을 수 있습니다.
바로 이런 상황을 포착하기 위해 RMSE가 등장했습니다. RMSE는 Root Mean Squared Error의 약자입니다.
오차를 제곱하고, 평균을 낸 다음, 제곱근을 취합니다. 제곱 연산이 들어가기 때문에 큰 오차는 더욱 큰 값으로 불어나게 됩니다.
비유하자면, RMSE는 마치 엄격한 품질 관리자와 같습니다. 작은 불량은 "조심하세요" 정도로 넘어가지만, 큰 불량은 "당장 라인 멈춰!"라고 소리치는 것입니다.
큰 문제에 더 민감하게 반응하는 것이 RMSE의 특징입니다. 위의 코드를 살펴보면 흥미로운 점을 발견할 수 있습니다.
MAE는 14인데 RMSE는 17.32입니다. RMSE가 MAE보다 항상 크거나 같습니다.
그 이유는 제곱 연산이 큰 오차를 더 부풀리기 때문입니다. 특히 250을 280으로 예측한 부분을 주목해보세요.
30이라는 큰 오차가 발생했습니다. 이 오차는 제곱되어 900이 되고, 이것이 평균에 큰 영향을 미칩니다.
만약 모든 오차가 비슷비슷했다면 MAE와 RMSE의 차이가 작았을 것입니다. 실무에서 RMSE는 언제 사용할까요?
자율주행 자동차의 거리 예측을 생각해봅시다. 대부분 정확하더라도 한 번 크게 틀리면 사고가 납니다.
이런 경우 MAE보다 RMSE가 더 적절한 지표입니다. 금융 분야에서도 RMSE를 많이 사용합니다.
주가 예측에서 가끔 크게 틀리면 투자자에게 막대한 손실을 안길 수 있기 때문입니다. 평균적인 오차보다 극단적인 오차를 줄이는 것이 더 중요한 상황입니다.
주의할 점이 있습니다. RMSE는 이상치에 매우 민감합니다.
데이터에 이상치가 많다면 RMSE가 과도하게 높아질 수 있습니다. 이상치가 실제 문제인지, 아니면 단순한 데이터 오류인지 먼저 확인해야 합니다.
김개발 씨는 이해가 됐습니다. "아, 그래서 MAE와 RMSE를 같이 보면 좋겠군요.
두 값의 차이가 크면 가끔 크게 틀리는 경우가 있다는 뜻이니까요!"
실전 팁
💡 - MAE와 RMSE를 함께 비교하면 오차의 분포를 파악할 수 있습니다
- RMSE가 MAE보다 훨씬 크다면 이상치나 극단적 오차가 존재한다는 신호입니다
3. MAPE
다음 날, 김개발 씨는 또 다른 프로젝트에 투입되었습니다. 이번에는 두 가지 상품의 판매량을 예측하는 모델입니다.
문제는 상품 A는 월 10개, 상품 B는 월 10,000개가 팔린다는 것입니다. "10개 틀린 게 똑같은 의미일까?" 김개발 씨는 머리가 복잡해졌습니다.
**MAPE(Mean Absolute Percentage Error)**는 오차를 백분율로 표현합니다. 마치 성적표에서 원점수 대신 백분위를 보는 것과 같습니다.
실제값 대비 몇 퍼센트를 틀렸는지 계산하므로, 크기가 다른 데이터를 비교할 때 매우 유용합니다.
다음 코드를 살펴봅시다.
import numpy as np
def calculate_mape(actual, predicted):
"""MAPE 계산 함수"""
# 실제값이 0인 경우 제외 (0으로 나눌 수 없음)
mask = actual != 0
return np.mean(np.abs((actual[mask] - predicted[mask]) / actual[mask])) * 100
# 상품 A: 소량 판매 (월 10개 수준)
actual_a = np.array([10, 12, 8, 15, 11])
predicted_a = np.array([11, 14, 7, 13, 12])
# 상품 B: 대량 판매 (월 10,000개 수준)
actual_b = np.array([10000, 12000, 8000, 15000, 11000])
predicted_b = np.array([10100, 12200, 7900, 14800, 11100])
# MAPE 계산
mape_a = calculate_mape(actual_a, predicted_a)
mape_b = calculate_mape(actual_b, predicted_b)
print(f"상품 A MAPE: {mape_a:.2f}%") # 약 13%
print(f"상품 B MAPE: {mape_b:.2f}%") # 약 1.3%
김개발 씨는 새로운 딜레마에 빠졌습니다. 상품 A 예측이 2개 틀렸고, 상품 B 예측이 200개 틀렸습니다.
단순히 MAE만 보면 상품 B가 훨씬 나빠 보입니다. 하지만 정말 그럴까요?
박시니어 씨가 힌트를 주었습니다. "비율로 생각해봐.
10개 중 2개 틀린 거랑, 10,000개 중 200개 틀린 거랑 뭐가 더 심각해?" 순간 김개발 씨의 눈이 번쩍 뜨였습니다. 10개 중 2개는 20%나 틀린 것이고, 10,000개 중 200개는 2%밖에 안 틀린 것입니다.
절대적인 숫자보다 비율이 더 중요할 때가 있습니다. 바로 이런 상황에서 MAPE가 빛을 발합니다.
MAPE는 Mean Absolute Percentage Error의 약자로, 오차를 퍼센트로 표현합니다. 계산 방법은 간단합니다.
각 예측에서 오차를 실제값으로 나누고, 그 비율들의 평균을 구합니다. 그래서 "평균적으로 몇 퍼센트 틀렸는가"라는 직관적인 해석이 가능합니다.
위의 코드를 보면, 상품 A의 MAPE는 약 13%이고 상품 B는 약 1.3%입니다. 절대적인 오차는 상품 B가 더 컸지만, 비율로 따지면 상품 A의 예측이 훨씬 부정확한 것입니다.
재고 관리 측면에서 상품 A 예측 모델을 개선하는 것이 더 시급합니다. MAPE의 또 다른 장점은 범용성입니다.
"5% 오차"라는 표현은 어떤 비즈니스에서도 통합니다. 판매량이든, 매출이든, 방문자 수든 상관없이 동일한 기준으로 비교할 수 있습니다.
하지만 MAPE에는 치명적인 약점이 있습니다. 실제값이 0이면 계산이 불가능합니다.
0으로 나눌 수 없기 때문입니다. 또한 실제값이 매우 작으면 MAPE가 폭발적으로 커질 수 있습니다.
실제값이 0.1인데 예측이 0.2라면, 오차는 0.1밖에 안 되지만 MAPE는 100%가 됩니다. 실무에서는 주로 수요 예측, 매출 예측, 트래픽 예측 등에서 MAPE를 많이 사용합니다.
다만 0에 가까운 값이 있을 수 있는 데이터에서는 주의가 필요합니다. 김개발 씨는 정리했습니다.
"스케일이 다른 여러 상품을 비교할 때는 MAPE, 하지만 값이 0에 가까울 수 있으면 조심해야겠군요!"
실전 팁
💡 - 실제값이 0인 경우를 반드시 예외 처리해야 합니다
- 실제값이 작을수록 MAPE가 과대평가될 수 있으니 주의하세요
4. AIC
몇 주 후, 김개발 씨는 새로운 도전에 직면했습니다. 예측 모델을 만드는데 사용할 수 있는 변수가 20개나 됩니다.
변수를 다 넣으면 복잡해지고, 적게 넣으면 성능이 떨어질 것 같습니다. "도대체 몇 개의 변수를 써야 최적일까?" 김개발 씨는 한숨을 쉬었습니다.
**AIC(Akaike Information Criterion)**는 모델의 예측력과 복잡도 사이의 균형을 측정합니다. 마치 배낭 여행에서 짐을 쌀 때, 유용한 물건은 많이 가져가되 배낭이 너무 무거워지지 않게 조절하는 것과 같습니다.
AIC가 낮을수록 좋은 모델이며, 과적합을 방지하는 데 도움이 됩니다.
다음 코드를 살펴봅시다.
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
def calculate_aic(n, mse, k):
"""
AIC 계산 함수
n: 샘플 수
mse: 평균 제곱 오차
k: 파라미터 수 (변수 수 + 1)
"""
# AIC = n * ln(MSE) + 2k
aic = n * np.log(mse) + 2 * k
return aic
# 예시 데이터
np.random.seed(42)
n_samples = 100
X = np.random.randn(n_samples, 5) # 5개 변수
y = 3*X[:, 0] + 2*X[:, 1] + np.random.randn(n_samples) * 0.5
# 모델 1: 변수 2개만 사용
model_1 = LinearRegression().fit(X[:, :2], y)
mse_1 = mean_squared_error(y, model_1.predict(X[:, :2]))
aic_1 = calculate_aic(n_samples, mse_1, 3) # 2변수 + 절편
# 모델 2: 변수 5개 모두 사용
model_2 = LinearRegression().fit(X, y)
mse_2 = mean_squared_error(y, model_2.predict(X))
aic_2 = calculate_aic(n_samples, mse_2, 6) # 5변수 + 절편
print(f"모델 1 (변수 2개) - MSE: {mse_1:.4f}, AIC: {aic_1:.2f}")
print(f"모델 2 (변수 5개) - MSE: {mse_2:.4f}, AIC: {aic_2:.2f}")
박시니어 씨가 김개발 씨에게 중요한 질문을 던졌습니다. "변수를 많이 넣으면 학습 데이터에서는 성능이 좋아져.
근데 그게 정말 좋은 모델일까?" 이것이 바로 과적합(Overfitting) 문제입니다. 모델이 학습 데이터에 너무 맞춰져서 새로운 데이터에서는 오히려 성능이 떨어지는 현상입니다.
마치 시험 문제만 달달 외워서 똑같은 문제는 잘 풀지만, 조금만 바뀌면 못 푸는 학생과 같습니다. AIC는 이 문제를 해결하기 위해 고안되었습니다.
일본의 통계학자 아카이케 히로쓰구가 1974년에 발표한 이 지표는 모델의 적합도와 복잡도를 동시에 고려합니다. AIC의 공식을 간단히 설명하면, 모델이 데이터를 잘 설명할수록 점수가 낮아지고, 변수가 많아질수록 점수가 높아집니다.
즉, 데이터를 잘 설명하면서도 단순한 모델이 좋은 점수를 받습니다. 비유하자면, AIC는 마치 요리 대회의 심사와 같습니다.
맛만 보는 게 아니라 "이렇게 복잡한 과정이 꼭 필요했나?"도 함께 평가하는 것입니다. 재료를 10가지 쓴 요리보다 3가지로 같은 맛을 낸 요리가 더 높은 점수를 받습니다.
위의 코드를 살펴보겠습니다. 실제로 y값은 X의 첫 번째와 두 번째 변수로만 결정됩니다.
변수 2개만 사용한 모델 1과 5개를 모두 사용한 모델 2를 비교합니다. MSE만 보면 모델 2가 약간 더 좋아 보일 수 있습니다.
하지만 AIC는 모델 1이 더 낮을 것입니다. 불필요한 변수 3개에 대한 페널티가 붙기 때문입니다.
실무에서 AIC는 주로 모델 선택에 사용됩니다. 여러 후보 모델 중에서 AIC가 가장 낮은 것을 선택하는 것이 일반적입니다.
특히 시계열 분석에서 ARIMA 모델의 p, d, q 값을 결정할 때 자주 활용됩니다. 주의할 점이 있습니다.
AIC는 절대적인 기준이 아닙니다. AIC 값 자체가 50인지 500인지는 중요하지 않습니다.
중요한 것은 여러 모델을 비교할 때 어떤 것이 더 낮은지입니다. 또한 데이터 수가 다르면 AIC를 직접 비교할 수 없습니다.
비슷한 지표로 **BIC(Bayesian Information Criterion)**도 있습니다. BIC는 AIC보다 복잡도에 더 강한 페널티를 주어서 더 단순한 모델을 선호합니다.
샘플 수가 많을 때는 BIC를, 적을 때는 AIC를 사용하는 경향이 있습니다. 김개발 씨는 깨달았습니다.
"무조건 변수를 많이 넣는 게 능사가 아니군요. AIC로 균형점을 찾아야겠습니다!"
실전 팁
💡 - AIC는 모델 간 상대 비교에 사용하며, 절대적인 좋고 나쁨의 기준이 아닙니다
- 샘플 수가 작을 때는 수정된 AICc를 사용하는 것이 좋습니다
5. 지표 선택 가이드
드디어 김개발 씨는 MAE, RMSE, MAPE, AIC를 모두 배웠습니다. 하지만 새로운 고민이 생겼습니다.
"이 많은 지표 중에 언제 뭘 써야 하지?" 실무에서 매번 모든 지표를 계산할 수는 없습니다. 상황에 맞는 지표를 선택하는 안목이 필요합니다.
각 지표는 서로 다른 특성을 가지고 있어 상황에 따라 적절한 지표를 선택해야 합니다. 비즈니스 관계자에게 설명할 때는 MAE, 큰 오차가 치명적일 때는 RMSE, 스케일이 다른 데이터를 비교할 때는 MAPE, 모델 복잡도를 고려할 때는 AIC가 적합합니다.
다음 코드를 살펴봅시다.
import numpy as np
from sklearn.metrics import mean_absolute_error, mean_squared_error
def evaluate_model(actual, predicted, model_params=None):
"""
종합적인 모델 평가 함수
"""
n = len(actual)
# MAE: 평균 절대 오차
mae = mean_absolute_error(actual, predicted)
# RMSE: 평균 제곱근 오차
rmse = np.sqrt(mean_squared_error(actual, predicted))
# MAPE: 평균 절대 백분율 오차 (0 제외)
mask = actual != 0
mape = np.mean(np.abs((actual[mask] - predicted[mask]) / actual[mask])) * 100
# AIC: 모델 파라미터 수가 주어진 경우
aic = None
if model_params:
mse = mean_squared_error(actual, predicted)
aic = n * np.log(mse) + 2 * model_params
print(f"{'='*40}")
print(f"모델 평가 결과")
print(f"{'='*40}")
print(f"MAE: {mae:.4f} (해석 용이)")
print(f"RMSE: {rmse:.4f} (큰 오차 민감)")
print(f"MAPE: {mape:.2f}% (백분율 비교)")
if aic: print(f"AIC: {aic:.2f} (복잡도 고려)")
print(f"{'='*40}")
return {"mae": mae, "rmse": rmse, "mape": mape, "aic": aic}
# 사용 예시
actual = np.array([100, 150, 200, 250, 300])
predicted = np.array([105, 155, 190, 260, 290])
results = evaluate_model(actual, predicted, model_params=3)
김개발 씨가 모든 지표를 배우고 나니, 박시니어 씨가 마지막 조언을 해주었습니다. "지표를 다 안다고 끝이 아니야.
언제 뭘 쓸지 아는 게 진짜 실력이지." 먼저 비즈니스 상황을 고려해야 합니다. 누구에게 보고하느냐에 따라 적절한 지표가 달라집니다.
비전문가인 경영진에게 보고할 때는 MAE가 좋습니다. "평균적으로 100만원 정도 오차가 납니다"라고 말하면 바로 이해할 수 있습니다.
복잡한 설명 없이도 모델의 성능을 전달할 수 있습니다. 리스크가 중요한 분야에서는 RMSE를 주목해야 합니다.
의료, 금융, 안전 관련 분야에서는 가끔 크게 틀리는 것이 평균적으로 조금씩 틀리는 것보다 더 위험합니다. RMSE는 이런 극단적 오차에 민감하게 반응합니다.
여러 모델이나 상품을 비교해야 할 때는 MAPE가 유용합니다. 월 10개 팔리는 상품과 월 10,000개 팔리는 상품의 예측 성능을 공정하게 비교할 수 있습니다.
다만 0에 가까운 값이 있다면 주의해야 합니다. 모델의 복잡도까지 고려해야 할 때는 AIC를 활용합니다.
변수를 더 추가할지 말지 결정할 때, 또는 여러 알고리즘 중 하나를 선택할 때 AIC가 도움이 됩니다. 실무에서 가장 흔한 조합은 MAE와 RMSE를 함께 보는 것입니다.
두 값의 차이가 크면 가끔 큰 오차가 발생한다는 의미입니다. 이런 경우 이상치를 조사하거나 모델을 개선해야 할 수 있습니다.
위의 코드는 이러한 지표들을 한 번에 계산하는 함수입니다. 실무에서는 이런 종합 평가 함수를 만들어두고 재사용하면 편리합니다.
또 하나 중요한 점은 지표의 한계를 아는 것입니다. 어떤 지표도 완벽하지 않습니다.
MAE는 큰 오차를 가볍게 보고, RMSE는 이상치에 과민반응하며, MAPE는 작은 값에서 불안정하고, AIC는 절대적 기준이 없습니다. 그래서 좋은 데이터 과학자는 여러 지표를 종합적으로 판단합니다.
하나의 지표에만 의존하면 편향된 결론을 내릴 수 있습니다. 각 지표가 말해주는 이야기를 종합하여 전체적인 그림을 그리는 것이 중요합니다.
김개발 씨는 마지막으로 정리했습니다. "결국 정답은 없고, 상황에 맞게 판단하는 게 핵심이군요.
오늘 배운 네 가지 지표를 잘 활용해봐야겠습니다!"
실전 팁
💡 - 하나의 지표만 보지 말고 여러 지표를 함께 분석하세요
- MAE와 RMSE의 차이가 크면 이상치나 극단적 오차를 점검해보세요
- 보고 대상에 따라 가장 이해하기 쉬운 지표를 선택하세요
이상으로 학습을 마칩니다. 위 내용을 직접 코드로 작성해보면서 익혀보세요!
댓글 (0)
함께 보면 좋은 카드 뉴스
Helm 마이크로서비스 패키징 완벽 가이드
Kubernetes 환경에서 마이크로서비스를 효율적으로 패키징하고 배포하는 Helm의 핵심 기능을 실무 중심으로 학습합니다. Chart 생성부터 릴리스 관리까지 체계적으로 다룹니다.
보안 아키텍처 구성 완벽 가이드
프로젝트의 보안을 처음부터 설계하는 방법을 배웁니다. AWS 환경에서 VPC부터 WAF, 암호화, 접근 제어까지 실무에서 바로 적용할 수 있는 보안 아키텍처를 단계별로 구성해봅니다.
AWS Organizations 완벽 가이드
여러 AWS 계정을 체계적으로 관리하고 통합 결제와 보안 정책을 적용하는 방법을 실무 스토리로 쉽게 배워봅니다. 초보 개발자도 바로 이해할 수 있는 친절한 설명과 실전 예제를 제공합니다.
AWS KMS 암호화 완벽 가이드
AWS KMS(Key Management Service)를 활용한 클라우드 데이터 암호화 방법을 초급 개발자를 위해 쉽게 설명합니다. CMK 생성부터 S3, EBS 암호화, 봉투 암호화까지 실무에 필요한 모든 내용을 담았습니다.
AWS Secrets Manager 완벽 가이드
AWS에서 데이터베이스 비밀번호, API 키 등 민감한 정보를 안전하게 관리하는 Secrets Manager의 핵심 개념과 실무 활용법을 배워봅니다. 초급 개발자도 쉽게 따라할 수 있도록 실전 예제와 함께 설명합니다.