본문 바로가기

멋쟁이사자처럼 동아리/공통피드백6

7주차. 인증 공통 피드백Git Cherry Pick:브랜치 분기 및 스쿼시 머지.JDBC 브랜치 머지.Cherry pick 사용 권장.Intellij에서 실행 가능.Intellij 순환 참조 보기:Ultimate 버전에서 가능.Time 객체:schema.sql에 "time" 테이블 존재.웹 요청에서도 "time" 파라미터 사용.도메인 네이밍 고민: Time 또는 ReservationTime.도메인을 독립적으로 설계 필요. 인증/인가HTTP의 Stateless:상태 유지 불가, 인증 필요.인증/인가 설명:인증: 사용자 신원 검증.인가: 인증된 사용자 자원 접근 확인.Basic 인증:형식: Authorization: Basic base64({USERNAME}:{PASSWORD}).간단하지만 보안 이슈 존재, HTTPS .. 2024. 6. 22.
6주차 Spring core 공통 피드백DAO vs RepositoryDAO(Data Access Object)와 Repository의 차이점은 역할과 관심사에서 비롯됩니다.DAO: 데이터 영속성 관점에서 DB에 직접 접근하는 객체입니다.Repository: 도메인 개체 모음을 추상화한 객체로, 도메인 관점에서 도메인 객체의 집합을 다룹니다.plaintext코드 복사DAO: 데이터 영속성을 추상화 Repository: 도메인 개체 모음을 추상화DAORepositoryDTO의 역할과 의미DTO(Data Transfer Object)는 계층형 아키텍처에서 의존도를 끊어주는 효과가 있습니다.예시: class Reservation { private final String name; // ex. "Kevin Preston"}​새로운 .. 2024. 6. 22.
5주차. 스프링 JDBC 공통 피드백불변 객체 - Record 활용하기불변 객체를 만들 때 Record를 사용하면 편리합니다. Record는 불변뿐만 아니라 getter, toString, equals, hashcode 등을 자동으로 구현해주므로 데이터 객체로서 명확한 의미를 가집니다.예시:public class ReservationRequest { private final String name; private final String date; private final String time;}// 또는public record ReservationRequest( String name, String date, String time) {}Lombok 사용 고민하기외부 라이브러리인 Lombok을 사용할 .. 2024. 6. 22.
4주차. 스프링 MVC 공통 피드백원시값 포장하기 (값객체)객체에 값도 규칙이 존재합니다. 예를 들어 로또 숫자는 단순한 Integer 값으로 표현될 수 없습니다. 음수, 값 제한 등의 검증이 필요합니다. 이러한 값들을 객체로 포장하여 의미를 표현하고 역할을 분리할 수 있습니다.예시:javaclass Lotto { private final List numbers; // 로또의 숫자 검증 private void validateRange(int number) { if (number 45) { throw new IllegalArgumentException("로또 번호는 1부터 45 사이여야 합니다."); } }}// 또는class LottoNumber { .. 2024. 6. 22.