일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 도메인 주도 개발
- 푸시
- 디자인패턴
- 카프카 트랜잭션
- 자바스크립트
- 카프카
- gcm 푸시 번역
- Design Pattern
- GCM 번역
- notification
- kafka
- 푸시 번역
- 웹사이트 성능
- Push
- ddd
- nginx설정
- graphql
- APNS
- 웹사이트최적화기법
- 웹사이트성능
- Java
- git
- JPA
- 페이스북 번역
- GCM
- nginx
- php
- 성능
- nginx설치
- Today
- Total
목록하루 벌어 하루 살아요 (158)
간단한 개발관련 내용
Spring Data JPA를 사용할 때, Spring 컨테이너가 EntityManagerFactory와 EntityManager의 생명주기 및 관리를 담당합니다. 주요 관리 방식은 다음과 같습니다.1. EntityManagerFactory의 관리싱글톤 빈(Singleton Bean):EntityManagerFactory는 애플리케이션 전체에서 단 한 번 생성되는 싱글톤 빈으로 관리됩니다. 보통 Spring Boot의 경우, 자동 구성(auto-configuration)에 의해 데이터 소스와 JPA 설정을 기반으로 EntityManagerFactory가 생성됩니다.공유:모든 Repository나 Service 계층은 동일한 EntityManagerFactory를 공유하며, 이 팩토리를 통해 EntityM..
Java는 처음부터 UTF-16을 사용했을까?Java는 1.0부터 UTF-16을 내부 문자 인코딩 방식으로 사용즉, Java의 char 타입과 String 클래스는 초기부터 UTF-16을 기반으로 동작하지만, Java의 문자 처리 방식은 유니코드(Unicode) 표준이 발전하면서 약간의 변화가 있었음1. Java 1.0 (1996) - Unicode 1.1 기반🔹 Java 1.0 초기 문자 시스템Java 1.0에서는 char 타입이 16비트(2바이트) 정수형 (unsigned short) 로 설계됨.당시 유니코드(Unicode 1.1)는 U+0000 ~ U+FFFF (BMP, 16비트)만 사용했기 때문에 2바이트만으로 모든 문자를 표현할 수 있었음.따라서 Java 1.0에서는 "한 개의 char = 한..

다익스트라 알고리즘 (Dijkstra's Algorithm)다익스트라 알고리즘은 가중치가 있는 그래프에서 한 정점에서 다른 모든 정점까지의 최단 경로를 찾는 알고리즘입니다. 이 알고리즘은 그리디(greedy) 방식을 기반으로 하며, 네덜란드의 컴퓨터 과학자 에츠허르 다익스트라(Edsger W. Dijkstra)에 의해 제안되었습니다.다익스트라 알고리즘의 특징가중치가 음수가 아닌 그래프에만 적용 가능:가중치가 음수인 경우, 이 알고리즘은 최적의 결과를 보장할 수 없습니다.단일 시작점에서 다른 모든 정점까지의 최단 경로를 계산:한 정점에서 다른 모든 정점까지의 최단 경로를 계산.시작 정점에서 특정 정점까지의 최단 경로를 계산할 수 있습니다.시간 복잡도:시간 복잡도: O((V+E)logV) (우선순위 큐 사용..

동적 프로그래밍 (Dynamic Programming, DP)동적 프로그래밍은 복잡한 문제를 작은 하위 문제로 나누고, 각 하위 문제를 한 번만 풀어 그 결과를 재사용함으로써 전체 문제를 효율적으로 해결하는 알고리즘 기법입니다. 이는 재귀적 접근법(분할정복)과 메모이제이션(결과 저장)을 결합한 방식으로, 중복 계산을 줄이는 것이 핵심입니다.동적 프로그래밍의 특징최적 부분 구조 (Optimal Substructure): 문제를 더 작은 하위 문제로 나눌 수 있으며, 이 하위 문제들의 해결 방법을 조합해 전체 문제를 해결할 수 있어야 합니다.중복되는 하위 문제 (Overlapping Subproblems): 동일한 하위 문제가 여러 번 반복되어 계산될 경우, 이전 계산 결과를 저장해 재사용할 수 있습니다.동..
1. Native Threads (Java 1.0)등장 시기: Java 1.0 (1995년)기본 개념:java.lang.Thread 클래스를 사용하여 직접 스레드를 생성하고 관리.Runnable 인터페이스를 통해 스레드에서 실행할 코드를 정의.동기화(synchronized)와 wait()/notify() 메서드를 사용해 스레드 간 통신 및 동기화 구현.예제:class MyTask implements Runnable { @Override public void run() { System.out.println("Thread is running..."); }}public class Main { public static void main(String[] args) { ..
블로그 링크https://blog.det.life/i-spent-8-hours-learning-parquet-heres-what-i-discovered-97add13fb28f I spent 8 hours learning Parquet. Here’s what I discoveredI finally sat down and learned about it.blog.det.lifeApache Parquet 개요Apache Parquet는 대규모 데이터 분석과 저장을 위한 오픈소스 컬럼 지향 파일 포맷입니다. Parquet는 대량의 데이터를 효율적으로 저장하고 빠르게 처리할 수 있도록 설계되었습니다.주요 특징:컬럼 지향 저장(Columnar Storage)데이터를 컬럼별로 저장하므로 특정 열에 대한 쿼리를 수행할 ..