본문 바로가기

전체 글266

[20220303] 개발자 일기 지난번에 스파게티 코드(?)라고 욕했던 고객사에서 가격 로직이 잘못되었다며 수정 요청이 들어왔었다. 다른 웹사이트 구축 업무 때문에 미뤄 놨었는데, 로직을 다시 보면서 어떻게 하면 코드를 이렇게 작성할 수 있는가 새삼스럽게 느꼈다. 로직상 사용되지 않는 변수 선언해두기, 요소 하나짜리 리스트 for문 돌리기 등 이해할 수 없는 코드들이 난무했다. 다른 선임 개발자 분에게도 코드 내용을 공유했더니 내 생각과 같았다. 보안적으로도 문제가 있어서 일단 이번 오류는 해결하되 다음부터는 조금 문제를 제기해야 할 것 같다. 일단 오늘은 해야 할게 좀 많은 거 같아서 아쉽지만 TIL은 내일로 미뤄야 할 것 같다. 2022. 3. 3.
[20220302] 개발자 일기 & TIL 휴일 전까지 해두었던 데이터 저장 기능을 동작해본 결과 저장이 잘 되었다. 이제는 연결된 상품 정보들이 여러 개일 경우에도 동작하도록 만들어야 했다. 저장 기능 자체는 쉬웠지만, 뷰에서 JS가 변화하도록 코드를 짜는 것이 골치 아팠다. 추가 버튼을 누르면 입력 폼이 추가되고, 삭제 버튼을 누르면 해당 폼만 삭제된 후 다음 폼들이 있으면 그 뒤의 폼들의 인덱스들은 하나씩 줄도록 만드는 것이었다. 다수의 폼들이 id와 name으로 구분되어 있다 보니 id와 name을 추출하고 인덱스를 변경하여 다시 합쳐주는 과정이 여러 번 반복되다 보니 번거로웠다. 너무 복잡하다 보니 이렇게 하는 것이 맞는가 하는 생각도 들었다. 추후에 다시 리뷰하면서 좋은 방법이었는지 탐구해보도록 하자. jQuery의 .attr()과 ... 2022. 3. 2.
[20220228] 개발자 일기 & TIL 2월이 끝나버렸다. 설 연휴가 있었고 28일밖에 되지 않기도 하지만, 뭔가 한 것도 없는데 시간이 매우 빠르게 지나간 것 같다. 회사에서 1개월을 보내면서 본격적으로 일을 진행하고는 있지만 안 해본 게 너무 많은 것 같다. 특히, 오늘은 마이바티스로 DB를 연결하는 작업을 했다. 단순히 insert하는 것은 꽤 쉽게 성공했다. 그러나 오후에는 달랐다. 주문 정보 테이블과 주문 상세 테이블이 분리되어 있는데, 한 화면에서 한 주문 정보와 여러 주문 상세를 가져오는 것을 구현하는 데서 막혔다. 기존 CMS에 구현된 부분을 참고해보았더니 input 태그에 name을 'article[0]'과 같이 인덱스를 주고 있는 것을 발견하였다. 커맨드 객체에서 변수를 리스트로 선언해놓고 뷰에서는 인덱스가 있는 이름으로 설.. 2022. 2. 28.
[20220224] TIL 주문 신청 폼 페이지를 개발하면서 스프링이 지원하는 Form 태그 사용법을 대략적으로 알게 되었다. JSTL와 비슷하게 input이나 각종 html form 태그 하위 태그들 앞에 'form'이라는 schema(혹은 prefix)를 붙여서 쓴다. 예를 들면, 태그는 태그처럼 말이다. 태그 이름들은 거의 동일하나 속성들이 HTML과 많이 달랐다. name 속성은 path로, style 속성은 cssStyle로 class 속성은 cssClass로 쓴다. 마지막으로 원래 태그는 와 같이 쓰는데, 이 폼 태그의 필드들을 담고있는 객체를 modelAttribute 어노테이션과 연결해 줄 것이기 때문에 컨트롤러의 @ModelAttribute의 이름을 태그의 속성으로 쓴다. 2022. 2. 24.
728x90