[Spring] REST vs SOAP: 두 웹 서비스 아키텍처의 비교 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
🚩 소개현대 웹 개발에서 API(Application Programming Interface)는 시스템 간의 상호작용을 가능하게 하는 중요한 요소입니다.이 중에서도 REST(Representational State Transfer)와 SOAP(Simple Object Access Protocol)는 주요 웹 서비스 아키텍처입니다.아마 REST는 많이 들어보셨겠지만 SOAP은 생소하실텐데요!REST(Representational State Transfer)는 주로 웹에서 데이터와 자원을 쉽게 접근하고 조작할 수 있도록 설계된 아키텍처 스타일입니다.주로 HTTP를 통해 작동하며, 간편한 URI와 다양한 데이터 형식(JSON, XML 등)을 사용하여 리소스에 접근합니다.특히 모바일 앱이나 웹 애플리케이션에서..
[Spring] @Controller와 @RestController의 차이점
·
기술 지식 쌓아가기 📚/Backend 🍔
스프링 프레임워크는 웹 애플리케이션을 개발할 때 매우 유용한 다양한 어노테이션을 제공합니다.그중에서도 @Controller와 @RestController는 웹 요청을 처리하는 데 사용되는 핵심 어노테이션입니다.이 두 어노테이션의 차이를 이해하는 것은 스프링 MVC를 효과적으로 활용하는 데 필수적입니다. ⭐ 기본 개념 @Controller: 이 어노테이션은 스프링 MVC에서 일반적으로 사용하는 컨트롤러를 정의합니다. 주로 HTML 페이지를 반환하거나 뷰 템플릿과 함께 사용할 때 사용됩니다.@RestController: 이 어노테이션은 @Controller와 @ResponseBody를 결합한 것입니다. 주로 RESTful 웹 서비스를 구축할 때 사용되며, JSON이나 XML 형태의 데이터를 반환합니다. ⭐ ..
[Spring] 웹 소켓, R 소켓, STOMP: 실시간 통신의 모든 것 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
현대 웹 애플리케이션에서는 사용자 경험을 향상시키기 위해 실시간 데이터 통신이 필수적입니다. 웹 소켓, R 소켓, STOMP는 이러한 실시간 통신을 구현하는 데 널리 사용되는 프로토콜입니다. 이번 글에서는 이 세 가지 기술의 특징, 사용 사례, 그리고 스프링부트 환경에서의 적용 방법에 대해 알아보겠습니다.⭐ 웹 소켓 (WebSocket)✅ 왜 쓰는가?웹 소켓은 클라이언트와 서버 간의 양방향 통신을 지원하는 프로토콜입니다.HTTP 프로토콜은 요청-응답 방식으로 동작하지만, 웹 소켓은 한 번 연결이 이루어진 후에는 지속적인 연결을 유지할 수 있어 효율적인 데이터 전송이 가능합니다.✅ 언제 쓰는가?- 실시간 채팅 애플리케이션- 실시간 게임- 주식 거래 애플리케이션- IoT 기기와의 통신✅ 어떻게 쓰는가?1. ..
[Spring] WebFlux: 비동기와 반응형 프로그래밍의 새로운 장 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
오늘은 Spring WebFlux에 대해 알아보려고 합니다.최근에는 비동기 및 반응형 프로그래밍이 많이 주목받고 있는데, WebFlux는 이러한 흐름을 지원하는 Spring의 프레임워크입니다.그럼 WebFlux의 기본 개념과 특징을 살펴보겠습니다.⭐ WebFlux란 무엇인가?Spring WebFlux는 비동기 및 반응형 애플리케이션을 구축하기 위해 설계된 모듈입니다.전통적인 Spring MVC가 서블릿 API를 기반으로 동작하는 반면, WebFlux는 비동기 스트림을 처리할 수 있는 Reactive Streams API를 사용합니다.이를 통해 높은 성능과 확장성을 제공할 수 있습니다. ⭐ 비동기 프로그래밍의 필요성전통적인 웹 애플리케이션에서는 요청이 들어오면 해당 요청을 처리하는 동안 서버가 다른 요청을..
[Spring] 안전한 웹 개발의 시작: 스프링의 Validation, Data Binding, Type Conversion 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
오늘은 스프링 프레임워크에서 매우 중요한 세 가지 개념인 Validation, Data Binding, 그리고 Type Conversion에 대해 알아보려고 합니다!이 개념들은 웹 애플리케이션에서 사용자 입력을 처리할 때 필수적입니다. 각각의 개념을 쉽게 이해할 수 있도록 설명해 드릴게요!⭐ Validation (검증)Validation은 사용자가 입력한 데이터가 기대하는 형식과 규칙에 맞는지를 확인하는 과정입니다.예를 들어, 사용자가 이메일 주소를 입력할 때 유효한 형식인지, 비밀번호가 일정 길이를 초과하는지 등을 검사합니다.스프링에서는 @Valid 또는 @Validated 어노테이션을 사용해 검증 규칙을 쉽게 적용할 수 있습니다.@Valid: JSR-303(자바 Bean Validation) 표준에 ..
[Spring] 스프링 MVC: 웹 개발의 기본, 쉽게 이해하기 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
🚩 소개웹 개발을 하다 보면 MVC라는 용어를 한번쯤은 접해보셨을텐데요! 오늘은 이게 무엇인지 설명할 수 있을 정도로 확실히 알아가려고 합니다!MVC는 현대 웹 개발에서 필수적인 도구 중 하나입니다. 하지만 그 필요성을 이해하려면 MVC 구조가 왜 중요한지, 그리고 MVC 없이 웹 애플리케이션을 개발할 때 발생하는 문제점을 비교해보는 것이 유용합니다. 스프링(SPRING)은 이러한 MVC 구조를 기본적으로 지원하는 대표적인 자바 프레임워크입니다.이번 글에서는 MVC란 무엇인지, 그리고 스프링의 MVC 구조와 작동 방식 등에 대해 아주 쉽게 설명해 드릴게요! 😉 ⭐ MVC란 무엇인가요?먼저 MVC는 Model, View, Controller의 약자입니다.이 세 가지 요소는 웹 애플리케이션을 구조화하는 ..
[Spring] 서블릿(Servlet)에 대해 알려드리겠송! 😼🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
⭐ 서블릿(Servlet)이란?서블릿(Servlet)은 자바 기반의 웹 애플리케이션에서 서버에서 클라이언트의 요청을 받아 그에 맞는 응답을 생성해주는 자바 프로그램으로, 웹 애플리케이션을 개발할 때 사용하는 자바 클래스입니다.예를 들어, 어떤 사용자가 로그인 요청을 보내면, 서블릿은 그 요청을 받아서, 그 사람이 맞는지 확인하고, 성공하면 "로그인 성공!"이라는 메시지를 돌려줍니다.즉, 클라이언트의 요청을 받아서 그에 대한 응답을 생성하는 역할을 합니다. 주로 HTTP 요청을 처리하며, 동적인 웹 페이지를 생성하거나 데이터를 처리하는 데 사용됩니다.서블릿은 자바의 서블릿 API를 구현한 클래스로, 웹 서버나 애플리케이션 서버에서 실행됩니다. 이는 정적인 HTML 파일과는 다르게 사용자의 요청에 따라 동적..
[Spring] SpEL(Spring Expression Language)이란? Spring에서 표현식을 다루는 쉬운 방법 알아가기 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
⭐ SpEL(Spring Expression Language)이란?Spring Expression Language(SpEL)은 Spring 프레임워크에서 제공하는 강력한 표현식 언어로, 객체의 값을 동적으로 평가하거나 조작할 수 있는 기능을 제공합니다.즉, 코드 실행 중에 객체 내부의 값이나 속성에 접근하거나, 그 값을 변경할 수 있습니다.이 기능은 프로그램이 실행되는 동안에 필요한 값을 실시간으로 계산하거나, 조건에 맞게 값을 업데이트할 수 있게 해줍니다. 이를 통해 코드에서 미리 정해진 값을 사용하는 것이 아니라, 상황에 맞게 값을 유연하게 조작할 수 있는 것입니다.사실 SpEL이 없더라도 자바 코드만으로도 동적인 값 계산이나 조작이 가능하지만, SpEL의 장점은 표현식을 문자열로 작성해 동적인 평가..
[Spring] 스프링 컨테이너란? 의존성 주입의 마법 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
⭐ 스프링 컨테이너란?스프링 컨테이너(Spring Container)는 빈(Bean)이라 불리는 자바 객체의 생명 주기(빈의 생성, 관리, 제거 등의 주기)를 관리하며, 생성된 빈에게 추가적인 기능을 제공합니다.빈이란, 그냥 스프링 컨테이너가 관리하는 객체를 뜻하는데, 이 빈에 대해 더 알고 싶다면 바로 이전글을 보고 오시면 될 거 같습니다! [Spring] 스프링 빈(Bean)이란? 초보 개발자를 위한 쉬운 설명 🍃Bean은 콩입니다.   ⭐ 빈(Bean)의 유래빈이라고 작명한 이유를 알려면, 자바로 작명한 이유부터 알아야 합니다.자바로 작명한 이유는, 자주 마시는 커피가 인도네시아 자바 섬 커피였기 때문입blu-blu.tistory.com아무튼, 스프링 컨테이너가 빈이라는 객체를 생성하고, 그 객체..
[Spring] 스프링 빈(Bean)이란? 초보 개발자를 위한 쉬운 설명 🍃
·
기술 지식 쌓아가기 📚/Backend 🍔
Bean은 콩입니다.   ⭐ 빈(Bean)의 유래빈이라고 작명한 이유를 알려면, 자바로 작명한 이유부터 알아야 합니다.자바로 작명한 이유는, 자주 마시는 커피가 인도네시아 자바 섬 커피였기 때문입니다.농담 아니고 자바 상표에 커피잔이 있는 것도 바로 이것 때문이었습니다.새 이름에 대한 아이디어 회의 중 이것저것 나오다가 결국 자바로 선택하게 되었다고 하네요.아무튼 이때문에 재사용이 가능한 자바 객체를 커피콩에 비유해서 자바빈이라고 짓게 되었는데, 스프링이 등장하면서 자바빈의 개념을 확장해 스프링 프레임워크 내부에서 관리되는 객체들을 스프링 빈이라고 부르기 시작했습니다.자바빈에서 영감을 받아 Bean이라는 단어를 사용한 이유는, 단순하고 가벼운 객체라는 뜻을 함축하기 위해서였습니다.즉, 자바빈처럼 스프링 ..
코양이🤍
'Spring' 태그의 글 목록