일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- php
- Java
- 도메인 주도 개발
- 웹사이트최적화기법
- Push
- kafka
- ddd
- Design Pattern
- nginx설치
- nginx설정
- nginx
- graphql
- GCM
- gcm 푸시 번역
- git
- 성능
- 페이스북 번역
- GCM 번역
- 카프카
- 카프카 트랜잭션
- 디자인패턴
- 푸시
- 자바스크립트
- 웹사이트성능
- APNS
- 웹사이트 성능
- JPA
- 푸시 번역
- notification
- Today
- Total
목록하루 벌어 하루 살아요 (157)
간단한 개발관련 내용
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)데이터를 컬럼별로 저장하므로 특정 열에 대한 쿼리를 수행할 ..
도메인 주도 설계(DDD) - 전략적 설계 요약도메인 주도 설계의 전략적 설계(Strategic Design)는 도메인의 큰 그림을 이해하고 관리 가능한 하위 도메인으로 나누어 비즈니스와 기술의 복잡성을 효과적으로 관리하는 방법론입니다. 이 과정에서 바운디드 컨텍스트(Bounded Context), 유비쿼터스 언어(Ubiquitous Language), 그리고 도메인 간 협력 패턴을 정의합니다.1. 전략적 설계의 핵심 개념1.1 비즈니스 도메인 분석비즈니스 도메인: 기업이 고객에게 제공하는 주요 활동 영역.하위 도메인: 비즈니스 활동을 세분화한 영역.핵심 하위 도메인: 경쟁 우위를 제공하며 복잡성과 변동성이 높음.일반 하위 도메인: 모든 회사에서 동일하게 수행하는 활동 (로그인, 인증 등).지원 하위 도..