Development
-
Gradle에서는 plugin 기능을 제공한다. 그중에서도 java, java-libray plugin은 기능은 자바 프로젝트를 빌드하는데 거의 필수적으로 필요한 plugin들이다. apply plugin: 'java' apply plugin: 'java-library' java-libray는 java를 상속받은 plugin으로 java plugin이 제공하는 모든 configuration을 제공한다 추가적으로, java-libray plugin이 api configuration 제공 api로 선언된 의존성은 소비자의 compile classpath와 runtime classpath 모두에 포함 implementation configuration은 내부에서 사용되는 의존성을 선언하는 데 사용 implem..
[Gradle] dependencies - implementation, apiGradle에서는 plugin 기능을 제공한다. 그중에서도 java, java-libray plugin은 기능은 자바 프로젝트를 빌드하는데 거의 필수적으로 필요한 plugin들이다. apply plugin: 'java' apply plugin: 'java-library' java-libray는 java를 상속받은 plugin으로 java plugin이 제공하는 모든 configuration을 제공한다 추가적으로, java-libray plugin이 api configuration 제공 api로 선언된 의존성은 소비자의 compile classpath와 runtime classpath 모두에 포함 implementation configuration은 내부에서 사용되는 의존성을 선언하는 데 사용 implem..
2023.11.29 -
리액티브 스트림즈(reactive streams)란 리액티브 라이브러리를 어떻게 구현할지 정의해 놓은 별도의 표준 사양 데이터 스트림을 non-blocking이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 그 구현체 예시 RxJava, Reactor.. 리액티브 스트림즈(reactive streams) 구성 요소 publisher : 데이터 생성하고 통지 subscriber : 구독한 publisher로 부터 통지된 데이터를 전달받아서 처리 subscription : publisher에 요청할 데이터의 개수를 지정, 데이터의 구독을 취소 processor : publisher + subscriber Publisher interface public interface Publishe..
[Reactive] Reactive Streams(리액티브 스트림즈)리액티브 스트림즈(reactive streams)란 리액티브 라이브러리를 어떻게 구현할지 정의해 놓은 별도의 표준 사양 데이터 스트림을 non-blocking이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 그 구현체 예시 RxJava, Reactor.. 리액티브 스트림즈(reactive streams) 구성 요소 publisher : 데이터 생성하고 통지 subscriber : 구독한 publisher로 부터 통지된 데이터를 전달받아서 처리 subscription : publisher에 요청할 데이터의 개수를 지정, 데이터의 구독을 취소 processor : publisher + subscriber Publisher interface public interface Publishe..
2023.11.13 -
reactive : 반응을 하는 reactive system 클라이언트의 요청에 즉각적으로 응답함으로써 지연 시간을 최소화하는 시스템 리액티브 선언문 설계 원칙 수단 - means message driven : 메시지 기반 통신 형성 - form elastic(탄력성) : 시스템의 작업량이 변화하더라고 일정한 응답을 유지하는 것을 의미 resilient(회복성) : 시스템에 장애가 발생하더라도 응답성을 유지하는 것을 의미 가치 - value responsive(응답성) : 어떠한 상황에서도 즉각적으로 응답 가능한 시스템을 구축 -> 빠른 응답성을 바탕으로 유지보수와 확장이 용이한 시스템 reactive programming 리액티브 시스템을 구축하는 데 필요한 프로그래밍 모델 리액티브 시스템의 설계 원..
[Reactive] Reactive Programming(리액티브 프로그래밍)reactive : 반응을 하는 reactive system 클라이언트의 요청에 즉각적으로 응답함으로써 지연 시간을 최소화하는 시스템 리액티브 선언문 설계 원칙 수단 - means message driven : 메시지 기반 통신 형성 - form elastic(탄력성) : 시스템의 작업량이 변화하더라고 일정한 응답을 유지하는 것을 의미 resilient(회복성) : 시스템에 장애가 발생하더라도 응답성을 유지하는 것을 의미 가치 - value responsive(응답성) : 어떠한 상황에서도 즉각적으로 응답 가능한 시스템을 구축 -> 빠른 응답성을 바탕으로 유지보수와 확장이 용이한 시스템 reactive programming 리액티브 시스템을 구축하는 데 필요한 프로그래밍 모델 리액티브 시스템의 설계 원..
2023.11.08 -
SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
[SQLI] SQL Injection ( + Mybatis )SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
2023.07.29