본문 바로가기

개념정리

10/30 [TIL] OAuth 2.0 어느샌가부터 SNS 아이디로 다른 사이트 접속 및 게임 접속 시에도 SNS 연동 등 많은 곳에서 사용하는 쉽게 이야기하면 인증을 중개한다(?)라는 사례를 많이 보는 것 같다. 이를 통해서 매번 어떤 것을 이용하기 위해서 그곳에 새로운 id를 생성 후 로그인하여 이용하였지만 앞서 말한 인증을 중개하는 것(?)을 통해 한결 편리하게 이용할 수 있게 되었다. 앞서 말한 이런 것들을 OAuth 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는, 접근 위임을 위한 것이라고 생각하면 될 것 같다. 지금은 OAuth 1.0에서 시작해서 OAuth 2.0까지 나온 상태라고 하는데 차이점도 본의아니게 찾아.. 더보기
10/28[TIL]Authentication 이번 스프린트는 인증에 관련된 스프린트이다. 세션, 쿠키, 토큰, 암호화, 해싱, 솔트 등 클라이언트가 서버와 요청을 주고받으면서의 인증 문제 적인 측면을 다루어 볼 수 있는 부분이다. 인증 부분에 있어서는 크게 세션과 암호화로 나누어 볼 수 있으며 세션은 쿠키와 토큰, 암호화는 해싱과 솔트로 나누어 볼 수 있다. 세션(Session) 세션은 일정시간 동안 동일한 사용자에 대한 상태 정보를 유지시키는 것을 의미한다. 그리고 방문자(브라우저)가 웹서버에 접속하게 되면 방문자의 요구에 따른 정보를 저장하는 것을 말한다. 사용자 정보를 사용자 쪽이 아닌 서버 상에서 관리(저장)한다. 서버와 클라이언트의 연결이 활성화 된 상태를 보게 된다면 1. 서버가 client에 대해 유일한 id를 부여하여 서버 측에서 관.. 더보기
10/26[TIL]MVC Patterns & ORM MVC(Model View Controller) MVC(Model View Controller)는 소프트웨어가 돌아가는 방식에 대한 하나의 패턴이라고 보면 된다. 쉽게 말해 개발자가 개발할 때 개발하는 패턴이 여러 가지가 있는데 그중 하나인 것이다. 개발할 때, 3가지 형태(Model View Controller)로 역할을 나누어 개발하는 방법론으로 비즈니스 처리 로직과 사용자 인터페이스 요소들을 분리시켜 서로 영향 없이 개발 하기 수월하다는 장점을 가지며 이를 통해 코드 가독성 및 관리성 향상 또한 이루어진다고 볼 수 있다. Model(무엇) 데이터의 정보를 가지고 있으며 DB 연결을 통해 데이터를 가져 올 수 있다. 그리고 controller와의 주로 커뮤니케이션을 하며 view와는 커뮤니케이션은 잘.. 더보기
10/21[TIL]Database 대학교에서 정말 약간 접해보았던 Database 부분을 배웠다. 대학교 때 기본적인 개념들만 접하고 깊게 공부를 하지는 않아서 그런지 뭔가 그냥 새로운 것을 배우는 그런 기분이었다. 우리가 한 번씩은 들어보는 데이터가 저장되어 있는 곳이라고 불리는 Database는 발달해가면서 단점을 많이 보완하고 새롭게 나온 해결책(?) 없어서는 안 될 것이라고 생각하면 될 것 같다. Database를 이야기 할 때는 SQL을 빼놓을 수 없는데 SQL은 구조화된 Query 언어이다. 그리고 데이터베이스용 프로그래밍 언어이며 쉽게 말해 데이터베이스에 query를 보내 원하는 데이터만을 뽑아 올 수 있다. 그렇다면 query는 무엇일까? Query는 즉, 질의문 예를 들면 우리가 검색 엔진의검색창에 적는 검색어라고 보면 .. 더보기
10/19[TIL]Routing 이번 스프린트는 개인 포트폴리오를 진행하는 스프린트였다. 기존에 스프린트는 어느 정도 셋업이 진행된 상태에서 내가 알고 있어야 할 부분을 채워 넣는 식으로 진행이 되었다면 이번 스프린트는 정말 백지화된 상태에서 기초 셋업 및 내가 채워 넣고 싶은 부분을 넣을 수 있는 어찌 보면 자유롭다고도 할 수 있지만 완전 백지화인 상태에서 스프린트를 진행하려고 하니 막막했었던 것 같다. 기초적인 셋업을 하는 부분에서도 내용을 이해하기가 버거워 힘들었는데 이번 스프린트는 내가 시간을 짬짬이 내어 완성해야겠다는 생각을 했다. 스프린트를 진행하면서 Routing에 관한 개념이 또 나왔는데 간단히 정리 해보았다. Routing의 기본적인 개념은 쉽게 말해 근원지에서 목적지로 데이터가 전달될 수 있도록 하는 기능으로 볼 수 .. 더보기
10/7[TIL]React (2) & 모듈 React React의 기본 원칙에는 단방향 데이터 흐름이 있는데 이는 데이터는 위에서 아래로 단방향으로 흐른다는 것을 의미한다. 우리가 배웠던 props를 이용해서 데이터를 위에서 아래로 전달해 줄 수 있다. 컴포넌트 간의 상호작용을 보자면 같은 레벨(형제)의 컴포넌트끼리는 서로 상호작용을 할 수 없다. 그렇기에 같은 레벨(형제) 컴포넌트끼리 상태를 공유하기 위해서는 공통의 부모에서 상태를 다뤄야 한다. 그렇게 해야 하단 컴포넌트에 렌더링이 가능해진다. 그렇다면 어떻게 자식 컴포넌트는 부모의 상태를 어떻게 변화시킬 수 있을까? 기존의 최상위 컴포넌트가 자식 컴포넌트의 내용을 변경할 때에는 최상위 컴포넌트의 tochild 값은 먼저 자식 컴포넌트에게 props로 전달되고 그 값은 그 자식의 자식 컴포넌트.. 더보기
10/6[TIL]React Life Cycle React의 컴포넌트는 생명주기(Life cycle)를 가진다. 여기서 생명주기란 컴포넌트가 생성되고 사용되고 소멸될 때까지 일련의 과정을 말하는데 이러한 생명주기 안에서는 특정 시점에 자동으로 호출되는 메소드가 있는데, 이를 라이프 사이클 이벤트라고 한다. 라이프 사이클을 쪼개서 본다면 생성, 업데이트, 제거로 볼 수 있으며 이를 더 세분화하여 본다면 [생성] 생성 될 때는 construcutor 화면에 등장한 후 componentDidMount [업데이트] 새로운 props를 받을 때 New props 새로운 상태를 가질 때 setState() 새로운 상태를 갖고 난 후 componentDidUpdate [제거] 화면에서 사라지기 전 componentWillUnmount clearTimeout, re.. 더보기
10/5[TIL]React 리액트는 컴포넌트(하나의 의미를 가진 독립적인 모듈)에 집중하고 있는 프로트엔드의 라이브러리이다. 여기서 컴포넌트는 나만의 html 태그라고 생각하면 된다. 컴포넌트 단위로 개발 진행되기 때문에 보다 재사용성이 높고 직관적인 코딩을 할 수 있다. JSX는 리액트와는 떼려야 뗄 수 없는 관계이다. JSX는 javascript의 확장 문법으로 우리가 작성한 리액트 컴포넌트를 화면에 보여주기 위해 사용한다. 만약 사용하지 않는다면 복잡도가 올라가고 가독성 또한 떨어지게 된다. 이러한 JSX를 사용할 때 주의해야 할 점이 있다. 첫째 반드시 하나의 엘리먼트로 감싸야한다. 둘째 javascript코드를 적용할 때는 {} 안에 작성한다. 셋째 JSX 내에서는 if문을 사용할 수 없기에 IIFE 또는 삼항 연산자를 .. 더보기