본문 바로가기

반응형

개발&코딩👨‍💻

스프링 시큐리티와 OAuth 2.0으로 로그인(구글,네이버) 기능 적용하기 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현 스프링 시큐리티(Spring Security)는 막강한 인증과 인과(혹인 권한 부여) 기능을 가진 프레임워크입니다. 사실상 스프링 기반의 애플리케이션에서는 보안을 위한 표준이라고 보면 됩니다. 필터 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권하고 있습니다. 1. 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 OAuth 하지만 오픈 아이디는 표준스펙이 존재하지 않았기 때문에 제공자마다 서로 다른 프로토콜을 제공하여 여러 오픈 아이디를 제공하기 위해선 각 규격별로 연동을 만들어야 했고, 일부 프로토콜에선 보안 이슈가 많이 나오기도 했습니다. 때문에 표준적인 방법을 고려하던 사람들은 OAuth 라는 .. 더보기
frontend view template engine Mustache로 화면 구성하기 Mustache로 화면 구성하기 1.mustache Logic-less template Engine 다양한 언어들을 지원 (Ruby, JavaScript, Python, Erlang, node.js, PHP, Perl, Objective-C, Java, .NET, Android, C++, Go, Lua, ooc, ActionScript, ColdFusion, Scala, Clojure, Fantom, CoffeeScript, D, Haskell, XQuery, ASP, Io, Dart, Haxe, and for Delphi) 수많은 언어를 지원한느 가장 심플한 템플릿 엔진 Template Engine? 템플릿 엔진은 "프로그램 로직" "프리젠테이션" 계층을 분리하기 위한 수단 예를 들어 Controlle.. 더보기
Spring Boot에서 JPA 셋팅 및 적용하기 Spring Boot에서 JPA 사용하기 1. JPA(Java Persistence API)란 JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을 JPA라고 바꾸고 JavaSE, JavaEE를 위한 영속성(persistence) 관리와 ORM을 위한 표준 기술이다. JPA는 ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink Essentials과 같은 구현체가 있고 이에 표준 인터페이스가 바로 JPA이다. ORM(Object Relational Mapping)이란 RDB 테이블을 객체지향적으로 사용하기 위한 기술이다. RDB 테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와.. 더보기
Spring Boot(스프링부트) 테스트 코드 junit 작성 해보기 Spring Boot 테스트 코드 작성 1. TTD란? "테스트 주도 개발: 테스트가 개발을 이끌어 나간다."라고 정의할 수 있다. 메소드 나 함수 같은 프로그램 모듈을 작성할 때 ‘작성 종료조건을 먼저 정해놓고 코딩을 시작 한다’는 의미로 받아들이면 편하다. RED : 항상 실패하는 테스트를 먼저 작성 GREEN : 테스트에 통과하는 프로덕션 코드 작성 REFACTOR : 테스트가 통과하면 프로덕션 코드를 리팩토링 위의 레드 그린 사이클 처럼 우선 테스트를 작성하고 그걸 통과하는 코드를 만들고 해당 과정을 반복하면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다. TDD를 왜 사용하는가? 개발 단계 초기에 문제를 발견하게 해준다. 추후에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존.. 더보기
Gradle 그레들 Spring Boot 스프링 부트 프로젝트 만들기 Gradle Spring Boot 프로젝트 생성 1. 프로젝트 생성 기본적인 프로젝트 개발 환경은 다음과 같습니다. IntelliJ IDEA - Spring Boot - Java 11 - Gradle Gradle 프로젝트 선택 화면 Project Name, GroupId 작성 화면 2. Gradle 프로젝트를 Spring Boot 프로젝트로 변경 build.gradle 파일을 열어 봅니다. 초기 build.gradle 파일 plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: 'j.. 더보기

반응형