나의 수업일지

인천 일보 아카데미 17일차 코드리딩/리팩토링/Map으로 만들어보기

2023. 3. 16. 18:06
  • 공부법_코드 리딩_(필수 아님 추천임)

우변에서의 처리결과를 좌변에 대입하기 때문에

코드는 오른쪽부터 읽는게 좋다

 

혼자서 공부할때 체크하면서 공부하자

혼자서 공부할때 체크하면서 공부하자

메소드 파악에 도움을주고 이해를 쉽게 할 수 있다

메소드 이해력이 높으면 다음에 내가 사용할때에도 큰 도움이된다

 

  • 고유번호를 담는 DTO

프로그램 설계에는 중복되진않는 고유 번호가 들어간 DTO 필드가 있어야한다

이번 게시판 프로그램의 경우 bno를  게시글을 생성할때마다 1씩 증가하는

사용자가 임의로 수정할 수 없는고유번호로 지정했다

이렇게 고유번호 필드를 만들면 update나 delete 등 사용자 정보를 확인하는 메소드를 만들때 편리하다

 

  • refactorting_을 생활화하자

Repository에 있는 delete메소드는 boolean 이기 때문에 ture false를 리턴한다

하지만 boolean result로 받아 if 에 넣어도 되고

좀더 짧게 만드는 방법은 if문에 br.delete 메소드를 넣어줘도 상관 없다

 

이렇게 이미 만든 코드를 좀 더 짧게 수정하는것을 Refactorting이라고 한다

Refactorting을 생활화하자 만들어본 코드를 리딩하면서 줄여보자

 

  • 16일차 만들어보기 _ 풀이

Service class
Repository class

List.add에서 add는 메소드로 리턴타입은 boolean이기 때문에 저장 됐다면 ture를 리턴합니다

(저장 실패일 경우 false를 리턴)

하지만 Map에서 저장하기 위해 사용되는 put은 리턴타입이 벨류와 같아지고

그렇기에 저장에 문제가 있는경우 출력하기에 약간 문제가 있었는데요

게시판프로그램 만들기에 사용된 Map의 벨류는 DTO객체 이고 put은 처음 저장할경우 밀려서 출력되는것을 이용해

객체에 담아 result가 null이면 맞게 저장될것이고 null이 아니라면 고유번호로 저장한 key값에 문제가 있는것이기에

fasle를 리턴하게만들어 Service에서 if문을 이용해 해당조건에서 맞는 문구를 출력하게 하였습니다

 

  • Map에 담긴 정보를 정렬하여 출력하기_설명

Service class

keyset이라는 리스트를 선언하고 ArryList에 매개변수로 Map.keyset을 사용해 Map.keyset으로 이루어진

ArrayList를만들어 keyset이라고 선언한 ArrayList에 대입했습니다

이후 ArrayList keyset을  sort를 이용해 정렬하는 방식입니다

 

  • findById 만들어보고 이해하기

Repository class

당시에 겨우 이해한 내용 모르면 다시보자

 

 

'나의 수업일지' 카테고리의 다른 글

인천 일보 아카데미 (저장용) refactorting 해보기  (0) 2023.03.20
인천 일보 아카데미 18일차 Map으로 수정하기  (1) 2023.03.18
인천 일보 아카데미 16일차 primitive type / Wrapper class type  (0) 2023.03.16
인천 일보 아카데미 15일차_2 Map을 알아보자  (0) 2023.03.14
인천 일보 아카데미 15일차_1 .gitignore만들기  (0) 2023.03.14
'나의 수업일지' 카테고리의 다른 글
  • 인천 일보 아카데미 (저장용) refactorting 해보기
  • 인천 일보 아카데미 18일차 Map으로 수정하기
  • 인천 일보 아카데미 16일차 primitive type / Wrapper class type
  • 인천 일보 아카데미 15일차_2 Map을 알아보자
GUPING
GUPING
안녕하세요 개발자를 꿈꾸는 GUPING 입니다
GUPING
개발자를 꿈꾸는 GUPING
GUPING
전체
오늘
어제
  • 분류 전체보기 (89)
    • 나의 수업일지 (88)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 틀만들기
  • 버튼2가지이벤트
  • 검색
  • 버튼 이벤트 함수 변경
  • 지식인
  • 다중프리뷰
  • 삭제
  • 업로드파일이름출력
  • 수정
  • 로그인 경고문
  • 개힘드렁
  • 페이징Controller
  • 파일이름(다중)
  • pagingAjax
  • Paging
  • 버튼 이벤트 변경
  • 페이징
  • 로그인form
  • 여러사진프리뷰
  • 검색결과페이징
  • Ajax
  • 파일이름가져오기
  • 로그인게시판
  • 네이버
  • 파일 이름 가져오기
  • 클래스 이름 변경
  • PAGE
  • 답변 채택
  • realative
  • naver

최근 댓글

최근 글

hELLO · Designed By 정상우.
GUPING
인천 일보 아카데미 17일차 코드리딩/리팩토링/Map으로 만들어보기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.