isPresent() 사용 private Member getMemberIfExists() { // 이미 생성되어 있는 SecurityUtil에 getCurrentUsername()를 가입된 이메일인지 검증하기 위해 사용 Optional<String> emailOptional = SecurityUtil.getCurrentUs...
/Java/ Entity에서 필드나 컬럼의 길이제한 해주는 어노테이션
@Column(length = value) import javax.validation.constraints.Size; public class Post { @Column(length = 20) private String title; } length 옵션 추가 해당 부분은 유효성 검사는 하지 않...
🔍 isPresent(), isEmpty()
코드를 작성하다보니 isPresent()와 isEmpty()의 차이가 궁금해 졌다. 차이는 별거 없었다.. isPresent() <-> isEmpty() : java11 에서 처음 사용 isPresent() if (emailOptional.isPresent()) throw new MemberInfoN...
/docker/ Docker 기초 이론
서버운영에서 인프라 관리와 application 작성을 분리하고, application 실행에 필요한 모든 파일을 Docker image에 담아둔다. 실행환경 세팅, 실행하는 코드, 필요한 라이브러리 설정파일들을 직접 세팅하는 것이 아니고, Docker image를 받은 다음 실행하는 구조 이 image를 실행하는 것을 container라고 ...
/Database/💬 MySQl/ 트랜잭션과 잠금
✔️ 잠금(Lock)과 트랜잭션 잠금: 동시성을 제어하기 위한 기능 트랜잭션: 데이터의 정합성을 보장하기 위한 기능 1 트랜잭션 애플리케이션 개발에서 고민해야 할 문제를 줄여주는 아주 필수적인 DBMS의 기능 작업의 완전성을 보장해 주는 것 논리적인 작업 셋을 모두 완벽하게 처리하거나...
❗ERROR - EC2 속도 저하로 서버 접속 불가
🧶 Trouble EC2 속도 저하로 서버 접속 불가 일클 프로젝트 진행 중 자동 배포 전에 프론트의 작업을 위해 미리 수동배포를 해 놓을 상태였다. EC2로 배포만하면 10분만에 아무것도 하지 않아도 CPU 사용률이 100%까지 올라가면서 엄청 느려지고, 결국 접속이 되지 않는 이슈가 있었다. 다른 사람의 EC2를 사용...
/Database/ 💬 릴레이션, 튜플, 속성, 도메인
릴레이션(relation) RDB에서 정보를 구분하여 저장하는 기본 단위 주로 테이블(table)과 같은 의미로 사용 데이터의 집합 튜플(tuple)과 속성(attribute)로 구성 하나의 릴레이션은 현실세계의 어떤 개체(entity)를 표현하고 저장하는 데에 사용되는데, 이때 개체는 사물이 될 수도있고, 추상적...
/Database/💬 MySQl/ InnoDB 스토리지 엔 아키텍쳐
4.2 InnoDB 스토리지 엔진 아키텍처 4.2.1 프라이머리 키에 의한 클러스터링 4.2.2 외래 키 지원 4.2.3 MVCC(Multi Version Concurrency Control) 4.2.4 잠금 없는 일관된 읽기(Non-Locking Consistent Read) 4.2.5 자동 데드락 감지 4.2.6 자동화된 장애 복구 2...
/Database/💬 MySQl/Mysql 엔진 아키텍쳐
✔️ MySQL 서버 MySQL 엔진 : 사람의 머리 역할을 담당 - InnoDB 스토리지 엔진 - MyISAM 스토리지 엔진 스토리지 엔진 : 손발 역할을 담당 - 핸들러 API를 만족하면 누구든 스토리지 엔진을 구현해서 MySQL 서버에 추가해서 사용 가능 1 MySQL 엔진 아키텍처 ...
/Database/ 💬 파티셔닝, 샤딩, 리플리케이션
파티셔닝 (partitioning) database table을 더 작은 table들로 나누는 것 vertical partitioning column을 기준으로 table을 나누는 방식 정규화도 이에 해당됨 이미 정규화 되어있는 테이블이라고 퍼포먼스를 위해 버티컬 파티셔닝이 가능 (ex...