일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ddd
- php
- 자바스크립트
- 푸시 번역
- 푸시
- 카프카 트랜잭션
- kafka
- 카프카
- 웹사이트성능
- JPA
- nginx설치
- gcm 푸시 번역
- 도메인 주도 개발
- GCM
- GCM 번역
- 디자인패턴
- graphql
- Push
- nginx
- 웹사이트최적화기법
- Java
- notification
- 웹사이트 성능
- APNS
- 페이스북 번역
- Design Pattern
- 성능
- git
- nginx설정
- Today
- Total
목록Computer Science (44)
간단한 개발관련 내용
Layered Architecture란?Layered Architecture는 애플리케이션을 기능과 책임에 따라 계층으로 분리하는 설계 패턴입니다. 각 계층은 특정 역할을 수행하고, 계층 간의 의존성을 명확히 하여 유지보수와 확장성을 높입니다.1. 3Layer Architecture (3계층 아키텍처)3-Layer Architecture는 과거부터 널리 사용된 계층형 아키텍처로, 시스템을 세 가지 주요 계층으로 나눕니다.구성Presentation Layer (UI Layer)사용자와 상호작용하는 부분입니다.화면, 웹 컨트롤러, REST API 등의 역할을 합니다.예: Controller, ViewBusiness Logic Layer (Service Layer)비즈니스 로직을 처리하고 애플리케이션의 핵심 ..
1. 트랜잭션 스크립트 (Transaction Script)구현 방법트랜잭션 스크립트는 비즈니스 로직을 서비스 계층에서 직접 구현하는 패턴입니다.하나의 트랜잭션 단위(Use Case)를 처리하는 스크립트 형태로 동작합니다.구현 시:애플리케이션 서비스에서 데이터베이스 접근 코드와 비즈니스 로직을 함께 작성합니다.일반적으로 Service 클래스 내부에서 Repository를 호출하고 비즈니스 로직을 순서대로 나열합니다.예시 코드 (Kotlin + Spring Boot):@Serviceclass OrderService( private val orderRepository: OrderRepository, private val paymentGateway: PaymentGateway) { @Trans..
알고리즘은 다양한 문제를 해결하기 위해 설계된 방법론으로, 문제의 유형과 성격에 따라 적합한 알고리즘을 선택해야 합니다. 아래는 그리디 알고리즘을 중심으로 주요 알고리즘을 문제 해결 방식과 특성에 따라 분류하고 설명한 내용입니다.1. 그리디 알고리즘 (Greedy Algorithm)특징매 단계에서 현재 상황에서 가장 최선의 선택을 합니다.문제를 전역적으로 최적화할 수 있는지 판단하기 위해 지역적으로 최적화된 선택을 기반으로 합니다.일반적으로 탐욕스러운 선택 속성(Greedy Choice Property)과 최적 부분 구조(Optimal Substructure)를 만족하는 문제에서 사용됩니다.적용 사례활동 선택 문제(Activity Selection Problem)회의실 배정 문제: 가장 빨리 끝나는 활동..
코덱(Codecs)은 코딩(Encoding)과 디코딩(Decoding)의 합성어로, 디지털 미디어 데이터를 압축하고 압축을 해제하는 기술 또는 소프트웨어를 의미합니다. 코덱은 주로 비디오와 오디오 파일의 저장, 전송, 재생에 사용되며, 파일의 크기를 줄이고 품질을 유지하면서 효율적으로 데이터를 처리할 수 있도록 도와줍니다. 아래에서 코덱의 개념, 작동 방식, 종류, 그리고 사용 사례 등에 대해 자세히 설명하겠습니다.코덱의 기본 개념1. 코딩(Encoding)코딩은 원본 미디어 데이터를 압축하여 더 작은 크기의 파일로 변환하는 과정입니다. 이는 저장 공간을 절약하고 네트워크를 통한 전송을 용이하게 만듭니다.2. 디코딩(Decoding)디코딩은 압축된 미디어 데이터를 원본 형태로 복원하는 과정입니다. 재생 ..
Class 파일은 실행 시 Link를 할 수 있도록 Symbolic Reference 만을 가지고 있다.Runtime 시점에 실제 물리적인 주소로 대체되는 작업인 Dynamic Linking이 일어나게 된다. Class-File-Format은 Network-Byte-Order 를 사용하기 때문에 Big-Endian 방식을 사용하게 된다. 메모리 주소값을 할당하는 방식을 Network-Byte-Order 를 사용하는데 Big-Endian을 사용하기로 약속되어있고, 서로 다른 계열의 CPU끼리 데이터를 전송받을 때의 문제점을 해결하기 위해 정해진 일종의 약속이다. Gabage-CollectorGabage-Collection을 통해 Heap이나 Method-Area의 사용되지 않는 Object를 Memory에..
JAVA1Collection이 없어서 Vector, Stack, Hashtable, Properties 가 컬렉션의 명명법을 따르지 않음.Vector, HashTable 클래스들은 동기화처리됨. JAVA1.1ReflectionCalendar JAVA1.2Collection 프레임워크 등장ArrayList, HashMap 클래스들은 동기화처리하지 않고 필요한 경우에만 java.util.Collections 클래스의 동기화 메소드를 이용. JAVA1.3Hotspot-Compiler 내장...(불필요한 컴파일을 회피하고 HotCode에 Optimization을 집중..)Math 의 OS 의존성 때문에 (CPU명령어처리가 다르니까..) StrictMath 가 탄생했다. JAVA1.4CharSequence 가 추..