본문 바로가기
반응형

공부/프로그래밍346

[React] Redux 사용하기전 알아야할 Flux 개념 Front-End에 사용되는 프레임워크의 대부분은 MVC(Model-View-Controller) 디자인 패턴을 채택했었습니다. 그런데 MVC 패턴이 명확하게 보여지면서 Flux 아키텍쳐가 등장하게 되었습니다. 우선 MVC 모델을 우선 살펴볼게요. MVC 패턴에서 컨트롤러(Controller)는 모델(Model)의 데이터를 조회하거나 업데이트하는 역할을 하며, 모델(Model)의 값인 뷰(View)에 반영됩니다. 그리고 뷰를 통해 데이터를 입력하면, 즉각 모델에 영향을 주면서 데이터를 관리하게 됩니다. 문제는 대규모 애플리케이션의 경우 MVC가 너무 빠르고 복잡해 진다는 점에 있습니다. 그래서 코드 예측이나 테스트의 어려움, 유지보수 비용 증가 등 여러가지 문제가 발생한 것입니다. 가장 대표적인 사례로 .. 2018. 7. 28.
[SpringBoot] session 을 redis 서버에 저장하기.(gradle) 세션클러스터링을 위해 세션 스토리지를 따로 구성하는 경우가 있는데 자주 쓰이는 것으로 redis 가 있습니다. 여기서는 윈도우에서 redis 설치와 세션정보가 redis에 저장될 수 있도록 구성하겠습니다. Redis 는 64비트 Windows 만 지원합니다. 1. Redis 설치하기. Redis는 공식적으로 윈도우를 지원하지 않습니다. 그래서 MSOpenTech라는 곳에서 지속적으로 윈도우 버전을 릴리즈 하고 있으니 아래사이트에서 다운받아 설치하면 됩니다. Zip 파일을 다운로드 받습니다. https://github.com/MicrosoftArchive/redis/releases 2. Redis 서버 인스톨 & 접속하기 받은 ZIP 파일의 압축을 해제하고 명령프롬프트로 해당 폴더로 이동합니다. 2. Re.. 2018. 7. 12.
[SpringBoot] Cloud Config Server-Github에 설정파일 두고 사용하기 Spring Cloud Config Server 가 무엇인지 간단히 설명드리자면, 모든 어플리케이션은 설정이 필요합니다. DB접속 정보라든가, Server의 주소, 포트 그 외 다수의 정보들이 있는데 이것들을 매번, 서버별로 관리하자니 여간 불편한 것이 아니죠. 그래서 application.properties 파일을 여러개 나누는 방법으로 하고 Tomcat 구동시 설정값을 주어서 읽는 파일을 변경하는 방법으로 발전하기도 했습니다. 문제는 설정파일이 변경하게 되면 다시 빌드, 배포를 해야 한다는 점에서 여전히 불편한 점이 있었습니다. 톰캣 설정에 익숙치 않은 분들에게 혼란을 주기도 했고요. 게다가 요즘은 대기업 개발 이야기를 들어보면 서버 갯수가 엄청나게 늘어나기도 하는데, 설정하나 바뀌었다고 올라가 있는.. 2018. 7. 10.
[SpringBoot 2.x] 회원가입 할 때 이미 가입한 회원이면 로그인 + Auth 하기. 해당 코드는 로그인 기능이 이미 만들어졌다는 가정하에 작성되었습니다. 환경 - Spring Boot 2.x - Spring Security - JPA - MariaDB 요약 - 회원가입을 할때 해당 이메일(또는 ID)가 회원가입 되어있는지 확인 - (회원가입이 되어있는 계정이라면) 로그인한 계정에 세션 부여 - Authentication 에 유저정보 설정 (.authenticate 기능) 1. UserDetailsService 이 구현되어 있는지 확인 해당 클래스는 로그인할때 User 클래스를 생성하여 리턴하는 역할을 합니다. 여기서는 DB를 조회하여 해당 고객이 존재하는지 여부를 점검한 후 User 클래스에 생성하여 리턴합니다. /** * [Spring Security] UserDetailsServic.. 2018. 7. 9.
[SpringBoot 2.x] (Spring Security) 페이스북 로그인 연동 인터넷에 나와있는 SpringBoot + 페이스북 연동 은 1.x 버전이라 안됩니다. 그래서 Spring Security Oauth2 를 이용해서 로그인하는 방법에 대해 다루를 예정입니다. 시작하기 전에 페이스북 디벨로퍼에 접속하여 새로운 App을 생성합니다. 생성할 때, 'Facebook 로그인' 을 설정해 둡니다. https://developers.facebook.com/?locale=ko_KR 여기서 사용되는 예제에서는 샘플 앱을 만들었으니 코드를 그대로 사용하셔도 됩니다. 구성은 다음과 같습니다. - Spring Boot 2.x - thymeleaf - Spring security - Spring security oauth2 1. Gradle 설정 compile('org.springframewor.. 2018. 7. 7.
[SpringBoot] (Spring Security) 로그인 후 호출했던 이전 페이지로 이동하기 로그인 하고나서 이전 페이지로 이동하는 방법에 대해 알아보겠습니다. 여기서는 총 파일 3개를 수정 or 생성합니다.LoginSuccessHandler.java // 로그인 완료 후 처리되는 핸들러 (AuthenticationSuccessHandler 인터페이스 구현)SecurityConfig.java // 스프링 시큐리티 설정파일LoginController.java // '/login' URL 을 매핑하는 클래스 해당 기능을 구현할 경우 다음의 장단점이 있습니다.- 장점. 로그인을 하고나서 전 페이지로 이동이 수월함- 단점. 로그인이 필요한 서비스로 이동하다가 걸린경우, 로그인 이후에 해당페이지로 이동하는게 아니라 호출한 페이지로 이동 예) /main 에서 /admin 으로 접근하다가 로그인이 걸린건데,.. 2018. 7. 6.
반응형