Life is short
close
프로필 배경
프로필 로고

Life is short

  • 분류 전체보기 (29)
    • CS (15)
      • 데이터베이스시스템 (2)
      • 운영체제 (0)
      • 네트워크 (0)
      • 자료구조론 (8)
      • 컴파일러설계 (5)
    • FE (0)
      • React (0)
    • BE (8)
      • SQL (1)
      • BE 기초 (6)
      • Spring (1)
    • INFRA (6)
      • Docker (6)
  • 홈
  • 태그
  • 방명록
[Spring] Spring Security

[Spring] Spring Security

Spring Security란? Spring Security에 대해서 알아보자! Spring Security란 인증, 권한 부여, 일반적인 공격에 대해 보호 기능을 제공하는 프레임워크이다. Spring Boot와 쉽게 통합하여 사용할 수 있으며, OAuth2, JWT 기반 인증, 역할 기반 접근 제어 등의 고급 보안 메커니즘을 제공한다. 그런데 왜 이런 프레임워크를 공부하고 사용하는 것일까? 프론트엔드에서 처리하거나 Security 없이 백엔드에서 보안 로직을 구현할 수도 있지 않을까? 만약 프론트엔드 단에서 인증 처리를 구현한다고 해보자. 브라우저로 전송된 모든 것에는 접근이 가능하며 개발자 도구로 조작도 가능하다. 개발자가 user.role === 'admin'으로 조건문을 걸어놓았을 때 사용자는..

  • format_list_bulleted BE/Spring
  • · 2025. 6. 11.
  • textsms
[BE 기초] 5. Cookie/Session

[BE 기초] 5. Cookie/Session

HTTP 특징 HTTP는 무상태 프로토콜(Stateless)를 지원한다. 이는 곧 서버가 클라이언트가 보내준 정보를 저장하지 않는다는 뜻이다.  예를 들어, 웹사이트에서 로그인을 한다고 가정해 보자. 사용자가 id와 password를 입력하고 로그인 요청을 보내면 서버는 로그인 정보를 확인한 후 응답을 보낸다. 그 후 사용자가 마이페이지에 접근하기 위해 요청을 보내면 로그인에 성공했음에도 불구하고 서버는 그 사실을 기억하지 못한다! 따라서 이러한 문제를 해결하기 위해 Cookie나 Session을 사용할 수 있다.   그렇다면 왜 HTTP는 Stateless한 걸까? 만약 Stateful하다면 항상 같은 상태의 정보를 들고 있는 서버가 유지되어야 한다. 따라서 만약 서버 1에서 장애가 난다면 유지되던 상..

  • format_list_bulleted BE/BE 기초
  • · 2025. 3. 28.
  • textsms
[BE 기초] 4. MVC Architecture

[BE 기초] 4. MVC Architecture

MVC 디자인 패턴 MVC(Model-View-Controller) 디자인 패턴은 애플리케이션을 세 가지 역할로 분리하여 개발하는 방법론을 의미한다.  Model(모델) : 데이터와 비즈니스 로직(Service)을 처리 필요 시 DB와 연동되어 사용(DAO가 Model에 포함됨)View(뷰) : 사용자에게 보여지는 UI 부분데이터를 시각적으로 표현하는 역할 Controller(컨트롤러) : 사용자의 요청을 받으며 Model과 View를 연결   왜 MVC 패턴이 등장했을까? 이전 포스팅에서 본 Servlet이나 JSP만으로 모든 비즈니스 로직과 뷰를 처리한다고 생각해 보자. 비즈니스 로직이 짧더라도 화면을 구성하기 위한 코드가 많아져 가독성이 떨어지고 유지보수가 어려워질 수 있다. 또한, 로직을 변경해야..

  • format_list_bulleted BE/BE 기초
  • · 2025. 3. 27.
  • textsms
[BE 기초] 3. EL/JSTL

[BE 기초] 3. EL/JSTL

EL이란? EL(Expression Language)은 JSP 페이지에서 데이터 접근 및 조작을 간소화하기 위해 고안된 언어이다. EL의 등장 전까지는 를 사용해 변수나 함수 호출 결과를 출력해야 헀다. 하지만 EL을 사용하면 ${속성명}만으로도 속성에 접근할 수 있다. 이전 : EL 사용 : ${name} 동일한 이름을 가진 속성이 존재한다면 작은 범위에서 큰 범위로 확장해가며 처음 발견된 값을 사용한다.(만약 더 큰 범위에 존재하는 속성을 가지고 오고 싶다면 명시적으로 지정해 주어야 함) 값이 없다면 공백으로 표시되며, 자동 형변환, 연산자를 지원하기도 한다. 만약 EL을 사용하여 JavaBeans의 property에 접근하고자 한다면, set/get을 제외하고 첫 글자를 소문자로 변환하여 접근하면 ..

  • format_list_bulleted BE/BE 기초
  • · 2025. 3. 26.
  • textsms

[BE 기초] 2. JSP

JSP란? 저번 포스팅에서 Servlet에 대해 알아보았다. 하지만 Servlet은 Java 코드 안에 HTML을 직접 작성해야 하므로 코드가 복잡하고 자동완성 기능을 사용할 수 없는 등의 불편함이 존재했다. 이러한 문제를 해결하기 위해 등장한 기술이 JSP(Java Server Pages)다. JSP는 주로 HTML에 Java 코드를 결합하여 동적 콘텐츠를 생성할 수 있게 해준다. 물론 JSP도 HTM과 Java 코드가 섞이는 것은 마찬가지이지만, Servlet보다 훨씬 직관적인 형태로 작성할 수 있다는 장점이 있다.  이름: 안녕하세요, 님!  JSP로 작성된 프로그램은 서버로 요청 ..

  • format_list_bulleted BE/BE 기초
  • · 2025. 3. 26.
  • textsms
[BE 기초] 1. Servlet

[BE 기초] 1. Servlet

웹 프로그램 웹 프로그램이란 웹 상에서 다양한 서비스를 하기 위해 만들어진 프로그램을 말한다. 사용자(클라이언트)가 브라우저를 통해 정보를 요청(Request)하면 서버는 동적으로 데이터를 처리하여 다시 응답(Response)하는 통신을 진행한다. 이러한 웹 페이지를 만드는 과정을 웹 프로그래밍이라고 하며 사용자 인터페이스를 위한 frontend, 비즈니스 로직을 담당하는 backend 등으로 구분할 수 있다.     WAS(Web Application Server)웹 애플리케이션을 실행하고 관리하는 서버를 WAS(Web Application Server)라고 한다. HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)라고도 할 수 있다. WAS는 동적인 페이지를 구성하기 ..

  • format_list_bulleted BE/BE 기초
  • · 2025. 3. 26.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (29)
    • CS (15)
      • 데이터베이스시스템 (2)
      • 운영체제 (0)
      • 네트워크 (0)
      • 자료구조론 (8)
      • 컴파일러설계 (5)
    • FE (0)
      • React (0)
    • BE (8)
      • SQL (1)
      • BE 기초 (6)
      • Spring (1)
    • INFRA (6)
      • Docker (6)
최근 글
인기 글
최근 댓글
태그
  • #dockerfile
  • #컴파일러설계
  • #docker
  • #Skip list
  • #docker compose
  • #자료구조
  • #SQL
  • #DBMS
  • #서로소 집합
  • #데이터베이스시스템
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바