1109 일지

Yesol Lee·2022년 11월 9일
0

개발일지 - 2022

목록 보기
162/187

프로젝트

관리자사이트 개발

js 에러 해결 : callback is not a function

callback-is-not-a-function

callback is not a function

  • 어제 작동되는 것을 다 테스트했던 코드가 어느 순간부터 위 에러를 띄우며 작동이 안됐다.
  • 사실 java controller로 가지도 못하는걸 보면 js 문제라는 것을 빨리 짐작했어야 했는데, java 코드를 수정한 후 발견한 에러라서 단순하게 java 문제라고 생각했던 것 같다.
  • 실제로 문제가 발생하는 곳이 어딘지 파악하기 어려웠는데, 알고보니 자바스크립트의 confirm()메소드를 커스텀한 confirm() 함수를 잘못 사용해서 일어난 에러였다.
  • 보통 confirm()은 파라미터로 문자열만 줘도 동작하는데, 커스텀한 함수에는 문자열과 함께 두번째 인자로 콜백함수를 반드시 주어야했다. 그런데 그걸 모르고 콜백함수를 주지 않으니 계속 'callback이 함수가 아니라고' 했던 것이다.
  • 임시방편으로 그 자리에 빈 함수를 넣어보려고 했는데 뭔가 내 생각과는 또 다르게 작동해서 일단 기본 알림으로 바꿔두고 나중에 수정하려고 한다.

내 실수로 인한 에러 발견 및 해결

  • 오늘 출석부에서 아이템을 여러 개 선택해 팝업에 가져오기를 시도하고 있는데, 있던 체크박스가 없어져서 보니 목록의 데이터도 내 js파일에서 설정한 것을 보여주고 있다는 것을 발견했다. 다행히 코드 한 줄만 제거하면 되는 문제긴 했지만 깜짝 놀랐다. (//trsm.cmd.pageStart())

js ax5ui-grid 검색

  • 지금 만드는 사이트의 목록 화면은 ax5ui-grid를 사용해서 구현되어 있다. 이는 html테이블 생성 및 데이터 바인딩을 js로 설정하고 조정할 수 있는 라이브러리로, 값 수정 시 화면이 바뀌지 않는 것이 장점인 듯 하다. ax5ui-grid
  • 지금 가장 해결하고 싶은 문제는 ax5ui-grid가 있는 화면에서 아이템을 여러 개 선택한 후, 선택한 내용을 새로 여는 팝업화면으로 전달해주는 것이다. 내가 구현하고자 하는 기능과 완전히 같게 만들어진 부분이 없어서, 그냥 쉽게 한 곳에서 복사해오긴 힘들 것 같다. 여러 군데서 짜깁기 하다보니 오히려 헷갈리는 부분이 많아서, 시간을 내서 ax5ui-grid 자체를 별도로 검색해보았다.
  • 아직 아이템 여러 개를 선택했을 때 key를 어떤 형태로 어떻게 반환하는지는 찾아보지 못했다. 내일 하기

팝업용 js 분리하기

  • 어제는 일부러 나눠둔 js를 합쳤는데, 오늘 하다보니 역시 분리해야 할 것 같아서 일을 두번 하고 있다.. 물론 전에도 나눴다기 보단 거의 복사에 가까워서 중복 코드가 많았으니 의미 없는 일은 아니다.
  • 해당 기능을 만들어 여러 곳에서 사용할 수 있어야 하기 때문에 머리가 아프다. 너무 멀리 보고 많은 것을 고려하면 시작하기 어렵다는 것은 알지만 하다보면 마음이 조급해져서 한 번에 많은 것을 하고싶어진다.

개발 진행상황 검토

  • 오전엔 학습자사이트의 목록 상세 화면 설계서를 만들었다. 기존 사이트에서 확인할 수 없었던 화면이라 누락된 것 같다.
  • 학습자사이트 개발 관련해서도 계속 문의사항을 처리하고 있다.

기타

생각보다 개발에 시간이 걸려서 마감기한을 지키기 어려울 수도 있을 것 같다. 엄청 밤 늦게 가기는 싫으니 오늘부터 다음주 개발 마감까지 야근을 좀 나눠서 하려고 한다.
바쁘다는 핑계로 아무 생각없이 작업하면 오히려 내 일에 내가 끌려다니기 쉬운 것 같다. 뇌에 힘 주고 살아야지..

profile
문서화를 좋아하는 개발자

0개의 댓글