코드 저장소

공부에는 끝이 없다!

Spring 5

Gradle 프로젝트 추가하기, IntelliJ 한글 깨짐 해결

해당 카테고리에서는 Spring MVC 강의를 들으며 발생했던 이런 저런 문제점들과 해당 문제점들을 어떻게 해결했는지 정리해 보도록 하겠다.Gradle 프로젝트 추가하기강의를 수강하면서 진행 사항을 기록해 두고자 intelliJ를 Git과 연동하였는데 왜 인지는 모르겠지만 Git 연동 후 gradle "java.lang.NoClassDefFoundError"라는 에러가 발생하며 프로젝트가 정상적으로 실행되지 않는 것을 확인하였다.Build도 되는데 Run만 안되는 상황에서 이게 뭔 상황이지 하고 이것 저것 찾아 보았는데, 다행히 잘 정리된 글을 찾아 해결할 수 있었다.정확한 방법은 아래의 글을 참고하기 바란다.더보기https://timotimo.tistory.com/99 [IntelliJ] Gradle ..

Spring MVC - 멀티 쓰레드

쓰레드란?웹브라우저에서 WAS로 요청이 온다고 생각해보자.요청이 오면 WAS는 Servlet을 호출하여 웹 브라우저와 연결해 줄 것이다.그럼 Servlet은 누가 호출해 줄까?이 애플리케이션 코드를 하나하나 순차적으로 실행해 주는 것을 쓰레드라고 부른다.자바 코딩을 하다보면 가장 처음 보게되는 것이 Main 메서드 인데, 예를 들어 자바 Main 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행되게 된다.만약 쓰레드가 없다면 자바 애플리케이션 실행이 불가능하며 쓰레드는 한번에 하나의 코드라인만 수행 가능하기 때문에 동시 처리가 필요하다면 쓰레드를 추가로 생성해야한다.단일 쓰레드만약 단일 요청이 오게 된다면 쓰레드는 하나만 사용하게 될 것이다.과정을 생각해 보면 요청이 들어오기 전까지 쓰레드는 W..

Spring/Spring MVC 2024.05.19

Spring MVC - 서블릿

서블릿이란?서블릿이란 TCP/IP 대기, 소켓 연결, HTTP 요청 메시지 파싱, 메시지 바디 내용 파싱, 저장 프로세스 실행 등 비즈니스 로직 실행을 제외한 여러가지 행위들을 처리할 수 있도록 도와주는 것이다.서블릿의 특징서블릿은 여러가지 특징을 지니는데 위의 사진을 예시로 들면, rulPatterns의 URL이 호출되면(/hello) 서블릿 코드가 실행되게 된다.또한 HTTP 요청 정보를 사용하는 HttpServletRequest와 HTTP 응답 정보를 제공하는 HttpServletResponse가 있다. HTTP 요청이 오면 WAS는 Request, Response  객체를 새로 만들어 서블릿 객체를 호출하며 개발자는 Request 객체나 Response 객체를 이용하여 편리하게 요청 정보나 응답 ..

Spring/Spring MVC 2024.05.16

Spring MVC - Web Server와 Web Application Server

웹 서버 (Web Server)웹서버란 HTTP 기반으로 동작하여 적정 리소스 제공, 기타 부가기능등을 제공하는 서버를 말한다.정적 HTML, CSS, JS, 이미지, 영상 등이 포함된다. 웹 애플리케이션 서버 (WAS - Web Application Server)HTTP 기반으로 동작하며 웹 서버의 기능을 포함하여 프로그램 코드를 실행해서 애플리케이션 로직을 수행하는 서버를 말한다.동적 HTML, HTTP API나 서브릿, JSP, 스프링 MVC를 포함한다. 간단하게 설명하면 웹 서버는 정적 리소스, WAS는 애플리케이션 로직을 담당하는 서버를 말한다.하지만 실제로는 둘의 용어도 경계도 모호하다.웹 서버가 프로그램을 실행하는 기능을 포함하기도 하고 반대로 WAS가 웹 서버의 기능을 제공하기 때문이다.자..

Spring/Spring MVC 2024.05.11

(Spring 강의 정리) Spring 핵심 원리 - 객체 지향 설계와 스프링

인프런의 블랙 프라이데이 할인을 맞아 Spring의 기본 개념을 다시 잡기 위해 강의를 구매하였다. 강의를 들으면서 다시 한번 기본 개념을 학습하고 나만의 방식으로 정리해보고자 한다. Spring 프레임워크 와 Spring Boot 1. Spring 프레임워크 핵심 기술을 기반으로 한 여러가지 기술들을 모아놓은 것 셋팅만 잘된다면 편리하게 사용 할 수 있지만 이 셋팅 자체에 많은 시간이 들어간다. 2. Spring Boot 스프링을 편리하게 사용할 수 있도록 지원한다. 앞서 설명했듯이 Spring 프레임워크만 사용하는 경우 셋팅 자체에 많은 시간을 할애해야 하기 때문에 최근에는 필수적으로 사용 되는 편 빌드나 라이브러리 버전 등 편의성에 초점이 맞추어져 있다. 다만, 편의성에 초점이 맞춰진 만큼 Spri..