
※Spring Boot Security란 스프링 기반의 애플리케이션의 보안(인증과 권한처리, 인가 등)을 담당하는 스프링 하위 프레임워크 스프링 부트 시큐리티는 스프링 시큐리티의 번거로운 설정을 간소화 시켜주는 래핑 프레임워크 스프링 부트에서는 스프링 시큐리티를 스터터로 제공함 위와 같이 빌드도구에 의존성만 추가해주면 별도의 설정이 없더라도 스프링 시큐리티가 바로 적용됨 (xml설정이 전혀 필요하지 않아 편리함) Spring Security의 보안 요소 1. 인증 (Authentication) - 사용자(클라이언트)가 애플리케이션의 특정 동작에 관하여 허락된 사용자인지 확인하는 절차 (ex. 로그인) 2. 인가 (Authorize) - 현재 사용자가 서버의 특정 자원을 사용(접근)할 권한이 있는지 검사하..

트랜잭션이란 데이터베이스의 상태를 변경시키는 하나의 논리적 기능을 수행하는 작업의 단위 @Transactional 스프링에서 트랜잭션 기능을 제공하는 어노테이션 선언형 트랜잭션 @Transactional은 클래스, 인터페이스, 메서드 위에 적용 가능 @Transactional 동작 원리 @Transaction이 적용되어 있을 경우 해당 클래스에 대한 트랜잭션 기능이 적용된 프록시 객체가 생성된다. 이 프록시 객체는 @Transactional이 포함된 해당 메서드가 호출될 경우 트랜잭션을 시작하고, 정상 여부에 따라 Commit 또는 Rollback을 수행한다. 정상여부는 default로 RuntimeException이 발생했는지 안했는지의 기준으로 결정됨 RuntimeException 외 다른 Excep..

JPA란? Java Persistance API 자바 진영의 ORM 표준 인터페이스들의 모음 (즉, 그 자체로 실행될 수 있는 것은 아님) JPA를 구현한 실질적인 구현체중 가장 많이 사용되는 것이 바로 Hibernate이다. ORM이란? Object-Relational Mapping (여기서 R은 관계형 DB의 R을 의미) 객체는 객체대로 설계하고 관계형 DB는 관계형 DB대로 설계함, 여기서 ORM 프레임워크가 중간에서 서로를 매핑하는 역할을 수행함 JPA의 동작 과정 JPA는 애플리케이션과 JDBC 사이에서 동작함. 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용해 DB와 통신한다. 즉, JPA가 JDBC와는 별개의 또다른 기술을 이용해 DB와 통신하는 것이 아니다. (JDBC를..

스프링 MVC 란? 스프링 MVC는 스프링의 서브 프로젝트 중 하나이다. (스프링은 웹을 위해서 만들어진 프레임워크가 아니며 'core' 라는 프레임워크에 여러 서브 프로젝트를 결합하는 구조를 가진다.) 스프링은 Java기반의 프레임워크로서 여러 모듈로 구성되어 있는데, 이중 웹 어플리케이션을 만들고자 등장한 것이 SpringMVC 모듈이다. M (Model) 핵심기능, 데이터 처리 등 주로 DB쪽을 담당함 Controller에서 View로 객체를 전달하는데 사용된다. V (View) 주로 디자인에 관련된 부분으로 사용자에게 정보를 출력 Model data의 렌더링을 담당하며, HTML output을 생성한다. 모델로부터 제공된 데이터를 다양한 뷰를 통해 표시하며, 각 뷰마다 컨트롤러가 연결되어 있음 J..
스프링이란? 자바엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 스프링의 주요 특징 POJO 기반의 구성 의존성 주입(DI)을 통한 객체 간의 관계 구성 AOP(Aspect-Oriented-Programming) 지원 편리한 MVC 구조 WAS의 종속적이지 않은 개발 환경 POJO 기반의 구성 POJO란 (Plain Old Java Object) ? POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바오브젝트라는 말로서 Java EE 등의 중량프레임워크 들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 즉, 일반적인 자바 코드를 이용해서 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있다. 코드를 개발할 ..

저번시간에 비밀번호, 비밀번호 확인, 이메일 유효성 검사를 진행하였다. (2019/05/02 - [웹 개발/EgovFramwork] - 전자정부 프레임워크로 회원가입 기능 구현하기 - 비밀번호 유효성, 이메일 유효성 검사) 이번시간에는 휴대폰 번호, 성별, 이메일 수신여부, SMS 수신여부 유효성 검사를 진행할 것이다. 소스코드 비밀번호 유효성 검사 같은 경우 aphpanum.js 플러그인을 다운 받아 이용하였다. (다운받은 alphanum.js 플러그인을 head 태그에 추가) 또한 휴대폰 input 태그를 타겟으로 잡기위해 휴대폰 번호를 입력하는 input 태그의 class 속성에 "phoneNum" 값을 추가시켰다. alphanum.js를 통해 휴대폰 번호를 입력하는 input 박스에 숫자 외의 다..

저번시간까지 아이디 유효성, 아이디 중복 체크를 진행하였다. (2019/04/29 - [웹 개발/EgovFramwork] - 전자정부 프레임워크로 회원가입 기능 구현하기 - 아이디 유효성 검사-1 2019/04/29 - [웹 개발/EgovFramwork] - 전자정부 프레임워크로 회원가입 기능 구현하기 - 아이디 유효성 검사-2) 이번시간에는 비밀번호 유효성, 비밀번호 중복 검사, 이메일 유효성 검사를 진행할 것이다. 소스코드 아래의 두 메소드(pwdChkFn, emailChkFn 을 지난 시간에 생성한 joinMbrInput 객체 내부에 추가하였다. 또한 유효성을 종합적으로 검사하는 joinSubmitFn 메소드를 추가하였다. joinSubmitFn 메소드는 sign in 버튼 클릭 시 호출되는 메소드..

저번 시간에 스프링 부트 프로젝트를 git과 연동하여 github에 저장하였다. (2019/04/29 - [웹 개발/SpringBoot] - 소스트리를 이용하여 github에 스프링부트 프로젝트 올리기) 이번에는 저번시간에 만든 프로젝트에 git flow 브랜치 전략을 적용해 보려고 한다. Git-Flow Git-Flow는 소프트웨어의 소스코드를 관리하고 출시하기 위한 브랜치 관리 전략 "branch management strategy" 이다. 프로젝트를 진행하면서 수많은 브랜치를 생성하고 병합 하는데 이러한 수많은 브랜칭 작업을 규격화하여 브랜치를 쉽게 다룰 수 있도록 해 주는 규칙, 전략이다. Git-Flow의 5가지 branch 1. master - master 브랜치는 모든 테스트가 끝나고 배포될..
- Total
- Today
- Yesterday
- connectionless
- AJAX
- 스프링부트
- 회원가입
- stateless
- 객체
- 전자정부프레임워크
- 스프링 부트 시큐리티
- 상속
- 싱글톤 레지스트리
- 웹 서버
- 유효성검사
- http
- 메서드 참조
- github
- 람다식
- git
- 인텔리제이
- 가상 회선 방식
- 자바의 정석
- 그래프 순회 알고리즘
- jvm
- 제네릭 메서드
- JVM 메모리 구조
- 리버스 프록시
- 포워드 프록시
- 클래스
- 멀티 프로세스
- Servlet
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |