| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- jvm
- 이것이 자바다
- CI/CD
- LV.02
- Java
- 일정관리프로젝트
- 코테
- 연습문제
- S3
- 포트폴리오
- docker
- JPA
- 프로그래머스
- LV03
- mysql
- LV02
- spring boot
- 디자인 패턴
- GIT
- Join
- SQL
- Kafka
- Redis
- 일정관리 프로젝트
- 알고리즘
- LV0
- Lv.0
- 데이터 베이스
- LV01
- CoffiesVol.02
- Today
- Total
목록전체 글 (205)
코드 저장소.
목차1. 문제점2. 해결하는 과정3.해결 후 결과 1. 문제점 기존의 Coffies 프로젝트를 하면서 회원가입시 이메일인증을 하는 기능을 만들었는데 구글이메일이 외부 api다 보니깐 인증버튼을 누르면 2~3초간 있다가 인증메일이 보내져서 속도를 좀 더 개선을 하는 방법을 보다가 @Async를 활용해서 비동기 처리를 통해서 속도를 개선하는 방법으로 하기로 했다. 2. 해결하는 과정해결하는 과정은 지극히 간단했다. 2-1.우선은 비동기 관련 클래스를 작성한다.@EnableAsync@Configurationpublic class AsyncConfig extends AsyncConfigurerSupport { public Executor getAsyncExecutor() { ThreadPool..
목차Lock?Lock의 종류Lock의 범위교착상태블로킹 1.Lock?데이터 베이스에서의 Lock은 다수의 사용자 또는 프로세스가 동시에 데이터베이스의 일부를 접근하려고 할 때 발생할 수 있는 충돌을 방지하기 위해서 사용됩니다. Lock을 사용하게 됨으로써 데이터의 무결성과 일관성 그리고 트랜잭션의 순차성을 보장받을 수 있습니다.2.Lock의 종류데이터베이스 락은 크게 공유 락(Shared Lock)과 배타적 락(Exclusive Lock)으로 나눌 수 있습니다. 공유 락(Shared Lock) 다수의 트랜잭션이 동시에 동일한 데이터를 읽을 수 있게 하는 락 여러 사용자가 동시에 데이터를 읽을 수 있지만, 쓰기 작업은 허용되지 않습니다. 공유 락을 획득한 트랜잭션은 데이터를 읽을 수 있지만, 해당 데이..
목차 1.Swagger? 2.Swagger 설정 및 프로젝트 적용 1. Swagger? Swagger는 Api스펙 명세 및 관리를 목적으로 하며, 실제 서버에 요청을 보내는 방식으로 Api에 대해 테스트를 해 볼 수 있는 Ui를 제공해주는 개발도구이다. 2.Swagger 설정 및 프로젝트 적용 우선 사진과 같이 스프링 프로젝트에 라이브러리를 gradle에 넣는다. 그 다음 Swagger에 관련된 설정 클래스와 설정 properties를 작성한다. import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.securi..
목차1.SpringSecurity?2.SpringSecurity의 인증절차3.AuthenticationFilter4.AuthenticationManager5.AuthenticationProvider6.UserDetailService,UserDetailsManger7.SecurityContextHolder & SecurityContext & Authentication8.공부하고 난 뒤 회고 1.SpringSecurity?스프링 시큐리티는 스프링 기반의 어플리케이션의 보안(인증과 권한)을 담당하는 프레임워크를 말합니다.2.SpringSecurity의 인증절차 SpringSecurity의 인증절차는 다음과 같습니다.로그인 페이지에서 클라..
목차1. Mybatis는 무엇이고 기존의 장점 및 단점?2. JPA의 장단점 1. Mybatis는 무엇이고 기존의 장점 및 단점?Mybatis는 Java 언어를 사요하는 개발자들이 SQL 쿼리를 관리하고 데이터 베이스와 상호작용하는데도움을 주는 ORM프레임워크 중 하나입니다. 장점: 1. 접근이 쉽고 간결하다.(배우기가 쉽다) 2.SQL문과 프로그래밍 코드가 분리가 되어있어서 SQL문에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일을 하지 않아도 된다. 3.다양한 언어로 구현이 가능하다.(이식성이 뛰어나다) 단점: 1.스키마 변경시 SQL 퀴리를 직접 수정해야 한다. 2.반복된 퀴리가 발생하여 반복 작업이 있다. 3.쿼리를 직접 작성하기 때문에 데이터베이스에 종속된 쿼리문이 발생할 수 있다. 4.데이..
MapStruct는 Java bean 유형 간의 매핑 구현을 단순화하는 코드 생성기입니다. MapStruct 의 장점 컴파일시 설정된 압식으로 오류를 확인할 수 있다.(코드 생성시) 리플렉션을 사용하지 않기 때문에 매핑 속도가 빠르다. 디버깅이 쉽다. 생성된 매핑코드를 눈으로 직접 확인할 수 있다. MapStruct의 사용법 1. gradle을 통해서 라이브러리를 주입한다. //map struct implementation 'org.mapstruct:mapstruct:1.4.2.Final' annotationProcessor "org.mapstruct:mapstruct-processor:1.4.2.Final" 2. 엔티티에서 데이터를 옮길 dto클래스를 작성한다. @Getter @Setter @Build..