전체 글115 Flask에서 Swagger사용 1. Swagger 란?* RESTful API를 설계, 빌드, 문서화 및 소비하는 데 도움이 되는 오픈 소스 도구 집합, 즉 API의 명세와 문서화를 위한 도구이다* API 문서화를 직접 문서에 적고 하는 것은 매우 귀찮고, API가 수정될때마다 문서를 같이 수정하는 것은 더욱 귀찮아서 이러한 불편함을 줄여주기 위해 사용하고, 프로젝트를 모르는 사람이 프로젝트 테스트 해볼시 이해하기 쉽게 해주는 용도다. 2. 설치하고 시작전 알아보기일단 swagger를 아예 처음 사용해보는거라 완벽한 답은 아직 잘 모르겠는데,ChatGpt도 그렇고 Gemini도 그렇고 구글 블로그들 봐도 대부분 테스트 코드가 아닌 실제 API로 테스트 해보는거로 나와있고 답변해서, Swagger로 실제 API 호출해서 테스트 해볼거다.. 2024. 12. 30. 10. 도커 컴포즈 -(3) 7. 컴포즈로 컨테이너를 동시에 2개 띄워보기이전에 컴포즈의 장점중 여러개의 컨테이너를 하나의 환경에서 실행하고 관리하니 편하고 좋기때문에 사용한다 해서 이번에 동시에 2개 띄워보기 (1) Redis 랑 Mysql 동시에 띄워보기이전과 같이 컨테이너 1개 띄웠을때랑 별 차이 없이 services 하위에 저렇게 따로따로 적고 실행시키면 끝이다. (2) Spring Boot 랑 Mysql 동시에 띄워보기일단 스프링 부트 프로젝트니 이전과 마찬가지로 도커 파일로 이렇게 하나 이번엔 jar 파일을 절대 경로로 적어본다 위에서 했던 redis,mysql 처럼 services 하위에 저렇게 각각 적는데 이번에 보면 mysql 코드쪽에 MYSQL_DATABASE는 컨테이너 생성할때 데이터베이스도 생성해주는 옵션이다... 2024. 11. 19. [만료된 액세스 토큰 정보 가져오기]JWT expired at 2024-11-18T08:40:20Z. Current time: 2024-11-18T08:41:18Z, a difference of 58493 milliseconds. Allowed clock skew: 0 milliseconds. 에러 메세지io.jsonwebtoken.ExpiredJwtException: JWT expired at 2024-11-18T08:40:20Z. Current time: 2024-11-18T08:41:18Z, a difference of 58493 milliseconds. Allowed clock skew: 0 milliseconds. at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:427) ~[jjwt-impl-0.11.5.jar:0.11.5] at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:529) ~[jjwt-impl-0.11.5.jar:0.11.5].. 2024. 11. 18. 9. 도커 컴포즈 -(2) 4. 도커 컴포즈로 Redis 실행시키기$ docker run -d -p 6379:6379 residCompose.yml에 적은거 보면 이전 명령어CLI에 했던거랑 같은뜻$ docker compose up -d$ docker compose ps$ docker ps$ docker exec -it [컨테이너 ID 또는 컨테이너명] bash$ redis-cli127.0.0.1:6379> set 1 seok127.0.0.1:6379> get 1이렇게 컴포즈로 실행 시켜보고 레디스 접속후 데이터 넣고 확인해보니 정상 작동한다. 5. 도커 컴포즈로 MySQL 실행시키기$ docker run -e MYSQL_ROOT_PASSWORD=pwd1234 -p 3306:3306 -v /Users/jaeseong/Docume.. 2024. 11. 18. 8. 도커 컴포즈 -(1) 1. 도커 컴포즈를 사용하는 이유도커 컴포즈(Docker Copmose)란?여러 컨테이너를 하나의 묶음으로 관리할 수 있게 도와주는 툴이다 (1) 여러개의 컨테이너를 하나의 환경에서 실행하고 관리하니 편하고 좋기때문에 사용(2) 컨테이너를 복잡한 명령어로 실행시키던걸 간소화 시킬 수 있다. 이전에 Mysql 생성,실행,호스트-컨테이너 포트 연결,볼륨 연결할때 명령어보면 복잡한데 이거를docker compose up 명령어로 간단하게 해결 가능하다$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql .. 2024. 11. 18. 7. 도커파일 -(2) 4. 스프링 프로젝트를 도커로 실행도커파일에 이렇게 스냅샵 파일을 복사하는데 컨테이너의 최상위인 상대경로로 복사 하는거다.(컨테이너 어디에 복사하던 절대경로로 하던 맘대로)FROM openjdk:17-jdkCOPY build/libs/*SNAPSHOT.jar app.jarENTRYPOINT ["java","-jar","/app.jar"] 인텔리제이 GUI로 직접 빌드하거나 명령어로 빌드하고 빌드하고나면 build-libs에 스냅샵 자르 파일이 생성되는데이거로 이제 프로젝트를 실행 시키는거니 컨테이너에 이거를 복사해야한다.$ ./gradlew clean build 이후 해당 컨테이너 로그 찍어보고 직접 크롬에서 요청해보니 정상 작동한다$ docker build -t hello-server .$ docke.. 2024. 11. 15. 이전 1 2 3 4 ··· 20 다음