Spring Boot(9)
-
[Spring Boot] (6) 게시판 - 일반회원 게시글 등록 / 조회 / 페이징 :: 음악학원 홈페이지 프로젝트
→https://codecrafting.tistory.com/16 에서 이어지는 포스팅입니다. [Spring Boot] (5) 로그인/회원가입 - Oauth2를 이용한 카카오 로그인 :: 음악학원 홈페이지 프로젝트 https://codecrafting.tistory.com/10 에서 이어집니다. [Spring Boot] (4) 로그인/회원가입 - 자사 로그인 :: 음악학원 홈페이지 프로젝트 https://codecrafting.tistory.com/9 에서 이어지는 포스팅입니다. [Sp.. codecrafting.tistory.com 오랜만에 스프링 부트 게시글을 쓰게 되었습니다. 그 동안 오픽도 보고 알고리즘도 공부하느라 바빴네요 ㅎㅎ 바로 본론으로 넘어가 보겠습니다. 앞으로 연재할 게시글 CRUD 포..
2020.10.06 -
[Spring Boot] (5) 로그인/회원가입 - Oauth2를 이용한 카카오 로그인 :: 음악학원 홈페이지 프로젝트
https://codecrafting.tistory.com/10 에서 이어집니다. [Spring Boot] (4) 로그인/회원가입 - 자사 로그인 :: 음악학원 홈페이지 프로젝트 https://codecrafting.tistory.com/9 에서 이어지는 포스팅입니다. [Spring Boot] (2) 로그인/회원가입 - Spring Security 설정 :: 음악학원 홈페이지 프로젝트 들어가기 전에 ... 스프링 시큐리티 Spring Securi.. codecrafting.tistory.com 지난 시간에는 자사 로그인 서비스를 설명하면서 개발자의 서비스 클래스를 이용하려면 UserService 인터페이스를 구현한 클래스를 AuthenticationManagerBuilder의 userDetailServi..
2020.09.01 -
[Spring Boot] (4) 로그인/회원가입 - 자사 로그인 :: 음악학원 홈페이지 프로젝트
https://codecrafting.tistory.com/9 에서 이어지는 포스팅입니다. [Spring Boot] (2) 로그인/회원가입 - Spring Security 설정 :: 음악학원 홈페이지 프로젝트 들어가기 전에 ... 스프링 시큐리티 Spring Security에 대해 스프링 시큐리티를 이용하면 개발시에 필요한 사용자의 인증, 권한, 보안 처리를 간단하지만 강력하게 구현 할 수 있습니다. 일반적인 웹 codecrafting.tistory.com 지난 포스팅에서는 간단하게 자사 회원가입 서비스에 대한 과정을 설명했습니다. 이번 포스팅에서는 회원가입에 이어 로그인을 진행하겠습니다. Security Config 설정 포스팅에서 설명했듯이 Spring Security Filter를 통한 로그인 인증..
2020.08.15 -
[Spring Boot] (3) 로그인/회원가입 - 자사 회원가입 :: 음악학원 홈페이지 프로젝트
https://codecrafting.tistory.com/8 에서 이어지는 포스팅입니다. [Spring Boot] (2) 로그인/회원가입 - Spring Security 설정 :: 음악학원 홈페이지 프로젝트 들어가기 전에 ... 스프링 시큐리티 Spring Security에 대해 스프링 시큐리티를 이용하면 개발시에 필요한 사용자의 인증, 권한, 보안 처리를 간단하지만 강력하게 구현 할 수 있습니다. 일반적인 웹 codecrafting.tistory.com 지난 포스팅에서는 Spring Security를 WebSecurityConfigurerAdapter 클래스를 확장하여 간단하게 구현했습니다. 오버라이딩 되는 메소드 중, configure(AuthenticationManagerBuiider) 메소드에서..
2020.08.14 -
[Spring Boot] (2) 로그인/회원가입 - Spring Security 설정 :: 음악학원 홈페이지 프로젝트
들어가기 전에 ... 스프링 시큐리티 Spring Security에 대해 스프링 시큐리티를 이용하면 개발시에 필요한 사용자의 인증, 권한, 보안 처리를 간단하지만 강력하게 구현 할 수 있습니다. 일반적인 웹 환경에서 브라우저가 서버에게 요청을 보내게 되면, DispatcherServlet 이 요청을 받기 이전에 많은 ServletFilter(서블릿 필터)들을 거치게 됩니다. Spring Security도 서블릿 필터로써 작동하여 인증, 권한과 관련한 처리를 진행하게 됩니다. 스프링 필터 체인? Security와 관련한 서블릿 필터도 실제로는 연결된 여러 필터들로 구성 되어 있습니다. 이러한 모습때문에 Chain(체인)이라는 표현을 쓰고 있습니다. 해당 필터들의 역할과 흐름을 알고 있어야 필터의 커스터마이..
2020.08.12 -
[Spring Boot] (1) Gradle 빌드업 :: 음악학원 홈페이지 프로젝트
사용 기술 IDE: Intellij Community Compiler: Java 8 Build Tool: Gradle 6.1.1 Framework: Spring Boot 2.1.7 Template engine: Thymeleaf Database: AWS RDS MariaDB, H2 API: Spring Data JPA, Lombok, Oauth2, JavaMailSender etc. Security: Spring Security 5 using WebSecurityConfigurer Deploy: AWS EC2 instance, AWS Code Deploy, AWS S3, Travis CI Version Control: Git 스프링 레거시를 이용한 맛집 예약 웹서비스 프로젝트를 마친지 3개월이 지났다. ..
2020.08.12 -
AssertJ에 대하여
이 포스트에서는 AssertJ에 대해 간단한 설명과 예시를 들어 설명한다. 더 자세한 내용을 알고 싶다면 AssertJ 공식문서를 보자. AssertJ / Fluent assertions for java AssertJ has many great features that not everybody is aware of, here are some of them. Basic tips : Iterable and arrays assertions : Advanced tips : We want to start typing asser and let code completion suggest assertThat from AssertJ (and not the one from joel-costigliola.github.io ..
2020.08.12 -
스프링 부트 테스트에 대하여
일반적으로 단위테스트 코드를 작성할 때 5가지 원칙을 강조한다. (FIRST원칙) F - Fast (테스트 코드는 빠르게 실행되어야 한다) I - Independent (독립적으로 실행되어야 한다) R - Repeatable (반복 실행 가능해야 한다) S - Self Validating (메뉴얼 없이 테스트 코드만 성공해도 성공,실패여부를 파악할 수 있어야한다) T - Timely (즉시 사용 가능해야 한다) 스프링 부트 테스트 디펜던시 스프링 부트는 애플리케이션 테스트를 위한 많은 기능을 제공한다. 크게 두 가지 모듈을 지원한다. spring-boot-test : 핵심 기능 포함 spring-boot-test-configuration : 테스트를 위한 AutoConfiguration 제공 앞 게시글(..
2020.08.12 -
그래이들(Gradle)이란 무엇인가?
인텔리제이로 새 프로젝트를 생성할 때 프로젝트 유형을 그레이들로 선택한다. 이후 ArtifactId 와 GroupId를 등록한다. 이 설정이 끝나면 그레이들 기반의 자바 프로젝트가 생성된다. 그래이들 = 빌드 도구 그렇다면 그레이들 Gradle 이란 무엇일까? 위키백과에 대략적으로 서술된 내용에 따르면 그래이들은 Groovy를 이용한 빌드 자동화 시스템이다. 빌드 자동화의 목적은 소프트웨어 개발자가 반복적으로 해야 하는 코딩을 잘 짜여진 프로세스를 통해 자동으로 실행하며, 믿을 수 있는 결과물도 생산해 낼 수 있는 일련의 작업방식 및 방법을 말한다. 다시 말해, 1) 빠른 기간동안 계속해서 늘어나는 라이브러리의 추가와 2) 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화 하기 위해 등장한 것이다. 초..
2020.08.12