repository를 만들기 위해 우선 디렉토리를 하나 생성하고 그 폴더 안으로 이동해보자. 이 안에 프로젝트를 위한 각종 파일과 자식 디렉토리를 만든다면 이 디렉토리(TestDir)가 프로젝트 디렉토리가 될 것이다. 그리고 Git으로 이 TestDir의 버전을 관리할 것인데, 이를 위해 어떤 설정이 필요하다. git init 이 커맨드를 입력해보자. 여기서 git 은 Git으로 어떤 작업을 할 때마다 써야하는 커맨드이다. 이 git 뒤에 어떤 커맨드를 붙였는지에 따라 하게되는 작업이 달라진다. 여기서는 git init 는 비어있는 레포지토리를 생성하는 커맨드가 된다. 실제로 TestDir 안을 살펴보면 다음과 같이 .git 디렉토리가 생긴 것을 확인할 수 있다. 이것이 repository이다. 이 .g..
Mac 환경에서 Git을 설치하는 방법에 대해 알아보자. brew 설치하기 먼저 Homebrew 설치 페이지로 이동한다. 그럼 다음과 같은 화면을 볼 수 있다. 여기서 Install Homebrew 밑에 있는 긴 커맨드를 복사한다. 그리고 맥의 터미널을 열고 커맨드를 붙여 넣고 엔터를 치자. 엔터를 치면 Password 입력창이 나오는데 자신의 맥의 Password를 치고 엔터를 치자. 위와 같은 그림이 나오면 brew 설치는 성공적으로 끝이 난다. brew로 Git 설치하기 brew로 git을 설치하기 위해 brew install git 커맨드를 터미널에 입력하고 실행시킨다. 잠시 기다리면 위와 같은 화면이 뜨면 git 설치가 완료된다. git이 정상적으로 설치되었는지 확인하려면 터미널 창에 git 이..
Git에 대해 공부하기 전에 근본적인 질문으로 Git이란 무엇이고, GitHub이란 무엇인지 생각해보자. Git Git이 무엇일까? 간단하게 말해서 Git은 코드의 버전을 관리할 수 있는 프로그램을 말한다. 버전 관리 과제 수행을 예시로 들어보자. 과제 보고서를 작성하면서 내용을 추가하며 수정하며 이전 완성본이 필요할 경우에 대비하여 파일을 남겨두는 경우가 있다. 이렇게 매번 달라지는 파일을 만들다보면 "과제보고서.doc", "과제보고서(수정).doc", "과제보고서(최종).doc", "과제보고서(진짜_최종).doc"과 같이 파일이 생성될 것이다. 여기엔 파일의 어떤 내용이 수정된 것인지 확인하기 어렵고, 파일의 중간 내용을 확인하기 어렵다(어떤 파일을 봐야 이 내용을 볼 수 있는가?) 는 문제점이 있다..
앞서 만들었던 예제 1에 새로운 할인 정책을 개발하고 적용시켜 보자 새로운 할인 정책을 확장해보자. 한 기획자가 서비스 오픈 직전에 할인 정책을 지금처럼 고정 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하고 싶다고 요청했다. 이전 개발이 정말 객체 지향 설계 원칙을 잘 준수했는지 확인해보자. 이번에는 주문한 금액의 일정%를 할인해주는 정률 할인 정책을 추가할 것이다. 새로운 할인 정책 개발 RateDiscountPolicy 추가 discount 패키지에 RateDiscountPolicy 클래스를 추가한다. package hello.core.discount; import hello.core.member.Grade; import hello.core.member.Member; pu..
주문과 할인 도메인을 설계하고 개발해보자. 주문과 할인 도메인 설계 이전에 설계했던 주문, 할인 정책을 다시 살펴보면, 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용한다.(나중에 변경될 수 있다) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다.(미확정) 위 내용을 다이어그램으로 나타내면 다음과 같다. 주문 생성 : 클라이언트(main 메서드, 스프링 mvc의 경우 컨트롤러...)는 주문 서비스에 주문 생성을 요청한다. 회원 조회 : 할인을 위해서는 회원 등급이 필요하기 때문에 주문 서비..