반응형
트랜잭션(Transaction)트랜잭션은 DB의 상태를 변경시키기 위해 수행하는 작업 단위입니다.여기서 DB의 상태를 변경시킨다는 SELECT, UPDATE, INSERT, DELETE 와 같은 쿼리를 날려 연산을 수행하는 것입니다.트랜잭션을 좀 더 쉽게 풀이해서 이야기 하자면, 트랜잭션을 한국어로 번역하면 "거래"즉, DB에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것이라고 할 수 있습니다. 그런데 여기서 거래를 안전하게 처리하도록 보장해준다는 말이 무엇일까요?이 얘기를 쉽게 이해하기 위해 우리가 일상속에서 자주 이용하는 계좌이체를 예시로 들 수 있습니다. 계좌이체 예시 ( 트랜잭션이 없을 경우 )짱구와 철수가 있습니다.짱구와 철수는 각각 계좌에 10000원씩 있습니다.짱구가 철수한테 ..
인텔리제이로 테스트 코드를 테스트 돌리던 와중 기존엔 발생하지 않던 에러가 갑자기 발생했습니다. java: warning: source release 17 requires target release 17 해당 에러는 설정만 조금 건들여주면 쉽게 해결 가능합니다. 참고로 제가 사용하고 있는 자바 버전은 JAVA 11 입니다. 오류 해결 1. "파일 -> 설정 -> 빌드, 실행, 배포 -> 컴파일러 -> Java 컴파일러" 경로로 들어갑니다. 2. 모듈당 바이트코드 버전: 밑에 + 버튼을 클릭해 현재 프로젝트를 선택하여 추가합니다. 3. 그 다음 대상 바이트코드 버전을 현재 사용하고 있는 JAVA 버전과 똑같이 설정하고 적용합니다. 버전과 관련된 호환성 체크 및 버전 정보 설정 만약 새 JAVA 버전을 다운..
문제 설명 제한사항 입출력 예 Solution.py 이 문제를 풀기 위해 2개의 딕셔너리를 활용했는데 하나는 달리기 순위를 key로 갖고 선수 이름을 value로 갖는 rank_Dic 다른 하나는 선수 이름을 key로 갖고 달리기 순위를 value로 갖는 player_Dic 으로 만들었습니다. 두 개의 딕셔너리를 활용하는 이유는 아래의 코드를 보면 이해되겠지만, 순위가 변경될 때 서로의 value값을 참조하기 때문입니다. 서로의 value값을 참조하며 callings 배열에 있는 선수들 정보를 가지고 이름을 불린 선수와 그 선수의 앞에 있는 선수를 서로 변경하여 마지막으로 result 에 맞도록 rank_Dic의 value들을 반환합니다. 정답 코드 def solution(players, callings..
이전 포스팅에서 유효성 검증하는 법에 대해 알아봤었습니다. (이전 포스팅에서 다룬 내용들은 이번 포스팅에서는 생략) [Spring] 유효성 검증하기 (Validation) 웹 애플리케이션을 만들고 유효성 검증을 추가 하지 않는다면, 사용자가 폼에 잘못된 값을 입력할 시 아래와 같은 오류화면을 만나게 될 것 입니다. 이렇게 되면 클라이언트 입장에서는 상당히 hstory0208.tistory.com 하지만 이 전처럼 검증 기능을 매번 코드로 작성하는 것은 상당히 번거로운 작업입니다. 스프링은 이런 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화한 Bean Validation을 제공합니다. Bean Validation을 잘 활용하면, 애노테이션 하나로 검증 로직을 매우 편리하게 적용할 수 있습..
웹 애플리케이션을 만들고 유효성 검증을 추가 하지 않는다면, 사용자가 폼에 잘못된 값을 입력할 시 아래와 같은 오류화면을 만나게 될 것 입니다. 이렇게 되면 클라이언트 입장에서는 상당히 당황스러울 것이고 입력한 값이 모두 날라가 처음부터 다시 작성해야 하는 일이 생깁니다. 또한 우리가 웹 사이트에서 값을 잘못입력했다고 이런 오류화면을 본적도 없죠. 우리는 웹 서비스를 할 때 이렇게 클라이언트가 해결하지 못하는 오류 화면을 보여줄 것이 아니라 클라이언트가 잘 못 입력했을 시 무엇을 잘못 입력했는지, 어떻게 입력해야하는 지를 알려줘야합니다. 그래서 Validation 검증 기능을 추가해 어떤 값을 잘못 입력했는지 알 수 있도록 해봅시다. 결과물과 주의점 이 포스팅은 검증 설명에 중점을 뒀기 때문에 예제에 사..
상품명 가격 수량 아래의 HTML 코드를 보면 상품명 또는 가격, 수량으로 각 구분자의 표시되는 이름들이 하드코딩 되어있습니다. 지금이야 간단한 HTML 이라서 상관은 없겠지만, 만약 여러 HTML에 동일하게 적용되어있는 상품명, 가격, 수량의 이름이 변경되어야 한다면 어떨까요? 일일히 HTML을 다 들어가서 하나씩 지우고 수정하고 해야 할 것입니다. 이러한 번거로움 작업을 메시지 기능을 통해 관리하는 방법을 알아봅시다. 메시지 기능 적용하기 먼저 messages.properties 라는 메시지 관리용 프로퍼티 파일을 만들어 줍니다. 그리고 key , value 형식으로 값을 입력합니다. ( {0}, {1} ... 등 파라미터도 적용 가능) item=상품 item.id=상품 ID item.itemName..