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

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..

1. 왜 HTTPS 로 배포를 해야할까?프론트엔드에서 웹사이트를 배포할 때는 HTTPS로 배포해야 한다.그 이유는, 웹사이트가 HTTPS로 동작하고 있을 때, API 서버가 HTTP라면 브라우저에서 연결 자체를 차단하기 때문이다.즉, 프론트엔드에서 HTTPS로 배포된 웹사이트에서는 동일하게 백엔드도 HTTPS로 구성되어 있어야 API 요청이 정상적으로 이루어진다.이를 지키지 않으면 브라우저에서 보안 경고와 함께 요청을 막아버리는 Mixed Content 문제가 발생한다. 프론트를 Vercel 같은 플랫폼을 이용해 HTTPS로 배포하고 백엔드는 EC2에서 HTTP로만 서버가 열려 있다면, 클라이언트에서 API 요청을 보냈을 때 아래와 같은 에러가 발생한다.Mixed Content: The page at '..

1. 프로젝트 환경 설정프로젝트 구조Maven 표준 웹 애플리케이션 구조(/src/main/java, /resources, /webapp, /test) 와 pom.xml, target 디렉토리 포함pom.xml 라이브러리 의존성Spring MVC, Spring ORM, JPA, HibernateH2 데이터베이스, Tomcat JDBC 커넥션 풀서블릿/JSP 관련 라이브러리, SLF4J + LogBack 등 Spring 설정 파일web.xml : DispatcherServlet 초기화 및 root/web 컨텍스트 설정appConfig.xml : 서비스/도메인/리포지토리 계층 설정, 트랜잭션 관리자, DataSource 등록webAppConfig.xml : Spring MVC 설정, 뷰 리졸버 등2. 도메인..

1. EC2 인스턴스1.1 EC2 인스턴스 생성 EC2 서비스 접속AWS 콘솔에서 EC2 서비스를 검색해 들어갑니다.인스턴스 메뉴 이동왼쪽 사이드바에서 인스턴스 메뉴를 선택합니다.인스턴스 시작 버튼을 클릭합니다.리전(Region) 확인 및 변경화면 우측 상단에 표시되는 리전이 '서울'인지 확인합니다.서울이 아니라면 클릭해서 '아시아 태평양(서울)'로 변경합니다.💡 리전 선택 팁서버 응답 속도가 중요하지 않다면,'미국 동부(버지니아 북부)'처럼 가격이 저렴한 리전을 선택해 비용을 절감할 수 있습니다. 이름은 blog로 설정해주고,AMI는 인스턴스에 설치할 OS 및 소프트웨어 템플릿입니다.OS 중에서 Ubuntu를 선택합니다.AWS는 최초 가입 후 12개월 동안 프리 티어를 제공합니다. 저는 아직 프리 티..