서버 사이드 랜더링(SSR) 서버 사이드 랜더링은 서버에서 클라이언트에 보여질 화면을 결정하는 것이다. 즉, HTML을 서버에서 모두 만들어서 웹 브라우저에 전달하면 웹 브라우저는 HTML을 표시만 해주면 된다. 서버에서 HTML을 생성하게 되면 이용자가 많아질 수록 서버에 부담이 갈 수 밖에 없다. 따라서 서버 비용이 비싸므로 이는 주로 정적인 화면에만 사용된다. 물론 동적으로 변경 가능하지만, 서버에 부담이 가므로 권장되지 않는다. Thymleaf와 같은 것이 이렇게 작동한다. 모든 HTML이 이미 세팅되어 있고 특정 문자열만 변경이 필요한다던지 할 때 이 방식을 사용한다. SSR 동작 방식 클라이언트에서 서버로 HTML 요청 서버에서 응답하여 클라이언트에 HTML 내려줌 클라이언트는 서버에서 받은 ..
분류 전체보기
웹서버의 특징 HTTP를 기반으로 동작 HTTP를 기반으로 동작하기 때문에 HTTP프로토콜을 기반으로 정적 리소스를 요청자에게 제공한다. 정적 리소스는 HTML, CSS, 이미지, 영상 등이 있을 수 있다. 정적인 파일만 제공 정적인 파일만 제공하기 때문에 사용자에 따라 다른 결과의 제공이 불가하다. 플러그인 설치 등으로 제공되기도 하지만, 이해를 위해 이는 논외로 하자. 대표적인 웹서버 APACHE 웹 애플리케이션 서버(WAS)란? HTTP를 기반으로 동작 웹서버와 마찬가지로 HTTP를 기반으로 동작하기 때문에 정적 리소스의 제공이 가능하다. 동적인 로직 수행해서 제공 하지만, 웹서버와 다른 점은 웹 애플리케이션 서버는 프로그래밍이 가능하기 때문에 사용자에 따라 다른 결과의 제공이 가능하다. 우리가 쓰..
개발을 하다보면 객체에 대한 하나의 인스턴스만 필요할 때, 하나의 인스턴스를 재사용하기 위해 싱글톤 패턴을 구현해야 할 일이 생긴다. *싱글톤 패턴 : 객체의 인스턴스를 1개만 생성하여 계속 재사용 하는 패턴 Java에서의 싱글톤 기존 자바에서는 싱글톤 패턴을 구현하기 위해 많은 코드를 작성해야 했다. 보통은 다음과 같은 방식으로 싱글톤 패턴을 구현하였다. public class SingletonClass { // 1. static으로 선언된 객체를 담는 변수(instance) private static SingletonClass instance; public String sampleString = "Sample String"; // 싱글톤에 집중하기 위해 public으로 설정 private Single..
sealed class의 등장 배경 여러 자식 Class들이 하나의 부모 Class를 상속 받았다고 했을 때 컴파일러는 부모 Class를 상속 받은 자식 Class들이 있는지 알지 못한다. 예를 들어보자. 우리가 사용자의 런닝 운동을 기록해주는 앱을 만들고 있다. 이때 우리는 사람의 상태를 클래스로 만들고자 한다. 상태의 종류는 3가지로 뛰는 상태(Running), 걷는 상태(Walking), 쉬는 상태(Idle)가 있다. 이는 다음과 같이 코드로 만들어질 수 있다. abstract class PersonState class Running : PersonState() class Walking : PersonState() class Idle : PersonState() 코드1. class 상속 예제 각 P..
Controller란? Controller란 서버의 진입점이자, 사용자의 요청(Request)을 받아들인 후 어떤 처리를 해야할지 결정하는 부분이다. 이렇게 말하면 너무 추상적이니 예시와 함께 알아보도록 하자. 사용자는 사용하는 웹사이트에 대한 HTTP통신을 통해 홈페이지에 접속한다. https://kotlinworld.com/category/Kotlin 예를 들어 위의 주소를 웹브라우저의 검색 창에 치면 kotlinworld.com을 처리하는 서버는 /category/Kotlin에 대한 결과값을 사용자에게 View로 만들어 반환한다. 그 결과는 아래와 같다. 이것이 가능한 이유는 서버에서 /category/Kotlin에 대한 요청을 의 View를 반환하도록 처리 하였기 때문이다. Spring에서 Con..