[002] 수료한지 벌써 4주가 지나가고...
30분 전에 쓴 거 날려먹고 왔습니다. 하지만 꿋꿋하게 다시 기억을 되살려 적어보겠습니다.
안녕하세요 여러분 벌써 수료한지 4주가 지났습니다. 아까와는 다르게 좀 더 차분하게 적게 되네요... 날아갈 수도 있으니 다들 임시저장을 활성화 하도록 해요...
저는 지금 부트캠프에서 진행 했던 첫 번째 프로젝트를 리팩토링 하는 중입니다.
아무래도 3일간 진행했던 프로젝트였기 때문에 퀄리티랑 아쉬운 부분들이 너무 많았는데요, 수료 후에 다시 보완할 수 있게 되어서 좋았습니다.
물론... 레이어드 아키텍처였다면 더 좋았을 것 같지만요 :)
당시 첫 프로젝트 전, 헥사고날 아키텍처에 대해서 배웠고 배운 것은 써먹어야지! 하는 우리 전 팀원들의 의욕에 물을 뿌리고 싶지 않아 동참 했습니다.
좋아요 기능 하나 구현 한 결과입니다. 추가 된 파일의 개수가 보이시나요? 어질어질...하죠?
그래서 대체 헥사고날이 어느 이점이 있지? 싶어서 알아보았습니다...
[아키텍처 패턴] 헥사고날 아키텍처(Hexagonal Architecture)
헥사고날 아키텍처(Hexagonal Architecture)는 소프트웨어 디자인 패턴 중 하나로, 응용 프로그램의 핵심 로직(Application Core)과 외부 시스템 간의 의존성을 최소화하여 유연성과 테스트 가능성을 높이
d-aqu.tistory.com
제 블로그에 정리 해 뒀습니다 ! 홍보 홍보 ! 한 번 보시고, 다들 활용 해 보세요~!! (나만 힘들 수는 없지~!!)
네 그리고 전에 프로젝트를 진행 했을 때 가장 아쉬웠던 게 검색 기능이었습니다. 꼭 필요한 것인데, 당장 보이는 것을 채우기 급해 구현하지 못했었습니다.
그래서 현재는 구현을 해 둔 상태고, 성능 개선은 추후에 진행 할 예정입니다.
해당 키워드가 속한 공연을 찾아올 수 있는 기능입니다. 헤더 컴포넌트에 구현을 해 두었기에 메인 페이지에서만 가능한 게 아니라, 헤더가 있는 어느곳이든 검색이 가능하도록 했습니다.
// keyword 별로 공연 검색
@GetMapping("/search")
@Operation(summary = "공연 검색")
public BaseResponse<List<ReadProgramResponse>> search(@RequestParam String keyword,
@RequestParam Integer page,
@RequestParam Integer size) {
try {
validatePageRequest(page, size);
ReadProgramCommand command = ReadProgramCommand.builder()
.keyword(keyword)
.page(page)
.size(size)
.build();
List<Program> program = readUseCase.searchPrograms(command);
List<ReadProgramResponse> responses = program.stream()
.map(p -> ReadProgramResponse.builder()
.programId(p.getId())
.programName(p.getProgramName())
.reservationOpenDate(p.getReservationOpenDate())
.programInfo(p.getProgramInfo())
.programStartDate(p.getProgramStartDate())
.programEndDate(p.getProgramEndDate())
.imageFiles(p.getImageUrls())
.locationName(p.getLocationName())
.build())
.collect(Collectors.toList());
return new BaseResponse<>(BaseResponseStatus.SEARCH_PROGRAM_SUCCESS, responses);
} catch (BaseException e) {
return new BaseResponse<>(BaseResponseStatus.SEARCH_PROGRAM_FAIL, null);
}
}
전체 코드를 보여드리기에는 헥사고날 아키텍처이기에 너무 나뉘는 게 많아서 컨트롤러만 보여드리겠습니다.
페이징처리를 해 둔 상태고, 이 또한 프론트 내에서 활용 할 예정입니다.
프론트도 여차 여차 잘 되고 있습니다. 간격 하나가 안 맞으면 아주 거슬리는 병에 걸리고 말았습니다 ~!! ㅠㅠ. 이거 어떻게 고치나요?
네... 전 이렇게 살고 있습니다. 계속 공부만 한 것은 아니고 머리도 식힐겸 친구들도 만나고, 좋은 곳도 놀러가고 그랬는데요...!
이제 드디어 일상 얘기를 해 보려고 합니다. !!
수료하고 1주일 정도는 늦잠도 자고 밀린 드라마도 보고 했습니다.
그리고 포트폴리오도 작성 하고 자기소개서도 기업별로 나눠 작성 했습니다.
리팩토링 계획도 세우고, 미래에 대해서 고민도 하고,,, 그랬습니다.
제가 추위에 약해 밖에 나가는 것을 선호하지 않는 편인데 세상에 예쁜 곳이 참 많더라고요 ,,, 여행은 딱 질색이었는데 생각이 점점 바뀌는 것 같습니다.
행궁동 야경이 정말 예뻐요 ,,, 시간 나시면 꼭 들려보셔요. 그리고 행궁동 안에 있는 양식집인데 ' 세컨디 포레스트 ' 정말 맛있어요 ,,, !
물론 체인점이라 여러분의 동네에도 있을 수 있지만 저희 동네에는 없답니다. 그래서 행궁 올 때마다 꼭 먹어주고 있어요.
저기 있는 리조또가 정말 정말 맛있어요. 또 먹고 싶다.
그리고, 오랜만에 대학 친구들을 만나서 성수역에 가게 됐는데요 저 성수역 처음 가봤어요. 아무래도 집이랑 두시간 거리더라고요.
안 가는 게 당연했던 거리였는데, 제가 자는 사이에 이미 장소를 정해놨더라고요. 그래서 가게 됐어요.
초이다이닝? 이었던 것 같아요 후토마키 맛집이라길래 설레서 갔는데 무슨 크기가 ;
입 찢어지는 크기였습니다. 친구들 다 해체쇼해서 먹는데 전 무조건 구성 된 상태로 먹고 싶어서 입을 찢어가며 먹었습니다.
먹으면 1-2분은 대화 못함... 열심히 씹어야해요 ㅇㅇ.
길 가다가 비가 와서 아무데나 들어간 곳인데 핫플이었어요. 사람이 미어지게 많더라고요. 성수 돌아다니면서 느낀 건데 서울 사람 다 여기 모아놨나? 싶을 정도로 많았습니다. 케이크가 너무 예뻐서 샀는데 제가 케이크는 별로 안 좋아해서 ,,, 크림만 찍어 먹었습니다.
오랜만에 친구들 만나니까 건전하게 대화로만 3시간을 보낼 수 있었어요. 요즘 사람 만나면 다 술자리인데... 애들아 이거 언제까지 가능해?
이제 마지막은 대부도를 갔습니다. 대부도 너무 너무 예쁘더라고요 ,,, 해가 질 시간 즈음에 갔는데 보이시죠? ㅜㅜ
이런 게 여행이라면 한 달에 한 번은 가볼만하다? 라는 생각이 들었습니다.
아무래도 저는 낯선 환경을 별로 좋아하지 않고, 익숙한 곳을 선호하는데요.
여행을 다니면 세상을 보는 눈이 넓어지는 기분? 이었습니다. 이렇게 예쁜 곳이 많았구나 싶었어요.
다들 머리 잘 식히고 계시죠? 여행이라도 꼭 다녀오세요 ,,, 잠깐 간 건데도 너무 좋았습니다.
마지막은 제 사진으로 마무리 할게요,,,~!! 다들 행복하세요~!! 새벽 4시 40분에 쓴 글이라 정신이 없습니다~!!
이제 공부 좀 하자