Bank-End Chronicles

「Memory gets GC’d, but this blog stays committed.」

5월 26일 (일)

2024 절반의 회고

2024년 상반기 회고 다 쓰고 나서야 알았다. 상반기 회고는 6월 말이었어야 하는데, 너무나 바쁜 상반기를 보낸 나머지 벌써 6개월이 된 줄 알았다는 것.. 시간가는 줄 모르고 정신없이 몰입한 상반기였다. 다섯 번째 프로젝트에서의 시간들 (2024/01/15 ~ ) 대외 업무에 첫 발을 내딛다 입사 후 2년 간, 대출 업무를 주로 해오...

Oracle - 트랙잭션과 락

SQL BOOSTER를 읽고

SQL 스터디 7주차! 트랜잭션 반드시 한 번에 처리되어야 하는 논리적인 작업 단위 (더는 쪼갤 수 없는 작업 단위) 트랜잭션은 COMMIT(반영)이나 ROLLBACK(취소)로 종료가 이루어진다. COMMIT으로 종료될 경우, 트랜잭션에서 변경된 데이터들은 모두 DB에 실제 반영된다. ROLLBACK으로 종료될 경우, 트랜잭...

Oracle - NL조인, 머지조인, 해시조인

SQL BOOSTER를 읽고

SQL 스터디 6주차! JOIN과 성능 내부적으로 조인이 처리되는 방식 NESTED LOOPS JOIN MERGE JOIN HASH JOIN 1. NESTED LOOPS JOIN (NL JOIN) 중첩된 반복문 형태로 데이터를 연결하는 방식 선행 집합(선행 테이블 - 조인을 위해 먼저 접근하는 쪽, 바깥쪽 루프)...

Java - 클린코드 with Java 18기에서 배운 점 정리

클린코드 with Java 18기

클린코드 객체 간 의존관계 연결, 인자 수를 최소화하기 메소드(함수)에 인자 수를 최소화한다 - 클린코드 책 중에서 메소드에서 이상적인 인자 개수는 0개이다. 다음은 1개이고, 다음은 2개이다. 3개는 가능한 피하는 편이 좋다. 4개 이상은 특별한 이유가 있어도 사용하면 안 된다. 인자를 줄이는 방법 관련이...

Oracle - 인덱스

SQL BOOSTER를 읽고

SQL 스터디 5주차! INDEX 기본 개념 인덱스: 테이블 내의 데이터를 찾을 수 있게 일부 데이터를 모아서 구성한 데이터 구조 목적: 테이블 내의 데이터를 빠르게 찾아내기 위함 생성방법 1 CREATE INDEX 인덱스명 on 테이블명(컬럼명) 인덱스의 종류 구성하는 컬럼의 수에 따른 분류 단일인덱스Sing...

Oracle - 성능개선

SQL BOOSTER를 읽고

SQL 스터디 4주차! EXPLAIN PLAN 예상 실행계획 예상 실행계획 만들기 EXPLAIN PLAN FOR SELECT * FROM T_ORD WHERE ORD_SEQ = 4; 예상 실행계획 확인하기 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY()); 결과 Plan hash value: 2027818...

Oracle - SUB QUERY

SQL BOOSTER를 읽고

SQL 스터디 3주차! 서브쿼리 장점 : 서브쿼리는 조인보다 이해하기 쉽다. 단점 : 서브쿼리 성능이 좋지 못할 수도 있다. sql 실행계획이 특정된 방법으로 제약될 가능성이 있기 때문이다. 모든 조인을 서브쿼리로 해결하려 해서는 절대 안된다. SELECT절의 상관 서브쿼리 서브쿼리가 아닌 조인으로도 해결할 수 있지만, 코드...

Oracle - JOIN

SQL BOOSTER를 읽고

SQL 스터디 2주차! JOIN 🖇 1. INNER JOIN 조인 조건을 만족하는 데이터만 결합해 결과로 내보닌다. 필터조건 : FROM절의 테이블에서 필요한 데이터를 걸러내는 역할 FROM절에 사용된 테이블이 하나면 WHERE절에는 필터조건만 존재 조인조건 : 두 개의 테이블을 연결하는 역할 ...

Oracle - GROUP BY

SQL BOOSTER를 읽고

SQL 스터디 1주차! 🖇 GROUP BY 데이터를 그룹화하는 문법. 같은 값을 가진 데이터끼리 모으는 것. 중복된 값이 제거되어 결과로 나올 수 있도록 한다 = DISTINCT의 역할과 같다. DISTINCT 와 다른 점: SUM, MIN 같은 집계함수를 쓸 수 있다. TO_CHAR, TO_D...

빌더 패턴

실무에 적용되는 builder pattern

Builder pattern Builder는 복잡한 객체들을 단계별로 생성할 수 있도록 하는 생성 디자인패턴 예를 들어, 집을 만들 때, House 클래스를 확장하고, 매개ㅐ변수의 모든 조합 (난방, 배관, 뒤뜰, 지붕 등)을 포함하는 자식 클래스들의 집합을 만들 수 있다. 그렇지만, 상당 수의 자식 클래스를 만들게 되고, 새로 추가할 때마다 계...