최프 - 210206 조언

갓김치·2021년 2월 6일
0

최종프로젝트

목록 보기
10/19

오전

Exception

1조 코드보며 리뷰

  • CustomTransactionException, SqlDeleteFailedException, SqlInsertFailedException, SqlUpdateFailedException... 각 클래스를 만들어서 처리하는 것 보다 서비스 선언부에 throws SQLException 하는 것이 간단하다
  • DAO에서부터 던져줘야 한다, DAO에서 throws 해주지않으면 서비스, 컨트롤러까지 올 수 없다.

우리조 코드

  • throws exception ㄴㄴ 예외종류를 명확하게 지정해줘야 보안상 문제를 줄일 수 있음
  • LOGGER 상수아닌데 상수로해놓음
  • logger.error(this.getClass().getName() + " " + e.getMessage());
    • 보안상 e.printStackTrace는 위배됨
      • 혹여라도 문제가 되서 errorPage가 없는 경우 웹페이지에 에러 내용이 다 보이게 됨
    • debug 레벨 말고 error로
  • select만했을때 select error 내보낸다쳐도 select+insert오류나면 어쩔껀데..? 차라리 SERVER_ERROR_MSG 하나 만들어서 내보내는게 낫다
  • 보통 프로젝트에서는 보안상의 문제도 고려하여 오류를 자세히 내보내지 않는다, '오류발생' 간단하게 alert 혹은 에러페이지로 이동
  • 대신 logger에서 확실히 찍어줘야함

Logger와 System.out

  • sysout으로 찍는 습관 버려라
  • 나중에 개발끝나고 sysout 지우는 것도 일임
  • logger 찍는 습관 키울것!!

화면

우리조

  • 변수명 what으로 넘기는것 수정
  • 관리사무소에서 조회하는 벤더 공지사항 ui가 벤더ui로 되어있음

로그인화면

  • maxLength등 validation

인덱스

입주관리

  • 상세보기 모달이 필요할듯
  • 스크린사이즈 맞춰서 공백로우생기는거
  • jquery 벨리데이터 td이상하게 붙는거
  • 모달 닫기누르면 필수항목입니다 없어져야함

전자결재

4조

  • input type="number" 여도 validation 체크 필요
  • 15000.0 여도 number이기때문에 NumberFormatException 발생

오후

thread-safe, thread-notsafe

  • 1조 CustomPaginationInfo 를 BaseController에 빼둔거 보고 조언하심
  • 한 메서드를 3명 동시에 탔을때 괜찮으면 safe
  • 서버에 컨트롤러 인스턴스 1개생기는데, 여러명이 동시접근해서 검색조건 다르게하면 먼저접속한사람 검색조건이 다음사람에게 적용될 가능성이 높음

메서드 변수 vo로

egov perspective에서 data source

  • 커넥션 연결할 수있음
  • 드라이브 연결
  • 3.8에서는 잘됨 , 3.9는 잘안됨, 3.7은 ibatis만 됨
  • DB info에서 커넥션 추가한것 선택한후 query test 할 수 있음
  • vo도 만들수있음

리팩토링

  • 중복되는 코드 드래그하여 우클릭 refactor 후 extract method 하면 밑에 부분에 생김

발표시

  • 어떤 기능(security, mybatis)를 썼다기 보다는 사용자를 고려했다는 것을 말하는게 중요
    • 엑셀 다운로드 됩니다 (x)
    • 엑셀 다운로드시 템플릿을 적용하여 사용자가 쉽게.. 어쩌구 (O)
    • 등록 됩니다!! (X)
    • 단건등록은 이렇게 화면에서 입력 하면 되고, 다량의 데이터등록시 엑셀 업로드를 활용하여~ 어쩌구 (O)

우리조

개인정보 마스킹

  • 제이쿼리 마스킹 플러그인
  • 수정화면에서 대시보이도록

테이블

  • 왼쪽정렬 (회사명 길이다다름)
  • 금액 (컴마)
  • 들쭉날쭉은 왼쪽정렬
  • 돈은 오른쪽정렬

우편번호찾기

  • 클릭하면 창닫히도록

엑셀

인덱스

  • 관리사무소 직원이 대쉬보드에서 뭘 보고싶을까?
  • 계약만료가 가까운게 있다던지
  • 신규 등록된 입주자에 대한 정보
  • 관리자가 확인해야할 사항 위주로 포지션을 잡고 아무생각없이 넣으면안된다
  • 그래프가 좋을것같아! -> 이런생각만가지고 넣으면안됨
  • 고지서 기한 이라던지 업무관련 내용으로 인덱스

사이트관리 -공지사항

  • 등록에 목록버튼이없다
  • 공지사항에 필독으로 고정하는게 필요, 고정풀면 다시 원래 글번호 위치로
  • 공지사항 넘버링 역순으로 되어야함 (최신순)

fn

  • 기존에 ho 짯던 코드에 startsWith 보다는 length 3-4자리로 비교
<select class="custom-select col-md-4 searchSelect" name="hoStart">
  <option value="0000">전체</option>
  <c:forEach items="${hoList}" var="item">
    <c:set var="ho" value="${item.ho}"/>
    <c:if test="${fn:startsWith(ho,'0')}">
      <option value="${ho }">${fn:substring(ho,1,4)}</option>
    </c:if>
    <c:if test="${not fn:startsWith(ho,'0')}">
      <option value="${ho }">${ho }</option>
    </c:if>
  </c:forEach>
</select>
profile
갈 길이 멀다

0개의 댓글