- [ 공부/Spring ][Spring] 스프링 DB 1편 3) 트랜잭션 이해(2)2023-11-17 09:34:26스프링 DB 1편 데이터 접근 핵심 원리 Session 3 트랜잭션 이해 7. DB 락 - 개념이해 1) DB 락 세션 1이 트랜잭션을 시작하고 데이터를 수정하는 동안 커밋을 수행하지 않았을 때 세션 2에서 동시에 같은 데이터를 수정하게 되면 트랜잭션의 원자성이 깨지게 된다. 이 문제를 해결하기 위해 세션이 트랜잭션을 시작하고 데이터를 수정하는 동안 커밋이나 롤백을 수행하기 전까지 다른 세션에서 해당 데이터를 수정할 수 없게 막기 위해 데이터베이스는 락이라는 개념을 제공 2) DB 락 동작 1. 세션 1이 memberA의 금액을 500원으로 변경하고 싶고 세션 2는 memberA의 금액을 1000원으로 변경하고자 함(세션 1이 먼저 시작) 2. 세션 1이 트랜잭션을 시작하면서 memberA의 금액을 50..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 배열만들기 12023-11-16 09:33:06문제 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 풀이 int[] answer = new int[n/k]; int idx = 0; for(int j = 1; j
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 문자 개수 세기2023-11-15 09:19:57문제 알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,..., my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요. 풀이 class Solution { public int[] solution(String my_string) { int[] answer = new int[52]; for(int i =0; i < my_string.length(); i++){ char c = my_string.charAt(i); if (c..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 접두사인지 확인하기(startWith 시작 문자 확인)2023-11-14 09:24:01문제 어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다. 문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요. 풀이 class Solution { public int solution(String my_string, String is_prefix) { return my_string.startsWith(is_prefix) ? 1: 0; } } ▶ startWith(is_prefix) 대상 문자열이 주어진 문자, 문자열로 시작하는지 ..
- [ 기록/프로그래머스 ][프로그래머스] 코딩테스트 입문 문제 완료2023-11-13 09:57:26드디어 입문 완료😎
- [ 공부/Spring ][Spring] 스프링 DB 1편 3) 트랜잭션 이해(1)2023-11-13 09:42:37스프링 DB 1편 데이터 접근 핵심 원리 Session 3 트랜잭션 이해 1. 트랜잭션 개념이해 1) 트랜잭션 데이터베이스를 사용하는 이유는 트랜잭션이라는 개념을 지원하기 때문 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해 주는 것 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것을 커밋이라고 하고 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백이라고 한다. 2) 트랜잭션 ACID 원자성 Atomicity : 트랜잭션 내에서 실행한 작업은 하나의 작업인 것처럼 모두 성공하거나 모두 실패해야 한다. 일관성 Consistency : 트랜잭션은 일관성 있는 데이터베이스 상태 유지해야 한다. 격리성 Isolation : 동시에 실행되는 트랜잭션이 서로에게 영향을 미치지 않도..
- [ 공부/Java ][자바] 아스키코드2023-11-13 04:20:56대문자 A~Z 65~90 소문자 a~z 97~122 0~9 48~57
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 이진수 더하기2023-11-13 01:11:31문제 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. 풀이 class Solution { public String solution(String bin1, String bin2) { String answer = ""; int num1 = Integer.parseInt(bin1, 2); int num2 = Integer.parseInt(bin2, 2); answer = Integer.toBinaryString(num1+num2); return answer; } } ▶ parseInt(bin1, 2) 2진수인 문자열을 10진수로 변환해서 반환해준다. ▶ toBinaryString(num1+num2) 10진수..