본문 바로가기

fullcalendar7

FullCalender 리팩토링 & 테스트케이스 -1 드디어 4학년 1학기가 종강을 하고.. 졸업 작품도 점점 막바지를 향해 다가가고 있다. 이번 여름 방학 동안 주요기능 한 두개 정도 구현을 하면 거의 마무리가 되지 않을까 하는 생각이다. 사실 지금 짠 코드들은 좀 문제가 많다.. 오류가 나더라도 어디서 왜 오류가 났는지 알 수 없는 오류도 간혹 발생하고, Optional 에 대한 개념도 없이 비싼 리소스를 단지 .get() 을 통해서 불러오는 안좋은 사용법이라던가.. JPA 에서도 그저 기본 기능을 이용하려고 findBy~~~~ 가 엄청 길어지는 문제라거나.. 결정적으로 제대로 된 테스트 케이스도 작성하지 않았다. 처음에는 TDD (테스트주도개발) 방법론을 사용해서 테스트 코드를 많이 작성해야지!.. 하는 생각이였지만 기능 개발도 진행하며 학교 수업도 .. 2022. 6. 26.
FullCalendar 와 DB 연동하기 -6 (코드 수정 & 매니저별 조회) 이전의 포스팅들에서 뭔가 테이블 설계가 이상하다.. 쿼리문이 이상해.. 했었는데 다행히 회의에서 팀원들의 명석한 두뇌로 테이블을 대폭 수정했다. 테이블 수정하면서 기존 코드를 이것저것 바꿔야 하는게 좀 있었지만 마음이 후련하달까.. 기본적인 스케줄 CRUD 는 이미 이전 포스팅에서 모두 이야기했기 때문에 추가적인 내용은 필요 없을 것 같다. ( 단지 테이블 구조가 바뀌어서 수정만 있었을뿐!..) 이번에 추가한 내용은 자잘한 오류 수정과, A 매니저가 로그인 한 경우, A 매니저의 스케줄만 보이게 하는 로직을 짰다. (로직이라 하기도 민망) 사실 메인은 이벤트 색상을 바꾸는걸 해보려 했는데 음.... 결국 이번에도 못했다. 모두 같은 색상도 통일성 있어서 좋지 않을까.. 수정 & 추가 저장할 때 , ale.. 2022. 3. 7.
FullCalendar 와 DB 연동하기 -5 (조회, 수정, 삭제 Controller & Service) 처음 FullCalendar 구현할 때는 확확 다이나믹하게 바뀌어서 만드는 재미가 있었는데 점점 세부적인 부분으로 들어가다보니 재미가 없어지는 중...이지만 구현을 해보자!.. 저번 포스팅에서는 생성 기능만 작성했는데 이번에는 조회, 수정, 삭제에 대해 작성해보고자 한다. 문제점 우선 조회의 경우, 생성 로직을 만들다보니 아예 작동이 안됐었다. data 를 넘기는 부분에는 문제가 없었으므로 Controller를 수정함으로써 간단하게 해결! 수정 & 삭제는 둘 다 Controller 코드가 엉망이였다. 이를 처음부터 다시 뜯어고치고, Service, Repository 부분을 추가 & 수정했다. (우선 구현한 부분을 자랑) HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17.. 2022. 3. 2.
FullCalendar 와 DB 연동하기 -4 (생성 Controller & Service) 지금까지 말그대로 기능만 동작하도록 설정만 해놓았고, 데이터를 집어넣거나 빼거나 하면 무수한 오류 로그가 찍히고 있었다. 특히 생성 쪽은 for 문이 잘못 설정돼서 첫 이벤트는 괜찮으나 두번째 이벤트를 넣는 순간부터는 배열에 저장된 모든 데이터를 가지고 또 다시 저장했기에 데이터가 1+n 방식으로 저장되고 있었다. 또한 , 기존의 USER 테이블에서 조회를 해야하는데 오히려 생성이 마구마구 되는 등 다양한 문제점이 존재했고 수정이 필요했다. 수정하고자 한 부분은 다음과 같다. 문제점 현재 생성되는 이벤트 목록을 계속해서 전체 배열로 가지고 와서 중복된 데이터가 자꾸 DB에 쌓이게 된다. -> 배열에 event 를 생성할 때 , 해당 이벤트를 하나씩 가져오는 식으로 변경해보자! USER 테이블에 원치 않는.. 2022. 2. 25.
FullCalendar 와 DB 연동하기 -3 (이벤트 수정 & 삭제) FullCalendar 를 이용한 단순 기능 구현은 이번 챕터가 마지막일 것 같다!.. 조회 , 생성을 해보니 어느정도 감이 잡혀서 수정과 삭제는 그리 오랜 시간이 걸리지는 않았다. 문제는 Controller 로직일뿐!.. 제대로 된 로직이 아니라서 좀 엉망이지만 이번에도 단순히 수정 , 삭제 시에 데이터를 넘기고 DB 에 확인되는지만 확인했다. 이번 포스팅이 끝나면 이제 본격적으로 Controller 와 Query 작성을 하면 될 것 같다. HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51.. 2022. 2. 24.
FullCalendar 와 DB 연동하기 -2 (이벤트 생성) FullCalendar 를 이용해서 스케줄 수정(생성) 을 하기 위해 다양한 자료를 찾아보았다. 기존의 FullCalendar 는 좌측의 메뉴에서 Drag&Drop 방식으로 이벤트를 생성하는 것이였는데 실용적인가 싶기도 하고 , 해당 방법으로는 적용이 잘 되지 않아 날짜를 선택해서 이벤트를 생성하는 방식으로 바꾸었다. 오픈소스 라이브러리를 완전히 뜯어봐야 했고 JS 와 ajax 문법에도 무지해서 생각보다 시간이 더 오래걸리고 많이 헤맸다. HTML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 5.. 2022. 2. 22.