| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- java란 무엇인가
- C# Blazor
- 스프링부트로그인
- jvm구성요소
- REST API
- 스프링부트회원가입
- 컴퓨터과학
- prosys opc-ua
- cs기술면접
- spring spring boot 차이점 공통점
- C# CS
- OPC-UA Download
- UaExpert다운로드
- 스프링부트 단점
- 스프링부트 장점
- Blazor Web App
- opc-ua 다운로드
- CS
- C#이론
- 스프링부트의 장단점
- java란?
- Blazor WebAssembly
- 스프링 스프링부트 차이점 공통점
- Prosys Opc-ua 다운로드
- UaExpert download
- 기술면접
- OPC-UA
- 프론트엔드
- Service Worker
- nosql
- Today
- Total
목록DataBase (6)
담비의 개발블로그
PostgreSQL이란? PostgreSQL은 오픈소스인 관계형 데이터베이스 관리 시스템(RDBMS) 이며, SQL을 기반으로 하면서도, 고급 기능들을 다수 제공하는 강력한 데이터베이스이다. 특징설명오픈소스 무료이며 소스코드를 수정해 사용할 수 있음ACID 준수 트랜잭션에서 데이터 무결성 보장 (Atomicity, Consistency, Isolation, Durability)확장성 사용자 정의 함수, 타입, 인덱스, 저장 프로시저 등을 쉽게 추가 가능다양한 언어 지원 Python, Java, Node.js, PHP, Go 등과 호환 가능JSON 지원 관계형 구조뿐만 아니라 비정형 데이터(JSON 등)도 저장하고 검색 가능보안 인증, 암호화, 권한 관리 등 보안 기능이 강력함복잡한 쿼리 지원 윈도우 함수..
QueryDSL Java에서 타입 안전한 방식으로 동적 SQL 쿼리를 작성하고 실행할 수 있도록 도와주는 프레임워크이다. JPA와 함께 사용하여 복잡한 쿼리를 더 직관적이고 안전하게 작성할 수 있게 해주는 도구이다. ◆ QueryDSL의 특징1. 타입 안전한 쿼리 작성: QueryDSL은 자바 코드로 SQL이나 JPQL 쿼리를 작성할 때, 컴파일 시점에서 오류를 감지할 수 있는 타입 안전성을 제공한다. 즉, 잘못된 쿼리 작성 시 컴파일러가 오류를 잡아주어, 런타임 시 발생할 수 있는 SQL 오류를 미리 방지할 수 있다. 2. 동적 쿼리 지원: QueryDSL은 조건에 따라 동적으로 쿼리를 작성할 수 있다. 조건이 여러 개일 때, 코드에서 이를 쉽게 조합하고 관리할 수 있다. 3. 기존 JPQL, Cr..
영속성 컨텍스트 영속성 컨텍스트(Persistence Context)는 JPA(Java Persistence API)에서 중요한 개념으로, 엔티티 객체의 생명주기를 관리하는 메모리상의 가상 공간을 의미한다. 영속성 컨텍스트는 JPA의 EntityManager에 의해 관리되며, 엔티티를 데이터베이스와 동기화하고 캐싱하는 역할을 담당한다. ◆ 주요 기능1. 1차 캐시: 영속성 컨텍스트는 1차 캐시로 동작한다. 동일한 트랜잭션 내에서 같은 엔티티를 여러 번 조회하면, 영속성 컨텍스트는 데이터베이스에서 새로 조회하는 대신, 캐시에 저장된 엔티티 객체를 반환한다. 이로 인해 성능이 향상되고 불필요한 데이터베이스 접근을 줄일 수 있다.2. 엔티티의 생명주기 관리: 엔티티 객체는 영속성 컨텍스트에 의해 "비영속(N..
엔티티매니저 주로 Java Persistence API (JPA)에서 사용되는 인터페이스로, 엔티티(Entity)와 데이터베이스 간의 상호작용을 관리하는 역할을 한다. ◆ 주요 기능1. CRUD 작업: 엔티티를 데이터베이스에 저장(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 작업을 관리한다.- Persist(저장): 새로운 엔티티를 데이터베이스에 저장한다. 이 과정에서 엔티티는 비영속 상태에서 영속 상태로 전환된다. - Find(조회): 데이터베이스에서 특정 엔티티를 조회한다. 만약 해당 엔티티가 이미 영속성 컨텍스트에 존재하면, 캐시된 엔티티를 반환한다. - Merge(수정): 준영속 상태의 엔티티를 영속 상태로 다시 병합한다. 이 작업은 보통 수정된 엔티티를 데이터..
Hibernate Java 기반 애플리케이션에서 객체와 관계형 데이터베이스 간의 매핑을 제공하는 ORM(Object-Relational Mapping) 프레임워크이다. JPA 구현체의 한 종류이며 JPA의 핵심들인 EntityManagerFactory, EntityManager, EntityTransaction 등을 상속받아 구현한다. Hibernate는 내부적으로 JDBC를 이용해 관계형 데이터베이스와 커넥션을 맺고 상호작용한다.특징1. 객체-관계 매핑 (ORM)Hibernate는 Java 객체를 데이터베이스 테이블과 매핑한다. 이를 통해 데이터베이스의 테이블과 필드를 객체의 속성과 매핑하여 데이터베이스 조작을 객체 지향적으로 수행할 수 있다. 2. 투명한 지속성Hibernate는 객체의 상태 변화를..
미처 생각 못했던 부분에 대해서 적어보는 내용이다.처음 테이블을 구상한다면 아래 부분들을 고려하면 좋을 것 같다.기본적인 member테이블의 열(column)은 개인정보보호법을 유의해서 써야한다. 1. 비밀번호'개인정보보호법'에 따라서 비밀번호는 복원 불가능한 암호화가 필요하다. 또한, 한 번 사용한 비밀번호는 비밀번호 변경 시에 재사용할 수 없도록 별도의 테이블에 변경 이력을 관리해야 한다. 그리고 개인정보 유출에 대비하여 비밀번호는 별도의 테이블로 관리하는 것이 바람직하다. 암호화를 대비해서 타입은 varchar(128)로 권고한다. 2. 비밀번호 변경일시'개인정보보호법'에서는 주기적으로 암호를 변경하도록 권고하고 있으며 최종 변경일시를 저장해야한다. 3. 주민등록번호'개인정보보호법'에 의거하여 입력..