728x90

2024/12 17

[Java] 얕은 복사, 깊은 복사 알아보기

얕은복사, 깊은복사를 비교해보자   1. 정의자바에서 객체를 복사할 때 얕은 복사와 깊은 복사라는 두 가지 방식이 있다. 먼저 Book과 Author라는 두 클래스를 사용해서 예제를 살펴보면, Book은 책의 이름(name)과 저자(author) 정보를 가지고 있고, Author는 저자의 이름을 가지고 있다.    2. 광고    3. 예제class Book { private String name; // 책 이름 private Author author; // 저자 public Book(String name, Author author) { this.name = name; this.author = author; } public Book shallowCopy..

트랜잭션 격리수준 알아보기

트랜잭션 격리수준을 알아보자!!   1. 트랜잭션 걱리 수준이란?트랜잭션의 격리 수준은 동시에 여러 트랜잭션이 실행될 때 한 트랜잭션이 다른 트랜잭션의 연산에 영향을 받지 않도록 하는 정도를 말한다.낮은 격리 수준은 동시 처리 능력을 높이지만, 데이터의 일관성 문제를 발생시킬 수 있다.반면, 높은 격리 수준은 데이터의 일관성을 보장하지만, 동시 처리 능력이 떨어질 수 있다.즉, 데이터 정합성과 성능은 반비례한다.트랜잭션 격리 수준은 개발자가 트랜잭션 격리 수준을 설정할 수 있는 기능을 제공하는 기능이다.     2. 트랜잭션 격리 수준 종류트랜잭션 격리 수준은 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ가 존재한다. READ UNCOMMITTED는 커밋이 되지..

개발/ETC 2024.12.09

데이터베이스 인덱스 알아보기

DB의 인덱스에 대해서 알아보자  1. 인덱스란인덱스는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로 백과사전의 색인과 같다.저장되는 컬럼의 값을 사용하여 항상 정렬된 상태를 유지하는 것이 특징.이러한 특징으로 인해 인덱스는 INSERT, UPDATE, DELETE의 성능이 희생된다는 것이 단점.    2. 인덱스의 자료 구조MySQL InnoDB를 기준으로 설명드리자면, B+Tree와 같은 변형 B-Tree 자료구조를 이용해서 인덱스를 구현한다.기본 토대는 B-Tree 인덱스이기 때문에 이를 기준으로 설명한다.B-Tree 인덱스는 컬럼의 값을 변형하지 않고 인덱스 구조체 내에서 항상 정렬된 상태로 유지한다. B-Tree(Balanced-Tree)에서는 크게 3가지 노드가 존재한다.최상위에..

개발/ETC 2024.12.07

[Java] Checked Exception, Unchecked Exception 차이

Checked Exception, Unchecked Exception 차이를 알아보자    1. Checked Exception Checked Exception은 컴파일 시점에 확인되며, 반드시 처리해야 하는 예외.자바에서는 IOException, SQLException 등이 이에 속한다.Checked Exception을 유발하는 메서드를 호출하는 경우, 메서드 시그니처에 throws를 사용하여 호출자에게 예외를 위임하거나 메서드 내에서 try-catch를 사용하여 해당 예외를 반드시 처리해야한다. Checked Exception은 외부 환경과의 상호작용에서 발생할 가능성이 높은 예외에 적합.예를 들어, 파일 입출력, 네트워크 통신 등에서 발생할 수 있는 예외는 Checked Exception으로 처리하..

[Java] 일급 컬렉션 알아보기

일급 컬렉션 알아보자   1. 일급 컬렉션이란?일급 컬렉션(First-Class Collection)은 하나의 컬렉션을 감싸는 클래스를 만들고, 해당 클래스에서 컬렉션과 관련된 비즈니스 로직을 관리하는 패턴    2. 광고   3. 예시아래 코드 중에서 Order의 List 자료구조를 감싼 Orders가 일급 컬렉션의 예시// 일급 컬렉션public class Orders { private final List orders; public Orders(List orders) { validate(orders); // 검증 수행 ... } public void add(Order order) { if (order == null) { t..

[JPA] JPA의 N+1 문제 알아보기

N+1에 대해서 알아보자  - 지난 번 만났던 N+1 문제[JPA] N+1 해결하기 [JPA] N+1 해결하기N+1은 한 번의 쿼리를 요청했는데 여러 번 쿼리가 요청되는 현상을 말한다.(1+N) Book 도메인에 아래와 같이 연관관계가 있었고, (각각 양방향 연관관계) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Cdevhooney.tistory.com     - 개념N + 1 문제는 연관 관계가 설정된 엔티티를 조회할 경우에, 조회된 데이터 개수(N)만큼 연관관계의 조회 쿼리가 추가로 발생하는 현상.예를 들어, 블로그 게시글과 댓글이 있는 경우, 게시글을 조회한 후 각 게시글마다 댓글을 조회하기 위해 추가 쿼리가 발생한다면 N + 1 문제가 발생..

[Stock] 코카콜라 알아보기

콜라의 1등 코카콜라!   1. chatGPT코카콜라 회사 (The Coca-Cola Company)설립: 1886년 5월 8일본사: 미국 조지아주 애틀랜타설립자: 존 스티스 펨버턴(John Stith Pemberton)CEO: (현재 CEO는 인물 검색 필요)1. 역사1886년: 약사인 존 펨버턴이 코카콜라를 처음 개발했습니다. 처음에는 탄산음료가 아닌 약용 음료로 개발되었으며, 두통 완화와 피로 회복 효과를 홍보했습니다.1892년: 사업가 **에이사 캔들러(Asa Candler)**가 코카콜라의 상표와 레시피를 매입하고, 대대적인 마케팅을 통해 음료를 대중화했습니다.20세기 초: 글로벌 확장 시작. 미국 외에도 유럽, 아시아 등지로 진출하여 세계적인 음료 브랜드로 성장했습니다.2. 제품군주요 제품:코..

경제/Stock 2024.12.02
728x90