About Git
-
git : 버전관리를 한다는 것 : 프로젝트 상태가 변경되는 정보를 알고 있다는 것. git은 commit을 사용해서 버전이 달라지는 것을 관리함.
-
git 초기화(git initialize)한다. : 컴퓨터에 있는 프로젝트를 Git 이 관리하는 프로젝트로 만들 수 있습니다. 앞으로 Git 으로 관리할꺼야! 하고 설정해주면 됩니다.
-
commit : 현재 프로젝트의 상태를 찰칵 📸 저장하는 것
-
commit 에는 아래를 포함합니다.
- 누가(author), 언제 commit 했는지의 정보와 프로젝트 변경 내용
- 작업내역이 어떤 것인지 알아볼 수 있게 적는 메시지를 'commit 메시지'라고 합니다.
-
add (혹은 staging, 스테이징) : commit 에 반영할 파일을 선택하는 것이며, commit 에 반영할지 안할지는 파일 단위로 선택할 수 있습니다.
-
commit 한 기록은 history 로 볼 수 있습니다.
Hotel 프로젝트
두번째 미니프로젝트는 호텔 예약프로그램을 구현하는 프로젝트이다.
다이어그램을 통해서 프로젝트에서 요구하는 사항을 가지고 짜보았다.
크게 Hotel Class, Room Class, Reservation Class, Customer Class로 구성된다.
- Room Class를 만들어서 크기, 숙박비, 룸넘버, 예약유무(true,false)를 객체로 넣는다.
객실 당 한 사람만 예약이 가능한 메소드를 만든다.
- Customer Class를 만들어서 고객 이름, 전화번호, 소지금을 객체로 넣는다.
- 전화 번호 제한(XXX-XXXX-XXXX) 정규 표현식
- 예약 날짜 날짜는 ISO 8601 형식으로
조합된 UTC 날짜 및 시간
예) 2016-10-27T17:13:40+00:00
- 고객은 소지금보다 비싼 방은 예약 불가함.
-
Reservation Class를 만들어서 예약된 건에 대해 Customer Class의 정보(소지금 제외)와 예약날짜를 객체로 넣는다.
Room이 예약이 되면 true를 반환하는 메소드를 만든다.
-
예약이 되면 임의의 숫자(예약번호)를 반환하는 메소드를 만든다.
- 고객이 호텔 예약 시에 예약 번호(id)를 반환 (uuid 활용)
- 고객이 호텔 예약에 성공하면 예약 번호(id)를 받는다.
- 고객이 예약 목록을 조회 시 예약 번호도 같이 조회 된다.
- 고객이 예약 취소 시 예약 번호를 통해 자신의 특정 예약을 취소한다.
- 예약이 되면 Customer Class에 예약번호를 넘겨주고, 예약번호로 예약 내역을 조회할 수 있게 한다.(조회기능 구현)
고객은 자신의 예약을 취소할 수 있다.(취소기능 구현)
- Reservation Class에서 reservation list를 만들어서 Hotel Class가 참조할 수 있게끔 한다. (for문?)
