일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Push
- 카프카 트랜잭션
- APNS
- 자바스크립트
- 푸시
- 페이스북 번역
- Java
- 웹사이트최적화기법
- kafka
- GCM 번역
- 웹사이트성능
- nginx설정
- 성능
- 도메인 주도 개발
- 카프카
- gcm 푸시 번역
- nginx설치
- 푸시 번역
- Design Pattern
- JPA
- git
- php
- notification
- graphql
- 디자인패턴
- GCM
- 웹사이트 성능
- nginx
- ddd
- Today
- Total
목록Framework (13)
간단한 개발관련 내용
Spring Data JPA를 사용할 때, Spring 컨테이너가 EntityManagerFactory와 EntityManager의 생명주기 및 관리를 담당합니다. 주요 관리 방식은 다음과 같습니다.1. EntityManagerFactory의 관리싱글톤 빈(Singleton Bean):EntityManagerFactory는 애플리케이션 전체에서 단 한 번 생성되는 싱글톤 빈으로 관리됩니다. 보통 Spring Boot의 경우, 자동 구성(auto-configuration)에 의해 데이터 소스와 JPA 설정을 기반으로 EntityManagerFactory가 생성됩니다.공유:모든 Repository나 Service 계층은 동일한 EntityManagerFactory를 공유하며, 이 팩토리를 통해 EntityM..
코틀린 언어 기반으로 JPA 엔티티의 id 필드를 생성자에 포함시키는 방식과 별도로 필드로 선언하고 protected set을 사용하는 방식은 몇 가지 차이점이 있습니다. 각각의 장단점과 사용 사례를 비교해보겠습니다.1. id를 생성자에 포함시키는 방식@Entitydata class Car( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, val brand: String, val model: String)특징불변성: val로 선언되므로 생성 후 값이 변경되지 않아 객체가 불변(immutable)에 가까워집니다.초기화 간결성: id 필드도 생성자에서 초기화되므로 Kotlin의 데이터 클래스..
Netty를 프레임워크로 간주해야 하는지, 아니면 라이브러리로 간주하나?Netty: 프레임워크 vs. 라이브러리프레임워크와 라이브러리의 차이점먼저, 프레임워크와 라이브러리의 기본적인 차이점을 이해하는 것이 중요합니다.라이브러리 (Library):사용자 주도: 개발자가 필요할 때 특정 기능을 호출하여 사용하는 방식입니다.유연성: 원하는 기능만 선택적으로 사용할 수 있으며, 애플리케이션의 전체 구조에 대한 강제성이 낮습니다.예시: jQuery, Lodash, Apache Commons 등.프레임워크 (Framework):프레임워크 주도: 프레임워크가 애플리케이션의 전체 구조와 흐름을 제어하며, 개발자는 프레임워크가 제공하는 구조에 맞춰 코드를 작성합니다.의존성 역전: "제어의 역전(Inversion of C..

Netty는 네트워크 애플리케이션 개발에 널리 사용되는 고성능 비동기 이벤트 기반 프레임워크로, 다양한 프로토콜을 지원하며 높은 확장성과 유연성을 제공합니다. 아래에서 Netty의 정의부터 주요 특징, 장점, 사용 사례 등을 순차적으로 살펴보겠습니다. 1. Netty의 정의Netty는 자바 기반의 비동기 이벤트 드리븐 네트워크 애플리케이션 프레임워크로, 고성능 프로토콜 서버 및 클라이언트를 손쉽게 개발할 수 있도록 도와줍니다. Netty는 다양한 프로토콜(예: HTTP, WebSocket, TCP, UDP)을 지원하며, 확장성이 뛰어나고 높은 처리량을 자랑합니다. 주로 대규모 네트워크 애플리케이션, 실시간 통신 시스템, 게임 서버, 메시징 시스템 등에서 활용됩니다.2. Netty의 주요 특징비동기 및 이..
JPA(Java Persistence API)의 개요JPA(Java Persistence API)는 자바 애플리케이션에서 객체와 관계형 데이터베이스 간의 매핑을 처리하기 위한 표준 ORM(Object-Relational Mapping) 프레임워크입니다. JPA는 자바 객체와 데이터베이스 테이블 간의 매핑을 정의하여, SQL을 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있게 해줍니다. EJB 3.0의 일부로 도입되었으며, 현재는 자바 표준 ORM 기술로 자리 잡았습니다.JPA는 인터페이스로만 구성되어 있으며, 실제 구현은 Hibernate, EclipseLink, DataNucleus와 같은 JPA 구현체에 의해 이루어집니다. 즉, JPA는 데이터베이스와 상호작용하는 표준 인터페이스를 정의할 뿐이고..
Datasource의 pool 관련 기본적인 아래의 설정들을 하게 된 후 실제 서비스에 적용하게 되면 몰려드는 요청 및 처리 시간 때문에 예상치 못한 문제들을 확인하게 됩니다.datasource.driverClassName=com.mysql.jdbc.Driverdatasource.url=datasource.username=datasource.password= 보통 요청에 대한 pool 을 관리하기 위해 개수를 조정하게 됩니다.datasource.initialSize=4 # 커넥션 초기값datasource.minIdle=4 # 유휴상태로 있을 수 있는 커넥션 최소값datasource.maxActive=16 # 커넥션 최대값datasource.maxIdle=16 이러고 나면, DB 와의 연결 관련 문제들이 ..