본문 바로가기

CS19

토비의 스프링 3.1 Vol.1 145p ~ 250p 정리 2장. 테스트스프링이 개발자에게 제공하는 가장 중요한 가치 = 객체지향과 테스트2.1 UserDaoTest 다시 보기2.1.1 테스트의 유용성테스트가 성공하면 모든 결함이 제거됐다는 확신을 얻을 수 있음2.1.2 UserDaoTest의 특징- 웹을 통한 DAO 테스트 방법의 문제점1. 모든 레이어의 기능을 다 만들고 나서야 테스트가 가능하다.2. 테스트를 하는 중에 에러가 나면 어디에서 문제가 발생했는지 찾아야 한다.3. 오류가 있을 때 빠르고 정확하게 대응하기가 힘들다. - 작은 단위의 테스트그 대상에만 집중해서 테스트하는 것이 바람직작은 단위의 테스트를 단위 테스트 - 단위 테스트 필요 이유개발자가 설계하고 만든 코드가 원래 의도한 대로 동작하는지를 개발자 스스로 빨리 확인받기 위해서다.2.1.3 U.. 2023. 12. 28.
토비의 스프링 3.1 Vol.1 40p ~ 143p 정리 스프링이란 무엇인가?스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크 - 애플리케이션의 기본 틀 - 스프링 컨테이너스프링 컨테이너는 설정정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리한다. - 공통 프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP1. IOC/DI 모델2. 서비스 추상화3. AOP - 기술 API스프링은 엔터프라이즈 애플리케이션을 개발의 다양한 영역에 바로 활용할 수 있는 방대한 양의 기술 API를 제공한다.스프링의 성공요인- 단순함가장 단순한 객체지향적인 개발 모델인 POJO 프로그래밍 강력 주장 - 유연성스프링의 유연성으로 인해 다른 많은 프레임워크와 편리하게 접목돼서 사용할 수 있으며 유연성과 확장성이 매우 뛰어나다. 1.1 초.. 2023. 12. 28.
영속성 컨텍스트란? 영속성 컨텍스트란 무엇인가?- 영속성 컨텍스트는 JPA의 중요한 특징 중 하나로, 엔티티를 관리하는 가상의 공간이다. 영속성 컨텍스트 특징 1. 1차 캐시- 영속성 컨텍스트는 내부에 1차 캐시를 가지고 있다. 이때 캐시의 키는 엔티티의 @Id 애너테이션이 달린 기본키 역할을 하는 식별자이며 값은 엔티티이다. 엔티티를 조회하면 1차 캐시에서 데이터를 조회하고 값을 반환한다. 값이 없으면 데이터베이스에서 조회해 1차 캐시에 저장한 다음 반환한다. 이를 통해 캐시된 데이터를 조회할 때에는 데이터베이스를 거치지 않아도 되므로 매우 빠르게 데이터를 조회할 수 있다. 2. 쓰기 지연- 쓰기 지연은 트랜잭션을 커밋하기 전까지는 데이터베이스에 실제로 질의문을 보내지 않고 쿼리를 모았다가 트랜잭션을 커밋하면 모았던 쿼리.. 2023. 7. 2.
실전스프링부트와 JPA 활용1 -2 실전! 스프링부트와 JPA 활용1엔티티 설계시 주의점모든 연관관계는 지연로딩으로 설정즉시로딩은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다.특히 xtoone컬렉션은 반드시 초기화하자연관관계 메서드애플리케이션 아키텍처계층형 구조 사용controller,web: 웹 계층service: 비즈니스로직,트랜잭션 처리repository: JPA를 직접 사용하는 계층, 엔티니 매니저 사용domain: 엔티티가 모여 있는 계층, 모든 계층에서 사용 2022. 10. 20.
실전스프링부트와 JPA 활용1 -1 실전스프링부트와 JPA 활용1 - 김영한 / 인프런 실무에 사용할 수 있도록게시판 같은 단순한 상황이 아니라다양한 상황을 고려한 진짜 예제를 같이 만들어 나갈 것이다코딩으로 따라가자개발자는 모르더라도 몸으로 익히는게 있다큰 그림을 몸으로 익힐 수 있다내가 실무를 하면서 부족한 부분을 알 수 있다. 전체 구성1편 - 웹어플리케이션 개발2편 - API개발과 성능 최적화 프로젝트 생성 환경설정 h2 database는 개발을 하거나 테스트할때 사용하기 좋음 / 교육용mysql - 좋으나 사용하기 까다롭다 lombok 적용Lombok 이란 Java의 라이브러리로 반복되는 메소드를 Annotation 을 사용해서 자동으로 작성해주는 라이브러리이다. annotation이란 ?메타데이터이고 특별한 기능을 수행하도록 하.. 2022. 10. 15.
타입스크립트에서 ?의 의미 참고 - https://developer-talk.tistory.com/193 [TypeScript]타입스크립트 물음표(?), 선택적 프로퍼티, 옵셔널 체이닝타입스크립트(TypeScript)는 타입에 엄격한 프로그래밍 언어이므로 객체 프로퍼티의 타입을 정의했으나 값을 할당하지 않는 경우 에러가 발생합니다. 이러한 경우 선택적 프로퍼티(Optional Properties)developer-talk.tistory.com타입스크립트에서 ? 의미는interfcae IcompanyInfo { hi : string; hi2 ?: string;}let obj: IcompanyInfo { name : 'facebook'}밑의 코드 처럼 let obj에 interface a를 타입으로 지정하지만 ?한 hi2값이 안.. 2022. 4. 14.