목록2024/05 (2)
나의 개발일지
기본적으로 웹 환경에서는 동시에 여러 요청들이 들어올 수 있고, 스프링 같은 멀티스레드 환경에서는 여러 스레드가 한 자원을 공유할 수 있어 데이터 정합성 문제가 발생할 수 있다. - 친구요청 (A->B) 친구요청 건(A) 사용자 조회 -> 친구 요청을 받은(B) 사용자 조회 -> 친구 테이블에서 A->B가 친구인지 / 친구 요청을 걸었는지 조회 -> 친구 테이블에서 B->A가 건 요청이 있는지 조회 -> 모든 예외에 걸리지 않으면 친구 테이블에 A->B에게 요청을 건 정보를 저장. ex) B->A요청이 진행되고 있는 상태에서 A->B 요청이 실행되면 전자 요청이 없는 것으로 조회가 되기 때문에 A->B요청이 정상적인게 되어버림.Redis를 활용한 분산락을 사용해 동시성 제어를 할 수 있다.분산락: 분..
GitHub Actions란 SW 개발 라이프 사이클 안에서 PR, Push 등의 이벤트 발생에 따라 자동화된 작업을 진행할 수있게 해주는 기능. 자동화된 작업이 필요한 경우 ?1. CI/CD 로컬 repository -> 원격 repository로 push하고 GitHub Actioins에서는 이벤트 발생에 따라 자동으로 빌드 및 배포하는 스크립트를 실행. 애플리케잇녀의 규모가 클수록 빌드, 배포 시간이 오래 걸리는데 이걸 자동화 시켜놓으면 시간 절약을 할 수있음2. Testing 팀 프로젝트 중 PR을 보내면 자동으로 테스트를 진행하는 것을 GitHub Actions로 구현 할 수 있다. => 테스트 성공 여부에 따라서 자동으로 PR을 Open 및 Close 할 수있음.3. Cron ..