본문 바로가기
개발/게임) 개발관련

개발용어)멱등성(Idempotent)

by 테샤르 2023. 7. 10.

멱등성(Idempotent)

 

멱등성이라는 생소한 표현을 알게되어서 까먹지 않으려고 하는 포스팅이다.

 

멱등(Idempotent)성이라는것은 간단하게 표현하면 한번만 적용하고 난 이후에 다음에는 적용되지 않는 속성이나 연산을 말한다. 즉, idempotent 작업을 반복해도 초기 적용 이후에는 결과가 변경되지 않다.

 멱등성의 개념은 추상 대수학에 뿌리를 두고 있으며 이후 컴퓨터 프로그래밍, 네트워킹 프로토콜 및 데이터베이스 시스템을 비롯한 다양한  분야에서 접할수 있다.

 

반응형

 

<HTTP에서 멱등에 대한 예시>

 

사용자가 결제하는 시점에 네트워크 오류나 간혈적인 네트워크 오류, 혹은 로밍, 타임아웃으로 인해서 결과값을 받지 못하는 경우에 멱등성이 보장되어있으면 여러번 결제가 되지 않는다.

혹은 리소스를 삭제하기 위해서 여러번 전송 될 수 있는 요청을 처리하는데 적용해도 좋다.

 

<이메일주소를 업데이트하는 예시>

using System;

public class User
{
    public string Name { get; set; }
    public string Email { get; set; }
}

public class IdempotentUserUpdater
{
    public void UpdateEmail(User user, string newEmail)
    {
        if (user.Email != newEmail)
        {
            user.Email = newEmail;
            Console.WriteLine("Email updated successfully.");
        }
        else
        {
            Console.WriteLine("Email is already up to date.");
        }
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        User user = new User { Name = "John Doe", Email = "johndoe@example.com" };
        IdempotentUserUpdater userUpdater = new IdempotentUserUpdater();

        // Update user's email address
        userUpdater.UpdateEmail(user, "newemail@example.com");
        // Output: Email updated successfully.

        // Update the email address again with the same value
        userUpdater.UpdateEmail(user, "newemail@example.com");
        // Output: Email is already up to date.
    }
}

 

사진

 

★☆

 

반응형

댓글