본문 바로가기

전체 글

(92)
프로그래머스_핸드폰 번호 가리기 핸드폰 번호 가리기 문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한사항 s는 길이 4 이상, 20이하인 문자열입니다. 입출력 phone_number return "01033334444" "***4444" "027778888" "*****8888" 입출력 예 설명 없음 풀이 과정 뒷 4자리를 제외한 숫자를 마스킹 하므로 받아오는 phone_number의 길이에서 4를 뺴준 만큼 "*" 로 answer에 담아준다. 나머지 4자리는 String(문자열)으로 받아오는 phone..
트랜잭션의 ACID란? 항해 46일차 이전 글에서 트랜잭션에 대해서 찾아봤고 데이터베이스 트랜잭션은 ACID라는 특성을 가지고 있다. ACID? ACID는 데이터베이스 내에서 일어나는 하나의 트랜잭션의 안정성을 보장하기 위해 필요한 성질이다. ACID속성 트랜잭션을 정의하는 4가지 중대한 속성을 가르킨다. 원자성(Atomicity), 일관성(Consistency), 격리(Isolation), 영속성(Durability) 을 의미한다. 데이터베이스 작업에 이러한 ACID속성이 있다면 ACID트랜잭션이라 부르고 이런 작업을 적용하는 데이터 스토리지 시스템을 트랜잭션 시스템이라고 한다. ACID 트랜잭션은 한 테이블의 읽기, 쓰기, 수정 작업이 각각 아래와 같은 속성을 가지고 있다고 보장해준다. 원자성(Atomicity) - 트랜잭..
트랜잭션(Transaction) 항해 45일차 트랜잭션이란? 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 데이터베이스의 상태를 변경시킨다는 이야기는 SELECT, UPDATE, INSERT, DELETE 와 같은 행동 이런 트랜잭션은 상황에 따라 여러 개가 만들어질 수 있다. 그 하나의 트랜잭션은 Commit (저장) 되거나 Rollback (철회)될 수 있다. 예로 리뷰를 작성하면 포인트를 받는다고 가정해보자. A,B,C,D가 각각 리뷰를 작성하면 1,000포인트를 지급 해야하고 이를 DB에 저장해야한다. 그런데 A,B,C는 정상적으로 저장이 되었고 D는 저장에 실패했다. 이런 상황은 잘못된 처리이므로 다시 저장을 수행해야 하는데 A,B,C는 이미 저장이 완료되었기에 다시 저장을 하면 2,000포인트가 저장이 된다. 이런..