본문 바로가기

전체글149

서블릿에 대해 알아보자. 서블릿에 대해 알아보자. 먼저 MVC 패턴을 알아보기 전에 서블릿이 무엇인지 간단하게 짚고 넘어가겠습니다. 서블릿 서블릿이란 무엇인지 희미하게만 알고있어서 stackoverflow에 검색을 해보았는데 역시나 좋은 글들이 많았다. (사실 이 글만 봐서는 이해하기 어려울수도..) 서블릿이란 단순히 특정 HTTP 요청에 대한 응답하는 클래스이다. 기본적으로 서블릿은 웹 애플리케이션에 사용된다. 즉, 서블릿은 동적인 웹페이지를 제공할 수 있도록 도와주는 자바 기반의 자바 웹 프로그래밍 기술이다. 만약에 웹 애플리케이션 서버를 직접 구현한다고 가정해보자. - HTTP 요청 메시지와 HTTP 응답 메시지를 잠깐 살펴보면. HTTP 요청 메시지 POST /save HTTP/1.1 Host: localhost:8080.. 2022. 7. 14.
JVM에 대해 자세히 알아보자! JVM에 대해 자세히 알아보자! JVM에 대해 알아보기 전에 Java의 특징에 대해 간략히 알아보자. JVM, JRE, JDK JVM(Java Virtual Machine)이란 자바 바이트코드를 해석하고 실행하는 요소이다. JVM의 역할은 자바 애플리케이션을 클래스 로더(Class Loader)를 통해 읽어 들여서 자바 API와 함께 실행하는 것이다. JVM의 가장 중요한 특징은 Java와 OS(운영체제) 사이에서 중개자 역할을 수행하여 Java가 OS(운영체제)에 구애받지 않고 독립적으로 작동이 가능하다는 것이다. C/C++ 등의 언어처럼 컴파일러를 통해 바로 기계어로 변환하는 것이 아닌 JVM이 이해하는 자바 바이트코드를 해석하고 실행한다. 이를 통해 윈도우(내 로컬 PC)에서 작업한 자바 파일을 리.. 2022. 7. 12.
생성자 주입을 권장하는 이유 생성자 주입을 권장하는 이유 스프링 강의를 보다보면 필드 주입이나 수정자 주입을 사용하기 보다는 생성자 주입 사용을 더 권장한다고 들었다. 그래서 개인 프로젝트 할 때 생성자 주입을 사용하고는 있는데 "왜 생성자 주입을 권장하는 걸까" 궁금증이 생겼다. 이 참에 다양한 의존관계 주입 방법 중에서도 굳이 생성자 주입을 권장하는 이유를 알아보자! 구조 수정자 주입 수정자 주입(Setter Injection)은 이름 그대로 setter 메서드를 사용하여 객체를 주입하는 의존관계 주입이다. 선택적이며 변경 가능성이 있는 의존관계에 사용한다. 선택적: UserService가 스프링 빈에 등록이 안되어도 선택적으로 사용할 수 있다. (이 때는 @Autowired(required = false 옵션을 주어야 한다.).. 2022. 7. 9.
[CSS] display와 position에 대해 알아보자. display와 position에 대해 알아보자. 웹사이트를 만들 때 가장 중요한 것은 내가 만든 박스들을 원하는 위치에 원하는 사이즈로 배치하는 것이 중요하다. 그러기 위해서는 display와 postion에 대해 잘 이해하는 것이 너무 중요하다. display 예제 1 2 3 display - block 특징 항상 새로운 라인에 표시된다. (한 줄에 하나씩 표시된다.) 화면 너비 전체를 차지한다. (자동으로 width: 100%, height: auto가 된다.) width, height, margin, padding 설정이 가능하다. display - inline 특징 새로운 라인에 표시되지 않고 여러 요소가 한 줄에 표시된다. content 너비만큼 가로폭을 차지한다. (content가 없다면 아.. 2022. 6. 19.
[CSS] 박스모델 이해하기 (추가로. background) 박스모델 이해하기 (추가로. background) 문서의 레이아웃을 계산할 때, 브라우저의 렌더링 엔진은 표준 CSS 기본 박스 모델에 따라 각각의 요소를 사각형 박스로 표현한다. CSS는 박스의 크기, 위치, 속성(색, 배경, 테두리 모양 등)을 결정한다. 하나의 박스는 네 영역으로 이루어지는데 각 영역을 콘텐츠 영역(content), 안쪽 여백(padding) 영역, 테두리 영역(border), 바깥 여백(margin) 영역이라고 부른다. div 태그를 사용해서 width:100px, height:100px인 박스를 만들었다. content: 글이나 이미지, 비디오 등 요소의 실제 내용을 포함한다. 콘텐츠 영역의 크기는 width와 height를 지정한다. padding: 콘텐츠 영역의 안쪽 여백까지.. 2022. 6. 19.
[CSS] Cascading 이해하기! 추가로. ::before, ::after CSS (Cascading 이해하기 추가로. ::before, ::after) CSS에 대한 개념을 간단하게 알아보자. CSS 이해하기 CSS(Cascading Style Sheets)는 HTML이나 XML과 같은 구조화 된 문서를 화면에 어떻게 렌더링할 것인지를 정의하기 위한 언어이다. 즉, CSS는 HTML의 각 요소의 style을 정의하여 화면에 어떻게 렌더링하면 되는지 브라우저에게 설명하기 위한 언어이다. 쉽게 말해 HTML은 문서를 구조화했다면 그 구조화된 HTML에 스타일링을 해주는 것이다. (웹페이지를 꾸미기 위해 사용한다.) Cascading 이해하기 Style Sheets란 스타일을 정의한 문서들이라 생각할 수 있다. 중요한은 Cascading이다. Cascade 의미를 찾아보면 라는 의.. 2022. 6. 18.