Home
Youngho's Devlog
Cancel

Kafka 개요

MessageQueue 데이터를 전송하는 애플리케이션과 데이터를 수신 받는 애플리케이션의 개수가 늘어날 수 록 데이터 전송라인이 많아 지게 됨 데이터 전송라인이 많아지면 배포와 장애에 대응하기 어려움 데이터를 전송할 때의 프로토콜의 파편화가 심각해짐 추후 데이터의 포맷내부에 변경이 있을 때 유지보수하기 매우 어려워짐 카프카는 이런 ...

[Java] JVM 구조

JVM이란? java 가상머신으로 java 바이트 코드를 실행할 수 있는 주체 JVM의 구성 요소 1) Class Loader 예를 들어 자바에서 코딩시 a.java파일이 생성된다고 하면 .java소스를 자바컴파일러(javac)가 컴파일하여 a.class와 같은 클래스 파일(바이트코드)로 변환해준다. Class Lo...

[Java] JAXB

JAXB JAXB(Java Architecture for XML Binding)는 Java Object를 XML로 직렬화(마샬링)하고, XML을 Java Object로 역직렬화(언마샬링)해주는 자바 API JDK6 ~ 9 버전은 JAXB가 내장되어 있어 라이브러리를 추가 할 필요가 없음 Annotation @XmlRootElement...

[Java] GC(Garbage Collection)의 개요

GC(Garbage Collection)의 개요 가비지 컬렉션 과정 GC에 대해 알아보기 전에 ‘stop-the-world’라는 용어를 알아 둬야 함 ‘stop-the-world’란 GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것 ‘stop-the-world’가 발생하면 GC를 실행하는 스레드를 제외한 나머지 스레드는 모두 작...

[Java] Collection

Collection의 개념 Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공 Java 컬렌션 프레임워크의 상속구조 Collection 인터페이스는 List, Set...

[Java] Call by value와 Call by reference

Call by value와 Call by reference Call by value와 Call by reference는 메소드 호출 시 인자 값을 어떤식으로 받아오는지에 대한 차이이다. Call by value: 값에 의한 호출 Call by reference: 참조에 의한 호출 Java는 Call...

[Java] Array&List변환

1) List -> Array 변환 case1 - 반복문 이용 ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("Test1"); arrayList.add("Test2"); arrayList.add("Test3"); String[] array = new S...

[Backend] 테스트 코드 개요

테스트코드를 작성해야 하는 이유 1) 잘 작동하는, 깔끔한 코드를 얻기 위해서(궁극적 목표) 테스트를 쉽게 하기 위해서는, 어플리케이션 코드를 테스트하기 쉽게 짜야됨 결국 테스트 코드를 짜기 위해 노력하다보면 코드가 깔끔해지게 됨 2) SW개발 시간의 단축 테스트 코드 작성 전 ...

[Backend] 쿠키와 세션

HTTP의 특징 일단, HTTP란 인터넷상에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 통신규약이다. 서버의 자원을 절약학기 위해 모든 사용자의 요청마다 연결과 해제의 과정을 거치기 때문에 연결상태가 유지 되지 않고(비연결성-Connectionless), 연결 해제 후에 상태 정보가 저장되지 않는다(비상태성-Stateless) ...

[Backend] 분산 서버 처리를 위한 기술

1) 로드 밸런싱(Load Balancing) 부하 분산을 위해 가상 IP를 통해 각 서버에 Request를 분배하는 기능 LoadBalancer 2) Scale Up, Scale Out 서버의 부하를 체크하여 서버를 늘리거나 성능을 향상 시키는 방식 스케일 업(Scale Up): 서버에 CPU나 RAM 등을 추가하여 서버의 하드...