반응형
레벨 필요 경험치 룬마스터 1일당 레벨 증가량 (100%당)
1->2 6,800,000 3.68
100->101 7,287,776 3.43
200->201 7,816,008 3.20
300->301 8,382,527 2.98
400->401 8,990,108 2.78
500->501 9,641,729 2.59
600->601 10,340,580 2.42
700->701 11,090,085 2.25
800->801 11,893,915 2.10
900-->901 12,756,009 1.96
999->1000 13,671,019 1.83
1000->1001 13,680,589 1.83
1100->1101 14,661,921 1.71
1200->1201 15,724,645 1.59
1300->1301 16,864,398 1.48
1400->1401 18,086,762 1.38
1500->1501 19,397,725 1.29
1600->1601 20,803,709 1.20
1700->1701 22,311,602 1.12
1800->1801 23,928,789 1.04
1900->1901 25,663,194 0.97
1999->2000 27,504,058 0.91

 

1에서 1000 까지 하루 100% 소모시 393.7일

1에서 1000 까지 하루 200% 소모시 196.9일

1000에서 2000 까지 하루 100% 소모시 791.6일

1000에서 2000 까지 하루 200% 소모시 395.8일

1에서 2000 까지 하루 100% 소모시 1185.3일

1에서 2000 까지 하루 200% 소모시 592.7일

반응형

1. 명령 창(Command Window) 활성화

Visual Studio에는 명령 창을 통해 다양한 명령어를 실행할 수 있습니다.

  1. 명령 창 열기:
    • 상단 메뉴에서 View(보기)Other Windows(기타 창) → **Command Window(명령 창)**를 클릭합니다.
    • 또는 Ctrl + Alt + A 단축키를 사용합니다.
  2. 명령 실행:
    • 명령 창에서 원하는 명령어를 입력합니다. 예: git blame <파일 경로>.
    • 명령 창은 Git 명령을 직접 실행하기보다 Visual Studio 명령을 다룰 수 있습니다. 터미널 기능은 별도로 사용해야 합니다.

2. 통합 터미널 활성화 (Git 명령 실행에 적합)

Visual Studio 2017부터는 통합 터미널(Integrated Terminal)이 없으므로, 외부 명령 실행을 위해 다음을 설정합니다:

  1. Package Manager Console 사용:
    • 메뉴에서 Tools(도구)NuGet Package ManagerPackage Manager Console로 이동합니다.
    • Package Manager Console에서 Git 명령어를 실행할 수는 없지만, 관련 패키지 관리 명령어를 사용할 수 있습니다.
  2. Git Bash 또는 외부 터미널 통합:
    • Tools(도구) → **External Tools(외부 도구)**를 클릭합니다.
    • **Add(추가)**를 선택하여 아래 내용을 입력합니다:
      • Title: Git Bash
      • Command: Git Bash 실행 파일 경로 (C:\Program Files\Git\bin\bash.exe 등).
      • Arguments: 필요한 경우 추가적인 명령을 설정.
      • Initial Directory: $(SolutionDir)로 설정하면 현재 솔루션 디렉터리를 기본 디렉터리로 설정합니다.
    • 저장 후, Tools(도구) 메뉴에서 추가한 Git Bash를 선택하여 명령어를 실행합니다.

3. Git 명령어 실행 결과를 Output 창에 표시

Visual Studio 내부에서 Git 명령어 결과를 Output 창에 표시하려면 다음 단계를 따릅니다:

  1. Git 설치 확인:
    • Visual Studio가 Git을 인식할 수 있도록 PC에 Git이 설치되어 있어야 합니다.
    • 설치된 Git 경로를 Visual Studio의 환경 변수에 추가합니다.
  2. Task Runner 설정:
    • Visual Studio에서 빌드 작업과 함께 Git 명령을 실행하고, 결과를 Output 창에 출력하도록 설정할 수 있습니다. 이를 위해 별도의 Task Runner를 작성하거나 확장을 설치해야 합니다.

 

> 하기와 같이 패키지 윈도우를 추가하여 git, window console 명령어를 사용할 수 있다.

반응형

프로토타입 패턴은 생성 패턴(Creational Pattern) 중 하나로, 객체를 복제(clone)하여 새로운 객체를 생성하는 데 사용됩니다.
이 패턴은 이미 존재하는 객체를 복사해서 새로운 객체를 생성하는 것이 주된 아이디어이며, 복제가 필요한 상황에서 효율적인 솔루션을 제공합니다.


언제 프로토타입 패턴을 사용하나요?

  1. 복잡한 객체의 생성 비용이 높은 경우
    • 기존 객체를 복제하는 것이 새로 생성하는 것보다 빠르고 효율적일 때.
  2. 객체의 구체적인 클래스 정보가 숨겨져야 할 때
    • 구체적인 클래스에 의존하지 않고 객체를 생성할 수 있음.
  3. 객체의 상태를 포함한 동일한 속성을 가진 복제본을 생성해야 할 때.

구성 요소

  1. Prototype(원형) 인터페이스
    • 객체 복제(clone)를 위한 인터페이스를 정의합니다.
  2. Concrete Prototype(구체적 원형)
    • Prototype 인터페이스를 구현하며, 자신을 복제하는 메서드를 제공합니다.
  3. Client(클라이언트)
    • Prototype 객체를 사용하여 복제를 요청합니다.

C++ 예제: 간단한 모양(Shape) 클래스

1. Prototype 인터페이스

  • 역할
    • Shape는 복제 가능한 모든 도형의 공통 인터페이스입니다.
    • Clone() 메서드를 통해 객체를 복제합니다.
    • Draw() 메서드는 객체의 동작을 정의합니다.

2. Concrete Prototype(구체적 원형)

Circle 클래스

 

 

Rectangle 클래스

  • 역할
    • Circle과 Rectangle은 각각 Shape 인터페이스를 구현합니다.
    • Clone() 메서드를 통해 객체를 복제할 수 있습니다.
    • 복제된 객체는 원본 객체와 동일한 속성(color)을 가집니다.

3. Client(클라이언트)


예제 설명

  1. Prototype 인터페이스 (Shape)
    • Clone() 메서드를 통해 복제 기능을 정의했습니다.
    • Draw() 메서드는 도형을 그리는 역할을 합니다.
  2. Concrete Prototype (Circle, Rectangle)
    • Clone() 메서드를 통해 객체 자신을 복제합니다.
    • 복사 생성자를 사용하여 객체의 속성(color)을 복사합니다.
  3. Client 코드
    • 클라이언트는 원본 객체(circle, rectangle)를 복제(clonedCircle, clonedRectangle)하고, 복제된 객체가 원본과 동일한 동작을 수행하는지 확인합니다.
    • 복제된 객체는 원본과 독립적이며, 새로운 메모리 공간에 생성됩니다.

프로토타입 패턴의 장점

  1. 객체 생성 비용 절감
    • 복잡한 객체를 복제함으로써 객체 생성 비용을 줄일 수 있습니다.
  2. 유연성 증가
    • 객체 생성 로직을 숨길 수 있어 클라이언트는 구체적인 클래스 정보에 의존하지 않습니다.
  3. 상태 보존
    • 복제된 객체는 원본의 속성을 그대로 유지하므로 동일한 상태를 가진 객체를 생성할 수 있습니다.

프로토타입 패턴의 단점

  1. 객체 복제의 복잡성
    • 깊은 복사와 얕은 복사 문제를 고려해야 합니다.
  2. 추가적인 메모리 관리 필요
    • 동적으로 생성된 복제본의 메모리를 관리해야 합니다.
  3. 객체 구조 의존
    • 객체 구조가 복잡하거나 순환 참조가 있을 경우 복제 구현이 까다로울 수 있습니다.

프로토타입 패턴의 활용 사례

  • 게임: 게임 내 캐릭터, 아이템, 맵 등 복잡한 객체를 복제하여 성능 최적화.
  • 그래픽 소프트웨어: 복잡한 그래픽 요소를 복제하여 재사용.
  • 데이터 처리: 동일한 구조와 속성을 가진 객체를 다수 생성해야 할 때.

C++ 프로토타입 패턴은 객체 복제를 효율적으로 처리해야 하는 경우 강력한 도구가 될 수 있습니다.

+ Recent posts