일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- wesocket
- Full Text Search
- 웹 서버
- SpirngBoot
- nginx
- 웹 어플리케이션
- 도메인
- consumer
- springboot
- 트러블슈팅
- 음성 변환
- index
- ORM
- 웹 어플리케이션 서버
- jpa
- EC2
- elevenlabs
- 백준
- 김영한
- 2630번
- n-gram
- 음성 합성
- redis
- docker
- 용량 확장
- Voice cloning
- MongoDB
- zookeeper
- JPQL
- Kafka
- Today
- Total
목록Backend (28)
enginner_s2eojeong

1. NoSQL1.1 NoSQL이란?"Not Only SQL"의 약자로, 관계형 데이터베이스(RDBMS)와 달리 스키마에 얽매이지 않는 비관계형 데이터베이스 1.2 NoSQL 특징유연한 스키마 → 데이터 구조를 미리 정의하지 않아도 됨.다양한 데이터 모델 → 키-값, 문서, 컬럼, 그래프 등.수평적 확장 → 서버 증설로 성능 향상에 용이함.고성능 → 대량의 비정형 데이터 처리 최적화.1.3 RDBMS VS NoSQL DBMS 차이점데이터 구조RDBMS: 데이터를 테이블 형식으로 저장하며, 각 테이블은 행과 열로 구성. 데이터 간의 관계를 명확하게 정의하는 것이 특징.NoSQL: 고정된 스키마 없이 데이터를 자유롭게 저장. 키-값, 문서, 그래프 등 다양한 데이터 모델을 지원하여 데이터의 성격에 맞게 선택..

14장. 컬렉션과 부가 기능14.1 컬렉션 JPA는 자바에서 기본 제공하는 Collection, List, Set, Map 컬렉션을 지원한다.이 컬렉션들은 다음과 같은 경우에 사용할 수 있다.@OneToMany, @ManyToMany를 통한 일대다, 다대다 관계 매핑@ElementCollection을 통한 값 타입 컬렉션 매핑자바 컬렉션 인터페이스의 특징은 다음과 같다.Collection: 최상위 컬렉션이다. 중복을 허용하고 순서를 보장하지 않는다고 가정한다.List: 중복을 허용하고 순서를 보장한다.Set: 중복을 허용하지 않고 순서를 보장하지 않는다.Map: Key-Value 구조를 가지는 특수한 컬렉션이다.JPA 명세에는 컬렉션 인터페이스에 대한 구체적인 언급이 없다. 따라서 구현체에 따라 제공되는..

13.1 트랜잭션 범위의 영속성 컨텍스트웹 애플리케이션을 컨테이너 환경(Spring, J2EE 등)에서 개발할 때 JPA의 영속성 컨텍스트가 어떻게 동작하는지 이해하는 것은 매우 중요하다. 특히 트랜잭션과 영속성 컨텍스트의 범위가 어떻게 맞물려 돌아가는지 알면 발생할 수 있는 다양한 문제를 예측하고 해결할 수 있다. 13.1.1 스프링 컨테이너의 기본 전략스프링은 트랜잭션 범위의 영속성 컨텍스트(Transaction-scoped persistence context) 전략을 기본으로 사용한다.즉, 트랜잭션이 시작되면 영속성 컨텍스트가 생성되고 트랜잭션이 끝나면 영속성 컨텍스트도 함께 종료된다.트랜잭션 시작 시: 영속성 컨텍스트 생성같은 트랜잭션 범위 내: 항상 같은 영속성 컨텍스트 사용트랜잭션 종료 시: ..

12.1 스프링 데이터 JPA 소개스프링 데이터 JPA는 JPA를 스프링 프레임워크에서 더욱 편리하게 사용할 수 있도록 지원하는 프로젝트이다.개발자가 반복적으로 작성해야 하는 CRUD 관련 코드를 직접 구현하지 않아도 되고 공통 인터페이스만 상속받아 인터페이스를 정의하면 된다.public interface MemberRepository extends JpaRepository { Member findByUsername(String username);} CRUD 공통 기능 제공save(), findById(), findAll(), delete() 등 기본적인 데이터 접근 기능을 내장하고 있음.인터페이스 기반 개발구현 클래스를 작성할 필요가 없다. 대신 인터페이스만 선언하면 실행 시점에 스프링 데이터 J..

처음에는 ec2 내부에서 kafka, zookeeper를 백그라운드로 실행중이었는데요, docker로 묶어서 관리하고 싶어서 중단하고 설치하는데 정말 애먹었습니다.. 🥲 이 글을 보시는 분들은 저처럼 헤매지 마시길 바라는 마음에서 이 글을 씁니다.... 자 그럼 우선 우선 ec2로 접속해 docker-compose.yml 파일을 만들어줘야합니다. (저는 루트에 만들었어요) 일단은 기존의 제가 맨 처음에 작성한 yml입니다. 여러분들도 사용하는 버전에 따라서 다르게 작성하셔야합니다..!!!docker-compose.ymlservices: zookeeper: image: bitnami/zookeeper:latest container_name: zookeeper restart: always..

이번 프로젝트에서는 실시간 채팅 기능을 개발하였는데요, 이때 사용한 Kafka에 대해 알아보고 주키퍼, 스프링부트와 연동하는 과정을 정리해보도록 하겠습니다. 1. Apache Kafka Apache Kafka는 실시간으로 데이터를 주고받는 분산 메시징 시스템입니다. 실시간으로 생성되고 소비되는 대량의 데이터를 중앙 허브를 안정적이고 빠르게 전달해주는 역할을 합니다.쉽게 설명하자면, "데이터를 시간순으로 저장하고 필요할 때 빠르게 꺼내보는 택배 시스템" 이라고 생각하시면 될 것 같습니다.1.1) Kafka의 기본 구조Kafka는 다음과 같이 구성됩니다.구성설명Producer데이터를 Kafka에 보내는 애플리케이션ConsumerKafka에서 데이터를 받아가는 애플리케이션BrokerKafka 서버. 메시지를 ..

1. 문제 상황Jenkins를 이용해 프로젝트를 CI/CD 파이프라인 상에서 자동 빌드하던 중, Gradle 빌드 단계에서 오류가 발생했다. 다음과 같은 로그 메시지를 확인할 수 있었는데,Caused by: org.gradle.api.UncheckedIOException: java.io.IOException: No space left on device at org.gradle.cache.internal.btree.FileBackedBlockStore.write(FileBackedBlockStore.java:140) at org.gradle.cache.internal.btree.CachingBlockStore.flush(CachingBlockStore.java:64) at org.gradle.cache.i..