

게시판 정렬 기능과 게시글 제목, 작성자 이름으로 검색하는 기능을 구현하는 학습을 진행하였다. 기존에 만들었던 ArticleConroller 에서 사용되는 ArticleService의 searchArticles 는 Page 객체를 반환해주는데, 해당 객체는 스프링 데이터가 제공해주는 인터페이스이고, 그 안에는 현재 페이지나 페이징과 관련된 각종 기능을 사용할 수 있는 값을 제공해준다. 다만, 이때, 혼동되면 안되는 부분은, 소스상 ArticleResponse나 ArticleDto 를 반환한다고 하여, 해당 값으로 쿼리를 날린다고 생각하면 안되고, Service 레이어에서 Repository가 직접 도메인을 기반으로 쿼리를 날리는 것으로 이해해야 한다. 이러한 작업을 통해 최종적으로 받게 된 정보를 기반으로 Thymeleaf의 HTML 파일 내에서 해당 값을 이용하여, sort 프로퍼티에 오름차순 또는, 내림차순을 기준으로 값을 넣어주면 정렬 기능을 각 항목 별로 작동시킬 수 있게 된다.
이러한 작업을 수행하면서, 기존에 잘못된 소스를 발견하게 되었는데, 실제 시스템 운영을 하는 중에도 종종 발생하는 일이다. 이럴 경우에는 기존에 수행하고 있던 변경 작업과 함께 수정하여 커밋하고, 반영하는 것이 좋을지, 아니면 별도의 커밋으로 이력을 남기고 별개로 반영하는 것이 좋을지 고민을 한 적이 있었는데, 강사님은 역시나 이슈를 분리하여 처리하는 것이 좋다고 안내해주셨다. 실제 회사에서 개발 또는 운영 업무를 수행하다가 맞닥뜨리게 되는 이슈들에 대해 강의에서 직접 설명해주실 때마다, 실무적인 관점이 많이 녹아있는 강의라는 생각이 든다.
이후에는 제목, 본문, ID, 해시태그를 이용하여 게시글을 검색하는 기능을 구현하였고, 이러한 기능을 정렬된 상태에서도 작동할 수 있도록 Thymeleaf에 해당 상태 값들을 전달해주는 부분을 완성할 수 있었다. 나아가, 사용자 편의성을 위해, 검색창에서 검색한 이후에, 기존 검색조건이 변경되지 않도록, select 태그에 이전에 검색한 조건을 selected 프로퍼티에 지정해주는 부분은 어플리케이션 개발자로서 많이 배워야 할 자세라는 생각이 들었다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.