스프링 5

프레임워크와 라이브러리의 차이점

프레임워크와 라이브러리는 개념이 비슷하여 자주 혼동되어 사용된다.나 또한 2단어는 수없이 들어왔지만 “두 개념의 차이점을 설명해봐!”라고 하면 고민됐던 단어이다.이번 기회에 정확하게 짚고 넘어가서 앞으로는 제대로 설명할 수 있어야겠다. 🌱 ✨프레임워크와 라이브러리 개념정리프레임워크“뼈대”, “기반구조”로 제어의 역전(DI)가 적용된 기술즉, “소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합” 라이브러리단순 활용가능한 도구들의 집합개발자가 만든 클래스에서 호출하여 사용, ✨그러면 둘의 차이점은?“제어 흐름에 대한 주도성이 누구에게/어디에 있는가” 즉, “어플리케이션의 흐름을 누가 쥐고 있느냐”에 따라 사용하는 언어가 다르다.쉽게 설명하자면, “떡볶이”를 만든다고 해보자. ..

[J2KB] API

** 인프런 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의를 기반으로 작성합니다. API 만약 안드로이드, 아이폰 클라이언트와 개발 > json이란 데이터구조 포맷으로 클라이언트에게 데이터를 전달함 view, js , react 등등 -> 화면은 클라이언트가 알아서 내리기서버끼리 통신할때는 데이터흐름만이 중요해서 그때 사용할 수 도 있음 @ResponseBody 문자 반환 viewResolver를 사용하지 않는다.(MVC 패턴과의 차이점) 대신, http에서 body부에 데이터를 직접 넣어준다는 의미 @Controller public class HelloController { @GetMapping("hello-string") @ResponseBody public Str..

[J2KB] MVC와 템플릿 엔진

** 인프런 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의를 기반으로 작성합니다. MVC와 템플릿 엔진 * 요즘 가장 많이 사용하는 웹 서버 패턴 MVC [Model & View & Controller 구조] View : 화면을 그리는 것에 모든 역량 집중 Controller & Model : 내부적인 것을 처리하는 것을 위주로 !! 과거에는 Controlller와 View가 분리되어 있지 않고 View에서 모든걸 다 해결했음 jsp php 등등을 템플릿 엔진이라 한다. 서버에서 프로그래밍을 해서 html을 동적으로 바꾸어 실행시키는 것이다. controller -> model -> view 순으로 진행된다. > 정적컨텐츠와 차이점 정적컨텐츠 : 파일을 그대로 전달하기..

[J2KB] 정적 컨텐츠

** 인프런 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의를 기반으로 작성합니다. 정적 컨텐츠 서버에서 뭐 하는 것 없이 파일을 그대로 웹브라우저로 내려주는 것 스프링부트는 정적컨텐츠를 기본으로 제공 https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow)..

스프링 프레임워크

** 한국항공대학교 [카카오엔터테인먼트 개발자가 알려주는 백엔드 프로그래밍 특강] 을 참고하여 작성한 post입니다. 스프링 프레임워크란? 자바 애플리케이션 개발을 위한 경량 프레임워크 💡 '프레임워크'란? 기본적인 기능이 담겨있어서 개발할 때 도움을 주는 틀 ex ) 중복되는 작업들, 이미 상용화 되있는 코드들 을 쉽게 가져다 쓸 수 있도록 모아놓은 것 💡 '경량'이란 ? 프레임워크 코드가 적다는 의미 x 프레임워크 외의 코드에 최소한의 영향만 준다는 의미 제어의 역전 (Spring Inversion of Control, IoC) 프로그램의 흐름을 개발자가 아닌 외부에서 제어 및 관리해주는 것 만약 프레임워크 없이 개발을 한다면, 객체의 생성, 설정, 초기화, 호출, 소멸 등을 모두 개발자가 직접 관리..