TIL
2023.10.27 TIL
오늘 한 것 팀 프로젝트 개인 프로젝트 (커뮤니티) 팀 프로젝트 구현을 모두 끝내고 README에 내용도 채울겸 처음 설계하며 그렸던 플로우차트와 클래스다이어그램을 좀 더 다듬고 정리하는 시간을 가졌다. 팀원 모두 각자 맡은 역할을 잘해주어서 무난하게 잘 끝낸 것 같다. 다음 과제부터는 팀이 바뀌는데 새로운 팀에 잘 적응해서 더 나은 결과물을 내보고 싶다. 개인 프로젝트 팀 프로젝트를 끝내고 하고있던 개인 프로젝트를 공부를하며 진행하였다. 오늘은 각 테이블들에 존재하는 공통 컬럼들을 spring-data-jpa 모듈에서 제공하는 기능인 auditing을 설정하였다. 기본적으로 spring docs 를 참고하였고, https://docs.spring.io/spring-data/jpa/docs/1.7.0.D..
2023.10.26 TIL
오늘 한 것 팀 프로젝트 (콘솔 호텔 예약 프로그램) 알고리즘 1문제 팀 프로젝트 팀원들과 각자 맡은 기능에 대해 구현하면서.. 이슈로 개발 티켓을 발행하고 PR을 올려 코드리뷰를 하며 병합하는 과정을 경험하였다. 느낀점 해당 과정을 경험하면서 pr을 올리고 코드리뷰를 하면서 추가 수정사항이 생길 때 어떻게 해야하는지도 찾아보며 진행하였고 서로의 코드를 병합하면서 다른 코드 스타일로 인해 코드가 충돌이나면서 병합하는 과정도 경험해보았다. 해당 과정으로 협업을 하면서 고민이 된 게 있었는데, 각자 분담된 기능을 모두 구현하고 이를 제어하는 공통적인 로직에 대해 어떻게 분담시키고 구현해야할 지 고민이 많이되었다. 그래서 우선 한사람의 화면을 공유해서 같이 코드를 보며 구현하는 쪽으로 진행 하였고 요구사항에 ..
2023-10-24 TIL
오늘 한 것 팀 프로젝트 (콘솔 호텔 예약 프로그램) 개인 프로젝트 팀 프로젝트 오늘부터 팀프로젝트로 콘솔 호텔 예약 프로그램을 구현하기로 했다. 일정과 역할 분담을 위해 우선 요구사항을 보며 게더타운에 칠판?에 팀원들과 같이 러프하게 구조를 잡아봤다. 역할 분담은 서비스별로 나눴고 내가 맡은 역할은 예약 취소 기능 구현이다. 내일 TIL에 구현 과정을 작성할 예정이다~ 개인 프로젝트 WebClient request와 response 데이터 로깅 방법 외부 API 요청을 할 일이 생겨 restTemplate 대신 webClient를 써보았다. API 응답을 잘 못받아와서 요청, 응답에 대한 데이터 확인을 위해 찾아보니 filter 체이닝을 하면서 로깅하는 방법들이 있던데, 좀 더 찾아보니 간단하게 구현하..
2023.10.20 TIL
오늘 한 것 콘솔 키오스그 주문 프로그램 구현 어제에 이어서 키오스크 프로그램을 계속 구현하고있다 오늘은 필수 요구사항에 필요한 기능을 모두 구현해서 선택 요구사항 기능을 구현을 했다. 기존 구매 상품을 선택할 때, 옵션 을 추가하는 기능인데 기능을 구현하면서 문제가 조금 발생했다. 요구사항은 이렇다. 1. 상품 선택시 옵션을 추가 선택 2. 주문 시 상품 리스트를 볼 때 옵션별로 나누기. 문제사항 1. 구매 로직 기존에 구매까지의 프로세스는 이렇다 키오스크 실행 -> 각 메뉴(커피,음료,케이크) 객체 별로 상품 리스트 생성 -> 상품리스트 중 상품 선택 -> 해당 상품 주문객체에 추가(장바구니) -> 주문처리 여기서 문제는 상품을 선택하고 옵션을 추가해줄 때 발생했다. 기존에 상품은 키오스크 초기화 시..
2023.10.19 TIL
오늘 한 것 콘솔 키오스크 주문 프로그램 구현 느낀점 Java 과제로 키오스크 주문프로그램을 구현하고있다. 기능 자체는 간단해보였는데 막상 구현하니 어떤 클래스에 어떤 메소드를 만들어 구현해야할지 명확하게 결정되지가 않는다.. 예를들어 키오스크 클래스에서 장바구니에 추가할 상품을 입력받았을 때, 상품에 대한 정보를 출력해야하는데 상품객체의 필드값만 가져와 키오스크 객체에서 출력문을 만들어 보낼지. 상품객체에게 상품정보 문자열을 만들어 받을지.. 이런 경우 처럼 객체간의 역할에 대해 많은 고민이 된다. 우선 내 나름대로 구현해보고 이런 방향성에 있어서는 멘토님께 물어보아야 겠다. 혹시나 코드를 참고할 분들을 위해 github 주소를 남깁니다. 아직 구현 중이라 참고만하세요! 피드백도 환영입니다! https..
2023.10.18 TIL
오늘 배운 것 Java 쓰레드 람다 개념보기 쓰레드 쓰레드가 무엇인지 쓰레드의 상태와 제어에 관해 배우고 정리하여 포스팅하였다. https://mocha-coding.tistory.com/34 [Java] 쓰레드의 상태와 제어 쓰레드 프로세스가 할당받은 자원을 이용하는 실행의 단위 쓰레드의 생성 프로세스가 작업중인 프로그램에서 실행 요청이 들어오면 쓰레드를 만들어 명령을 처리하도록 함 쓰레드의 자원 프로 mocha-coding.tistory.com 람다 람다는 익명함수를 지칭하는 말임 익명함수란 말 그대로 이름이 없는 함수를 뜻하고, 일급 객체로 취급된다. 함수를 값으로 사용 할 수도 있으며 파라미터에 전달 하기, 변수에 대입 하기와 같은 연산들이 가능하다. 예시 // 주말의 주차장 추가 ArrayLis..
2023.10.16 TIL
목차오늘 배운 것 Java 공부제네릭 (Generic)제네릭 (Generic)어느정도 자바와 친해졌다고 생각하지만 그럼에도 가끔 사용하면서 헷갈리는 것들이 있다..오늘은 그 중 하나인 제네릭에 대해 강의를 들으며 개념을 쌓아나갔다. 제네릭은 클래스, 인터페이스 그리고 메소드를 정의할 때, 타입을 파라미터로 사용할 수 있도록 해준다.=> 어떤 클래스, 인터페이스, 메서드를 이용할 때, 잘못된 타입의 데이터로 사용될 때 일어날 수 있는 문제를 컴파일 하는 시점에 확인하고 제거할 수 있게 하는 거다. 간단하게 예를 들어 Integer 리스트를 받아 해당 Element를 Long 타입으로 변환하여 리턴하는 메서드를 작성한다면 public static List convertIntToLong(List i..