| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
- Spring
 - 백준
 - BIT연산
 - BFS
 - procedure
 - ES6
 - wrapper class
 - namenode
 - priorityqueue
 - Transaction
 - Algorithm
 - hdfs
 - EventScheduler
 - 우선순위큐
 - 구현
 - MVC
 - JPA
 - SQL
 - spark
 - S3
 - greedy
 - datanode
 - bigdata
 - MySQL
 - database
 - ACID
 - Parquet
 - boto3
 - 프로그래머스
 - 시뮬레이션
 
- Today
 
- Total
 
목록분류 전체보기 (20)
IT 개발일지
Transaction - Database에서 Transaction이란 정보의 교환이나 데이터베이스 갱신 등과 연관되는 작업에 대한 일련의 연산 - 쪼갤 수 없는 업무 처리의 최소 단위 - 하나의 쿼리가 아닌 쿼리들의 모음(Collection of Queries) 또한 Transaction이 될 수 있다. => 하나의 쿼리에서는 모든 로직의 달성이 어렵기 때문이다. 예를 들면, 계좌 송금을 하는 Transaction이 있다. 해당 Transaction은 1. 송신인의 계좌에 돈이 얼마나 있는지 조회(SELECT) 2. 송신인의 계좌에서 돈 차감(UPDATE) 3. 수신인의 계좌에서 돈 추가(UPDATE) 이렇게 3개의 쿼리가 하나의 송금 Transaction이 될 수 있다. Transaction의 Life..
DAO(Data Access Object) - 영속성 메커니즘(Persistence, ex. 파일 시스템, 데이터베이스)에 접근하는 역할을 하는 객체 - 프로젝트의 서비스 모델에 해당하는 부분과 데이터베이스를 연결 - 주로 CRUD와 같은 처리를 담당하는 객체 혹은 그러한 패턴을 의미 DAO를 사용하는 이유?? - 만약 Business Layer에서 직접 DBMS의 특정 벤더의 API를 사용하게 된다면 => Database Layer의 변화가 Business Layer까지 영향을 끼치게 된다. - 이러한 일을 방지하기 위해 저수준인 *Persistence Logic을 캡슐화하고 Domain Layer에게 객체지향적인 인터페이스 제공 - DAO를 사용하여 영속성 메커니즘에 대한 CRUD 로직을 캡슐화하게 ..
문제 접근 - N * N 공간에 물고기와 아기 상어 1마리 존재 => 행과 열이 N으로 같은 grid - 아기 상어의 정보 - 초기 크기 : 2 - 칸 통과 조건 : 자신의 크기보다 작거나 같은 물고기는 지나갈 수 있음 - 잡아먹는 조건 : 자신의 크기보다 작은 물고기만 먹을 수 있음 - 이동 시간 : 1초(즉, 격자 1칸씩 옮기는 데 1초씩 걸린다고 생각) - 이동 방향 : 상, 하, 좌, 우 => dy, dx technique 사용 - 이동을 완료했으면, 동시에 물고기를 먹음(물고기를 먹는 시간은 걸리지 않음) - 성장 조건 : 자신의 크기와 같은 수의 물고기를 먹을 때마다 크기 1 증가! - 아기 상어 위치 이동 조건 - 먹을 수 있는 물고기가 1마리라면 => 그 물고기 먹음 - 하지만 복수개라면 ..
Wrapper 클래스는 왜 필요할까? - 특정 상황에 따라 기본 타입(primitive)타입 데이터를 객체로 취급해야 하는 경우가 다수 존재 1. 예를 들면, 메소드의 인자(argument)로 객체 타입이 들어가야 한다면, 기본 타입의 데이터를 사용할 수 없음 public void hello(object obj) { System.out.println(obj.toString()); } 2. 기본 자료형의 값을 문자열로 변환하거나, 문자열의 값을 쉽게 기본 자료형으로 변환 가능하기 때문 Integer a = 100; String str; // 숫자 => 문자열 str = a.toString(); // 문자열 => 숫자 변환 int b = Integer.parseInt(str); 3. 제네릭(Generic)을..