[정리] 기능별 개념 정리(105)
-
React 기본 (3)
데이터 변경을 Render 에 어떻게 반영시킬까? this.state 에 있는 값을 변경한다고 렌더링 까지 자동으로 호출 되어 반영 되는 것은 아니다. setState 메서드를 호출해서 변경해야만 렌더링 까지 자동으로 호출 되어 반영이 된다. 배열과 객체에 데이터를 추가 삭제하는 경우가 생겨서 이를 반영하고 싶을 때는? 기존의 배열, 객체에 push, pop 한다고 렌더링이 반영되지 않는다. 배열과 객체의 데이터 변경을 반영하고 싶으면 새로운 것으로 대체해야 반영이된다. (Immutable) 내부적으로 객체의 주소를 비교해서 변경 여부를 판단하고 렌더링을 할지 말지 결정하기 때문이 아닐가 싶다. Immutable 을 만들 땐 배열은 spread operator 를 쓸 수 있다. Immutable 을 만들..
2019.08.16 -
React 기본 (2)
1. Render 할 때 다른 클래스의 Render 를 호출 시킬 수 있다. 는 함수의 호출과 유사하다. 즉 Call stack 이 쌓이는 과정이다. this.props 는template 문법이다. props 는 부모 노드를 의미한다. props 를 통해 부모 노드가 내려준 argument 를 받아 사용할 수 있다. props 는 Read only 이다. props 는 렌더링 할 때 참고하는 용도이다. 2. props 를 통해 부모노드로 부터 값을 받아 출력할 수 있다. 3. 생성자 안에 state 를 정의해 사용할 수 있다. this.state = 지역변수, 객체의 멤버 변수라고 보면 좋을 듯 하다. 4. 이벤트 핸들러를 호출 하도록 할 수 있다. 5. 상위 컴포넌트로 부터 이벤트 핸들러를 받아 처리 ..
2019.08.16 -
React 기본 (1)
강의 출처 SPA (Single Page Application) : 여러 페이지가 있는것 처럼 보이지만 사실 하나의 페이지로 구성되어 Ajax 와 같은 것을 통해 동작하는 웹 어플리케이션. 백엔드는 API 만 제공한다. SPA는 히스토리 관리가 필요하다. 히스토리 관리를 하지 않으면 사용자가 뒤로가기 키를 눌렀을 때 의도와는 다르게 다른 페이지로 이동하게 된다. SPA Framework Angular : 구글에서 개발. MVC 등 개념적으로 백엔드와 겹치는 부분이 있어서 백엔드 개발자들이 선호 React : 페이스북에서 개발. 함수형 프로그래밍. 최근에 Vue.js React 는 프레임워크는 아니다. React 는 라이브러리다. Angular 는 프레임워크가 맞다. 프레임워크라 하면 역할이 정해져있고 이..
2019.08.16 -
스프링 시큐리티 주요 인터페이스
인터페이스 역할 주요 메소드 WebSecurityConfigurerAdapter 1. 사용자의 권한에 따라 접근 URL 을 달리할 수 있다. 2. 시큐리티에서 필요한 주요 Bean 파일들을 여기에 담는다. passwordEncoder, userDetailsService, [OAuth] authenticationManager [OAuth] tokenStore [OAuth] corsConfigureationSource - configure UserDetails 스프링 시큐리티에서 로그인 기능을 구현하기 위해 기업에서 사용하는 보편적인 정보를 추상화 해놓은 인터페이스. - getAuthorities - getPassword - getUsername - isAccountNotExpired - isAccountN..
2019.08.03 -
스프링 시큐리티 개요
강의 출처 포스팅 CSRF 웹 보안의 3요소 1. 인증 2. 권한 부여 3. 잘못된 접근에 대한 화면 처리 스프링 시큐리티 : 위의 보안과 관련된 개발자가 전부 작업해야 하는 과정을 자동화해준다. 사용권한 관리 비밀번호 암호화 (BCrypt : salt 가 적용되서 같은 암호여도 다른 해시로 암호화된다.) 회원가입 처리 로그인 로그아웃 앞선 포스팅과 겹치는 내용인 코드는 생략 public class UserDeniedHandler implements AccessDeniedHandler { @override public void handle(HttpServletRequest req, HttpSerlvetResponse res, AccessDeniedException exp) throws IOExceptio..
2019.08.03 -
Security 기초 (2)
강의 출처 강의 문서 해당 강의의 목적 기초(1) 에 이어서 진행. 1. MVC 를 @Controller 으로 구현한다. -> MvcConfig 클래스 삭제 2. UserDetailService 를 좀 더 현실적으로 만든다. @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/", "/home", "/member").permitAll() // 이 경로는 허용한다 .antM..
2019.07.13