전체 글

전체 글

    [ Redux ] Redux 란 무엇인가?

    Redux 란? Redux 란 JavaScript 상태 관리 라이브러리 중 하나입니다. (Flux 아키텍처를 구현한 라이브러리) Redux = React + Flux Pattern Flux Pattern 이란? Flux Pattern 은 MVC 패턴의 단점을 보완하기 위해 Facebook 에서 만든 아키텍처입니다. MVC 패턴은 Model 에서 데이터가 정의되고, View 에서 데이터를 보여주고, Controller 에서 데이터를 조작합니다. 그런데 만약 어플리케이션이 규모가 커져서 이런 구조를 사용하게 되면, 데이터의 흐름이 복잡해지고, 데이터의 흐름을 추적하기 어려워집니다. 이러한 문제를 해결하기 위해 Flux Pattern 을 사용합니다. Flux Pattern 의 구조 Action : Action..

    [ 보안 ] 인증 과 인가 의 차이

    인증과 인가 인증 (Authentication)이란? 유저가 누구인지 확인하는 것, 로그인, 회원가입 등 인가 (Authorization)란? 유저에 대한 권한을 부여하는 것, 권한에 따라 유저가 할 수 있는 행동이 다름 인증과 인가는 보안에서 중요한 개념입니다. 인증 (Authentication) 내가 인마 느그 서장이랑 인마! 어저께도! 같이 밥 묵고 으! 싸우나도 같이 가고 다 했어 임마 범죄와의 전쟁 中 인증은 사용자가 누구인지 확인하는 것입니다. 회원가입, 로그인 등이 있습니다. 실생활에서 회사에 출근할 때 출입증을 보여주어서 인증의 과정을 거칩니다. 여러개의 절차가 있을 수 있습니다. (2 Factor Authentication) 아이디, 비밀번호를 입력하여 로그인 후 OTP를 입력하여 인증을..

    [ 소프트웨어 공학 ] 애자일 과 폭포수

    애자일 (Agile) 이란? 애자일은 소프트웨어 개발 방법론 중 하나입니다. 애자일은 반복적인 개발과 고객의 요구사항을 빠르게 반영할 수 있도록 하는 방법론입니다. 애자일은 코드 기반(Code-oriented)이며, 폭포수 모델(Waterfall model)과는 다르게 반복적인 개발을 통해 고객의 요구사항을 빠르게 반영할 수 있도록 하는 방법론입니다. 공정과 도구보다는 개인과 상호작용에 더 가치를 둡니다. 애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을..