본문 바로가기

Programming14

[Spring] JwtException에서만 Cors에러가 발생할 때 문제 위와 같은 Spring Security의 Filter Chain이 있다. 범용적으로 Jwt 에러를 해결하기 위해, 서블렛으로 넘어가기 전에 JwtExceptionFilter에서 Jwt 만료 등의 에러가 발생 시 Exception을 던져 주고 있었다. 그런데 다른 곳에서는 Cors 에러가 발생하지 않다가, 갑자기 에러가 발생하기 시작했다. 해결 @RequiredArgsConstructor @EnableWebSecurity @Configuration public class SecurityConfig { private final JwtUtil jwtUtil; private final CorsConfig corsConfig; @Bean public SecurityFilterChain filterChain(.. 2023. 10. 29.
[FastAPI] SqlAlchemy Connection time out Error 발단 갑자기 프론트엔드 개발자에게서 이런 카톡이 왔다. 500이 나오다가 갑자기 제대로 된 응답을 받는 이유가 뭘까. 생전 처음 보는 에러라서 우선 에러 로그를 확인해 보기로 했다. 원인 Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 920, in do_execute cursor.execute(statemen.. 2023. 10. 2.
한국관광공사 관광사진 정보 크롤링해서 DB에 저장하기 개요 관광데이터 공모전에서 필요한 지역별 관광사진을 오픈 API에서 가져와 데이터베이스에 저장해야 한다. 관련된 데이터베이스를 보면 다음과 같은 형식으로 설계되어 있다. API를 개발중인 언어는 Java, 프레임워크는 Spring이지만, 굳이 클라우드와 배포 서버를 활용해서 관련 코드를 퍼블릭하게 배포할 이유가 없고, 단발성으로 사용하고 사라질 코드이기 때문에 속도가 빠르고 손에 익숙한 Go를 활용해 보기로 했다. 개발 튜토리얼 1. 데이터베이스와 연결하기 package main import ( "database/sql" "encoding/json" "fmt" "io/ioutil" "log" "net/http" "net/url" "strconv" "strings" "time" "github.com/go-.. 2023. 9. 23.
[도메인 주도 개발 시작하기] 8장. 애그리거트 트랜잭션 관리 개요 한 주문 애그리거트에 대해 운영자는 배송상태로 변경할 때, 사용자는 배송지 주소를 변경하면 어떻게 될까? ⇒ 8장에서는 동일한 데이터에 대해 두 가지 방식의 요청이 들어올 때, 일관성을 깨지 않고 데이터를 변경하는 방법에 대해 다룬다. ⇒ 추가적인 트랜잭션 처리 기법을 다룬다. ⇒ 위의 예시에 대해서는 다음과 같은 방법이 있는데, [선점] 운영자가 배송지 정보를 조회하고 상태를 변경하는 동안 / 고객은 애그리거트 수정 불가 [비선점] 운영자가 배송지 정보를 조회한 이후 / 고객이 정보 변경 / 운영자가 애그리거트 다시 조회 뒤 수정 선점 잠금 선점 잠금(Pessimistic Lock): 먼저 애그리거트를 구한 스레드가 애그리거트 사용에 대한 우선권을 가짐 → 한 스레드의 애그리거트 사용이 끝날때까지.. 2023. 5. 3.