Angular 데이터 바인딩 원리 Angural는 angular context가 존재한다. angular context 내에는 digest loop가 존재하는것을 볼 수 있다. 이 digest loop는 watch list를 루프를 돌며 $watch를 통해 모델의 변경을 체크하고 변경되었을경우 뷰를 업데이트한다. Angular js에서 데이터 바인딩 전략은 Model을 변경했을때 어떻게 이벤트를 발생시키도록 할까가 아니라, 언제 Model이 변경되는가 이다. 뷰에서 사용자 입력이 일어나면 모델이 변경된다. 어떤식으로든 모델의 변경이 되었다는것을 알리는 이벤트가 있어야한다 여기에서 중요한점은 Model은 HTML이 아니라 Javascript객체이기 때문에 이벤트가 발생할 일이 없다. Angular에서는 모..
자바 Exception 자바에서 크게 에러는 2가지가 존재한다. 문법에러 오타와같이 자바 구문에서 에러가나는 경우 이다. 이것은 컴파일시 에러로 발생으로 수 가능하다. 실행에러 실행 에러는 프로그램 실행시 상황에 따라 발생하는 오류이다. 실행 에러안에서 크게 또 논리에러, 시스템에러, 예외사항으로 나뉘어진다. 여기서 문법적인 에러는 컴파일시 대부분 수정이 가능하다. 실행에러는 컴파일은 수행되었으나 실행시에 문제가 되는 경우로논리적인 에러, 시스템에러, 예외 사항의 발생이다. 이중 논리적인 에러는 프로그래머가 코드를 잘못 작성해서 생기는 경우이며, 시스템적인 에러는 프로그래머의 의지와는 상관없이 발생하는 것이므로 프로그래머가 처리할 수 있는 방법은 없다. 예외사항은 정상적으로 프로그램이 동작중에 발생할 수..
Spring-social-facebook 구현 내용 Spring social 로그인은 두가지 구현 방법이 있다. Connect Framework/Provider Sign In 방법이 있다. "/connection/facebook" post "/signin/facebook" post Connect 방법은 타임라인에 글을 보거나 쓰는용도로 많이쓰인다. signin은 일반적으로 로그인을 구현할때 많이 사용된다. 지금 구현하려는 방식은 signin방식이다. 먼저 signin방식을 사용하기위해서 ProviderSignInController을 알아야한다. ProviderSignInController는 컨트롤러로 구성되어있다. /signin/{provider} (provider는 facebook/twitter etc..
Spring Security 로그인 인증 구현 개요 Spring Security에서 인증 사용할때 최상위 인터페이스 AuthenticationProviderManager Interface를 사용한다. 이인터페이스는 단순하게 아래와같이 정의 되어있다. public interface authenticationManager{ Authentication authenticate(Authentication authetication) throws AuthenticationException; } 이 인터페이스는 로그인을 시도하는 유저의 비밀번호가 일치하는지를 비교해서 인증에 성공하게 되면 Aunthetication 객체를 리턴해주는것을 구현해야하는 인터페이스이다. 그리고 일반적으로 Srping 에서 authentica..
자바스크립트 Execution Context 실행 가능한 코드(Executable Code) Global code, eval code, Function code 들을 만날때마다, 처음에는 Global context가 생성되고 그다음 실행가능한 코드들을 만날때마다 Execution context가 생성되고 그안에 또 Excution context들이 스택처럼 쌓인다. 각각의 Context는 언제나 1개의 변수 환경(Variable Environment), 1개의 Lexical Environment, 그리고 1개의 ThisBinding 속성, 총 3개의 부분으로 구성되 있다. LexicalEnviroment 구성환경객체(Lexical Environment Object): 해당 Context안의 함수, 변수 ..
톰켓 세션 동작원리 Cookie 사용자 하드웨어에 저장되는 텍스트이다. 클라이언트가 웹서버에 접근하면 요청한 response로 웹페이지를 전송하면서 쿠키정보도 보내줌. 세션 HTTP프로토콜은 비접속형 프로토콜, 매 접속마다 새로운 네트웤 연결이 이루어진다. 그래서 서버는 클라이언트의 이전 상태를 기억하기위해 세션이라는 개념을 사용한다. 웹 어플리케이션에서 개발할때 세션을 이용해서 사용자의 로그인정보의 상태를 유지할 수 있게 한다. 로그인상태를 유지하기 위해서는 서블릿 컨테이너인 tomcat이 내부적으로 어떻게 동작하는지 알아야한다. login페이지를 들어가게되면 HTTP 헤더 response 정보를 보게되면 JSESSIONID값이 톰켓에서 발급되는 쿠키정보를 볼수 있습니다. 톰켓은 사용자가 로그인을 하지..
JDBC, Connection, ConnectionPool, Datasource, JdbcTemplate이란 ? 먼저 위 타이틀을 알아보기전에 아래소스를 보자. 왜 위 API들이 우리에게 필요한지 알아보자. 우리가 자바를 사용해서 디비에서 List형태의 데이터를 불러오려면 아래와같이 복잡한 소스를 작성해야한다. 하지만 자바와 스프링에서 제공해주는 API DataSource, JdbcTemplate등을 이용하면 훨씬 더 깔끔하고 안정적이 구조로 데이터를 조회할 수 있다. 먼저 DataSource와 JdbcTemplate을 알아보기전에 자바에서 어떻게 데이터베이스에 접근하는지 알아볼것이다. public class jdbcTest { public static void main(String[] args) { t..
Spring Security 암호화 개요 단순히 Spring-security을 이용해 DaoAuthenticationProvider와 UserDetailsService을 이용해 인증기능(로그인기능)을 구현하게되면 한가지 문제점이 존재한다. 보안사고가 발생할경우 비밀번호가 평문으로 되어있다는것이다. Spring에서는 plaintext, sha, sha256, md4, md5의 암호화 기능을 지원한다. Spring-security에서 DaoAuthenticationProviderClass는 암호화기능을 지원한다. 일반적으로 설정을 하지않을경우에는 PlaintextPasswordEncoder를 사용한다. PlaintextPasswordEncoderclass는 단순 문자열로 비교해서 비밀번호 일치여부를 판단한다..
- Total
- Today
- Yesterday
- https
- jenkins #mac방화벽
- eslint
- SSH
- JPA
- Jenkins
- network
- Github
- kotlin
- Gradle
- batch
- tobi
- OS
- HMAC
- Spring
- aws
- #linux
- Chache
- java
- javascript
- IntelliJ
- Angular
- Linux
- Collection
- Quasar
- OAuth
- vue
- Infra
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |