Backend 76

MSA에 대해 알고가기

MSA란?마이크로서비스 아키텍처(MSA)는 작고 독립적인 서비스들의 집합으로 구성된 애플리케이션 구조애플리케이션을 작은 독립적인 서비스로 분리하고, 각 서비스는 모듈 또는 프로젝트로 나눠서 개발 및 관리를 진행=> 진행할 경우 독립적으로 개발 및 배포가 가능하여 개별적인 배포 주기를 가질 수 있음.   📌 MSA(Microservices Architecture) 장점과 단점✅ MSA 장점확장성(Scalability)서비스 단위로 개별 확장이 가능하여 트래픽이 많은 특정 서비스만 확장할 수 있음.비용 효율적인 확장 가능.배포의 유연성개별 서비스 단위로 배포가 가능하여 전체 시스템을 중단하지 않고 업데이트 가능.CI/CD(Continuous Integration/Continuous Deployment)를 ..

Backend 2025.02.13

[Kotlin]코틀린의 핵심 개념 정리

1. Kotlin 의 Nullable 처리, 그리고 장점들 (중요 ⭐)1-1. Kotlin 의 Nullable 처리 방법코틀린은 다양한 연산자 ?(Safe Call) / ?:(Elvis) / !!(Not-null assertion) 등을 이용하여 Java 의 문제점인 NullPointerException 의 빈번한 발생을 예방1-1-1. Safe Call(?)? 연산자를 사용하여 앞의 리턴 값이 null 이 오는 경우 뒤의 구문을 실행하지 않고 바로 null 자체를 리턴null 에서 연산을 수행하다가 런타임에 발생하는 NullPointerException(NPE) 의 발생을 예방위의 특성을 통해서 NullPointerException 을 컴파일 시점에서 방지하여 서비스 운영 중에 발생하는 예상치 못한 문..

Backend/Kotlin 2025.01.17

Kotlin이란? + MacOS Kotlin 설치

https://kotlinlang.org/ Kotlin Programming LanguageKotlin is a programming language that makes coding concise, cross-platform, and fun. It is Google’s preferred language for Android app development.kotlinlang.orghttps://kotlinlang.org/docs/getting-started.html#is-anything-missing Get started with Kotlin | Kotlin kotlinlang.org Kotlin이란?Kotlin은 Java와 100% 호환되며, 지속적으로 발전하고 있는 프로그래밍 언어입니다.다양한 어플리케이..

Backend/Kotlin 2025.01.14

AJAX(Asynchronous JavaScript and XML)

1. AJAX란?1.1 정의AJAX(Asynchronous JavaScript and XML)는 웹 페이지를 새로 고침하지 않고도 서버와 비동기적으로 데이터를 주고받을 수 있게 해주는 기술입니다.XML뿐만 아니라 JSON, HTML, 일반 텍스트 등 다양한 데이터 형식을 사용할 수 있습니다.1.2 AJAX의 주요 목적사용자 경험 개선:페이지 전체를 다시 로드하지 않고 필요한 데이터만 갱신.효율적인 데이터 통신:필요한 데이터만 서버에서 가져와 네트워크 사용량 감소.2. AJAX의 주요 구성 요소2.1 핵심 기술HTML/CSS: 사용자 인터페이스(UI) 설계.JavaScript: 클라이언트와 서버 간 데이터 요청 및 응답 처리.XMLHttpRequest 또는 Fetch API: 서버와 비동기 데이터 통신.서..

Backend 2024.11.29

[Spring Web MVC] HandlerInterceptor

1. Interceptors :: Spring Framework2. Interceptors :: Spring Framework3.HandlerInterceptor1. HandlerInterceptor란?HandlerInterceptor는 Spring MVC에서 제공하는 인터페이스로, HTTP 요청을 처리하기 전후에 추가 로직을 실행할 수 있도록 지원합니다.컨트롤러 메서드 실행 전, 실행 후, 뷰 렌더링 후에 작업을 삽입할 수 있습니다.일반적으로 인증, 권한 검사, 로깅, 성능 측정과 같은 작업에 사용됩니다.2. HandlerInterceptor의 주요 메서드HandlerInterceptor는 세 가지 메서드를 제공합니다.필요한 메서드만 선택적으로 구현하면 됩니다.preHandle컨트롤러의 메서드가 실행되..

Backend/Spring 2024.11.26

[Spring Web MVC] WebMvcConfigurer

1.MVC Config :: Spring Framework2. MVC Config API :: Spring Framework3. Web MVC Configurer 더보기@Configuration VS @Component @Component는 개발자가 직접 작성한 클래스를 bean으로 등록하고자할 때 사용한다. @Configuration은 @Component를 포함하는데, 외부 라이브러리 또는 내장 클래스를 bean으로 등록하고자할 때, 1개이상의 @Bean을 제공하는 클래스에 붙여 사용한다.WebMvcConfigurer란?WebMvcConfigurer는 Spring MVC에서 제공하는 인터페이스로, Spring의 기본 설정을 커스터마이징하는 데 사용됩니다.주로 URL 매핑, 뷰 리졸버, 리소스 처리, C..

Backend/Spring 2024.11.26

Rdeirect VS Forward

Redirect와 forward의 차이jsp 환경에서, 현재 작업중인 페이지 다른 페이지로 이동하는 두가지 방식의 페이지 전환이 가능합니다.Forward동일한 웹 컨테이너에 있는 페이지로만 이동할 수 있다. 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 request와 response 객체를 공유한다.Redirect다른 웹 컨테이너에 있는 주소로 이동이 가능하다. 새로운 페이지에서는 request와 response객체가 새롭게 생성된다.Redirect1.1 개념Redirect(리다이렉트)는 클라이언트의 요청을 서버가 처리한 후, 새로운 요청을 클라이언트로 다시 보냅니다.서버가 클라이언트에게 HTTP 상태 코드 302(임시 이동)과 함께 Location 헤더에 새 URL을 전달하면, 클라이언..

Backend/Spring 2024.11.26

[Spring Web MVC] Session

https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/httpsession1. 세션(Session) 개념세션(Session)은 서버 측에서 사용자 정보를 유지하는 방법입니다.클라이언트가 서버와 상호작용하는 동안(특히 로그인 상태) 서버는 세션을 사용하여 사용자를 식별하고 데이터를 유지합니다.클라이언트는 세션 ID를 통해 서버와 연결됩니다.2. 세션의 특징저장 위치서버 메모리 또는 외부 저장소(Redis, DB 등).데이터 수명세션 타임아웃(일정 시간 동안 활동이 없으면 만료).식별 방식클라이언트는 세션 ID를 쿠키 또는 URL 파라미터를 통해 서버에 전달.보안세션 데이터는 서버에서 관리되므로 클라이언트는 데이터에 직접 접근할..

Backend/Spring 2024.11.25

[Spring Web MVC] 🍪Cookie

https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/cookie1. 쿠키란?쿠키(Cookie)는 웹 서버가 클라이언트(브라우저)에 저장하는 작은 데이터 조각입니다.클라이언트-서버 간 상태 정보를 유지하기 위해 사용됩니다.브라우저는 서버에서 설정한 쿠키를 저장하고, 이후 동일한 서버로 요청할 때마다 쿠키를 함께 전송합니다.2. 쿠키의 주요 특징저장 위치: 클라이언트(브라우저).전송 방식: HTTP 요청 헤더(Cookie)와 응답 헤더(Set-Cookie)를 통해 서버와 주고받음.수명:세션 쿠키: 브라우저를 닫으면 삭제.영구 쿠키: 만료 시간을 설정하면 브라우저를 닫아도 유지됨.보안:클라이언트에 저장되므로 조작 가능성이 있음(..

Backend/Spring 2024.11.25

[Spring Web MVC] HTTP 요청 RequestMapping

1. @RequestMapping의 기본 개념역할: HTTP 요청(예: GET, POST, PUT, DELETE 등)을 특정 컨트롤러 클래스나 메서드에 매핑합니다.적용 위치:클래스 레벨: 기본 URL 경로 설정.메서드 레벨: 세부 경로 및 HTTP 메서드 설정.2. 주요 속성 (Attributes)속성설명예시value 또는 path요청 URL 경로를 지정. 단일 경로나 배열 형태로 가능.@RequestMapping("/users")methodHTTP 메서드 지정 (GET, POST, PUT, DELETE 등). 여러 개 지정 가능.@RequestMapping(value = "/users", method = RequestMethod.GET)params요청에 특정 쿼리 파라미터가 포함되어야 매핑되도록 설정...

Backend/Spring 2024.11.25