본문 바로가기

전체 글31

[TIL] 21. 12월 S3란? 팀 프로젝트에서 이미지나 파일 저장이 필요하여 AWS S3를 사용하기로 했는데, 팀원들과 본격적인 스터디를 진행하기 전에 기본 개념을 미리 정리해본다.S3란?S3는 Simple Storage Service의 약자로, AWS(Amazon Web Services)에서 제공하는 클라우드 스토리지 서비스다.쉽게 말하면 인터넷을 통해 접근할 수 있는 대용량 파일 저장소라고 생각하면 된다. 사진, 동영상, 문서 등 모든 종류의 파일을 저장할 수 있고, 언제 어디서나 접근할 수 있다.우리 서버의 디스크에 파일을 저장하는 것과 달리, S3에 저장하면 서버와 분리되어 독립적으로 관리할 수 있다는 장점이 있다.그렇다면 일반 파일 시스템이나 서버 스토리지와 정확히 어떤 차이가 있을까? 표로 정리해보면 한눈에 비교할 수 있다.. 2025. 12. 8.
[TIL] 20. 12월 Redis란? 팀프로젝트 중 Redis를 사용해야하는 상황이 있었는데 팀원들과 스터디를 진행하기로 해서 미리 개념을 알아보고자 한다.팀 프로젝트에서 Redis를 사용하기로 했다. 팀원들과 본격적인 스터디를 진행하기 전에 기본 개념을 미리 알아두면 좋을 것 같아서 정리해본다.Redis란?Redis는 Remote Dictionary Server의 약자로, 메모리 기반의 키-값(Key-Value) 구조 데이터 저장소다.쉽게 말하면 데이터를 메모리(RAM)에 저장해서 빠르게 읽고 쓸 수 있는 데이터베이스라고 생각하면 된다. 일반적인 데이터베이스가 디스크에 데이터를 저장하는 것과 달리, Redis는 메모리에 저장하기 때문에 접근 속도가 매우 빠르다. 오픈소스이고 BSD 라이선스를 따르기 때문에 무료로 사용할 수 있다는 점도 장.. 2025. 12. 2.
[TIL] 19. 11월 JPA란 JPA란 무엇인가?JPA(Java Persistence API)는 자바 애플리케이션과 데이터베이스 사이에서 동작하는 ORM(Object-Relational Mapping) 기술 표준이다.쉽게 말해 "자바 객체를 DB 테이블에 대신 저장해주는 통역사"라고 생각하면 된다.실제 코드 차이:데이터를 저장(save)할 때, 개발자가 작성해야 할 코드는 이렇게 달라진다.기존(JDBC/MyBatis): INSERT INTO MEMBER (ID, NAME) VALUES (...) (SQL 직접 작성)JPA: memberRepository.save(member) (메서드 호출 끝)SQL Mapper vs JPA: 무엇이 다를까? (History)▪️ 기존 방식: SQL Mapper (MyBatis, JDBC)과거(JDB.. 2025. 11. 25.
[TIL] 18. 11월 JWT JWT란 무엇인가?JWT(JSON Web Token)는 사용자 인증 정보를 JSON 형태로 안전하게 전송하기 위한 토큰 기반 인증 방식이다.쉽게 말해, "이 사람이 누군지"를 증명하는 디지털 신분증이라고 생각하면 된다.실제 JWT 예시:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cSession vs JWT: 무엇이 다를까?▪️기존 방식: Session 기반 인증세션 방식은 서버가 모든 것을 기억하는 방식이다.사용자가 로그인하면 서버는 세션 저장소(메모리나 DB)에 "유저 A .. 2025. 11. 18.
[TIL] 17. 11월 Spring Security Spring Security란?Spring Security는 Spring 기반 애플리케이션의 보안을 담당하는 프레임워크이다. 인증(Authentication)과 인가(Authorization)를 처리하여 애플리케이션을 보호한다.웹 애플리케이션에서 보안은 필수적이다. Spring Security는 선언적 보안 설정을 통해 복잡한 보안 로직을 간단하게 구현할 수 있도록 도와준다.1. Spring Security 보안 레이어 이해하기Spring Security는 필터 체인(Filter Chain) 방식으로 동작한다. 클라이언트의 요청이 실제 애플리케이션에 도달하기 전에 여러 보안 필터를 거치게 된다.인증(Authentication): "이 사용자가 누구인가?" - 신원을 확인한다.인가(Authorization.. 2025. 11. 11.
[TIL] 16. 11월 Spring Framework(Controller) 🧐 Spring Controller 란?MVC 패턴의 'C'를 담당하는, Spring 웹 애플리케이션의 안내 데스크이다.클라이언트(브라우저)로부터 오는 모든 HTTP 요청을 가장 먼저 받아서 어떤 일을 할지 그리고 어떤 응답을 돌려줄지를 결정하고 지시하는 핵심 역할이다.일반 객체 VS Controller Bean이전 글이었던 Bean 편에서 봤듯이 Controller도 컨테이너가 관리하는 Bean이다.1. 일반 객체 (개발자가 직접 제어)개발자가 new 키워드로 직접 생성함개발자가 요청이 올 때마다 직접 호출해야 함웹 서버와 연결하는 로직을 직접 관리해야 함2. Controller Bean (컨테이너가 제어)@Controller를 보고 컨테이너가 자동으로 생성함 (Bean 등록)/students라는 G.. 2025. 11. 4.