Til
2023.11.06 TIL
오늘 한 것 개인 프로젝트 개인프로젝트 어제에 이어서 구현하던 알림기능을 다 만들었다. 다양한 통신 방식 (폴링, 웹소켓 SSE(Server-Sent-Event) 중 SSE 방식으로 통신하는 것을 채택했고 Spring에서는 seeEmitter API를 통해 편리하게 구현할 수 있게 제공해서 해당 API를 이용하여 구현하였다. Server -> Client 통신 방식에 관련해서는 https://velog.io/@dev_jazziron/Polling-Long-Polling-SSE-WebSocket Polling / Long Polling / SSE / WebSocket 클라이언트가 http request를 서버로 계속 보내서 이벤트 내용을 전달 받는 방식클라이언트가 계속적으로 request를 보내기 때문에..
2023.11.03 TIL
오늘 한 것 Spring 강의 듣기 Spring 개인 과제 강의듣기 Spring 주차가 되면서 Spring 강의를 듣게 되었다. 이미 이해하고 있던 것들도 있지만 어렴풋이 이해했던 것들을 다시 정리할 수 있는 시간이 된 것같다. 개인과제 간단한 익명 게시판을 만드는 과제를 받았다. 어느정도 Spring에 대한 지식은 있지만 테스트 코드 작성에 익숙치 않으므로 이번에는 테스트 주도 개발 방식(TDD)으로 구현을 해보려고한다. 이번에도 과제 구현 과정을 포스팅할 예정이다!
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-24 TIL
오늘 한 것 팀 프로젝트 (콘솔 호텔 예약 프로그램) 개인 프로젝트 팀 프로젝트 오늘부터 팀프로젝트로 콘솔 호텔 예약 프로그램을 구현하기로 했다. 일정과 역할 분담을 위해 우선 요구사항을 보며 게더타운에 칠판?에 팀원들과 같이 러프하게 구조를 잡아봤다. 역할 분담은 서비스별로 나눴고 내가 맡은 역할은 예약 취소 기능 구현이다. 내일 TIL에 구현 과정을 작성할 예정이다~ 개인 프로젝트 WebClient request와 response 데이터 로깅 방법 외부 API 요청을 할 일이 생겨 restTemplate 대신 webClient를 써보았다. API 응답을 잘 못받아와서 요청, 응답에 대한 데이터 확인을 위해 찾아보니 filter 체이닝을 하면서 로깅하는 방법들이 있던데, 좀 더 찾아보니 간단하게 구현하..
2023.10.20 TIL
오늘 한 것 콘솔 키오스그 주문 프로그램 구현 어제에 이어서 키오스크 프로그램을 계속 구현하고있다 오늘은 필수 요구사항에 필요한 기능을 모두 구현해서 선택 요구사항 기능을 구현을 했다. 기존 구매 상품을 선택할 때, 옵션 을 추가하는 기능인데 기능을 구현하면서 문제가 조금 발생했다. 요구사항은 이렇다. 1. 상품 선택시 옵션을 추가 선택 2. 주문 시 상품 리스트를 볼 때 옵션별로 나누기. 문제사항 1. 구매 로직 기존에 구매까지의 프로세스는 이렇다 키오스크 실행 -> 각 메뉴(커피,음료,케이크) 객체 별로 상품 리스트 생성 -> 상품리스트 중 상품 선택 -> 해당 상품 주문객체에 추가(장바구니) -> 주문처리 여기서 문제는 상품을 선택하고 옵션을 추가해줄 때 발생했다. 기존에 상품은 키오스크 초기화 시..
2023.10.16 TIL
목차오늘 배운 것 Java 공부제네릭 (Generic)제네릭 (Generic)어느정도 자바와 친해졌다고 생각하지만 그럼에도 가끔 사용하면서 헷갈리는 것들이 있다..오늘은 그 중 하나인 제네릭에 대해 강의를 들으며 개념을 쌓아나갔다. 제네릭은 클래스, 인터페이스 그리고 메소드를 정의할 때, 타입을 파라미터로 사용할 수 있도록 해준다.=> 어떤 클래스, 인터페이스, 메서드를 이용할 때, 잘못된 타입의 데이터로 사용될 때 일어날 수 있는 문제를 컴파일 하는 시점에 확인하고 제거할 수 있게 하는 거다. 간단하게 예를 들어 Integer 리스트를 받아 해당 Element를 Long 타입으로 변환하여 리턴하는 메서드를 작성한다면 public static List convertIntToLong(List i..
프로젝트 KPT 회고
프로젝트 팀 명 : 코딩쿠킹스 프로젝트명: 코딩쿠킹스 팀원 소개 개발 기간 : 2023.10.05 ~ 2023.10.11 프로젝트 개요: 코딩쿠킹스 팀원 소개 페이지 구현하기 요구사항: 팀원 및 프로젝트 소개 팀 계획 세우기 팀 규칙 정하기 프로젝트 역할 분담하기 와이어 프레임 작성하기 API 명세 작성하기 개발 진행에 따른 기록 작성 개발하며 정리할 내용 또는 학습한 내용 정리하기 Keep (잘 한 것) 협업 기능별로 개발 역할 분담했던 것 Git Fork, PR을 통해 코드 관리한 것 기술 Live share를 이용하면서 팀원들과 같이 css 디자인과 코드 충돌 부분을 확인하며 실시간으로 수정한 것 팀원 모두가 추가하고 싶은 부분이나 수정할 부분 모두 흔쾌히 승낙한 것 처음의 어색함을 이겨내고 점차 ..