개발 일기


Blog 프로젝트 - 시작

Blog 프로젝트 - 환경설정

Blog 프로젝트 - 테이블 생성

Blog 프로젝트 - CRUD Test

Bolg 프로젝트 - Thymeleaf 템플릿

Blog 프로젝트 - 회원가입 기능

Blog 프로젝트 - 로그인 기능 구현 (스프링 시큐리티)

Blog 프로젝트 - 게시글 작성 기능

Blog 프로젝트 - 게시글 페이징 처리 (Pageable)

Blog 프로젝트 - 게시글 상세보기 기능

Blog 프로젝트 - 게시글 삭제 기능 (API 통신)

Blog 프로젝트 - 게시글 수정 기능 (API 통신)

Blog 프로젝트 - 회원정보 수정 기능

Blog 프로젝트 - 카카오 로그인 기능 고려할 점

Blog 프로젝트 - 카카오 로그인 기능

Blog 프로젝트 - 댓글 등록 기능

Blog 프로젝트 - 댓글 삭제 기능


오류, 공부


JPA 테이블 생성 오류 해결

API 테스트코드 오류 해결

authorize가 인식 안되는 상황(해결)

카카오 로그인 실패 오류 (해결)

JPA 무한참조 문제(해결)

회원 정보 수정 - 최신화가 되지 않는 문제(해결)

데이터베이스 격리수준 - READ Commit

스프링의 트랜잭션

Spring Security

SpringBoot - ThymeLeaf 사용법

BCriptPasswordEncoder

Lombok 라이브러리

RestTemplate 사용하기


블로그 만들기 - 시작하기

소개

이번 프로젝트에서는 Spring Boot와 MySql 데이터베이스를 사용하여 로그인, 회원가입, 게시판, 페이징 처리 등의 기능을 가진 블로그를 만들어볼 것이다.

로컬 설정 및 환경 구성

먼저, 로컬에서 개발을 시작하기 위해서는 Spring Boot와 MySql 데이터베이스를 설치하고 환경을 구성해야 한다. Spring Boot는 Java 기반의 웹 어플리케이션을 빠르고 쉽게 만들 수 있도록 도와주는 프레임워크이다.

회원가입 기능 구현

회원가입은 블로그를 이용하기 위해서 가장 먼저 해야할 작업 중 하나이다. 회원가입을 위한 데이터베이스 테이블을 생성하고, 회원가입 폼을 작성하여 회원가입 기능을 구현한다. 비밀번호는 암호화하여 저장하도록 한다.

로그인 기능 구현

로그인 기능은 사용자가 블로그에 접속하면 가장 먼저 만나게 될 기능 중 하나이다. Spring Security 라이브러리를 사용하여 로그인 기능을 구현할 것이다. 로그인을 위한 데이터베이스 테이블을 생성하고, 로그인 폼을 작성하여 로그인 기능을 구현한다.

게시판 기능 구현

게시판은 블로그에서 가장 중요한 기능 중 하나이다. 게시판의 CRUD(Create, Read, Update, Delete) 기능을 구현할 것이다. 게시글을 작성하고, 작성된 글을 조회하고 수정하고 삭제하는 기능을 구현한다.

페이징 처리 기능 구현

게시판에 글이 많아지면 한 화면에 모든 글을 보여주는 것은 효율적이지 않다. 따라서, 페이징 처리 기능을 구현하여 한 페이지에 보여줄 글의 개수를 제한하고, 페이지를 나누어 보여줄 것이다.

검색 기능 구현

게시판에 글이 많아지면 글을 찾기 어려워진다. 따라서, 검색 기능을 구현하여 원하는 글을 쉽게 찾을 수 있도록 한다.

댓글 기능 구현

게시판에 글을 작성하면 다른 사용자들이 댓글을 작성할 수 있다. 댓글은 게시글 내용 아래에 보여지며, 댓글 작성자의 이름, 작성 일자, 내용 등이 표시된다. 댓글 기능을 구현하여 사용자들이 자유롭게 댓글을 작성할 수 있도록 한다.

결론

나만의 블로그 만들기 프로젝트를 시작하면서 Spring Boot와 MySQL 데이터베이스를 사용하여 로그인 기능, 회원가입 기능, 게시판 기능, 페이징 처리 기능, 검색 기능, 댓글 기능 등을 구현하는 방법에 대해 알아보았다. 아직 많은 기능들을 구현해야 하지만, 이번 프로젝트를 통해 웹 개발에 대한 기초를 다지고 성장할 수 있다는 기대감을 가지고 있다.