본문 바로가기

분류 전체보기64

MYSQL - LOCK Lock 락은 기본적으로 동시성을 보장한다. 즉. 락은 동시성을 제어할 때 락의 범위를 최소화를 하는게 중요하다. 왜냐하면 락의 범위가 길어지면 대지중인 커넥션이 많아지고 나중에는 커넥션 풀이 고갈로 이어질 수 있다. 기본적으로 MySQL에서는 트랜잭션 커밋 , 록백시점에 락이 풀린다. 트랜잭션이 곧 락의 범위가 된다고 생각하면 된다. MySQL에서 락은 크게 InnoDB 엔진 , MySQL 엔진 레벨로 나눌 수 있다. 📌 비관적 동시성 제어(PCC, Pessimistic Concurrency Control) 비관적 락이라고도 하며 트랜잭션이 충돌하는 가정하에 잠금을 거는 방식 일반적으로 Shared Lock, Exclusive Lock을 통해 이를 구현한다. 📌 낙관적 동시 수행 제어(OCC, Opti.. 2023. 2. 28.
코드숨 스프링[15기] - 3주차 회고록 이번 주에 했던 작업 JUnit 5 , MockMVC을 이용한 첫 테스트 코드 작성 AssertJ , Mockito를 이용해서 테스트 작성 Given , When , Then 테스트 코드 작성하면서 느낀점 코드의 작성은 개발자가 하지만 그 코드를 보는 사람을 생각하며 작성하자 코드의 작성은 개발자가 하지만 테스트 코드는 비즈니스 로직을 검증 이외에 다른 사람들에게 쉽게 내가 생각한 로직을 명확하게 표현을 할 수 있다고 생각한다. @Nested , @DisplayName에 명확한 이름을 사용하여 가독성을 높이는게 생각보다 더 중요하다고 느꼈다. 빠르게 검증이 가능하다. 기존에 프로젝트를 하면서 테스트를 하는것 보다 빠르게 시나리오를 만들어서 로직을 검증을 하니 개발에 대한 시간이 줄어들고 에러를 더 쉽게 .. 2023. 2. 26.
코드숨 스프링[15기] - 2주차 회고록 이번 주에 했던 작업 Spring 웹을 이용한 Todo Rest Api 구현을 만들었다.( 1주차에는 스프링을 사용하지 않았다.) 스프링을 사용하고 느낀 점 코드숨을 하기 이전에는 스프링 프레임워크를 사용을 해봤으나 스프링을 사용하지 않고 비교를 해본 적이 없었다. 프레임워크를 사용하고 기존에 작성한 코드가 간단해지고 가독성이 좋아졌다.기존에 알고 있던 프레임워크의 기술을 더 자세하게 학습하고 어떤 점에서 더 편리하게 사용을 할 수 있는지 학습하는 기회가 되었다. 이번 주에 사용한 기술 Spring Boot , Spring Web Marko.js , Axios Springboot - dev - tools @CrossOrigin 스프링 프레임워크를 사용을 하였고 스프링 부트를 처음 사용을 해보았다. 물론 .. 2023. 2. 19.
[SpringBoot] Slack으로 알림 보내기 소개 요즘 Slack을 자주 사용하게 되어서 Spring boot를 통해서 Slack에 알림을 보내기를 시도했다. 1. 워크스페이스 및 채널 - 일단 기존에 있는 채널을 사용을 했는데 만약에 프로젝트를 한다면 새로운 채널을 만드는 방법을 추천한다. 2. 서브 채널 -> 세부정보 보기 - 서브 채널을 하나 선택을 하고 욱클릭을 하여 채널 세부정보 보기를 선택한다. 3. 통합 -> 앱 -> 앱추가 4. 검색 -> webhook 검색 검색을 할 때 webhook을 검색하여 Imcoming-webook을 설치한다. 5. URL 확인 Slack api 사이트에 들어가서 Add Incoming WebHooks Integration을 누르면 밑에 화면이 나오는데 여기서 URL을 복사한다. 5-2. webhook 테스.. 2023. 2. 15.