본문 바로가기

전체 글6

스프링부트 - 회원가입/로그인(세션, 스프링 시큐리티 x) 구현 # 실습 설명보통 스프링 시큐리티 기능을 활용하여 로그인을 구현하는데 이전에 개인 실습을 할 때 스프링 시큐리티를 똑바로 공부하지 않고 따라 구현했다가 고생했던 경험이 있다......... 이번 실습은 시큐리티를 사용하지 않았을 때 어떤 방법으로 로그인이 구현이 되는지를 살펴보고 이후 실습에서 시큐리티를 보다 정확하게 파악하려 한다(SpringSecurity는 비밀번호 암호화 기능만 사용한다) 회원가입과 로그인은 대부분의 서비스에서 거의 필수적으로 들어가는 기능이다이때 로그인 방식은 흔히 세션과 jwt로 나뉘는데 이번 포스팅에서는 세션을 발급하는 방식으로 하겠다 0. DB 연결이번 실습의 경우 DB 연결이 필요하다 나의 경우 MySQL을 사용했다 미리 말하지만 본 글에서는 보기 편하게 하기 위해 이렇게.. 2026. 1. 8.
REST API 특정 API를 사용하려 하거나 설명글을 보면 REST API라고 언급을 하는 경우가 많다과연 REST API란 무엇일까? 우선 REST API를 이해하기 위해 REST란 무엇인가에 대해 간단하게 짚고 넘어가자 REST?REST, Representational State Transfer 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다- HTTP URL을 통해 자원(Resource)을 명시하고- HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것이다 즉 REST란 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하여 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다 ... REST의 6가지 아키텍처 원칙에 대해선 접은 글을 통해 확인하자!... 2025. 7. 27.
HTTP 메서드 스프링부트를 시작하고 처음에 헷갈리는 부분이 바로 어떤 요청을 어떤 HTTP 메서드로 해야 하는지였다때마침 시간이 생겨서 공부한 내용을 정리해보려 한다 HTTP 메서드란?HTTP 메서드는 클라이언트가 서버에게 어떤 동작을 수행하고 싶은지 알려주는 동사이다 주요 HTTP 메서드 상세 분석주요 HTTP 메서드는 GET, POST, PUT, DELETE, PATCH 등이 있으며각각 조회, 생성/전송, 전체 수정, 삭제, 부분 수정의 의미를 가지고 있다이때 GET, POST, PUT, DELETE는 CRUD 기능에 해당한다CRUD?Create, Read, Update, Delete의 약자로, 데이터에 대한 기본적인 4가지 조작을 의미한다! 각각의 특성을 설명하기 전 Safe와 멱등성의 개념을 이해하고 본다면 더.. 2025. 7. 26.
스프링부트 - flyway(DB 마이그레이션) DB 마이그레이션이란?DB 마이그레이션이란 데이터베이스의 구조, 스키마의 변경을 체계적이고 안전하게 관리하는 방법이다 즉 데이터베이스 구조의 버전을 관리하는 기법이다 - 각 스키마 변경사항에 순차적인 버전 번호를 부여하여 버전 기반 관리를 함- 메타데이터(다른 데이터를 설명해주는 데이터) 테이블로 실행 이력을 관리하기에 기록에 있어 이점이 생긴다- 아직 실행되지 않은 마이그레이션만 자동 실행하는 방식이기에 sql문을 작성하고 활용하는 것에 있어 편하게 사용이 가능하다 왜 필요할까?1. 지속적인 스키마의 변경기존에 개인 프로젝트나 해커톤을 할때 빠른 개발을 위해 ddl-auto를 update로 두고 사용했다개발을 하다보면 처음 구상했던 데이터베이스 스키마도 변경되는 경우가 빈번했고 이런 경우 해당 Enti.. 2025. 7. 23.
번외 - DB 만들기 실습을 위해 사용할 DB는 MySQL이다설치 과정은 제외하고 이미 설치를 한 상태에서 스프링부트 프로젝트와 연동되도록 하겠다 과정은 다음과 같다 1. 명령어를 사용하여 새로운 사용자와 데이터베이스 생성 및 권한설정하기2. 스프링부트 프로젝트의 설정변경3. 연결이 되었는지 확인하기 우선 사용자와 데이터베이스를 생성하자 스프링부트의 root 계정에 접속하여 명령어를 사용할것이다명령어는 다음과 같다해당 명령어는 MySQL을 설치했다면 workbench에 들어가 해도 되고 그냥 터미널창에서 해도 된다필자의 경우 우분투 운영체제를 기준으로 하므로 터미널창에서 입력하였다. CREATE USER testuser@localhost IDENTIFIED BY 'testpass' # 사용자 생성CREATE DATABASE.. 2025. 7. 16.
스프링부트 프로젝트 생성 https://start.spring.io/ 방법은 여러가지 있지만 난 위의 링크에서 만들어 시작한다 우측 위의 ADD Dependencies 항목을 통해 간단하게 추가 설정이 가능하며 필요한 기능에 따라 찾아서 추가하면 된다물론 저 과정을 거치지 않아도 추후에도 추가 가능하다이후 밑에 있는 GENERATE 버튼을 눌러 다운받은 압축파일을 압축해제하여 사용 가능하다 필자는 인텔리제이를 사용하는데 본인이 사용하는 vscode나 IDE를 이용하여 프로젝트를 열고 신나게 작업하면 된다 2025. 7. 14.