일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Custom Hook
- 프로세스
- TypeScript
- prettier-plugin-tailwindcss
- 좋은 PR
- JavaScript
- Recoil
- 주니어개발자
- AJIT
- Headless 컴포넌트
- 명시적 타입 변환
- react
- 클라이언트 상태 관리 라이브러리
- 타입 단언
- linux 배포판
- Redux Toolkit
- 회고
- Render Queue
- helm-chart
- type assertion
- Sparkplug
- useLayoutEffect
- jotai
- Compound Component
- zustand
- 암묵적 타입 변환
- Microtask Queue
- CS
- docker
- task queue
- Today
- Total
목록분류 전체보기 (177)
구리
트랜잭션 트랜잭션은 어떤 일련의 작업을 의미 합니다. 어떤 일련의 작업들은 모두 에러 없이 끝나야 하며, 만약 중간에 에러가 발생 한다면, 에러 발생 이전 시점까지 작업되었던 내용은 모두 원상복구 되어야 합니다. 이렇게 데이터에 대한 무결성을 유지하기 위한 처리 방법을 '트랜잭션 처리' 라고 합니다. 스프링 트랜잭션 처리 과정 (AOP로 처리) 1. 스프링 설정 XML 파일에서 tx 네임스페이스 추가 - 반드시 XML 기반으로 설정 (어노테이션 설정 불가능) - 이용하여 설정 ( 사용 불가) 2. 트랜잭션 관리자 등록 어떤 기술을 이용하느냐에 따라 트랜잭션 관리자도 달라지는데 지금은 DataSource를 이용하기에 DataSourceTransactionManager 클래스 이용할 예정 등록 방법 DB 접..
목차 AOP 설정 1. 어노테이션 사용을 위한 스프링 설정 스프링 설정 파일에 엘리먼트 선언 해당 엘리먼트를 선언함으로써 스프링 컨테이너는 AOP 관련 어노테이션들을 인식하고 용도에 맞게 처리해줍니다. 2. 포인트컷 설정 package com.springbook.biz.common; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Service; @Service public class LogAdvice { @Pointcut("execution(* com.springbook.biz..*Impl.*(..))") public void allPointcut(){} @Pointcut("execution(* com...
목차 Before 어드바이스 비즈니스 메소드 실행 전 동작 예시 어드바이스 클래스 package com.springbook.biz.common; public class BeforeAdvice { public void beforeLog() { System.out.println("[사전 처리] 비즈니스 로직 수행 전 동작"); } } applincationContext.xml allPointcut으로 지정한 모든 Impl 클래스의 메소드가 실행되기 전 before로 지정한 어드바이스의 beforeLog() 메소드가 실행된 것을 볼 수 있습니다. After Returning 비즈니스 메소드가 성공적으로 리턴되면 동작 (void 메소드에선 적용되지 않음) 예시 어드바이스 클래스 package com.spring..
목차 AOP 정의 AOP 적용하는 법 AOP 용어 AOP 엘리먼트 AOP 예를 들면 포털 사이트가 있다고 할 때, 사용자에게는 글 작성, 검색, 물품 구매 등 여러 가지의 중요한 기능(비즈니스 로직)들이 있다면 관리자의 입장에서는 사용자가 글을 작성할 시 로그인을 하였는지, 물품 구매시 보안처리가 잘 되었는지 확인하는 과정들(부가적인 로직)이 존재할 것입니다.. 이처럼 AOP에서는 메소드마다 공통으로 등장하는 로깅,예외, 트랜잭션 처리 같은 코드들(부가적인 로직)을 횡단 관심, 사용자의 관점에 따라 실제로 수행되는 핵심 비즈니스 로직을 핵심 관심이라 합니다. 여기서 가장 중요한 핵심이 관심 분리입니다. 기존의 OOP 언어에서는 완벽한 관심 분리가 어렵기에 스프링에서는 AOP가 사용됩니다. AOP 적용하는..
목차 JdbcTemplate 클래스 GoF 디자인 패턴 중 템플릿 메소드 패턴이 적용된 클래스로 반복된 알고리즘을 캡슐화하여 재사용하는 패턴 반복되는 DB 연동 로직은 JdbcTemplate 클래스의 템플릿 메소드가 제공한다 요약 더보기 첫 번째 조건 : 라이브러리 추가 (pom.xml) 1. Spring JDBC 라이브러리 2. DBCP 라이브러리 두 번째 조건 : DataSource 설정 : 접속관련 내용.. (DB / myBatis / JPA .... ) common~~.jar DataSource 역할 : DB 접속 및 커넥션 객체 관리... 등... 방법 1. 프로퍼티 파일을 이용하는 방법 config => database.properties 세 번째 JdbcTemplate 메서드 사용 JdbcT..
스프링 프로젝트를 하다가 어떤 클래스를 인식하지 못하는 듯 하여 .m2 - repository를 삭제 후 이클립스를 재실행하고 maven - update project를 하니 갑자기 아래와 같은 오류가 발생하였습니다. 일단 해당 프로젝트 Properties - Project Facets, pom.xml에서 원래 사용하던 Dynamic Web Module 2.5, Java 1.8 버전으로 변경해줍니다. 그런데 Dynamic Web Module이 3.1 버전에서 변경되지 않을땐 web.xml에서 2.5로 버전 변경 후 Navigator에서 해당 xml 파일로 들어가 아래와 같이 변경합니다 그 후, Project Facets에서 다시 Dynamic Web Module을 2.5로 변경하면 되는데 변경을 하였는데..
목차 컬렉션 객체 설정 List 타입 맵핑 Set 타입 맵핑 Map 타입 맵핑 Properties 타입 맵핑 Spring DI 설정 방법 의존성 주입 어노테이션 (@Autowired, @Qualifier, @Resource) 어노테이션과 XML 설정 병행하여 사용 추가 어노테이션 어노테이션, XML 설정 프로젝트 예시 컬렉션 객체 설정 컬렉션 유형 엘리먼트 java.util.List, 배열 java.util.Set java.util.Map java.util.Properties List 타입 맵핑 더보기 CollectionBean.java package com.springbook.ioc.injection; import java.util.List; public class CollectionBean { pri..
Spring Legacy Project를 생성하여 오라클 DB와 연동하려고 코드를 작성하였으나 getConnecion() 메소드 부분에서 oracle.jdbc.driver.oracledriver 에러가 발생하였습니다. 이럴 때 해결하는 방법은 다음과 같습니다. 1. ojdbc8.jar 파일 준비 ( 해당 프로젝트의 WEB-INF - lib 폴더 내에 넣었던 jar 파일) 2. C드라이브 내의 jdk - jre - lib - ext 에도 위의 jar 파일을 삽입