2024/06 4

[백준/Python] 비슷한 단어 2607

난이도: 실버2분류: 구현, 문자열 key point  - 비슷한 단어일 조건은, '한 단어를 바꿨을 때 같은 구성인 경우'와 '한 단어만을 추가하거나 제거했을 때 같은 구성인 경우' 이다  - 두 문자열을 비교했을 때, 한쪽 구성에서 없는 문자의 수를 diff라고 정의 한다면, 양 쪽 둘 다 diff 인 경우다   fst approach (o)- list에서 in이나 remove를 사용하면 시간이 오래 걸릴까봐 dict를 사용- 코드 길어짐from collections import defaultdictfrom sys import stdininput = stdin.readlinedef check(w: str): d = defaultdict(int) for s in w: d[s] +..

[Transactional] propagation=requires_new 옵션으로, 자식 트랜잭션의 예외에 상관없이 부모 트랜잭션 커밋하기

Untitled 서비스에서는 회원가입시 '기본 유저 정보' 외에 '반려 동물' 정보, '관심사' 정보를 입력받아서 처리해준다.회원가입을 구현하셨던, 개발을 꽤 잘하는 김 모 개발자님은(지금은 취뽀하셔서 함께 하지 못하신다.. 기쁘면서 슬프다) 회원가입 과정에서 반려동물 정보와 관심사 정보를 생성할 때 발생한 예외가 회원가입에 영향을 미쳐서 롤백된다면 유저 경험에 좋지 못하다고 생각을 하셨고, 과감하게 @Transactional을 빼버리셨다.(@Transactional에서 Exception이 발생하면 roll-back only mark가 생기고, 예외 처리를 하더라도 이 트랜잭션은 재사용이 불가능하다. 왜 그런지는 다음 링크를 참고해보자! https://techblog.woowahan.com/2606/) ..

[Github Actions] Test Code Build 실패 (Caused by: org.hibernate.HibernateException at DialectFactoryImpl)

현재 서비스는 Github Actions를 사용해서 CI/CD를 구성했다. 이전에는 테스트 코드를 작성하지 않았기에 '/gradlew build -x test'를 사용해서 테스트 없이 build를 진행하였는데, 이번에 테스트 코드를 간단하게 작성하면서 '/gradlew build'로 바꾸어서 빌드 단계에서 테스트까지 진행하도록 수정했다.  문제 발생 역시나 첫 try 한 build는 실패. infra는 한 번에 성공하면 infra가 아니지 ㅋㅋ..'java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate' 에러가 발생하면서 빌드에 실패했다.      원인 파악 구글링을 해본 결과 'Caused by: org.hibernate.Hi..