1. 컴포넌트와 모듈의 차이 ① 컴포넌트: 런타임 개체 단위 ② 모듈: 실질적으로 구현이 된 단위 ※ 서버 / 클라이언트 구조에서 서버 1개 · 클라이언트 100개라면? → 모듈: 서버 1 + 클라이언트 1 = 2개 → 컴포넌트: 서버 1 + 클라이언트 100 = 101개 2. 자바란? "Write once, Run anywhere" 라는 특성의 객체지향 언어 3. 자바의 구동원리 ① 컴파일러가 코드를 검증하고 JVM이 읽는 바이트 코드 (.class) 로 변환한다. ② JVM 으로 바이트 코드를 가져온다. ③ 바이트 코드가 올바른지 검증한다. ④ 인터프리트한다. ⑤ 바이트 코드를 바이너리 코드로 변경하고 JVM 의 클래스 영역에 저장한다. ⑥ 런타임 과정에서 클래스들의 static 변수를 자동으로 초기..
스프링 프레임워크 핵심은 IOC (제어의 역전), DI (의존성 주입) 이다. 스프링 빈 스프링 빈의 특징 스프링 빈은 Singleton 으로 생성해 메모리나 성능 최적화에 유리하다. IOC (제어의 역전) 객체의 제어권을 다른 대상에게 위임한 것으로, 개발자 (또는 애플리케이션 코드) 가 아닌 프레임워크가 객체의 생성부터 소멸까지 관리하게 되는 것을 말한다. DI (의존성 주입) 한 클래스와 다른 클래스 사이의 의존 관계를 컨테이너가 빈을 가지고 자동으로 연결해주는 것을 말한다. AOP (관점 지향 프로그래밍) 프록시 패턴 기반의 구현체를 사용한다. 중복 제거, 객체 간 복잡도 증가에 대한 해결책이 될 수 있다. POJO 마틴 파울러는 EJB 에서 돌아서서 POJO 로 돌아와야 한다고 이야기했다. 비즈..
객체 지향 프로그래밍 캡슐화 항상 요구 사항은 추가되거나 변경될 수 있다 1. 객체의 의인화 현실 세계와는 다르게 가상 세계에서의 객체는 능동적이다. 2. 클래스 설계 - 객체가 형태를 갖추면 비슷한 객체들끼리 타입으로 묶어 클래스를 추상화한다. - 외부와 내부를 구분 지어야 한다. 외부와의 협력은 public 인터페이스를 통해서만 한다. - 객체가 능동적이기 위해서는 외부로부터의 간섭을 최소화해야 한다. 3. 객체의 특징 1. 캡슐화 - 객체의 세부적인 상태는 감추고 메시지는 오직 public 인터페이스로만 주고받는다. 2. 단일 책임 - 모든 객체는 맡은 일을 외부의 도움 없이 할 수 있어야 한다. 3. 응집도 - 밀접하게 연관되어 있는 일만 수행하고 관련이 없는 일은 다른 객체에게 위임해야 한다. ..
Array - 조회: 논리적 저장 순서 = 물리적 저장 순서 (random access O(1) 가능) - 삭제, 삽입: 접근 O(1) + shift O(n) = O(n) Linked List - 조회: 논리적 저장 순서 != 물리적 저장 순서 O(n) - 삭제, 삽입: O(n) Stack - LIFO or FILO Queue - Heap 구현하기 Stack 2개로 Queue 구현하기 하나는 입력만 받고, 다른 하나는 pop 만 하게 한 후, pop 하는 쪽이 비면 입력 받는 stack 에 원소가 있다면 pop 시켜서 가져오게끔 구현하면 된다. Tree - 포화 이진 트리: 모든 노드가 2개의 자식 노드를 갖는 트리 - 완전 이진 트리: 위에서 아래로, 왼쪽에서 오른쪽으로 차곡차곡 채워져 있는 트리 - ..
프로세스와 스레드 프로세스는 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 실행중인 프로그램을 말한다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이를 총칭하여 프로세스라고 부른다. 더 구체적으로는 프로세스는 함수 매개 변수와 복귀 주소, 로컬 변수와 같은 임시 자료를 갖는 프로세스 스택과 전역 변수들을 갖는 데이터 섹션을 포함한다. 또 동적으로 할당되는 메모리의 영역인 힙을 포함한다. 프로세스는 PCB(Process Control Block) 이라고 하는 중요한 정보를 저장해놓는 공간을 갖고 있다. CPU 를 할당 받고 작업하는 도중에 반환해야 하는 상황이 생기면 PCB 에 작업 상황을 저장해놓고 반환한 후에 나중에 CPU 할당 받았을 때 PCB 로부터 작업 상황을 불러와서..
- Total
- Today
- Yesterday
- spring
- Jackson
- DeSerialization
- 역직렬화
- 인증/인가
- 코테
- 가상 서버
- google cloud
- ci/cd
- FCM
- 기지국 설치
- Java Data Types
- 알고리즘
- JPQL
- docker
- DTO
- JOIN FETCH
- N+1
- Spring Boot
- Firebase
- 프로그래머스
- gitlab
- LazyInitializationException
- 깃랩
- 도커
- json web token
- 실시간데이터
- 지연 로딩
- @RequestBody
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |