Spring Cloud Spring Cloud Project란? 프로젝트 살펴보기 Service Registry: 서비스들에 대한 정보가 적재되어 있는 레지스트리. 일반적으로 소프트웨어 형태로 제공됨 Client가 어떤 서비스로 요청을 보내야 하는데, 어디로 요청을 보내야 하는지 알아내는 방법이 크게 2가지 있음 어디로 가야 하는지를 서비스 레지스트리에 물어보는 형태 서비스 레지스트리에 요청을 보내고, 그에 따라서 어떤 서비스로 요청 보내야 할지를 판단하는 방식 client side service discovery 클라이언트와 서비스 사이에 로드 밸런서가 존재해서, 클라이언트가 로드밸런서로 요청을 보냄 로드밸런서가 서비스 레지스트리에 실제 요청을 보내고자 하는 서비스의 위치를 파악한 후 요청에 따라 해당..
RabbitMQ Message Broker HTTP는 단방향 단일성 통신 클라이언트가 명백하고, 서버가 명백함 클라이언트가 서버에 요청을 보내면, 서버는 클라이언트에 응답을 돌려줌 (클라이언트와 서버의 역할이 명백하게 분리) 서버측에서 한 번 응답을 보내고 나면 http 요청-응답의 관계가 끝나게 됨 (단발성) 어느 한 쪽이 요청을 보내면, 반대쪽에서 요청을 보내라고 요청할 수는 없음 (단방향) Message Broker 메시지 기반의 통신을 위해 활용하는 부수적 소프트웨어(Middleware)의 일종 미들웨어: 그 자체로서 기능하기 보다는 다른 소프트웨어에 추가적인 기능을 부여하기 위해서 사용하는 소프트웨어 Message Queue를 구현해 놓은 것 Publish Subscribe Message Pat..
Auth & HTTPS Authorization & Authentication Auth: 로그인 과정에서 일어나는 일들을 함축하는 단어. Authorization & Authentication 사용자가 자신이 누구인지를 증명하는 과정 -> Authentication (로그인, 소셜 로그인) API서버를 사용할 때에도 API ID키를 발급받고 그것을 서비스 제공자가 원하는 형태로 가공해서 전달함으로써 사용하기도 함. 이것도 Authentication과정으로 볼 수 있음 사용자의 기능 사용 권한을 검증하는 과정 -> Authorization (권한 관리, 작성, 차단 등) Authentication 브라우저에는 브라우저가 가지고 있어야 할 정보가 쿠키 형태로 저장됨 쿠키는 브라우저가 설정하기도 하고, 요청을..
Java의 예외처리 Exception (예외) 특수한 처리를 필요로 하는 비상적 또는 예외적 상황 Spring Boot의 예외처리 방법들 ResponseStatusException 단발적 예외: 해당 예외 처리를 위한 메소드를 만들 필요까지는 없을 때 사용 스프링부트 내부에서 자동적으로 처리할 준비가 되어있다는 점이 가장 큰 장점 빠르게 기능을 구현해보기 위한 개발 초기단계에서 주로 사용 \ @ExceptionHandler Controller 내부에서 함수에 붙여 선언함으로써 특정한 예외를 처리할 때 사용 @ExceptionHandler가 붙은 함수는 지정된 예외에 대해서 예외를 처리할 때 동작하는 함수가 됨 자신이 선언된 컨트롤러 내부에서만 작동 HandlerExceptionResolver 실제 예외를..
Spring Boot Properties 설정 파일 작성 Spring Boot Profiles multi-document yaml 하나의 yaml파일 안에 여러 개의 문서를 넣어서 설정하는 방법 spring: profiles: active: local --- spring: config: activate: on-profile: local datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/demo_jpa_schema username: demo_jpa password: password jpa: hibernate: ddl-auto: create show-sql: false properties: hiber..
MyBatis 사용해보기 MyBatis 소개 MyBatis 관계형 데이터베이스 프로그래밍을 더 쉽게 할 수 있도록 도와주는 Java Framework Database를 사용하는 이유 스프링부트는 자바로 만들어진 프레임워크 스프링부트 내에서 프로그래밍 언어를 사용할 때 Java 클래스(POJO)를 통해 데이터를 다룬다 Plain Old Java Object (POJO) an ordinary Java object not bound by any special restriction and not requiring any classpath used for increasing the readablility and reusability of a program basically defines an entity a PO..
CRUD란? 서비스의 자원 웹 서비스(어플리케이션 서비스) 사용자가 원하는(서비스에서 사용할) 자원의 관리 자원 제공, 제작, 갱신 등 부수적인 기능은 서비스 별로 다르게 만들어짐 CRUD (Create, Read, Update, Delete) Create 생성 DTO(Data Transfer Object): 데이터를 주고받는데 사용하는 객체라는 의미 @Controller @ResponseBody @RequestMapping("post") public class PostController(){ private final List postList; public PostController(){ postList = new ArrayList(); } @PostMapping("create") public void ..
컴퓨터 통신과 HTTP HTTP란? 네트워크 접근 계층: 컴퓨터의 랜카드, 모뎀 같은 부분에서 일어남 인터넷 계층: 인터넷이 어떻게 이루어져 있는지 전송 계층: 인터넷상에서 데이터를 어떻게 주고받는지 세션 계층: 컴퓨터들끼리 연결된 상태를 관리 표현 계층: 통신을 어떻게 표현할지 (데이터의 형식에 관한 부분) 응용계층 : 주고받을 데이터를 어떤 규칙을 가지고 작성하는지를 정의 응용 계층에 정의된 통신 규약(Protocol): HTTP, SMTP, FTP HTTP (Hypertext Transfer Protocol): 브라우저와 관련. 서버와 클라이언트 간에 메시지를 전달하는 형식을 정의한 규약 cf) REST (Representational State Transfer) : API 를 만들기 위한 규칙들이..
Build Automation Tool Java와 Build Automation Tool Build Automation Tool Java로 이뤄진 프로젝트는 *.java 파일에 정의된 Java Source 코드로 구성됨 javac: java source code를 java bytecode로 바꾸기(compile) 위한 도구/명령어. JDK에 포함되어 있음. java compiler의 약자 compile: 소스코드를 기계어로 바꾸는 과정 build: 기계어가 실행되어 프로그램이 실행되는데 필요한 모든 과정 java source code를 java bytecode로 변환 test디렉토리의 java bytecode 실행 실행 결과에 문제가 없다면 프로젝트를 구성하는 모든 파일들을 합쳐서 하나의 파일로 제작 (..
Java 프로젝트 JDK란? Java 프로그래밍 언어 ( 기계어: 0과 1로 이루어진 컴퓨터가 이해할 수 있는 언어) high-level language (사람이 이해하기 쉬운 형태의 프로그래밍 언어) C, C++, JS, Python 등도 high-level language에 속함 Java언어도 컴퓨터가 이해할 수 있는 형태의 기계어로 변환되어야 함 Java Bytecode Java 언어를 해석하여 만든 Assembly 언어와 유사한 언어 Java 언어의 소스 코드 파일은 *.java 형태, Bytecode 파일은 *.class 형태로 저장 JVM (Java Virtual Machine) java bytecode를 받아서(읽어서) 기계어로 컴퓨터에 전달(변환) java bytecode: java(프로그..
- Total
- Today
- Yesterday
- 앱개발
- multipart/form-data
- 참조 타입
- URLComponents
- 코딩
- URLQueryItem
- 값 타입
- HTTP Methods
- OSI
- ssh-configure
- SWIFT
- HTTP message
- 야곰아카데미
- TCP
- 메모리 구조
- 부트캠프
- 네트워크
- copy on write
- Github
- 어플
- JSON
- ssh-agent
- Cow
- Endpoint
- 스택
- URL
- ssh-add
- SSH
- 커리어스타터캠프
- IOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |