목록IT/Spring (6)
꾸준히 기록하자
동시성 제어(Concurrency Control)여러 프로세스나 스레드가 동시에 동일한 자원에 접근할 때 발생할 수 있는 충돌이나 데이터 일관성 문제를 방지하기 위한 기법이다.다수의 스레드가 한 자원(변수, 데이터베이스, 파일 등)에 동시 접근하면 예상치 못한 결과가 발생할 수 있다.스프링에서 동시성 제어 방법ReentrantLock은 자바의 Lock 인터페이스를 구현한 클래스 중 하나로 동시성 제어할 수 있는 도구이다.주요 특징1. 재진입 가능( Reentrant)동일한 스레드가 여러 번 연속해서 lock을 획득할 수 있는 기능을 제공한다. 예를 들어, 한 스레드가 이미 lock를 가지고 있을 때, 스레드가 같은 lock을 다시 요청해도 블로킹되지 않고 바로 접근할 수 있다.2. 공정성 설정 가능 (F..
아래 내용은 망나니개발자님의 블로그 내용을 공부하면서 정리한 내용입니다.https://mangkyu.tistory.com/143 [TDD] 단위 테스트(Unit Test) 작성의 필요성 (1/3)1. 단위 테스트 vs 통합 테스트 차이 [ 단위 테스트(Unit Test) ] 단위 테스트(Unit Test)는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다. 여기서 모듈은 애플리케이션에mangkyu.tistory.com단위 테스트(Unit Test)하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이며, 모듈은 애플리케이션에서 작동하는 하나의 기능 또는 메서드로 이해할 수 있다. "어떤 기능이 실행되면 어떤 결과가 나온다" 정도로 테스트를 진행하다. 통합 테스트(In..
아래 내용은 망나니개발자님의 블로그 내용을 공부하며 작성한 정리글입니다.https://mangkyu.tistory.com/182 [TDD] 단위 테스트와 TDD(테스트 주도 개발) 프로그래밍 방법 소개 - (1/5)이번에는 여러 개발 서적들 및 실무 경험 그리고 시행 착오 등을 겪으면서 얻은 테스트 주도 개발 방법에 대해 소개해보고자 합니다. 이번 포스팅에서는 먼저 단위 테스트와 중요성 그리고 단위mangkyu.tistory.com단위 테스트(Unit Test)를 작성해야 하는 이유코드를 수정하거나 기능을 추가할 때 수시로 빠르게 검증할 수 있다.리팩토링 시에 안정성을 확보할 수 있다.개발 및 테스팅에 대한 시간과 비용을 절감할 수 있다.비용이 크다라는 말은 통합 테스트를 위해 캐시, 데이터베이스 등 외..
HTTP 프로토콜에서 GET과 POST 메서드는 웹 애플리케이션에서 데이터를 전송하고, 정보를 요청하는 데 핵심적인 역할을 합니다. HTTP GET데이터 요청: 서버에서 데이터를 요청하는 데 사용됩니다. 주로 리소스를 조회하거나 정보를 가져오는데 활용되며, 서버에 데이터를 변경하거나 업데이트하지 않습니다.안정성: 안전한 요청으로 간주되며, 서버의 상태를 변경하지 않습니다. 단지 서버로부터 데이터를 조회할 뿐이기 때문에, 서버의 데이터나 리소스에 영향을 미치지 않습니다.멱등성: 보장합니다. 동일한 GET 요청을 여러 번 수행해도 서버의 상태는 변하지 않으며, 동일한 결과를 반환됩니다.데이터 전달 방식: GET 요청에서 클라이언트는 데이터를 URL의 쿼리 문자열로 전달합니다. 예를 들어, http://exa..
HTTP 프로토콜에서 PUT과 PATCH 메서드는 서버의 리소스를 수정하는 데 사용되는 중요한 도구입니다. 두 메서드는 특정 상황에 적합한 방식으로 리소스를 처리하고 웹 애플리케이션 개발에서 필수적인 역할을 합니다. HTTP PUT리소스의 전체를 수정: 클라이언트가 제공하는 전체 리소스 표현으로 서버의 리소스를 수정합니다. 클라이언트는 리소스의 모든 속성을 포함하여 요청을 보내야 하며, 서버는 기존 리소스를 클라이언트가 제공한 데이터로 완전히 교체합니다.제공되지 않은 속성 처리: 클라이언트가 제공하지 않은 속성은 기본값이나 null로 설정될 수 있습니다. 즉, 전체 리소스를 대체하므로, 클라이언트가 제공하지 않은 필드는 삭제된 것으로 간주될 수 있습니다.리소스가 존재하지 않는 경우: 서버는 새 리소스를 ..
CollectionUtils.isEmpty()에 대해 알아보겠습니다. import org.springframework.util.CollectionUtils; CollectionUtils.isEmpty()는 java Collection(List, Map, Set)의 종류의 값들의 존재 여부를 판단하는 메서드입니다. List list = new ArrayList(); Set set = new HashSet(); Map map = new HashMap(); boolean bListEmpty; bListEmpty = CollectionUtils.isEmpty(list); System.out.println("list : " + bListEmpty); bListEmpty = CollectionUtils.isEmpt..