본문 바로가기

개인공부35

1장 JPA 소개 1장 JPA 소개 0. JPA 장점 조회된 결과를 객체로 매핑하는 작업도 대부분 자도응로 처리. 네이티브 SQL 기능을 사용해서 직업 SQL을 작성 객체 중심으로 개발하니 생산성 유지보수가 좋고 테스트를 작성하기도 편리하다. 데이터베이스 간의 호환이 편리 하다.ㄷ 1.1 SQL의 단점 진정한 의미의 계층 분할이 어렵다 물리적으로 SQL과 JDBC API를 데이터 접근 계층에 숨기는 데 성공했을지라고 논리적으로는 엔티티와 아주 강한 의존관계를 가진다. 엔티티를 신뢰할 수 없다. DAO을 열어서 SQL 확인 SQL에 의존적인 개발을 피하기 어렵다 많은 SQL 수정 반복 public class Member { private String name; private String tel; // add } // sql.. 2024. 1. 20.
1장 ioc 정리 빈 팩토리 등록 방법 오브젝트를 생성하고 초기화해준다 => @bean @configuration으로 등록한 /** * 팩토리 클래스 UserDao을 생성 책임을 맡았다. */ @Configuration // p 96 빈 팩토리를 위한 오브젝트 설정을 담당하는 클래스라고 인식. public class DaoFactory { @Bean public DataSource dataSource() { SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); dataSource.setDriverClass(com.mysql.jdbc.Driver.class); dataSource.setUrl(DbConstant.JDBC_URL.getStr()); dataSou.. 2023. 12. 20.
4주차 회고 이번 과제에서는 클래스의 분리를 최대한 고려하였고, 처음으로 abstract 클래스를 도입해 보았습니다. '디데이', '주말', '평일', '특별 할인' 등 할인이라는 공통적인 부분을 기본 클래스로 설정하고, 오버라이딩을 메서드를 구현하는 방식을 시도해 보았습니다. 인터페이스를 선언하여 구현하고 싶었지만, 인터페이스 내에서 static을 구현해야 하는 부분이 마음에 걸려, 책에서만 보아 왔던 추상 클래스를 사용하여 구현하게 되었습니다. Discount라는 기본 클래스를 상속받아 'dDayDiscount', 'weekDayDiscount', 'weekendDayDiscount', 'specialDayDiscount'를 선언하였고, 주문 날짜에 해당하는 혜택의 금액을 'Discount#giveAmount().. 2023. 11. 15.
우테코 3주차 회고. (나중에 변경) 다양한 코드들을 검토하며 2주차 코드 리뷰를 진행하였습니다. 원활한 코드 리뷰를 통해 효율적인 방법을 채택하였고, 별도의 학습을 통해 코드의 유지보수성과 확장성을 강화하는 방향으로 노력하였습니다. "외부 객체 생성" Config 클래스를 생성하여 객체를 초기화하였습니다. 클래스의 분리에 대한 학습 과정에서 '관심사의 분리를 위해 제3의 클래스를 생성'하는 방법을 접하게 되었습니다. 현재는 사용자가 하나의 로또만 구매하는 형태이지만, 연금 복권이나 주택 복권 등 다양한 복권 구매 방식이 업데이트 될 경우, 객체지향의 다형성을 이용할 수 있는 구조를 구현하고 싶었습니다. 프리코스가 끝난후 이를 위해 Lotto를 추상화할 수 있는 인터페이스를 구현하고, Config.lotto(interface Lotto lo.. 2023. 11. 9.