Back-End(24)
-
kafka
Kafka란?Apache Kafka는 고성능, 내구성, 그리고 확장 가능한 분산 스트리밍 플랫폼이다. Kafka는 데이터 파이프라인을 구축하고 실시간 데이터 스트리밍을 처리하는 데 매우 적합하다.프로듀서(Producer): 메시지를 생성하여 Kafka 토픽으로 전송하는 역할을 한다.컨슈머(Consumer): Kafka 토픽에서 메시지를 읽어오는 역할을 한다.브로커(Broker): Kafka 서버로, 토픽과 메시지를 저장하고 관리한다.토픽(Topic): 메시지가 게시되는 논리적 채널이다.Kafka는 다음과 같은 경우에 많이 사용된다:실시간 데이터 처리: 실시간 로그, 이벤트 스트리밍 처리데이터 파이프라인: 서로 다른 시스템 간의 데이터 전송분산 시스템: 여러 마이크로서비스 간의 메시지 교환데이터 통합: 다..
2024.08.04 -
Hibernate Naming Strategies
혼자 공부할겸 프로젝트를 진행하다가 예상치못한 오류에 막혀서 많은 시간을 소요하였다.데이터베이스의 테이블에서 값을 전혀 불러오지 못하는 문제였다.아무리 찾아봐도 문제를 찾지 못하다가 혹시나 하는 마음에 모든 테이블을 조회해보았고 생성한 적 없는 테이블이 만들어져있는 것을 봤다.기존에 만든 테이블은 orderItems인데 새로 생성된 테이블은 order_items가 있었다.분명 엔티티에서 table(name="orderItems")로 작성해서 orderItems테이블과 매핑이 되어있을 것이라고 생각했는데 order_items테이블이 새로 생기며 여기와 매핑을 하고 있던 것이다. 이는 바로 Hibernate Naming Strategies의 Physical Naming Strategy의한 것이다. Hibe..
2024.06.26 -
[AWS] EC2와 RDS 설정 및 프로젝트 배포
AWS EC2와 RDS 인스턴스를 설정하고, GitHub에서 프로젝트를 클론하여 빌드하고 배포하는 방법을 단계별로 안내하고자 한다.또한, S3를 이용한 빌드 및 배포 방법도 소개할 것이다.1. AWS EC2 인스턴스 설정1.1. EC2 인스턴스 생성AWS 콘솔에 로그인하고 EC2 대시보드로 이동한다.인스턴스 시작 버튼을 클릭한다.**Amazon Machine Image (AMI)**에서 원하는 OS를 선택한다. (예: Amazon Linux 2)인스턴스 유형을 선택한다. (예: t2.micro)인스턴스 세부 정보 구성, 스토리지 추가 및 태그 추가 단계를 기본값으로 둔다.보안 그룹 구성 단계에서, 새로운 보안 그룹을 생성하고 HTTP(80) 및 SSH(22) 포트를 허용한다.검토 및 시작 버튼을 클릭한 ..
2024.06.12 -
관계 매핑 전략(@OneToMany, @ManyToOne, @OneToOne, @ManyToMany), 상속 매핑 전략 (SINGLE_TABLE, JOINED, TABLE_PER_CLASS)
Java Persistence API (JPA)는 객체 관계 매핑(ORM) 기술을 통해 객체 지향 프로그래밍 언어의 객체를 관계형 데이터베이스의 테이블에 매핑한다. JPA에서는 다양한 엔티티 간의 관계를 정의할 수 있다. 본 글에서는 JPA에서의 @OneToMany, @ManyToOne, @OneToOne, @ManyToMany에 대해 설명하고, 각각의 관계에서 데이터를 저장, 수정, 삭제하는 예시를 다룰 것이다. 또한 JPA의 상속 매핑 전략에 대해서도 자세히 살펴보자.엔티티 간의 관계@OneToMany와 @ManyToOne@OneToMany와 @ManyToOne 관계는 가장 흔히 사용되는 관계 중 하나로, 하나의 엔티티가 여러 엔티티와 관계를 맺는 경우이다.예시: 국가와 도시의 관계Country: 여..
2024.05.30 -
로깅(SLF4J)
소프트웨어 개발에서 로깅은 디버깅과 모니터링에 필수적인 요소이다. 자바 환경에서는 다양한 로깅 프레임워크가 존재하지만, 이러한 프레임워크를 통합적으로 관리하기 위해 SLF4J(Simple Logging Facade for Java)가 등장했다. 이 글에서는 SLF4J의 개념, 장점, 사용법, 그리고 실제 코드 예제를 통해 SLF4J에 대해 알아보자. SLF4J란?SLF4J는 자바에서 다양한 로깅 프레임워크에 대한 추상화된 인터페이스를 제공하는 통합 로깅 API이다. SLF4J는 로깅 프레임워크의 구현체에 의존하지 않고, 애플리케이션 코드에서 일관된 로깅 인터페이스를 사용할 수 있게 해준다. 대표적인 로깅 프레임워크로는 Logback, Log4j, Java Util Logging 등이 있다. 주요 특징통합..
2024.05.30 -
JPA와 ORM
Java Persistence API (JPA)는 자바 플랫폼에서 객체 관계 매핑(ORM) 기술을 위한 표준이다.ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체를 관계형 데이터베이스의 테이블과 매핑하는 기술이다.이 글에서는 JPA의 핵심 요소인 EntityManagerFactory, EntityManager, persist 등에 대해 상세히 알아보고, JPA 구현체 중 하나인 Hibernate에 대해서도 설명할 것이다. ORM과 HibernateORM (Object-Relational Mapping)ORM은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 테이블 사이의 변환을 자동화하는 기술이다. ORM을 사용하면 SQL 쿼리를 직접 작성하지 않고도 데..
2024.05.30