🙂2023.07.18

일일 회고 335일차

할일 및 한일

경험 및 배움

알고리즘 & SQL 문제 풀이

오늘도 역시 오전에는 SQL 문제 풀이부터 시작!

오늘은 String, Date 부분 문제를 풀어보았다.

중요한 문법들을 몇 개 얻어간다.

첫 번째는 날짜들 간의 차이를 WHERE 절이 아닌 SELECT 절에서 사용할 때는, datediff 함수를 이용!

두 번째는 어떠한 컬럼의 상태에 따라 다른 컬럼의 상태(이름)이 바뀔 때는, CASE-WHEN-THEN-END 를 이용!

SELECT board_id, writer_id, title, price,
(case when status = 'SALE' THEN '판매중' when status = 'RESERVED' THEN '예약중' when status = 'DONE' THEN '거래완료' end) as status
from used_goods_board
where created_date like '2022-10-05'
order by board_id desc

아쉽게도 알고리즘은 시간이 없어 풀이하지 못했다.😭

Wasabi 프로젝트 전체 회의

오늘은 큰 내용은 없었고, 백엔드-프론트엔드 간의 연동과 기능 검사가 있었다.

하지만 회의를 할 수록 기능에 대한 리팩토링 사항이 항상 나온다..

Wasabi 프로젝트 리팩토링

다음으로 새벽까지 시간을 들여 프로젝트를 리팩토링했다.

처음으로 사용자의 id 를 직접 받는것이 아닌 토큰에서 Argument Resolver를 구현하여 사용도 해보고, Mocking에 대해서도 이제 감을 잡은 것 같다.

Web 계층 테스트를 @WebMvcTest 를 사용해서 웹 계층 컨테이너를 띄워서 테스트하는 걸로 변경하고, @MockBean .. @Spy .. @Mock 등 여러 어노테이션을 사용했다.

사용법이 아직 헷갈려 조만간 블로그 포스팅 예정!

리팩토링 코드는 다음 브랜치에서 볼 수 있다.

개선 및 목표

  • 내일은 낮에 디자인 패턴 세미나 멘토, 저녁에는 대규모 시스템 스터디가 예정되어 있다.

  • 남은 시간은 알고리즘, SQL 문제 풀이 및 대규모 시스템 학습!

Last updated