2024. 10. 3. 20:23ㆍSpring/JDBC 개인과제
※ 일정관리 게시판
- Lv.2 일정등록 및 일정조회
- Lv.3 일정수정, 일정삭제
- Lv.4 작성자연동 - 일정등록 및 검색 조회 등
- Lv.5 페이징 기능
1) 휴먼에러
- 간단하게 발생한 휴먼에러들이 있었다. 데이터가 잠시누락됐다던지 쿼리에 작업하다가 실수로 문자가 잘못들어갔다던지 이러한 에러들은 다 제외하고 진행하겠다.
2) 간헐적으로 append 및 selected가 안되는 이슈
2-1) 개요
- 목록에서 제이쿼리 이벤트를 활용하여 수정 진행시 작성자 수정 select 박스에서 발생한 이슈
2-2) 배경
- 목록을 1차로 append하고, append한 영역안에서 작성자 api를 호출하여 빈 select박스안에 <option>태그를 넣어주는 형태이다.
2-3) 진행
- 페이지 새로고침을 계속 해보면 간헐적으로 <option>태그가 있다가 없어졌다가 반복한다.
2-4) 위기
- 등록폼에 select박스는 append하지 않는 영역이라서 그런건지 100% 페이지 로딩할때마다 정확하게 select박스가 잘 나오고 있다. 해당 select박스는 도대체 무슨 문제인지 알 수가 없다.
2-5) 결말
- 원인은 분명 append되었는 영역위에 또다시 부분적으로 append를 시켜서 생기는문제가 아닐까라고 추측한다.
하지만 아직까지 이 문제에 대해서 정확한 해결을 하진 못했다. 제목에서 언급했듯이 이중으로 append하는 문제의 select박스에 일정의 값을 selected 해줘야하는데 해당 부분도 안되고 있다.
- 추가적으로 상세보기 페이지에서도 select박스에 대해서 selected가 간헐적으로 풀리는 현상이 있다.
상세보기는 영역을 append하지 않기때문에 select박스 자체는 100% 잘 나오지만, selected만 간헐적으로 풀리고있다. 이부분은 selected가 append하는 영역에 대해서 또 정확한 로딩이 안되고있다거나 그러한 원인으로 파악이 추측이된다.과제가 마무리되고 추후에 해결을 꼭 해보고 싶다.
3) 페이징 완성 후에 생긴 이슈
3-1) 개요
- 페이징 완성 후에 검색값과 연동되어야하는 이슈
3-2) 배경
- 검색을 했을땐 페이징 적용이 되지않고 검색데이터는 1개인데 페이징번호는 4번까지 나오는 그러한 상황에 놓여있었다.
3-3) 진행
- 전체 데이터 조회했을때만 생각하고 검색과 연동되는 부분을 간과해서 발생한 문제였다.
3-4) 위기
- 같이 연동하는 과정에서 잘되던 부분까지 오류가 발생해서 큰 어려움이 있었다. 다급하게 원래대로 돌리고 다시 진행하면서 많은 시간이 소요되었다.
3-5) 결말
- 전체목록 출력과 검색 2가지 상황에서 모두 페이징이 적용되도록 해두었다. 처음부터 해당 부분을 생각하고 흐름을 구성했더라면 허비한 수시간을 아낄수 있었을텐데라는 생각이 들었다. 지금 만든 코드도 100% 만족스럽지 않아서 캠프중에 수정할 여유가 생기면 한번 해볼 생각이다.
※ 로직흐름도는 github에 README에 작성해두었다.
4) 페이징 초기 흐름 이슈
ㄴ 잠시 SQL LIMIT에 대해서 착각을 했었다.
※ LIMIT [몇번째부터] [보여줄 개수] - 이상태로 진행되어야하는데 보여줄 개수를 계속 증가시키고 있었다.
※ 수정해서 잘 해결하였다.
※ 잘못된 페이징
※ 완성된 페이징
※ 전체 데이터 조회시 페이징 - 함수명 getLimit
※ 검색 데이터 조회시 페이징 - 함수명 getLimitSearch
ㄴ 검색과 전체 데이터의 페이징을 다 적용한 모습이다.
※ 검색까지 적용한 페이징 영상
※ [ 회고 ]
좋았던 점)
지난번과 마찬가지로 뿌듯함과 흥미를 느껴서 좋았다. 페이징을 직접 생각하고 작성해둔 흐름도가 있었는데 그 흐름도에 따라 구현이 잘되었을때 엄청난 뿌듯함을 느꼈다. 그리고 CRUD기능을 제외하고 검색과 페이징까지 구현하면서 확실히 Spring 실력이 늘어나는 계기가 되었던 것 같다.
아쉬웠던 점)
paging을 구현함에 있어서 뿌듯함을 느꼈지만, 더 큰그림과 여러방면에서 많은 생각이 필요했다고 느꼈다. paging과 검색기능이 동시에 생기게 되버린다면 결국 목록전체조회, 검색, 페이징이 모두 연동되어 맞물리는 형태로 전체 검색이 가능해져야하는데 일단 페이징 자체로 각 데이터를 불러오는 것만 생각하고 검색과 연동되는 부분을 생각하지 못했었다.
추후에 프로젝트와 현업에서는 이러한 점을 주의 깊게 생각해서 진행을 해야겠다고 생각했다.
'Spring > JDBC 개인과제' 카테고리의 다른 글
[5] Spring - 개인과제(1차 - 페이징) (4) | 2024.10.04 |
---|---|
[3] Spring - 개인과제 (1차) (9) | 2024.10.03 |