- ์์คํ ์ํํธ์จ์ด
- datagrip
- spring ๊ตฌ๊ธ ์์  ๋ก๊ทธ์ธ
- Quick Sort
- DATABASE
- aligoapi
- RP 2๊ธฐ
- Data Structure
- Java
- MethodArgumentNotValidException
- spring ์์ ๋ก๊ทธ์ธ
- SSL
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- java error
- Spring
- spring์ผ๋ก https ์ ์ฉ
- Rp2๊ธฐ
- docker
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- merge sort
- C++
- mysql
- OpenAPI
- @CreatedDate
- Unity
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- SQL
- node js
- GIT
- MAKE US
๋ชฉ๋ก์ ์ฒด ๊ธ (132)
YS's develop story
 ์ฑ๊ธํค vs HikariCP, Connection ๊ด๋ฆฌ ๋ถ๋ถ์์ ์ด๋ค ์ฐจ์ด์ ์ด ์์๊น
			
			
				์ฑ๊ธํค vs HikariCP, Connection ๊ด๋ฆฌ ๋ถ๋ถ์์ ์ด๋ค ์ฐจ์ด์ ์ด ์์๊น
				package util;import io.github.cdimascio.dotenv.Dotenv;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil { private static final Dotenv dotenv = Dotenv.load(); private static final String URL = dotenv.get("DB_HOST"); private static final String DB_USER = dotenv.get("DB_NAME"); private static final String DB_PASSWORD = dotenv.get("..
 Spring Boot + Redis ์บ์ ์ ์ฉ ๊ฐ์ด๋ (@Cacheable ํ์ฉ)
			
			
				Spring Boot + Redis ์บ์ ์ ์ฉ ๊ฐ์ด๋ (@Cacheable ํ์ฉ)
				@SpringBootApplication@EnableJpaAuditing@EnableCaching //์บ์ฑ ๊ธฐ๋ฅ์ ํ์ฑํ ํ๊ฒ ๋ค๋ ์ด๋ ธํ ์ด์  -> redisํ์ฉ์ ์ํด ์ถ๊ฐpublic class SpringJavaApplication { public static void main(String[] args) { SpringApplication.run(SpringJavaApplication.class, args); }} @EnableCaching ์ด๋ ธํ ์ด์  ์ถ๊ฐ์บ์ฑ ๊ธฐ๋ฅ์ ํ์ฑํํ๊ฒ ๋ค๋ ์ด๋ ธํ ์ด์ ์ ๋๋ค. //redisimplementation 'org.springframework.boot:spring-boot-starter-data-redis' ๊ด๋ จ gradle ์ถ๊ฐ //redi..
 Redis๋ฅผ ์ด์ฉํด JWT ํ์ฉํ๊ธฐ (Refresh Token ์ ์ฅ ์ Redisํ์ฉ)
			
			
				Redis๋ฅผ ์ด์ฉํด JWT ํ์ฉํ๊ธฐ (Refresh Token ์ ์ฅ ์ Redisํ์ฉ)
				test-redis: container_name: test-redis image: redis:6 hostname: redis command: redis-server --port 6379 ports: - "6379:6379" volumes: - ./redis/data:/data environment: - TZ=Asia/Seoul labels: - "name=redis" - "mode=standalone" restart: always Docker ์์์ Redis๋ฅผ ์ฌ๋ ค๋๊ณ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ docker-compose.yml ํ์ผ ์์  spring: config: activate: on-profile: dev datasource: dri..
 ์ผ๋์ํ
ํฌ์ค์ฟจ ๋ฏธ๋ํ๋ก์ ํธ ์ ๋ฆฌ ๋ฐ ํ๊ณ
			
			
				์ผ๋์ํ
ํฌ์ค์ฟจ ๋ฏธ๋ํ๋ก์ ํธ ์ ๋ฆฌ ๋ฐ ํ๊ณ 
				โญํจํค์ง ๊ตฌ์กฐ com.example.yanolja โโโ domain โ โโโ user โ โโโ accommodation โ โโโ review โ โโโ reservation โ โโโ accommodationLikes โ โโโ basket โ โโโ wishlist โ ... โโโ global โโโ springsecurity โโโ entity โโโ config โโโ exception โโโ jwt โโโ util โญERD โญ FlowChart โญProject Architecture โญ๋ด๋น ์ญํ spring security ํ๋ก์ ํธ ๋ฐฐํฌ ์ฅ๋ฐ๊ตฌ๋, ๊ฒฐ์  ์ฌ์ฉ์ ์์ฝ์กฐํ ๋ฉ์ธํ์ด์ง ๋ก๊ทธ์ธ(OAuth2) Querydsl โญ ํ๋ก์ ํธ ๊ตฌํ ๋ด์ฉ๊ณผ ๊ด๋ จํ์ฌ ์์ฑํ ๋ธ๋ก๊ทธ ๊ธ์ ๋ฆฌ ํ๋ก์ ํธ ์งํํ๋ฉด..
 Spring, OAuth2  + JWT ๋ฅผ ํ์ฉํ์ฌ ์์
 ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ 2ํธ (๊ตฌ๊ธ ๋ฐ ๋ค์ด๋ฒ) [Spring 3.1.5, java 17]
			
			
				Spring, OAuth2  + JWT ๋ฅผ ํ์ฉํ์ฌ ์์
 ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ 2ํธ (๊ตฌ๊ธ ๋ฐ ๋ค์ด๋ฒ) [Spring 3.1.5, java 17]
				์ด ๊ธ์ ์ ๊ธ๊ณผ ์ด์ด์ง๋๋ค.! https://yusang.tistory.com/140 Spring, OAuth2 + JWT ๋ฅผ ํ์ฉํ์ฌ ๊ตฌ๊ธ ์์  ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ [Spring 3.1.5, java 17] http://console.cloud.google.com/project Google ํด๋ผ์ฐ๋ ํ๋ซํผ ๋ก๊ทธ์ธ Google ํด๋ผ์ฐ๋ ํ๋ซํผ์ผ๋ก ์ด๋ accounts.google.com ํ๋ก์ ํธ ๋ง๋ค๊ธฐ -> API ๋ฐ ์๋น์ค -> ์ฌ์ฉ์ ์ธ์ฆ์ ๋ณด -> ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ -> OAu yusang.tistory.com ๊ณผ์  ์ค๋ช ์ ์์์ ์ ์ฒด์ ์ธ ๋์๋ฐฉ์์ ppt๋ก ๋ง๋ค์ด ๋ณด์์ต๋๋ค. ์ ์ฒด์ ์ธ ๋์ ๋ฐฉ์์ ๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌํ์๋ฉด ์๋์ ๊ฐ์ต๋๋ค. ๋ค์ด๋ฒ ๊ฐ๋ฐ์ ์ฌ์ดํธ์ ์ ์ํฉ๋๋ค. ๊ทธ ํ ์๋์ ๊ฐ์ด ์ ํ๋ฆฌ..
 Spring, OAuth2  + JWT ๋ฅผ ํ์ฉํ์ฌ ์์
 ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ 1ํธ (๊ตฌ๊ธ ๋ฐ ๋ค์ด๋ฒ) [Spring 3.1.5, java 17]
			
			
				Spring, OAuth2  + JWT ๋ฅผ ํ์ฉํ์ฌ ์์
 ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ 1ํธ (๊ตฌ๊ธ ๋ฐ ๋ค์ด๋ฒ) [Spring 3.1.5, java 17]
				๊ธ ์์ฑํ๊ธฐ์ ์์ ppt๋ก ์ ๋ฆฌํ ์ ์ฒด์ ์ธ ๋์ ํ๋ฆ์ ๋๋ค. ํ์ฌ ์  ํ๋ก์ ํธ์์๋ ์๋์ ๊ฐ์ด OAuth๋ฅผ ํตํ ๊ตฌ๊ธ, ๋ค์ด๋ฒ ๋ก๊ทธ์ธ์ ๊ตฌํํ๊ณ ๊ทธ ๊ณผ์ ์ ์ ๋ฆฌํ๋ ค๊ณ ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. http://console.cloud.google.com/project Google ํด๋ผ์ฐ๋ ํ๋ซํผ ๋ก๊ทธ์ธ Google ํด๋ผ์ฐ๋ ํ๋ซํผ์ผ๋ก ์ด๋ accounts.google.com ํ๋ก์ ํธ ๋ง๋ค๊ธฐ -> API ๋ฐ ์๋น์ค -> ์ฌ์ฉ์ ์ธ์ฆ์ ๋ณด -> ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ -> OAuth ํด๋ผ์ด์ธํธ ID ์น์ธํ ๋ฆฌ๋๋ ์  URI๋ฅผ ์ค์  ํ ์์ฑ ํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์์ ํด๋ผ์ด์ธํธ ID ๋ฐ ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ ํ์ธ ๊ฐ๋ฅ ์ด๊ฒ์ ๋ณต์ฌํด ๋์ต๋๋ค. gradle์ ์ถ๊ฐ dependencies { //oauth imp..
 spring jpa์ Querydsl ์ ์ฉํ๊ธฐ [spring 3.1.5, java 17]
			
			
				spring jpa์ Querydsl ์ ์ฉํ๊ธฐ [spring 3.1.5, java 17]
				๊ฐ๋ฐํ๊ณ ์๋ ํ๋ก์ ํธ์ Querydsl์ ์ ์ฉํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. Querydsl์ ์ฅ์  ์ ์ฐ์ฑ ๋ฐ ๊ฐ๋ ฅํ ๊ฒ์ ๊ธฐ๋ฅ : Query DSL์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๊ฒ์ ์กฐ๊ฑด์ ํํํ ์ ์์ต๋๋ค. ์งํํ๊ณ ์๋ ํ๋ก์ ํธ ๋ฉ์ธํ์ด์ง ๋ฐ ์์ฝ ๊ฒ์ฌ ์ jpa repository๋ฅผ ํตํด ์ฌ๋ฌ ๋ณต์กํ ์กฐ๊ฑด์ ๊ฑฐ์ณ DB์ ์ฌ๋ฌ ๋ฒ ์ ๊ทผํ๊ฒ ๋๋๋ฐ QueryDSL์ ํ์ฉํ๊ฒ ๋๋ค๋ฉด ๊ทธ๋ด ํ์ ์์ด ๊ฒ์ ์กฐ๊ฑด๊ณผ ํํฐ๋ฅผ ์กฐํฉํด ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ฐ๋ ์ฑ ๋ฐ ์ดํด๋ ํฅ์ : Query DSL์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ์ ์ด๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ฌ ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฑ๋ฅ ํฅ์ : ์ ์ ํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํจ์ผ๋ก์จ ์ฑ๋ฅ์ ํฅ์ํ ์ ์..