본문 바로가기
728x90

전체 글247

[231029] 팀 과제 수정 팀 과제 수정 어젯밤에 했던 팀 과제 수정 내용을 정리해보고자 한다. 우선 문제사항은 필수 요구사항 중 하나인 '객실은 하루에 한 명만 예약이 가능하다'를 팀 과제를 설계할 때 깊게 고려하지 않았다는 점이었다. 예약 클래스에 예약 시간을 넣기는 했지만 실질적으로 예약 시간을 고려하거나 사용하는 메소드가 빠져있었다. 따라서 추가해야 하는 기능은 다음과 같았다. 이미 하루가 지난 예약의 방은 예약 가능하도록 이미 하루가 지난 예약은 취소하지 못하도록 또한 수정해야 하는 오류는 다음과 같았다. 장바구니에 방을 넣으면 해당 방을 예약 확정하지 않았기 때문에 예약 가능 목록에 표시됨 예약을 취소해도 해당 방이 예약 가능 목록에 표시되지 않음 일단 추가해야 하는 첫 번째 기능을 추가하기 위해 예약이 지났는지 검사하.. 2023. 10. 29.
[231027] 팀 과제, 좋은 개발자 특강 알고리즘 문제 풀기 int 배열 {-1}을 리턴하고 싶을 때 return {-1};과 같이 하면 오류가 발생한다. 배열은 참조형 변수이기 때문에 주소를 리턴하지 못하기 때문인 듯하다. 이때에는 return new int[] {-1};과 같이 인스턴스를 생성해서 리턴해줘야 한다. 어제 개인 과제 피드백을 받으면서 람다와 스트림을 자주 사용하도록 노력해보라는 얘기를 들었기 때문에 람다와 스트림을 인식하면서 알고리즘 문제를 풀었는데 어떻게 적용하면 좋을지 전혀 감이 안 와서 실제로 사용해보지는 못했다. 팀 과제 팀원분이 올리신 PR을 보면서 코드리뷰를 했는데 반복되서 출력되는 문자열들을 String 상수로 미리 선언한 후 이용하는 방식을 보게되었다. 그렇게 하니 print문이 깔끔하게 보기 좋아서 나도 다음에.. 2023. 10. 27.
[프로그래머스] 할 일 목록(Java) 제출한 코드 class Solution { public String[] solution(String[] todo_list, boolean[] finished) { String[] str = new String[finished.length]; int num = 0; for(int i=0;i 2023. 10. 26.
[231026] 팀 과제 역할 코드 수정, 개인과제 리뷰 팀 과제 어제까지 내가 맡은 역할인 basket과 관련된 domain, database, service, output 부분에 대한 코드를 설계해서 대부분의 기능을 구현했다. 오늘은 대체로 코드 리펙토링을 수행했다. 팀원분께서 제안하신 대로 database에 접근하는 것은 service 뿐이고 service에서 정제한 데이터를 output에서 매개변수로 전달받아 output은 다른 객체에 대한 접근없이 출력만 수행하도록 만들었다. 그리고 이렇게 만들어진 service와 output 코드를 이용하여 모든 로직이 돌아가는 HotelLounge 클래스에서 그 흐름을 구현하였다. 크게 정리하면 이렇게 된다. Database -> Service -> HotelLounge -> Output 일단 테스트를 해보고 오류.. 2023. 10. 26.
[231025] 팀과제 역할 분담 및 수행, SOLID 팀 과제 오늘은 팀 과제 회의를 하면서 모두 공유할 코드의 큰 틀을 정하고 역할 분담을 했다. 코드의 틀은 패키지를 data, domain, service, io로 나누었다. - data에는 database와 같은 역할을 하는 클래스를 저장한다. 주로 domain의 객체들의 집합을 저장하였다. 추가로 객체 리스트를 저장하는 장바구니가 있다. 또한 데이터베이스 내에서 처리할 수 있는 메소드를 포함한다. - domain에는 이번 Hotel 프로젝트에서 정의된 클래스인 customer, reservation, room이 있다.. - service에는 서로다른 클래스의 메소드가 영향을 주고 받는 메소드를 포함된다. - io에는 입출력에 관련이 있는 메소드를 저장한다. 그 외로 어느 패키지에도 포함되지 않는 Ho.. 2023. 10. 25.
[231024] 팀 과제 설계, 깃 특강 2회차 팀 과제 필수 요구사항 호텔은 여러 객실, 보유 자산을 가지고 있다. 객실은 객실 당 하루에 한 사람만 예약이 가능하다. 객실은 크기, 숙박비를 가진다. 예약은 객실, 고객의 이름, 고객의 전화번호, 예약 날짜를 가지고 있다. 전화 번호 제한(XXX-XXXX-XXXX) 정규 표현식 (선택) 예약 날짜 **** 날짜는 ISO 8601 형식으로 조합된 UTC 날짜 및 시간 예) 2016-10-27T17:13:40+00:00 고객은 이름, 전화번호, 소지금을 가진다. 고객 소지금보다 비싼 방은 예약 불가 호텔은 모든 예약 목록을 조회 할 수 있다. 고객은 자신의 예약 목록을 조회 할 수 있다. 예약 번호로 예약 내역을 조회한다 고객은 자신의 예약을 취소 할 수 있다. 고객이 호텔 예약 시에 예약 번호(id)를.. 2023. 10. 24.