전체 글 썸네일형 리스트형 HttpUrlConnection, RestTemplate, WebClient의 특징과 장단점 HttpUrlConnection 특징 java에서 제공하는 기본적인 HTTP 클라이언트 저수준 API로 HTTP 요청 및 응답을 다루는데 사용됨 HTTP 및 HTTPS를 지원하며, 각 요청마다 새로운 연결을 만들어 사용 직접적인 제어 가능 장점 JDK의 일부로 제공되어 외부 라이브러리의 의존성이 없음 기본적인 HTTP 통신을 다루는데 유용 단점 낮은 수준의 API로 인해 응답 처리가 복잡 코드의 가독성이 낮음 RestTemplate 특징 Spring이 제공하는 HTTP 클라이언트 간단한 API를 통해 HTTP 요청 처리 동기 방식 및 Blocking I/O 사용 장점 Spring 기반 애플리케이션 사용에 유용 간단한 사용법 단점 동기 방식으로 동작하여 비효율적일 수 있음 Non-Blocking, Reac.. 더보기 오픈소소는 공짜가 아니다. 1. 개요 2021년에 11년간 이루어졌던, 구글과 오라클의 소송이 끝났습니다. 쟁점은 오픈소스인 자바의 API에도 저작권이 인정되는가, 저작권이 인정 될 경우 구글의 API 재사용 행위가 공정이용에 해당 되는가입니다. 결국 구글행위가 공정이용에 해당되어 승소하기는 했지만, API 코드에 대한 저작권에 대한 대법원 판결은 이루어지지 않았습니다. https://zdnet.co.kr/view/?no=20210406064737 구글, '10년 자바전쟁' 오라클에 최종 승리 10년 동안 계속된 세기의 자바 저작권 소송에서 구글이 다시 승부를 뒤집으면서 최증 승리했다. 미국 연방대법원은 5일(현지시간) 자바 저작권 소송에서 6대2로 구글... zdnet.co.kr 그만큼 저작권이라는 것은 매우 중요한데요, 오픈소.. 더보기 헥사고날 아키텍처 헥사고날 아키텍처란? 헥사고날 아키텍처는 응용 프로그램의 비즈니스 로직을 외부 세계로 부터 격리시켜 객체지향원칙을 잘 지키게 하는 아키텍처입니다. 대중적으로 많이 사용하는 3계층 아키텍처에 비해 더욱 유연하고 테스트하기 쉬워진다는 장점이 있습니다. 이 헥사고날 아키텍처를 만들기 위해 핵심 로직은 중앙 도메인 영역에 위치하며, 입력과 출력을 처리하는 포트와 어댑터를 통해 외부와 소통합니다. 이러한 특징으로 포트 및 어댑터 아키텍처라고도 불립니다. 이 헥사고날 아키텍처의 핵심은 내부 영역과 외부 영역을 분리 하는 것 입니다. 내부 영역 💡 Domain Model Layer 및 Application Layer 위 그림에서 회색 부분이 내부 영역입니다. Domain Model Layer는 DomainModel이.. 더보기 클라우드 네이티브란? 1. 개요 이전의 많은 IT 회사들은 자신의 회사 내부에 서버 장비 및 소프트웨어를 설치하여 서비스를 제공해 왔습니다. 이를 온프레미스방식이라 합니다. 이와 대조적으로, 클라우드 네이티브는 AWS와 같은 클라우드 서비스 제공 업체가 제공하는 서버에 서비스를 설치하여 서비스를 제공하는 방법입니다. 즉, 두 개의 가장 큰 차이점은 회사 내 하드웨어 서버의 존재 유무입니다. 온프레미스 방식은 회사에 하드웨어 서버가 있는 것이고, 클라우드 네이티브 방식은 회사 내에 하드웨어 서버가 없습니다. 2. 클라우드 네이티브 클라우드 환경에서 소프트웨어(서비스)를 개발, 배포, 운영, 확장하는 방식. 네이티브(Native)란, 어떤 지역이나 특정 환경에서 자연적으로 존재하는 것을 의미합니다. 여기서 클라우드 네이티브는 이.. 더보기 REST API와 HTTP Header REST APIREST(REpresentational State Transfer)의 약어로,인터넷을 통해 통신할 수 있게 하는 인터페이스입니다. 조금 더 자세히 설명하면,REST API는 HTTP URI를 통해 제어할 자원(Resource)을 명시하고, HTTP Method(GET, POST, PUT, DELETE)을 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍처입니다. 위 아키텍처 방법을 통해 전송하는 것이 REST API 입니다.💡 REST API는 TCP/IP 프토로콜의 5계층인 응용 계층에 해당됩니다. REST API의 요청과 응답은 Header와 Body 부분이 있습니다. HTTP HeaderHeader는 요청과 응답에 대한 전반적인 정보를 담고 있습니다. HTTP 1.1 버전의 경.. 더보기 Mybatis selectKey 사용 방법 1. selectKey란? Mybatis는 DB에서 특정 값을 가져와서 쓸 수 있도록 selectKey 기능을 제공합니다. 보통 id 값을 auto-increment 해서 사용합니다. selectKey를 이용하면, 이 id 값을 바로 가져와서 쓸 수 있습니다. 밑에서 제가 사용할 도메인 코드는 다음과 같습니다. public class City { private int id; private String name; private String countryCode; private String district; private int population; // getter, setter 생략 } 2. selectKey 사용 방법 selecKey는 크게 after, before 방법으로 나눌 수 있습니다. 2.1 .. 더보기 Spring Web의 두 가지 기본 Context Context란 무엇일까요? 스프링이 관리하는 빈(Bean)을 담아두는 컨테이너라고 생각하시면 됩니다. Spring 프로젝트를 만들면 기본적으로 두 가지 컨텍스트가 만들어집니다. 첫 번째는 ApplicationContext입니다. 두 번째는 WebApplicationContext입니다. ApplicationContext는 주로 Service, Dao등 프로젝트 전체에서 공유하는 빈들을 저장합니다. WebApplicationContext는 주로 Controller와 같이 특정 서블릿(DispatcherServlet)에서만 사용되는 빈들을 저장합니다. Spring Web Mvc에서 빈을 참조할 때, 우선적으로 WebApplicationContext를 참조 하고 빈을 찾지 못하면 ApplicationConte.. 더보기 Spring Web MVC 동작 과정 스프링으로 웹 서버를 만들면, 특별한 서블릿을 바탕으로 사용자의 응답을 받을 수 있습니다. 이 서블릿 이름이 DispatcherServlet입니다. 스프링은 이 DispatcherServlet으로 사용자의 요청을 받고, 처리한 뒤 반환을 합니다. 그림은 아래와 같습니다. 위 그림의 순서를 바탕으로 설명을 덧붙여 보겠습니다. 1. DispatcherServlet이 Client로 부터 요청을 받음 2. DispatcherServlet이 어떤 컨트롤러 메소드에 가야하는지 HandlerMapping에 물어봄 3. HandlerMapping은 url에 매턴에 맞는 Controller와 메소드의 정보를 DispatcherServlet에 제공함 4. 응답을 받은 DispatcherServlet은 Conroller에게.. 더보기 이전 1 ··· 3 4 5 6 7 8 9 ··· 49 다음