[4] Spring - Spring 1차개인과제 트러블 슈팅

2024. 10. 3. 20:23Spring/JDBC 개인과제

728x90

※ 일정관리 게시판

- 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과 검색기능이 동시에 생기게 되버린다면 결국 목록전체조회, 검색, 페이징이 모두 연동되어 맞물리는 형태로 전체 검색이 가능해져야하는데 일단 페이징 자체로 각 데이터를 불러오는 것만 생각하고 검색과 연동되는 부분을 생각하지 못했었다.

 

 추후에 프로젝트와 현업에서는 이러한 점을 주의 깊게 생각해서 진행을 해야겠다고 생각했다.

728x90

'Spring > JDBC 개인과제' 카테고리의 다른 글

[5] Spring - 개인과제(1차 - 페이징)  (4) 2024.10.04
[3] Spring - 개인과제 (1차)  (9) 2024.10.03