1. 트랜잭션 ACID2. 트랜잭션 격리 수준3. DB 세션4. 트랜잭션 직접 구현 트랜잭션 ACID원자성 (Atomicity)트랜잭션 내에서 실행한 작업들은 모두 성공하거나 모두 실패일관성 (Consistency)일관성 있는 데이터베이스 상태 유지 (무결성 제약 조건을 항상 만족)격리성 (Isolation)동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않아야함지속성 (Durability)트랜잭션을 성공적으로 끝내면 그결과가 항상 기록되어야함 트랜잭션 격리 수준READ UNCOMMITED (커밋되지 않은 읽기)READ COMMITTED (커밋된 읽기)REPEATABLE READ (반복 가능한 읽기)SERIALIZABLE (직렬화 가능)일반적으로, READ COMMITED(커밋된 읽기)가 기본적으로 ..
1. 커넥션 풀이란?2. 커넥션 풀 구조3. 커넥션 풀 오픈소스4. 커넥션 풀 직접 구현 Connection Pool 이란?DB와 연결을 짓는 과정자체를 Connection 과정이라고 일컫는다.여기서 매번 DB와의 연결을 위해서 TCP/IP 3wayhandshake를 과정을 거치기도 하고, 인증과정도 거치게된다.이런 과정속에서 인증하고 커넥션 작업을 하는데에만 리소스를 많이 사용하게 될 수도 있기에 미리 커넥션을 맺어놓아 보관해두는 공간을 "Connection Pool"이라고 한다.위의 그림과 같은 과정을 통해 DB의 커넥션을 가지고 올 수 있다단점매번 요청시마다 커넥션을 맺는과정을 거쳐야한다. (리소스를 효율적으로 사용하지 못함)DB의 상황에따라 많은 수의 쿼리 요청을 받지 못할 가능성이 존재한다.데이..
1. MariaDB 설정2. GCP 클라우드 방화벽 설정3. spring boot 설정 MariaDB 설정계정 자체 외부 접속 허용[계정 자체 외부 접속 허용]- mysql 데이터베이스로 들어가면 기본적으로 localhost로 지정되어있다- 새로운 계정을 생성하거나 root 외부접속 권한을 열어줘야함 ( Host : % -> 모든 범위에서 허용 )use [database];//조회select user,host from user;+-------------+-----------+| User | Host |+-------------+-----------+| mariadb.sys | localhost || mysql | localhost || root | localh..
Queue?선입선출 (First In First Out)- 먼저 들어온 값을, 먼저 내보내는 자료구조 Queue 클래스public interface Queue extends Collection { boolean add(E e); boolean offer(E e); E remove(); E poll(); E element(); E peek();}메서드반환값설명add삽입 성공시 (true) / 실패시 (false)큐에 삽입offer삽입 성공시 (true) / 실패시 (false)큐에 삽입remove삭제된 value 반환,value 없으면 NoSuchElementException 반환큐에서 삭제poll삭제된 value 반환,value 없으면 null 반환큐에서 삭제elemen..
문제N장의 카드가 존재 (순서가 순차적으로 카드개수만큼 존재)1. 1에서 N까지 번호가 존재2. 아래 동작으로 계속 반복 후 마지막 수를 출력 ( 순서 ) > 가장 위에 있는 카드를 바닥에 버림 > 그다음 가장 위에있는 카드를 마지막으로 옮김 > 이걸 반복정수 N ( 1 문제분석가장 위에있는 카드를 가장 마지막으로 이동 시키는 작업 ( -> Queue의 이해도 확인 )선입선출을 생각하여 문제 풀기 슈도코드N개 입력 받기for( 카드의 개수 ){ 큐에 카드 저장}while( 카드 1장이 남을때까지 ){ 맨위의 카드를 버림 맨위의 카드를 가장 아래의 카드 밑으로 이동}마지막으로 남은 카드 출력 구현import java.io.BufferedReader;import java..
Ubuntu 22.04 + MariaDB 10.6 Ubuntu22.04Ubuntu 22.04의 경우, 기본 apt에 속해있는 MariaDB 버전은 10.6이다Springboot와 호환이 되기 위해서는 10.6 이상 필요> 패키지 검색" apt list [패키지명] "> 패키지 설치" apt-get install -y mariadb-server "" apt-get install -y mariadb-client " MariaDB 아카이브아카이브에 들어가면, 해당 필요한 버전 및 OS에 맞는 파일이 존재해당 파일 다운로드 후, 서버에서 압축해제https://archive.mariadb.org/mariadb-11.4.3/bintar-linux-systemd-x86_64/ Maria 설치 과정 (root 계정으..
1. 인프라 구성2. 개발환경 인프라 구성GCP 를 이용하여, DB 서버 및 웹서버 구축Thymeleaf를 이용하여 View Page 구현 (Bootstrap 적용, jQuery를 이용하여 restAPI구현)MariaDB를 사용하여, DB 구축 (JPA 사용 예정) 개발환경JAVA 17 버전 사용MariaDB 10.6 버전 이상 사용 (10.6부터 호환되기에 11.4대신해서 10.6 사용)Spring boot 3.3.5 버전 사용 (thymeleaf 와 bootstrap은 버전에 맞춰 사용 예정)intllij 사용
GCP 로그인 후 VM 생성 이동 무료티어 버전 확인GCP 정책에 의해서, 무료티어 스펙이 존재(해당 부분은 주기적으로 업데이트 되므로 확인 요망)https://cloud.google.com/free/docs/free-cloud-features?hl=ko#compute Google Cloud 무료 프로그램 | Google Cloud Free Program이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Google Cloud 무료 프로그램 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google Cloud의 기본cloud.google.com 서버 설정 ( 리전 ) 서버 설정 ( cpu + mem ) 서버 설정 ( 코어 설정 ) ..
- Total
- Today
- Yesterday
- JSON
- 버블정렬
- Spring
- 코딩테스트
- Thymeleaf
- 백준
- BFS
- 검증
- 우선순위 큐
- 예외처리
- Java
- 정렬
- 타입변환
- 이진탐색
- 오블완
- 티스토리챌린지
- 클래스
- 기술면접
- JDBC
- 깊이우선탐색
- 포트폴리오
- HTML5
- stack
- bean
- DFS
- 게시판
- SQL
- 알고리즘
- 게시판 프로젝트
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |