본문 바로가기

개발일지/JAVA

(8)
API Gateway & Spring Cloud Gateway 📌 API GatewayAPI Gateway는 API 클라이언트와 백엔드 서비스(서버에 위치) 사이의 중개자 역할을 하는 API Management 툴클라이언트 요청을 단일 진입점(게이트웨이)에서 처리하여 마이크로서비스와의 통신을 효율적으로 관리하는 역할-> 이를 통해 공통 로직 처리, 인증 및 인가, 라우팅, 부하 분산, 로깅, 캐싱 등의 기능을 중앙에서 관리할 수 있습니다. ✔ 주요기능인증 및 권한 부여서비스 검색 통합응답 캐싱정책, 회로 차단기 및 Qos 다시 시도속도 제한부하분산로깅, 추적, 상관 관계헤더, 쿼리 문자열 및 청구 변환IP 허용 목록에 추가 ✔ 역할API Gateway는 클라이언트와 서버 간 API 요청을 관리하는 게이트웨이 역할을 한다.클라이언트는 각 마이크로서비스의 엔드포인트 ..
Spring Cloud Netflix Eureka 적용 📍  Spring Cloud Netflix Eureka마이크로서비스 아키텍처(MSA)에서 서비스 디스커버리(Service Discovery) 를 제공하는 도구마이크로서비스 간의 통신을 쉽게 하기 위한 서비스 레지스트리 (Service Registry) 역할 수행Netflix에서 배포한 오픈 소스Spring Cloud Eureka는 서비스 레지스트리와 서비스 디스커버리를 지원하는 라이브러리이며, Eureka Server와 Eureka Client로 구성됨모든 마이크로서비스는 Eureka Server에 자신을 등록하여 관리됨 1.  Service Discovery 와 Service Registry 1-1) Service Discovery외부에서 다른 어떤 서비스들이 Microservice를 검색하기 위해서..
(항해99) Java 문법 종합반 5주차 정리 프로세스와 쓰레드, 싱글 쓰레드와 멀티 쓰레드, 구현방법 3가지, 싱글 쓰레드와 멀티쓰레드 실습, 데몬&우선순위&쓰레드 그룹, 쓰레드 상태&sleep&interrupt, join&yield&synchronized, wait&notify, Lock&Condition, 모던자바_자바 8변경점, 모던자바_함수형 프로그래밍 실전 예제, 모던자바_stream, 모던자바_null [프로세스 구조] OS가 프로그램 실행을 위한 프로세스를 할당해줄때 프로세스안에 프로그램 Code와 Data 그리고 메모리 영역(Stack, Heap)을 함께 할당 1. Code 는 Java main 메소드와 같은 코드를 말함 2. Data 는 프로그램이 실행중 저장 할 수 있는 저장공간을 의미 1) 전역변수, 정적변수(static), 배..
(항해99) Java 문법 종합반 4주차 정리 오류 및 예외에 대한 이해, 예외발생과 try catch finally문, 예외 클래스 구조 이해하기, chained exception 및 실제 예외 처리하기, 제네릭 개념 및 기본 문법 소개, 제네릭 문법 자세히 살펴보기, collection 다시보기(List), Wrapper클래스 [오류(Error) vs 예외(Exception)] - 오류(Error)는 일반적으로 회복이 불가능한 문제 - 예외(Exception)는 일반적으로 회복이 가능한 문제 [예외의 종류] 코드실행 관점에서 예외의 종류 컴파일 에러(예외) - .java 파일을 .class 파일로 컴파일할때 발생하는 에러 - 대부분 여러분이 자바 프로그래밍 언어의 규칙을 지키지 않았기 때문에 발생 - 예를들어 있지 않은 클래스를 호출한다거나, 접..
(항해99) Java 문법 종합반 3주차 정리(1) 객체지향 프로그래밍 이해하기, 클래스 설계, 객체 생성, 필드와 메서드, 매개변수의 종류(기본형, 참조형), 인스턴스 멤버와 클래스 멤버 [클래스] 클래스를 만들기 위한 4가지 STEP 1. 만들려고 하는 설계도를 선언합니다.(클래스 선언) 2. 객체가 가지고 있어야할 속성(필드)을 정의합니다. 3. 객체를 생성하는 방식을 정의합니다.(생성자) 4. 객체가 가지고 있어야할 행위(메서드)를 정의합니다. 클래스의 생성자 - 인스턴스가 생성될 때마다 호출되는 ‘인스턴스 초기화’ 메서드 - 인스턴스 생성시 수행할 작업에 사용 - 생성자는 반환 타입이 없고 이름은 클래스의 이름과 동일(void안 붙임) - 모든 클래스는 반드시 생성자를 가져야함 - 괄호( ) 안에 아무것도 없는 생성자를 기본 생성자라고함 기본 생..
(항해99)Java 문법 종합반 2주차 정리(2) 배열 개념소개 및 선언 조회 실습, 얕은 복사&깊은 복사&string배열, 다차원 배열 및 배열 실습, 컬랙션 소개, 컬랙션 List, 컬랙션 Stack&Queue&Set&Map 배열복사 (얕은 복사, 깊은 복사) 얕은 복사 - 배열은 참조형 변수이며 실제값이 아닌 실제값의 주소값을 가짐 - 따라서 배열 변수간에 대입 연산자 = 를 사용해서 복사를 하게 되면 주소값만 복사됨 - 이렇게 주소값만 복사되고 실제값은 1개로 유지되는걸 얕은 복사 라고 함 // 얕은 복사 int[] a = { 1, 2, 3, 4 }; int[] b = a; // 얕은 복사 b[0] = 3; // b 배열의 0번째 순번값을 3으로 수정했습니다. (1 -> 3) System.out.println(a[0]); // 출력 3 3) Sy..
(항해99)Java 문법 종합반 2주차 정리(1) 소개 및 사칙연산, 비교연산자&논리연산자, 대입연산자, 기타연산자, 비트연산자&연산자 우선순위, if, switch, for, while&break&continue, 반복문 활용 연습 연산자 우선순위 산술 > 비교 > 논리 > 대입 비트 연산 - Byte 를 8등분한게 Bit - Bit 는 0,1 둘중의 하나의 값만을 저장하는 컴퓨터가 저장(표현)가능한 가장 작은 단위 - 컴퓨터의 가장작은 단위인 Bit이기 때문에 연산중에서 Bit 연산이 제일 빠름 - 물론 이전에 배운대로 0,1 값으로 산술연산을 하거나, 비교연산을 할 수 있지만 비트 연산을 통해 자리수를 옮길수도 있음 - 이처럼 Bit의 자리수를 옮기는 것을 비트 연산이라고 함 - (오른쪽으로 자리수 옮기기) - 0,1 은 2진수 값이기 때문에, -..
(항해99)Java 문법 종합반 1주차 정리 자바 역사와 특징 소개, JVM, 첫 번째 프로젝트 생성, 주석 및 println 메서드 소개 및 실습, 변수 개념 및 기본형변수 타입 소개, 참조형변수타입 및 래퍼클래스타입 실습, 숫자와문자(ascii), 변수타입(심화), 형변환 JRE란? - Java Runtime Environment 즉, 자바 실행 환경 이라는 뜻 - JDK 가 javac 명령을 통해 .java 파일을 실행가능한 .class 파일로 변환 JDK란? - Java Development Kit 즉, 자바 개발 키트 라는 뜻 - JDK는 .java 파일들을 .class 파일들로 변환해주는 Java Compiler(javac) 기능이 있음 기본형의 종류와 크기 종류 \ 크기 1byte 2byte 4byte 8byte 논리형 boolean ..