Dev 126

18. [SpringBoot] 환경설정별로 다르게 실행해보자

1. 서론 요즘 스프링 부트를 학습하면서, 정말 제대로 학습해보고 싶은 생각이 많이 들었습니다. 그래서 기본을 계속 찾아보다 프로파일에 따른 환경을 구성해서 분리하는 작업을 해보았는데, 개발 환경 구성을 다르게 하는 것이 중요하다는 것을 알게되었습니다. 이 글을 이해하시면 한 프로젝트 내에서 로컬, 개발, 베포환경을 분리할 수 있습니다. 2. 본론 아주 간단합니다. 프로젝트 생성 후, application.yml 파일 설정을 하시면 됩니다. 1. application.yml 작성하기 - application.yml 은 다음 경로에 있습니다. 없다면 그냥 new 해서 해당 경로에 새로 생성 하시면 됩니다. server: port: 80 --- spring: profiles: local server: por..

Dev/SpringBoot 2020.09.09

17. [SpringBoot] 스프링부트 카카오 로그인하기 구현(따라치기만하면됨)(2)

서론 1편에 이어 2편도 제작하려 합니다. 1편은 하단 링크를 참고하시면 됩니다. 16. [SpringBoot] 스프링부트 카카오 로그인하기 구현(따라치기만하면됨)(1) 서론 카카오 소셜로그인을 구현하려고 구글링을 이곳 저곳 해봤는데,, 다들 너무 어렵고, 내가 아는것이 맞나,, 싶을정도로 하나도 모르겠었습니다. 그러다 우연히 https://master-gromit.tistory.com/11?ca dkyou.tistory.com 저번 시간에는 인증 코드를 요청하고 카카오 서버를 거쳐 인증코드를 가져오는 첫번째 단계까지 확인했습니다. 이번에는 인증코드로 토큰 요청을 하고, 토큰을 받아오는 과정까지 진행해보려 합니다. 본론 access_token을 가져오기 위해서는 다음과 같이 4개의 조건이 필요합니다. g..

Dev/SpringBoot 2020.07.24

16. [SpringBoot] 스프링부트 카카오 로그인하기 구현(따라치기만하면됨)(1)

서론 카카오 소셜로그인을 구현하려고 구글링을 이곳 저곳 해봤는데,, 다들 너무 어렵고, 내가 아는것이 맞나,, 싶을정도로 하나도 모르겠었습니다. 그러다 우연히 https://master-gromit.tistory.com/11?category=778440 이분 블로그를 보게 되었는데 내가 이해할 수 있을 정도로 구현되어있었습니다. 코드는 이분껄 전적으로 참고하였고, 잊지 않기 위해 기록으로 남기려 합니다. 본론 개발 환경 JDK 1.8 Spring Boot 2.x, Thymeleaf + bootstrap OAuth가 뭔지도 모르고 한번도 구현해본적 없기 때문에 이런식의 카카오 문서가 무슨말인지 하나도 몰랐습니다.(그래서 어떻게 코드로 구현하지?)라는 생각뿐이었습니다. 1. 프론트엔드 구현하기 카카오로 로그..

Dev/SpringBoot 2020.07.23

4. [IntelliJ] Window에서 IntelliJ 실행시 초기 매뉴가 나오게 하기

1. 서론 IntelliJ를 실행할 때, 항상 프로젝트가 띄워지는 현상이 있었습니다. 처음엔 괜찮았는데,, 프로젝트를 여러개 띄워놓고 하다보니 매번 킬 때마다 4~5개씩 프로젝트가 떠버리면 컴퓨터가 장난아니게 느려지더라구요.. 저랑 같은 상황에 있으신 분들을 위해 포스팅 합니다. 2. 본론 다음과 같은 창이 띄워지기를 원하는 사람이 분명히 있을 것입니다..! 검색 결과 맥 버전에서는 https://jojoldu.tistory.com/459 IntelliJ 실행시 최근 종료한 프로젝트 바로 실행되지 않게 하기 IntelliJ를 실행하면 항상 가장 최근에 종료한 프로젝트가 자동 실행됩니다. 한개의 프로젝트를 개발중이라면 크게 문제가 되진 않겠지만, 여러 프로젝트를 개발중이신 분들이라면 매번 다시 새 � jo..

Dev/Intellij 2020.07.08

15. [Spring Boot] URL별 접근권한 DB에서 가져와서 처리하기(2)

1. 서론 지난 포스팅에서는 urlResourcesMapFactoryBean().getObject() 처리를 어떻게 해줄 것인지까지 알아보았습니다. 이번포스팅에서는 UrlResourcesMapFactoryBean클래스의 동작 과정에 대해 알아보겠습니다. 지난 포스팅을 보시려면 아래 링크를 참조하세요. 14. [Spring Boot] URL별 접근권한 DB에서 가져와서 처리하기(1) 1. 서론 - 이번 포스팅에서는 URL이 조회될 때마다 해당 URL의 접근권한을 확인해서 접속 가능, 불가능을 처리하는 방법을 포스팅해보겠습니다. - 과정이 조금 많이 복잡해서 이해하기 힘들었는데, dkyou.tistory.com 현재 경로 : SecurityConfig.java > .addFilterBefore(customF..

Dev/SpringBoot 2020.06.18

14. [Spring Boot] URL별 접근권한 DB에서 가져와서 처리하기(1)

1. 서론 - 이번 포스팅에서는 URL이 조회될 때마다 해당 URL의 접근권한을 확인해서 접속 가능, 불가능을 처리하는 방법을 포스팅해보겠습니다. - 과정이 조금 많이 복잡해서 이해하기 힘들었는데, 수정하거나 고칠 점이 있다면 알려주시면 감사하겠습니다. 2. 본론 - 우선 ROLE - ROLE_RESOURCES - RESOURCES, 이렇게 세 가지의 테이블이 존재합니다. - 이는 ROLE - RESOURCES가 원래 M:N 매핑되어있어야 하지만, 1:N + N:1 관계로 쪼개 놓기 위함입니다. - DB 데이터는 미리 설정하여 입력해놓았습니다. - H2 DB는 간단한 CRUD를 DB내부에서 간단하게 처리할 수 있도록 돕습니다. Role.java - 도메인 설계를 시작하겠습니다. 다음 3가지 테이블의 도메..

Dev/SpringBoot 2020.06.17

3. [IntelliJ] Getter, Setter 생성 단축키

1. 서론 - 오늘은 Intellij에서 Getter, Setter를 생성해주는 단축키에 대해서 알아보도록 하겠습니다. - 그동안 Lombok이라는 플러그인을 아주 유용하게 써먹고있었다가, 최근 의도적으로 getter, setter를 생성해주어야할 일이 생겨서 알아보았습니다. - 생각보다 간단한데, 맨날 하려다보면 까먹어서 기록해둡니다. 2. 본론 - setter는 만든 클래스 앞에 set이라는 접두어가 붙어 만들어집니다. - 단축키는 Alt + Insert입니다. - 같은 방식으로 getter method도 만들 수 있습니다. - getter는 만든 클래스 앞에 get이라는 접두어가 붙어 만들어집니다. - 단축키는 Alt + Insert입니다. 그 외 Constructor, toString등 다양한 메..

Dev/Intellij 2020.06.16

2. [Django] 장고 가상환경 설정 및 초기 셋팅 - zsh: command not found: pip(에러 해결)

1. 서론 - 장고를 처음 설치할 때, zsh: command not found: pip로 고생했습니다. - 몇 시간 삽질 끝에 해결책을 알아내어 잊지 않기 위해 기록으로 남겨둡니다. 2. 본론 그동안 안되었던 이유는 프로젝트 내부에 venv를 설정해주지 않았기 때문이었습니다. 간단해보이지만, 한번 설정을 잘못해두면 파이참이 이를 기억하기때문에 계속 잘못된 설정대로 프로젝트를 생성해주게 됩니다. 이후, source venv/bin/activate구문으로 가상환경을 실행시켜주면, 환경설정이 완료됩니다! 3. 결론 오늘은 파이썬 가상환경을 제대로 설정하는 방법에 대해 알아보았습니다.

Dev/Django 2020.06.15

13. [springboot] 스프링부트 접근 불가 처리

1. 서론 이번 포스팅에서는 접근 불가 처리해주는 페이지를 따로 구성해서 403에러가 나는 것을 보여주지 않도록! 하는 처리를 진행해보려고 합니다. 일반적으로 접근거부 에러가 발생하게 되면, 이런 방식으로 에러가 발생하게 되는데요. 이걸 사용자가 보기에 껄끄럽지 않도록 예쁘게 만들어보는 튜토리얼을 진행하려 합니다. 2. 본론 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/","/loginUser","/login*").permitAll() .antMatchers("/user").hasRole("USER") .antMatchers("/manager")...

Dev/SpringBoot 2020.06.13

12. [springboot] Spring Boot 로그인 실패 이후 처리

1. 서론 - 저번 포스팅에서는 로그인 성공 이후 처리에 대해 알아보았습니다. 11. [springboot] 스프링부트 로그인 성공 이후 처리 1. 서론 - 로그인 처리가 성공하였을 경우 처리에 대해 공부해보겠습니다. - 일반 쇼핑몰 같은 경우, 로그인하지 않은 채 서비스들을 둘러보고 있다가, 결재하려 할 때 로그인 처리를 요구하는 경 dkyou.tistory.com 이번에는 로그인 실패시, 알림창 띄우는 방법에 대해 알아보도록 하겠습니다. 2. 본론 SecurityConfig.java package com.example.springsecurity.security; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org..

Dev/SpringBoot 2020.06.12