Spring 73

Spring Boot 26강 - 질문(게시글) 수정/삭제/작성자 표시와 인증 기반 권한 체크

질문 등록/수정/삭제 시 로그인 필수작성자만 수정/삭제 가능, 권한 없으면 에러 반환질문 상세·댓글 모두 작성자/작성일/수정일 표시수정/삭제 버튼도 작성자 본인만 보임로그인하지 않은 사용자는 답변 입력 불가삭제는 JS confirm 창으로 추가 안전장치📌 예제 코드1) Question@Entitypublic class Question { // ... (생략) @ManyToOne private SiteUser author; private LocalDateTime modifyDate; // ... (생략)}author: 작성자 저장 (회원 엔티티 연관관계)modifyDate: 수정일2) QuestionServicecreate/modify/delete에 작성자 또는 수정일 저장/삭..

1. CRUD 게시판 프로젝트 - 설치부터 게시글 생성까지

이번 글에서는 게시판 구현을 위한 코딩 순서를 한번 짚고 넘어가고자 합니다.이번 글에서 구현하는 게시글은 CRUD 중, CR 까지만 진행하며,실제로 하시고보면 그렇게 어렵다는 생각이 들지 않을 정도로 구조 자체는 간단한 편입니다. 25/07/16 - CRUD 전부 가능!1. 먼저 DB 연결을 해보자.저의 경우 H2 DB를 사용했습니다. 실무를 직접 뛰어보지 않은 제가 적어드리는 것보다, 저보다 믿음직한 GPT에게 먼저 물어봤습니다.GPT 4.1버전 기준으로 개발과 테스트 환경에서 많이 쓰이며, 실제 서비스에서는 사용되지 않는다는군요. 하지만, H2는 빠르게 결과 확인이 가능하고, 실수를 하더라도 부담 없는 환경을 제공합니다.또한, 운영 DB와 문법 호환성이 좋은 편이라서, 개발-운영 환경 전환이 쉬운 편..

어노테이션 GenerationType에 대해서

GenerationType는 id값이 자동으로 만들어지는 방법을 지정해주는 역할이라고 생각하면 됩니다.하지만 뒤에 오는 것에 따라서 다르게 사용할 수 있는데요?어떠한 종류가 있는지 한번 이번 글에서 알아보겠습니다.1. GenerationType.IDENTITY데이터베이스가 auto-increment(자동 증가) 기능을 이용해서새 레코드가 추가될 때마다 id 값을 하나씩 자동으로 올려줍니다. id 값이 1, 2, 3, 4... 이렇게 점점 하나씩 개발자가직접 넣지 않아도 자동으로 증가한 값을 채워줍니다.2. GenerationType.AUTOJPA가 DB에 맞는 전략을 알아서 선택합니다.H2나 MySQL에선 IDENTITY, Oracle에선 SEQUENCE를 내부적으로 선택할 수 있습니다.DB에 따라 자동..

백엔드 개발자는 왜 CRUD 게시판을 필수적으로 공부하는가?

이번에는 제가 공부하면서 CRUD 게시판이 "왜 백엔드 개발자에게 중요한 것인가?" 궁금증이 생겨 찾아보았습니다.CRUD 게시판은 공부하시다보면 아시겠지만 백엔드 공부를 하면 어떠한 언어를 해도필수적으로 구현하는 것이 수업 내용에 포함되어 있는 것을 확인하실 수 있는데요?제가 간단하게 정리를 해보았습니다.1. 먼저 CRUD 게시판이란?CRUD는 Create(생성), Read(조회), Update(수정), Delete(삭제)의 약자로,게시글을 등록, 조회, 수정, 삭제를 할 수 있게 해주는 시스템을 CRUD 게시판이라고 합니다. 백엔드 개발자로서 글을 쓰고, 목록을 보며, 개별 게시글을 확인할 수 있고, 수정이 가능하며, 삭제할 수 있는 게시판.딱 기본적인 게시판의 형태를 만들 줄은 알아야 백엔드 개발자..

Spring Boot 25강 - 로그인·로그아웃·회원가입(동적 메뉴/예외처리/인증처리) 완성

이 글에서는로그인/로그아웃/회원가입 전체 구현Spring Security 연동 및 동적 메뉴(로그인/로그아웃)아이디/이메일 중복 등 예외처리UserDetailsService 구현으로 시큐리티 인증 연동을 모두 실전 수준으로 다룹니다.📌 1) 동적 네비게이션 메뉴 (navbar.html) 자유게시판 로그인 로그아웃 회원가입 ..

Spring Boot 24강 - 회원가입 기능 구현 (엔티티, 서비스, 컨트롤러, 폼 검증)

스프링 부트와 JPA, Validation, Thymeleaf를 활용해회원 정보를 안전하게 저장하고회원가입 폼의 유효성 검증 및비밀번호 암호화(BCrypt)까지 실제 서비스에 필요한회원가입 기능의 전체 과정을 구현합니다.📌 예제 코드 구성1) 회원 엔티티(SiteUser.java)package com.mysite.sbb.user;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;import lombok.Getter;import lo..

Spring Boot 23강 - Spring Security 기본 적용과 모든 경로 허용 설정

실제 웹 서비스를 만들 때 보안(인증/인가) 처리를 위해Spring Security는 거의 필수적으로 사용됩니다.하지만 초기에 도입하면 로그인 없이도 모든 기능을 테스트할 수 있도록전체 URL 허용(permitAll) 설정을 먼저 적용하는 것이 좋습니다.또한, 회원 기능을 구현할 때 사용할 비밀번호 암호화(PasswordEncoder) 설정도함께 추가해야 합니다.📌 주요 코드 및 설정1) Gradle dependencies 추가implementation 'org.springframework.boot:spring-boot-starter-security'implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'spring-boot-star..

Spring boot - Application 정리

이번 글에서는 Spring boot의 대표적인 환경설정 파일인application.properties에 대해서 알아보고자 합니다.1. application.properties의 역할프로젝트 전체 환경설정 - DB 연결, 포트번호, 로그 출력 등 프로젝트의 기본 동작을 설정 외부 설정 값 관리 - 소스 코드에 직접 설정을 적지 않고, 이 파일에 적어놓음으로써 배포나 환경에 따라 값만 바꿔도 적용됨 Spring boot 자동설정 지원 - Spring boot는 이 파일을 자동으로 읽어서, 적힌 값대로 설정해줍니다. 환경별 설정 분리 가능 - application-dev.properties, application-prod.properties 처럼 파일을 나누고, 실행 환경에 따라 설정을 다르게 줄 수 있습니다..

Bootstrap : Table 정리

BootStrap을 사용한 테이블의 opt-in[1] 스타일에 대한 문서를 찹고하였습니다. [1]옵트인(opt-in)이란? 옵션인(Option-in)의 약자로 특정 서비스를 이용하거나 정보 제공에 대해 사용자가 명시적으로 동의해야만 이용이 가능한 방식입니다.📌 기본 문법 : # First Last Handle 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 John Doe @social 📌 테이블 색상 : class="table-color"................

[ HTML ] HTML 태그 정리

-- 기본 구조 : HTML이 작용하는 범위를 지정하는 태그 : 타이틀이나 메타 태그를 포함하는 태그 : HTML 제목을 선언하는 태그 : HTML의 부가 정보를 선언하는 태그 : 외부 CSS, 파비콘 등을 연결하는 태그 : 문서의 본문 범위를 지정하는 태그 -- 텍스트 관련 : 제목과 소제목을 묶기 위한 태그 : 제목(Heading)을 표시할 때 사용되는 태그 : 새 문단을 여는 태그 : 텍스트를 위첨자(superscript)로 표시하는 태그 : 텍스트를 아래첨자(subscript)로 표시하는 태그 : 텍스트를 조금 작게 표시하는 태그 / 저작권 정보나 주석 등. : 문단 내 줄바꿈 태그 : 가로줄(Horizontal Rule) 넣는 태그 : 약어를 이 태그로 묶어서 무엇의 약어..

반응형