728x90
반응형

2024/02 2

Github Action에서 간단한 테스트 자동화 하기!

왜 Github Action? Github Action을 이용하면 여러 테스트를 자동화할 수 있습니다. 저는 42Seoul 과정을 진행하면서 팀 과제를 진행하며 Github Action을 통해 2개의 테스트 자동화를 구축하고 사용하고 있습니다. 1. Makefile의 make명령이 제대로 make가 되는지 여부 테스트 2. Norminnete(코딩 컨벤션)을 맞춰서 코드를 작성했는지 테스트 이러한 테스트들을 통해 Make가 가능한 코드만 master에 머지를 한다던지 등의 팀 내규를 만들어서 소스코드를 관리할 수 있어서 매우 편리합니다. 어떻게 작동하나요? (간단히) Github Action은 일시적으로 가상 환경을 띄워서 그 안에서 사전에 지정해둔 job들이 실행되는 순서로 작동합니다. 꼭 테스트뿐이 ..

Develop(개발) 2024.02.25

[Spring] Transaction으로 인한 중복 아이디 회원 생성 문제

회원가입 엔드포인트로 빠르게 연속으로 요청 시 중복 회원 생성 문제 회원가입 엔드포인트로 빠르게 연속해서 같은 회원가입 요청을 보내면 생성 중인 유저에 대한 존재 유무가 체크되지 못해서 중복된 회원이 생성되는 문제가 발견됐습니다. 프론트엔드에서 회원가입 버튼을 연타하지 못하게 비활성화한다면 일시적으로는 괜찮겠지만 근본적으로 서버에서 이런 현상이 가능하다는 것이 문제이기 때문에 서버에서 문제를 방지하는 해결책이 필요합니다. 문제 원인 분석 이 문제는 백엔드에서 유저 생성이 Transaction 하게 처리되기 때문에 발생하는 문제입니다. 유저의 정보가 모두 생성되는 시점에서야 DB에 유저의 정보가 반영되기 때문에 유저의 정보가 생성되는 시간 동안 똑같은 이름의 유저를 생성하는 요청을 서버에 보내더라도 DB에..

728x90
반응형