전체 글
-
WebClient 와 WebFlux (정리중..)Back-End/Spring 2023. 6. 13. 00:19
Java REST API Client Library 에는 여러가지 종류가 있다. - HttpURLConnection - OKHttp, Retrofit, Volley - HttpClient - RestTemplate - WebClient WebClient 이전에는 RestTemplate 와 HttpClient 를 많이 쓰다가 (사실 나는 RestTemplate 도 안 써본 것 같다) WebFlux 가 등장하면서 WebClient 를 사용하게 되었다. 1. HttpURLConnection - 기본 JDK에 포함 (java.net) - URLConnection을 구현한 클래스 [ 장점 ] - HTTP 프로토콜 이외에도 사용 가능 - 속도가 빠르다. [ 단점 ] - 코드가 복잡하다. - 타임아웃을 설정할 수 없..
-
Yaml 을 Private 서브 모듈로 추가하여 관리하기Back-End/Database & etc 2023. 6. 8. 01:18
1. Yaml 파일 property 값들이 빈으로 등록되지 않는 문제 발생build.gradle// 메인 프로젝트와 경로를 맞춰줘야 런타임 시에 정상적으로 주입이 된다sourceSets { main { resources { srcDirs = ['src/main/resources', 'buddy-wisdom-private/src/main/resources'] } }}올바른 classpath 설정 필요.application.yml 파일은 Runtime 시에 빈으로 주입되어야하기 때문에 메인 프로젝트와 경로를 맞춰줘야한다. 서브모듈 하위에 application.yml 의 위치를 기존 메인 프로젝트 Yaml 파일과 맞춰준다.그리고 메인 프로젝트의 Yaml ..
-
Windows Openstack SDK Client (CLI) InstallInfra/DevOps 2023. 3. 18. 01:15
Openstack 이란? 오픈 소스 클라우드 컴퓨팅 소프트웨어 프로젝트로, 기업용 프라이빗 클라우드, 퍼블릭 클라우드 및 하이브리드 클라우드를 구축하는 데 사용한다. 설치하기 우선 Python 을 설치해준다. https://www.python.org/downloads/windows/ Python Releases for Windows The official home of the Python Programming Language www.python.org Python 3.5.0 version 이상으로 설치해주자. 그 아래 버전은 path 를 자동으로 잡아주지 않아서 직접 설정해줘야하는데, 이게 생각보다 어렵다. 참고로 openstack 공식 문서에 따르면 Python 3.x 미만 version 은 이제 지원..
-
OpenJDK InstallETC 2023. 2. 21. 23:16
MacOS brew 를 통해 설치 brew install openjdk@17 설치 경로 확인 ==> Caveats ==> openjdk@17 For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk IntelliJ 설정 /Libarary/Java/JavaVirtualMachines/ 하위 경로에서 방금 설치한 JAVA Version 을 찾을 수 없을 때 /opt/** 폴더 경로 찾을 수 없을 때 Command + Shift + G 단축키를 눌러 Go to..
-
[Java] Retention PolicyProgramming Lang/└ Deep Java 2023. 1. 5. 01:34
Retention Policy 란? 컴파일이 되었을 때, 바이트 코드(byte code)로 만들어주는 범위를 지정해주는 정책이다. 이 정책은 enum 으로 등록되어있고, 3가지의 property 를 가진다. 여기서 용어 주의 !! byte code : 클래스(.class) 파일. Java Complier 가 OS 관계 없이 실행시킬 수 있도록 변환시킨 코드. binary code : JIT Complier 가 컴퓨터가 읽을 수 있도록 변환시킨 기계코드. public enum RetentionPolicy { /** * Annotations are to be discarded by the compiler. */ SOURCE, /** * Annotations are to be recorded in the cl..
-
JWT (JSON Web Token)Network/Authentication 2022. 9. 14. 21:01
JWT (JSON Web Token) 안전하게 전송하기 위해 고안된 JSON 객체의 데이터 (key-value) JSON 은 key와 value로 이루어진 데이터 객체이다. JWT 는 이 JSON 객체를 이용한 Token 이라는 것을 통해 유저를 식별하고 유효성 검사를 수행한다. Filter 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전에 수행. 웹 컨테이너에 의해 관리. Interceptor 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전에 수행. 스프링 컨텍스트에서 동작. 위의 2가지 방법 중에서 원하는 방식을 선택하여 사용하면 된다. 이 Token 에는 header, payload, signature 를 담고 있고, payload 에는 secr..
-
[Java] Polymorphism (작성중입니다)Programming Lang/Java 2022. 9. 11. 00:45
다형성이란? polymorphism (다형성) a word or phrase that is used with another word or phrase to limit or add to its meaning 그 의미를 제한하거나 더하기 위해 다른 단어나 구와 함께 사용되는 단어나 구 다형성 List list = new ArrayList(); Map map = new HashMap(); 다른 타입으로 객체 생성 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있는 것 다형성의 조건 1. 상속 관계일 것 class AirConditional {} class SmartTv extends Tv{ } class Tv { } class Main { public static void main(String..