분류 전체보기
-
3. 영속성 관리Back-End/JPA 2022. 4. 11. 10:24
3-1. 엔티티 매니저 팩토리와 엔티티 매니저 EntityManagerFactory 데이터베이스를 하나만 사용할 경우, 일반적으로 EntityManagerFactory 를 하나만 생성한다. 생성 시, 비용이 아주 많이 든다 → 하나만 만들어서 애플리케이션 전체에서 공유하도록 설계되어 있다. 아래 코드를 통해 생성할 수 있으며, Persistence.createEntityManager(”jpabook”) 호출 시 META-INF/persistence.xml에 있는 정보를 바탕으로 EntityManagerFactory를 생성한다. EntityManagerFactory emf = Persistence.createEntityManager("jpabook"); → 인자로 “jpabook”을 준 이유는 persis..
-
2. JPA 시작Back-End/JPA 2022. 4. 3. 13:24
데이터베이스 방언 JPA는 특정 데이터베이스에 종속적이지 않은 기술이다. → 데이터베이스를 손쉽게 교체할 수 있다. 방언(Dialect) 이란? 특정 데이터베이스만의 고유한 기능 대부분의 JPA 구현체는 다양한 데이터베이스 방언 클래스를 제공하여 데이터베이스 방언을 처리해준다. 예시 H2: org.hibrenate.dialect.H2Dialect 오라클 10g: org.hibrenate.Oracle10gDialect MySQL: org.hibrenate.MySQL5InnoDBDialect 엔티티 매니저 설정 1. 엔티티 매니저 팩토리 생성 Persistence 클래스를 사용하여 엔티티 매니저 팩토리를 생성 엔티티 매니저 팩토리는 애플리케이션 전체에서 딱 한 번만 생성하고, 공유하여 사용해야 한다. Ent..
-
1. JPA 소개 - 패러다임의 불일치Back-End/JPA 2022. 3. 30. 15:29
객체 vs 관계형 데이터베이스 지향하는 목적이 서로 달라서, 둘의 기능과 표현 방법이 다르다. 객체 구조를 테이블 구조에 저장하는 데는 한계가 존재한다. 둘 사이의 패러다임 불일치 문제를 해결하기 위해 개발자는 많은 시간과 코드를 소비하게 된다. 이제, 객체와 관계형 데이터베이스 간의 패러다임의 불일치로 발생하는 문제점 4가지를 살펴보자. 1. 상속 문제점(차이점) 객체에는 상속 개념 존재하지만, 관계형 데이터베이스에는 존재하지 않는다. 객체 저장 시, 부모 객체를 위한 INSERT SQL과 자식 객체를 위한 INSERT SQL을 모두 작성해야 한다. INSERT INTO ITEM ... INSERT INTO ALBUM ... 객체 조회 시, 부모 테이블과 자식 테이블을 조인해서 조회하여야 한다. SEL..
-
[백준][C++] 13460번 구슬 탈출2Problem Solving 2021. 8. 4. 01:12
문제 링크: https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 문제 더보기 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀..
-
React Component - Class, FunctionFront-End/React 2021. 8. 3. 19:28
React의 특징은 Component 단위로 코드를 쪼개어 UI를 구성한다는 점이다. 그렇다면 Component는 어떻게 만들 수 있을까? React에서 Component를 만드는 방법은 2가지가 있다. 바로 Class 혹은 Function을 만드는 것이다. React에서는 Class와 Function 2가지 Component가 존재한다. 그렇다면 두 Component의 차이는 무엇일까? 아래의 예시를 보자. Class import React, { Component } from 'react'; class App extends Component { constructor(props){ super(props); this.state = {fruit: 'apple'}; } render(...); } Functio..
-
[프로그래머스][C++] 소수 찾기 (Level2)Problem Solving 2021. 8. 2. 23:58
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 문제 해결 이 문제는 간단하게..