일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링부트 구조
- 로그인 인증 흐름
- ./gr
- ./gradlew docker
- 스프링부트
- 세션기반 인증
- 어노테이션
- JWT
- JPA
- 스프링 부트 테스트
- 비동기
- 동기
- IPC
- formmatted
- spring
- MSA
- java I/O
- 프레젠테이션 계층
- Java
- 비즈니스 계층
- @temproal
- 토큰기반 인증
- ORM
- RESTfull API
- 퍼시스턴스 계층
- http
- 로그인/로그아웃
- 작업명중복
- 스프링
- 스프링부트 계층구조
- Today
- Total
목록Back-end (69)
[DEV] J-Jay

인터넷 서비스는 보통 서버와 클라이언트가 관계를 맺는다. 그래서 이 둘의 관계를 잘 이해해야 한다 보통 클라이언트와 서버의 관계는 아래와 같이 표현한다. 클라이언트란? 클라이언트는 서버로 요청하는 프로그램을 모두 일컬어 말한다. 우리가 사용하는 프로그램인 웹 브라우저가 바로 대표적인 클라이언트 중 하나이다. 우리는 웹 브라우저로 무엇을 할까? 주소를 입력하고, 화면을 확인한다. 이떄 주소를 입력한 뒤 [Enter] 를 눌러 정보를 요청 하는 행위를 '서버(Server)에 요청(Request) 한다.' 라고 한다. 그러면 서버는 그 주소에 맞는 화면으로 응답(Response) 한다. 서버란? 서버는 클라이언트의 단짝이다. 서버는 클라이언틔 요청을 받아 처리하는 주체이다. 클라이언트가 데이터를 요청했다면 데..

build.gradle 설정하기 plugins { // 1 id 'java' id 'org.springframework.boot' version '3.0.2' id 'io.spring.dependency-management' version '1.1.0' } // 2 group = 'me.dev_juny' //지정한 그룹 이름 version = '1.0' sourceCompatibility = '17' repositories { // 3 mavenCentral() } dependencies { // 4 implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spri..

빌드 시스템(Build system)에 있는 Gradle과 Maven은 소스 코드를 이용해서 실행 가능한 애플리케이션을 생성하는 과정을 자동화 하는 프로그램을 말한다. 이 과정에는 의존성 내려받기, 코드 패키징, 컴파일, 테스트 실행 등이 포함되어 있다. 예전에는 Maven을 많이 사용했지만 요즘은 Gradle을 많이 사용하는 추세이다. Gradle은 다음과 같은 특징이 있다. Maven에 비해 가독성이 좋고 설정이 간단하다. Java, Kotlin, Groovy등 다양한 언어를 지원하며, 원하는 대로 빌드 스크립트를 작성 할 수 있다. Build와 Test 속도가 Maven에 비해 더 빠르다
Scheduler 애플리케이션 서버 내에서 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 기능 Quart Scheduler 오프 소스 (http://quartz-scheduler.org/) JAVA 기반 스케줄러 주요 요소 Scheduler : Quartz 실행 환경을 관리하는 핵심 개체 Job : 사용자가 수행할 작업을 정의하는 인터페이스로서 Trigger 개체를 이용하여 스케줄 가능 JobDetail : 작업명과 작업그룹과 같은 수행할 Job에 대한 상세 정보를 정의하는 개체 Trigger : 정의한 Job 개체의 실행 스케줄을 정의하는 개체 Trigger SimpleTrigger : 간단하게 사용 가능 (Interval, Delay, Repeat Time 등 설정) CronTrigger ..
Restful API Design RESTFUL API: 표현 상태 전송 (REST)의 원칙을 준수하는 API(Application Programming Interface) 프로세스 REST는 웹 서비스를 만들 때 사용할 수있는 제약 세트를 정의하는 소프트웨어 아키텍처 스타일 제약 조건 클라이언트 서버 아키텍처 무국적 아키텍처, 캐시 가능성 및 균일 한 인터페이스 사용 편안한 API 디자인은 이러한 제약을 따라 API가 확장 가능하고 유연하며 관리가 편함 (리소스 설계, HTTP 방법 정의, 하이퍼 미디어 링크를 사용 포함) Restful API Design은 다른 시스템 및 서비스와 통신 할 수있는 최신 웹 애플리케이션을 구축하는 데 중요한 사항

HTTP : 프로토콜 또는 하이퍼 텍스트 전송 프로토콜 인터넷을 통해 데이터를 전송하는데 사용되는 통신 프로토콜 월드 와이드 웹(www)의 데이터 커뮤니케이션의 기초이며, 웹 서버와 클라이언트 간 정보 교환을 담당 HTTP 모델 HTTP는 요청 - 응답 프로토콜로 클라이언트가 요청을 서버로 보내고, 서버가 요청 된 데이터로 응답함을 의미 HTTP는 클라이언트가 요청을 시작하고 서버가 요청 된 데이터로 응답하는 클라이언트 - 서버 모델을 기반 HTTP는 무국적 프로토콜 각 요청 및 응답은 이전 요청 또는 응답과 무관함 전송 된 데이터는 텍스트 형태이며 사람이 쉽게 읽고 이해할 수 있음 전반적으로 HTTP 프로토콜은 인터넷의 중요한 구성 요소이며 서버와 클라이언트간에 정보를 교환 할 수 있게 해줌

Caller와 Callee 함수가 다른 함수를 호출하는 상황 Caller : 호출하는 함수 Callee: 호출 당하는 함수 함수형 인터페이스 함수형 프로그래밍을 지원하기 위해 java 8부터 도입 1개의 추상 메서드를 가지고 있는 인터페이스 함수를 변수에 할당하거나 인자로 전달하고 반환값으로 사용 가능하다 (1급 객체) Fuction, Consumer, Supplier, Runnable 등이 있다 함수형 인터페이스를 구현한 익명 클래스를 람다식으로 변경 가능하다 A (동기) main은 getResult() 메소드의 결과에 관심이 있고, getResult() 결과를 이용해 다음 코드를 실행한다 public class A { public static void main(String[] args) { Syste..
File Class java.io.File 클래스는 파일의 크기, 접근 권한, 삭제, 이름 변경 등의 작업을 할 수 있는 기능을 제공 디렉토리(폴더) 역시 파일로 취급된다 File Class Constructor(생성자) File(File parent, String child) parent 디렉토리에 child 라는 파일에 대한 File 객체 생성 File(String child) child 라는 파일에 대한 File 객체를 생성 ※ 파일 인스턴스를 만들었다고, 실제 파일이 생성되는건 X File Class Method (File permission 권한) boolean canRead() 파일이 읽기 가능할 경우 true 아니면 false boolean canWrite() 파일이 쓰기 가능할 경우 tru..

I/O란? Input & Output(입출력) 입력 : 키보드, 네트워크, 파일 출력 : 화면, 네트워크. 파일 Java I/O도 객체 I/O에서 사용되는 객체는 어떤 대상으로 부터 읽어들여, 어떤 대상에게 쓰는 일을 한다. Java I/O는 Decorator 패턴 1. Component 인터페이스: Decorator 패턴에서 Component는 데코레이션될 객체와 데코레이터 객체에 공통으로 구현할 메서드를 정의 public interface Component { public void operation(); } 2. ConcreteComponent 클래스: Component 인터페이스를 구현하는 구체적인 객체 public class ConcreteComponent implements Component {..
인터페이스 객체 지향 프로그래밍에서 추상화를 통해 코드의 재사용성과 유지보수성을 높이는 기술 중 하나이다. 인터페이스는 메소드의 선언만으로 기능을 정의하고, 이를 구현하는 클래스에서 모든 메소드를 구현해야 한다. 글로만 설명하면 이해가 힘드니 직접 구현을 해보겠다. 예제: 동물 인터페이스 interface Animal { public void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("멍멍"); } } class Cat implements Animal { public void makeSound() { System.out.println("야옹"); } } public class Main ..