전체 글 (50) 썸네일형 리스트형 Bean 스코프 Bean Scope 란 Bean은 스프링 컨테이너에서 관리하는 객체를 의미하며 Bean Scope는 이러한 Bean이 존재할 수 있는 범위를 뜻한다. Bean의 기본 스코프는 singleton이라 어플리케이션이 구동되는 동안 하나의 인스턴스만 생성되어 사용된다. 많은 Spring 개발자들이 Bean의 스코프를 기본값인 singleton으로만 사용하기 때문에 크게 신경 쓰지 않는 경우가 많다. 하지만 Bean 스코프를 잘 활용하면 보다 다양한 요구사항에 맞춰 어플리케이션을 효율적으로 개발할 수 있다. 참고로 Bean scope는 다음과 같이 사용할 수 있다.@Component@Scope(value = "prototype")public class ProtoType {} Bean Scope 종류 Bean 스코.. Singleton 패턴 Singleton 패턴이란 싱글턴 패턴은 객체의 인스턴스가 오로지 한 개만 생성되도록 설계하는 디자인 패턴을 의미한다. 이는 전역적으로 접근할 수 있는 하나의 객체를 제공하는데 유용하다. 이러한 싱글턴 패턴은 다음과 같은 특징을 갖는다. 1. 유일성싱글턴 클래스는 단 하나의 인스턴스만 생성함 여러 번 인스턴스화를 시도해도 항상 같은 인스턴스를 반환함 2. 전역 접근싱글턴 객체는 전역적으로 접근할 수 있는 방법을 제공한다. 이를 통해 어플리케이션의 다른 부분에서 언제든지 동일한 인스턴스에 접근할 수 있다. Singleton 패턴 구현 방법 자바에서 싱글턴 패턴을 구현하는 방법은 여러가지가 있다. 하지만 여기에서는 권장되는 2가지 방법만 제시할 것이다. (나머지 방법들은 단점이 뚜렷하기 때문) 1. Bi.. TLS(Transport Layer Security) TLS(Transport Layer Security) 란 TLS(Transport Layer Security)는 온라인 네트워크에서 데이터를 안전하게 주고받기 위한 암호화 프로토콜이다. 통신 데이터를 TLS 프로토콜을 통해 암호화하면 누군가 데이터를 가로채도 복호화 할 수 없기 때문에 악성 공격에서 데이터를 보호할 수 있다. HTTPS는 HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것으로 HTTP 뒤에 붙은 S는 보안(Security)를 뜻한다. TLS와 SSL의 차이점 SSL(Secure Sockets Layer)은 넷스케이프사에서 1995년에 개발한 HTTP 암호화 프로토콜이다. TLS가 나오기 전까지 널리 쓰였으나 여러 보안 취약점이 발견되며 사용이 중단되어 현재는 TLS로 대체되었다. TL.. Spring, Spring Boot 차이 Spring, Spring Boot란 Spring은 엔터프라이즈급 Java 어플리케이션 개발을 위한 프레임워크이다. Spring은 의존성 주입(Dependency Injection), AOP(Aspect-Oriented Programming), MVC(Model-View-Controller) 패턴 등을 지원하여 복잡한 Java 애플리케이션을 더 쉽게 개발할 수 있게 만들어 준다. Spring Boot는 Spring을 기반으로 한 확장 프레임워크로 Spring에 비해 복잡한 설정 없이 빠르게 어플리케이션을 개발하는 것이 가능하다. Spring Boot는 내장 서버와 자동 설정 기능을 제공하여 개발 생산성이 높은 편이다. Spring을 기반으로 확장해서 나온 것이 Spring Boot 이므로 Spring B.. Web Socket Web Socket 이란 웹 소켓(Web Socket)은 서버와 클라이언트 간의 실시간 전이중 통신(full-duplex communication)을 가능하게 하는 프로토콜이다. 웹 소켓은 2011년 HTML5 표준의 일부로 포함되며 본격적으로 사용되기 시작했다. 이러한 웹 소켓은 웹 소켓을 지원하는 브라우저에서 사용 가능하다. 하지만 이를 지원하지 않는 구형 브라우저에서는 사용할 수 없다. (ex. Internet Explorer 9이하) Web Socket의 특징 1. 양방향 통신 (Full-Duplex)데이터 송수신을 동시에 처리할 수 있는 통신 방법 클라이언트와 서버가 서로에게 원할 때 데이터를 주고받을 수 있다. (통상적인 Http 통신은 Client가 요청을 보내는 경우에만 Server가.. SOLID 원칙 SOLID 원칙이란 SOLID 원칙은 객체 지향 프로그래밍과 설계에서 코드의 유지보수성과 확장성을 높이기 위해 제안된 다섯 가지 설계 원칙을 의미한다. 각각의 원칙은 코드의 결합도를 낮추고 응집도를 높이며 코드의 가독성과 재사용성을 높이는 것을 목표로 한다. 1. 단일 책임 원칙 (Single Responsibility Principle, SRP)클래스(객체)는 단 하나의 책임만 가져야 한다는 원칙여기서 책임은 하나의 기능 담당으로 볼 수 있다.즉, 하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되도록 클래스를 따로따로 여러 개 설계하라는 원칙 다른 의미로는 클래스가 변경되어야 하는 이유가 단 하나여야 한다는 것을 의미함 사용자의 데이터를 처리하는 로직이 필요하다고 가정하자.사용자 .. WS(Web Server)와 WAS(Web Application Server) WS(Web Server) 란 웹 서버(Web Server)는 클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아서 정적인 콘텐츠(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 제공하는 서버 소프트웨어이다. 주로 정적인 웹 페이지를 제공하는 데 사용되며 대표적인 웹 서버로는 Apache HTTP Server, Nginx가 있다. 이러한 웹 서버의 특징은 다음과 같다. HTTP 요청 처리클라이언트로부터의 HTTP 요청을 받아들이고 이에 대한 응답을 반환한다.정적 콘텐츠 제공정적인 파일(HTML, 이미지, CSS, JavaScript 등)을 클라이언트에게 제공한다.리버스 프록시요청을 다른 서버(ex. WAS)로 전달하여 처리 결과를 클라이언트에게 반환할 수 있다.로드 밸런싱여러.. 추상 클래스와 인터페이스 추상 클래스란 추상 클래스는 하나 이상의 추상 메소드를 가지고 있는 클래스를 의미한다. 추상 클래스가 가지고 있는 특징은 다음과 같다. 추상 클래스를 선언할 때는 class 앞에 abstract 키워드를 사용한다. 어떠한 클래스가 추상 클래스를 상속하면 추상 클래스에 선언된 추상 메소드를 반드시 구현해야 한다. 추상 클래스는 new 키워드로 인스턴스를 생성할 수 없다. 상속할 때 extends 키워드를 사용하며 다중 상속이 불가능하다. 추상 클래스는 필드를 가질 수 있다. 이러한 필드는 상속받는 자식 클래스에서 사용할 수 있다. 추상 클래스 사용 예시 public abstract class Authenticator { private String authType; public Authentic.. 이전 1 2 3 4 5 ··· 7 다음 목록 더보기