- Unity
- aligoapi
- Rp2๊ธฐ
- MAKE US
- @CreatedDate
- mysql
- Data Structure
- Quick Sort
- GIT
- SQL
- RP 2๊ธฐ
- DATABASE
- docker
- Java
- C++
- java error
- OpenAPI
- Spring
- MethodArgumentNotValidException
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- ์์คํ ์ํํธ์จ์ด
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- node js
- spring์ผ๋ก https ์ ์ฉ
- datagrip
- merge sort
- SSL
- spring ์์ ๋ก๊ทธ์ธ
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
๋ชฉ๋ก์ ์ฒด ๊ธ (132)
YS's develop story

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("..

@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..

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 โญ ํ๋ก์ ํธ ๊ตฌํ ๋ด์ฉ๊ณผ ๊ด๋ จํ์ฌ ์์ฑํ ๋ธ๋ก๊ทธ ๊ธ์ ๋ฆฌ ํ๋ก์ ํธ ์งํํ๋ฉด..

์ด ๊ธ์ ์ ๊ธ๊ณผ ์ด์ด์ง๋๋ค.! 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๋ก ๋ง๋ค์ด ๋ณด์์ต๋๋ค. ์ ์ฒด์ ์ธ ๋์ ๋ฐฉ์์ ๊ทธ๋ฆผ์ผ๋ก ์ ๋ฆฌํ์๋ฉด ์๋์ ๊ฐ์ต๋๋ค. ๋ค์ด๋ฒ ๊ฐ๋ฐ์ ์ฌ์ดํธ์ ์ ์ํฉ๋๋ค. ๊ทธ ํ ์๋์ ๊ฐ์ด ์ ํ๋ฆฌ..

๊ธ ์์ฑํ๊ธฐ์ ์์ ppt๋ก ์ ๋ฆฌํ ์ ์ฒด์ ์ธ ๋์ ํ๋ฆ์ ๋๋ค. ํ์ฌ ์ ํ๋ก์ ํธ์์๋ ์๋์ ๊ฐ์ด OAuth๋ฅผ ํตํ ๊ตฌ๊ธ, ๋ค์ด๋ฒ ๋ก๊ทธ์ธ์ ๊ตฌํํ๊ณ ๊ทธ ๊ณผ์ ์ ์ ๋ฆฌํ๋ ค๊ณ ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. http://console.cloud.google.com/project Google ํด๋ผ์ฐ๋ ํ๋ซํผ ๋ก๊ทธ์ธ Google ํด๋ผ์ฐ๋ ํ๋ซํผ์ผ๋ก ์ด๋ accounts.google.com ํ๋ก์ ํธ ๋ง๋ค๊ธฐ -> API ๋ฐ ์๋น์ค -> ์ฌ์ฉ์ ์ธ์ฆ์ ๋ณด -> ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ -> OAuth ํด๋ผ์ด์ธํธ ID ์น์ธํ ๋ฆฌ๋๋ ์ URI๋ฅผ ์ค์ ํ ์์ฑ ํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์์ ํด๋ผ์ด์ธํธ ID ๋ฐ ํด๋ผ์ด์ธํธ ๋ณด์ ๋น๋ฐ๋ฒํธ ํ์ธ ๊ฐ๋ฅ ์ด๊ฒ์ ๋ณต์ฌํด ๋์ต๋๋ค. gradle์ ์ถ๊ฐ dependencies { //oauth imp..

๊ฐ๋ฐํ๊ณ ์๋ ํ๋ก์ ํธ์ Querydsl์ ์ ์ฉํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. Querydsl์ ์ฅ์ ์ ์ฐ์ฑ ๋ฐ ๊ฐ๋ ฅํ ๊ฒ์ ๊ธฐ๋ฅ : Query DSL์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๊ฒ์ ์กฐ๊ฑด์ ํํํ ์ ์์ต๋๋ค. ์งํํ๊ณ ์๋ ํ๋ก์ ํธ ๋ฉ์ธํ์ด์ง ๋ฐ ์์ฝ ๊ฒ์ฌ ์ jpa repository๋ฅผ ํตํด ์ฌ๋ฌ ๋ณต์กํ ์กฐ๊ฑด์ ๊ฑฐ์ณ DB์ ์ฌ๋ฌ ๋ฒ ์ ๊ทผํ๊ฒ ๋๋๋ฐ QueryDSL์ ํ์ฉํ๊ฒ ๋๋ค๋ฉด ๊ทธ๋ด ํ์ ์์ด ๊ฒ์ ์กฐ๊ฑด๊ณผ ํํฐ๋ฅผ ์กฐํฉํด ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ฐ๋ ์ฑ ๋ฐ ์ดํด๋ ํฅ์ : Query DSL์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ์ ์ด๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ฌ ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฑ๋ฅ ํฅ์ : ์ ์ ํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํจ์ผ๋ก์จ ์ฑ๋ฅ์ ํฅ์ํ ์ ์..