의존성 추가하기 build.gradle에 mysql-connecter를 추가하고 빌드하여 의존성을 주입합니다. dependencies { runtimeOnly 'com.mysql:mysql-connector-j' } 연결 설정 추가하기 application.properties에 mysql DB 서버 연결에 대한 설정값을 추가합니다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:{포트번호}/{스키마 명}?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.username={사용자 이름} spring.data..
Spring
Spring Boot 시작하기 Spring Boot를 시작하는 가장 쉬운 방법은 start.spring.io에서 프로젝트를 생성하는 것입니다. 이 사이트는 필요한 구성 요소를 선택하고 프로젝트를 빠르게 시작할 수 있도록 해줍니다. 이번 Blog프로젝트에서는 Spring Web, Thymeleaf, lombok, Spring Data JPA, MySQL 및 Spring Boot DevTools를 사용합니다. Spring Security 라이브러리는 추후에 추가할 예정입니다. https://start.spring.io/ Spring Web을 사용하여 웹 애플리케이션을 만듭니다. Spring Web은 Spring Framework에서 제공하는 웹 애플리케이션 개발을 위한 라이브러리입니다. 이 라이브러리를 사용..
Blog 프로젝트 웹 개발의 기초가 되는 로그인, 회원가입, 게시판, 페이징 처리 등의 기능을 가진 blog 프로젝트를 시작하려 한다. 2년전 강의라 오류가 많을 것으로 추정되며 오류를 해결할수록 성장한다는 마음 hyunsb.notion.site Springboot - 나만의 블로그 만들기 [스프링부트로 인스타그램 클론코딩] https://www.easyupclass.com/course/218/about www.youtube.com 웹 개발의 기초가 되는 로그인, 회원가입, 게시판, 페이징 처리 등의 기능을 가진 blog 프로젝트를 시작하려 합니다. 2년전 강의라 사용 라이브러리의 버전 업데이트, 문법 변경등의 오류가 많을 것으로 추정되며 오류를 해결할수록 성장한다는 마음가짐으로 프로젝트를 시작 해보겠습..
Thymeleaf 템플릿 엔진를 사용하여 layout 중복 코드를 설정하고 관리하는 방법을 작성하겠습니다. build.gradle에 thymeleaf 와 템플릿엔진을 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.2.0' 템플릿 엔진에 등록하기 ex) 템플릿 엔진 사용하기 ex) 예제 소스파일 구조 fragments 디렉터리에 중복코드에 대한 파일을 저장하여 줍니다. html 의 head 태그 부분의 코드 (js, 스타일시트)를 담고 있는 config.html header 정보를 담고있는 h..
스프링 시큐리티 스프링 시큐리티(Spring Security)는 스프링 기반의 애플리케이션에서 인증과 권한 부여를 담당하는 프레임워크입니다. 스프링 시큐리티를 사용하면 다양한 인증 방식을 적용하여 보안성을 높일 수 있으며, 세밀한 권한 제어를 통해 안전한 웹 애플리케이션을 개발할 수 있습니다. 스프링 시큐리티는 스프링 프레임워크와 연동하여 사용할 수 있으며, 다양한 인증 방식과 권한 제어 기능을 제공합니다. 스프링 시큐리티는 매우 강력하고 유연한 보안 프레임워크로, 스프링 기반의 웹 애플리케이션에서는 필수적인 기술입니다. 스프링 시큐리티를 이용하여 간단하게 인증 및 권한 부여 기능을 구현할 수 있으며, 필요에 따라 세부적인 설정을 통해 보다 정교한 보안 기능을 구현할 수 있습니다. 스프링 시큐리티는 다양..
sec:authorize는 스프링 시큐리티에서 제공하는 기능이므로, 스프링 시큐리티 의존성을 추가하셔야 합니다. 또한 isAuthenticated() 메서드를 사용하기 위해서는 스프링 시큐리티 설정 파일에서 로그인 인증을 구현해야 합니다. 설정 파일에 인증 구현을 추가하신 후 sec:authorize 기능을 사용하시면 됩니다. 스프링 시큐리티로 구현한 로그인 이후 권한에 따른 메뉴바의 아이템을 다르게 설정 해주었습니다. 더보기 ✅ `isAuthenticated()` 메서드는 스프링 시큐리티에서 제공하는 메서드 중 하나로, 현재 사용자가 인증된 사용자인지를 확인해주는 역할을 합니다. 만약 현재 사용자가 인증된 사용자이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이 메서드를 사용하여 로그..
스프링부트는 웹 개발에 필요한 다양한 기능을 제공하는 프레임워크입니다. 이 중에서도 thymeleaf는 템플릿 엔진으로 자주 사용됩니다. thymeleaf를 사용하면 HTML, XML, JavaScript, CSS 등 다양한 형태의 문서를 생성할 수 있습니다. 의존성 추가 스프링부트에서 thymeleaf를 사용하기 위해서는 먼저 의존성을 추가해야 합니다. build.gradle 파일의 dependencies 블록에 다음과 같이 추가해주세요. implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 템플릿 생성 thymeleaf를 사용하기 위해서는 HTML 파일에 thymeleaf 문법을 추가해야 합니다. thymeleaf 문법은 HT..
BCriptPasswordEncoder BCriptPasswordEncoder는 스프링 시큐리티에서 제공하는 비밀번호 인코더 중 하나입니다. 이 인코더는 BCrypt 해시 알고리즘을 사용하여 입력된 비밀번호를 암호화합니다. BCrypt 해시 알고리즘은 안전한 비밀번호 저장을 위해 널리 사용되는 알고리즘 중 하나입니다. 이 알고리즘은 해시 함수에 솔팅(salting) 기법을 적용하여 비밀번호의 보안성을 높입니다. 솔트(salt)란, 암호화된 비밀번호를 해독할 때 사용되는 사전에 약속된 문자열입니다. 솔팅(salting)은 이러한 솔트를 이용하여 비밀번호를 더욱 안전하게 보호하는 기법입니다. 솔트는 일반적으로 해시 함수에 추가되어 비밀번호를 암호화합니다. 이를 통해 같은 비밀번호를 가진 두 사용자가 서로 다..
https://hyunsb.notion.site/REST-API-b8c70e37db02407eb70b45c628952a22 REST API REST(Representational State Transfer): 웹의 장점을 최대한 활용할 수 있는 아키텍처(Architecture) hyunsb.notion.site REST API REST(Representational State Transfer): 웹의 장점을 최대한 활용할 수 있는 아키텍처(Architecture) REST의 구성 자원(resource) - URI 행위(verb) - HTTP METHOD 표현(Representations) ✅ REST의 특징 Uniform (유니폼 인터페이스) 일관된 인터페이스를 의미, 동일한 리소스 요청에 동일한 URL..