본문 바로가기

java || spring boot20

API 요청 하기 restTemplate 사용 - restTemplate - HTTPURLConnection 또는 HttpClient - Feign 클라이언트 - OkHttp - Retrofit   1.  spring 통합 -> restTemplate는 spring의 핵심 모듈에 포함되어 있어 spring의 다른 구성 요소와 잘 통합 2. sync, async 지원 -> 동기식 및 비동기식 http 요청을 모두 지원 3. 다양한 http 메서드 지원 -> GET, POST, PUT, DELETE 등 다양한 http 메서드 지원  4. 다양한 인코딩 및 디코딩 기능 ->  http요청 및 응답의 데이터를 다양한 형식으로 인코딩하거나 디코딩할 수 있다. ex)json, xml, form                                      .. 2024. 5. 10.
API 사용을 위해 HTTP 요청 헤더 만들기 카카오 API 문서 참고시 요청시 다음과 같은 형식이다. 요청 형식( -H "Authorization: KakaoAK ${REST_API_KEY}" ) 이부분을  참고해서 다음과 같이 헤더를 만들어준다.  HttpHeaders 를 사용해서 headers를 만들어 준다 이때 응답은 Json형식으로 원한다고 했을 시 headers.setAccept() ->  클라이언트가 JSON 형식의 응답을 원한다는 것을 서버에 알리기 위해 Accept 헤더를 설정하는 부분 headers.set() -> HTTP 요청에 인증 정보를 추가하기 위해 Authorization 헤더를 설정하는 부분                            (카카오 api를 사용하기 위해  개인키를 생성 받아서  restApiKey를 넣어.. 2024. 5. 10.
sping boot (intellj)편리한 단축키 맥북기준)    option + command + m선택한 코드들 묶어서 클래스 만들기option + command + p선택한 부분 클래스에 파라미터 자동으로 만들어줌  ctrl + G다중선택(있는 숫자 만큼 눌러야 한다)ctrl + cmd + G다중선택(있는 숫자 모두 한꺼번에 선택)option + command + L(대문자,소문자상관없이)코드 자동 정렬하기command + shift + t 테스트 코드 만들기 단축키    debtools 가 있는경우)shift + command + F9  = 해당페이지 바로 컴파일 ( 따로 다시 빌드 할 필요없이 바로 적용 가능) 2024. 4. 23.
CIA란? C: 기밀성 I : 무결성 A: 가용성 (문서에 제대로 접근이 가능한지 못한지 ) -> 가용성 지키는 방법 : 암호화 2024. 4. 10.
StringBuffer 와 StringBuilder의 차이점 StringBuffer 동기화를 지원하여 멀티쓰레드 환경에서 주로 사용한다-> Thread-safe하다 -> 싱글쓰레드 환경일 경우 StringBuffer을 사용해도 되나 동기화관련 처리 때문에 StringBuilder보다 성능이 좋지는 않다. 가변성을 가진다 ->문자열 연산작업이 많을 떄 사용하기 좋다 StringBuilder 동기화를 지원하지 않아 싱글쓰레드 환경에서 주로 사용한다. 가변성을 가진다. ->문자열 연산작업이 많을 떄 사용하기 좋다 cf)Thread-safe-> 멀티쓰레드에서 한 쓰레드가 한 함수를 호출해서 실행되고 있을 때 다른 쓰레드가 그 함수를 호출해서 동시에 실행되더라도 각 쓰레드에서의 함수의 수행결과는 올바르게 나온다. -> 동기화 처리 문제로 속도 측면에서 느려질수 있다. cf.. 2024. 1. 11.
call by value, call by reference란? Call by value 인자로 받는 값을 복사하여 처리하는 방식을 의미한다. Call by reference 인자로 받는 값의 주소를 참조하여 직접 값에 영향을 준다. call by value 장점 : 원본값의 불변성을 보장해준다. 단점 : 복사를 해야하기 때문에 메모리 사용량이 늘어나다 call by reference 장점 : 복사하지 않고 직접 참조하기 때문에 빠르다 단점 : 직접참조하기 때문에 원본값이 영향을 받는다. java에서는 포인터가 없어 기본적인 매개변수는 call by value이다. 2024. 1. 4.
abnormal build process termination 오류 해결방법 위와 같이 해봐도 해결이 안될경우가 있을 것이다. 나의 경우 JDK home path 부분에 문제가 생겨 아래와 같이 해결했다 SDKs 에서 JDK home path 부분에 오른쪽 폴더 표시를 누르면 위와 같이 SDKs 가 나오는데 이부분에서 내가 최신버젼으로 설치한 jdk 경로를 선택해주면 된다. 이 때 openJDK version 17.0.7 이라고 나와있는 부분이 버젼인데 이부분에서 가장 최신으로 선택하면된다. 참고로 ) build and run 부분에서도 java 17로 선택해줘야 한다. 2023. 12. 31.
객체, class, instance 란? 객체 : 형식 + 단위 (형식을 갖춘 단위) class : 객체를 기술하는 문법(자료형) ex) class test{ test a; }; Instance : 실제 사례( ex) 미인(class) 아이유 ; 개념 실제 사례 2023. 12. 31.
스프링의 핵심 객체 지향언어가 가지고 있는 강력한 특징을 살리는 프레임워크 cf) 다향성의 본질 : 클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다. 스프링은 다향성을 극대화해서 이용할 수 있게 해준다. 2023. 7. 16.
springBoot 커멘트 모음집 1(intelliJ)-macBook command + option + m : 드레그한 구역 따로 함수로 만들어주는 커멘드 command + shift + t : 내가 Test하고 싶은 클레스 안에서 간편하게 Test를 만들어서 해준다. control + shift + / : 내가 드레그한 범위만큼 주석 터리 2023. 7. 6.
728x90