일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카프카 트랜잭션
- Push
- nginx
- Java
- 레디스
- GCM 번역
- JPA
- 웹사이트 성능
- nginx설치
- notification
- 푸시
- NoSQL
- gcm 푸시 번역
- 페이스북 번역
- 디자인패턴
- 성능
- nginx설정
- GCM
- redis
- 카프카
- 웹사이트성능
- 푸시 번역
- kafka
- git
- Design Pattern
- 웹사이트최적화기법
- APNS
- php
- 자바스크립트
- Today
- Total
목록Computer Science (39)
간단한 개발관련 내용
계층(Layer)과 티어(Tier)의 차이점이 문서는 계층형 아키텍처와 N-티어 아키텍처를 구분하고 있습니다.1. 계층 (Layered Architecture)개념적 경계를 나타냅니다. 계층은 논리적으로 구분되며 동일한 단위에서 구현되고 배포됩니다. 예: Presentation Layer, Application Layer, Domain Layer, Infrastructure Layer 논리적 구조: 각 계층이 기술적/기능적 역할을 담당하지만, 같은 서버나 시스템에 배포될 수 있습니다.2. 티어 (N-Tier Architecture)물리적 경계를 나타냅니다. 각 티어는 서로 독립적으로 배포될 수 있습니다. 예: 브라우저 (클라이언트) 리버스 프록시 서버 애플리케이션 서버 데이터베이스 서버 ..
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에..