본문 바로가기

전체 글360

[Pre Project] Day 10 기여한 내용 · User Dto에 유효성 검증 추가 · BusinessLogicException이 발생 시 응답 바디로 에러 메시지가 반환되지 않는 문제 수정 · 질문과 답변을 수정했을 때 수정 시간이 반영되지 않는 문제 해결 · 로그인 성공 시 응답 바디로 유저 정보를 전달하도록 구현 보강할 내용 기본 API의 요청과 응답을 점검하기 회고 Spring MVC 패턴의 웹 애플리케이션에 Spring Security를 적용하는 핵심 기능의 구현이 끝나니 무엇을 검토하고 보강해야 할지 갈피를 잡지 못했다. 오늘은 프론트엔드 분들이 통신 테스트를 하며 요청하신 부분을 위주로 클라이언트의 API 요청에 관한 응답을 살피는 시간을 가졌다. 로그인에 필요한 비밀번호의 조건을 고민하다가 User 엔티티의 Dto에 아래.. 2022. 11. 2.
[Day 121] Github로 프로젝트 관리하기 학습 주제 Github 레포지토리 Github Project 칸반 Git flow Git branch 새롭게 배운 내용 🪄 Github Github Repository에 포함해야 하는 파일 README.md: 프로젝트 이름, 프로젝트 핵심 기능 소개, 팀원 소개, Wiki로 링크 .gitignore LICENCSE: 오픈 소스 개발의 경우 제약이 적은 MIT 라이센서나 Apache License를 적용한다. 프로젝트 관리에 활용할 수 있는 Github 기능 Issue: 프로젝트에 새로운 기능 제안, 버그 제보 등 - 하나의 칸반 티켓이 된다. Milestone: 태스크 카드(Issue)를 그룹화, 진행 상황 업데이트 확인 가능 Pull Request: 코드 리뷰 가능 Project: 업무 관리를 위한 기.. 2022. 10. 21.
MapStruct 구현체의 분석과 DTO에서 필요한 Lombok 애너테이션 Mapper는 DTO 클래스와 엔티티 클래스를 서로 변환해 주는 변환자이다. 계층간 역할 분리를 위해 사용한다. Mapper의 한 종류인 MapStruct는 컴파일 타임에 매핑 구현체를 모두 생성한다. DTO를 Inner class로 관리하던 중에 각 Inner class에 어떤 Lombok 애너테이션을 붙여야 하는지 판단이 되지 않아서 DTO 클래스와 MapStruct가 생성하는 구현체 코드를 분석하여 정리했다. 🪄 MapStruct가 매핑을 정상적으로 하기 위한 우선 순위 조건 Builder 패턴이 적용된 경우 모든 필드를 파라미터로 가지는 생성자가 있을 경우 👉 이때 기본 생성자가 포함되어 있으면 제 역할을 하지 못한다. setter 메서드가 있는 경우 1. RequestBody → Member R.. 2022. 10. 20.
[Day 120] Pre Project 시작 🦈 학습 주제 Pre Project 시작 팀 빌딩 커뮤니케이션 / 협업 MapStruct 새롭게 배운 내용 2022.10.20 - [Back-End/Spring MVC] - MapStruct 구현체의 분석과 DTO에서 필요한 Lombok 애너테이션 MapStruct 구현체의 분석과 DTO에서 필요한 Lombok 애너테이션 DTO를 Inner class로 관리하던 중에 각 Inner class에 어떤 Lombok 애너테이션을 붙여야 하는지 판단이 되지 않아서 DTO 클래스와 MapStruct가 생성하는 구현체 코드들을 분석하여 정리했다. 1. RequestBody → Me. cookiee.tistory.com 보강할 내용 아래 글들을 읽어 보고 프로젝트에서 적용하기! https://tech.kakaoenter.. 2022. 10. 20.
[Day 119] Section 4 회고 학습 주제 기술 면접 미니 잡서칭 새롭게 배운 내용 노션에 정리하였음 보강할 내용 포트폴리오 작성 회고 오늘로 마지막 Section의 마지막 유닛을 마무리했다. 내일부터 프로젝트에 들어가게 된다. 부트캠프에 들어온 지 얼마 안 된 것 같은데 프로젝트를 앞두고 있다는 게 실감이 나지 않는다. Section 1: HTTP/CSS, Linux, Git, Java Section 2: 자료구조와 알고리즘, 네트워크, 관계형 데이터베이스, Spring Section 3: Spring MVC (API, 서비스 계층, 예외 처리, 데이터 액세스 계층(JDBC, JPA), 트랜잭션, 테스팅, API 문서화, 빌드/실행/배포) Section 4: 인증/보안, Spring Security(JWT, OAuth2), Cloud.. 2022. 10. 19.
[정렬] Comparable과 Comparator 객체를 서로 비교한다 Java에서 정렬을 할 때 흔히 Arrays.sort() 혹은 Collections.sort()을 사용한다. 이는 기본적으로 오름차순 정렬이 되어 있기 때문에 정렬 조건을 정의하기 위해서 인터페이스인 Comparable이나 Comparator를 활용해야 한다. 배열 {1, 3, 2}를 오름차순으로 정렬한다면 먼저 원소 1과 3을 비교한다. 1 - 3의 값은 음수이므로 선행 원소의 값이 더 작다는 것을 의미하고 자리를 바꾸지 않는다. 다음으로 원소 3과 2를 비교하는데, 3 - 2의 값은 양수이므로 후행 원소의 값이 더 작다는 것을 의미하여 자리를 바꾼다. 양수일 경우: 자리를 변경한다. 음수일 경우: 자리를 변경하지 않는다. Arrays.sort(arr, (a, b) -> { ret.. 2022. 10. 18.