코드스테이츠 수강 TIL/Section 3
2021. 10. 29 금요일 1. Today's Key Points!🔑 Cloud Computing EC2 RDS S3 2. 정리해보자!🧹 1) Cloud Computing 클라우드 컴퓨팅 등장 배경 클라우드 등장 이전의 방식은 흔히 말하는 전산실 등에 컴퓨터를 배치하고 인터넷을 연결하여 서비스를 제공했다. 그런데 만약 서버가 요청에 대한 수용 능력이 한계에 도달한다면 어떻게 대처할까? 같은 공간에 더 많은 컴퓨터를 제공해서 한 대가 해결할 수 있는 요청을 여러 대가 나누는 방식을 사용할 수 있다. 혹은 컴퓨터 한 대의 성능을 높이는 방식을 사용할 수도 있다. 기존 방식의 한계 주기적인 관리 필요 : 고장이 나거나 인터넷과 연결이 되지 않는 컴퓨터가 생기면 인력 및 비용이 투입되어야 한다. 공간의 한계..
2021. 11. 05 금요일 사실 이 글은 first project 2주차 과정이 끝나고 쓰는 글이다. HA 준비와 쉴틈없이 바로 first project에 들어가면서 시간이 없었다는 핑계를 좀 대면서 회고를 지금이나마 해보고자 한다. 그렇기 때문에 HA3이 끝나고 난 직후의 상태를 온전히 전달이 되지는 않을 것이다. 섹션3에서 내가 배운 것 ✔️ [Linux] 심화 [자료구조/알고리즘] 코딩 테스트 준비 [데이터베이스] 관계형 데이터베이스, MVC, NoSQL [인증/보안] 기초 [컴퓨터 공학] 기초 [네트워크] 심화 [Git] 브랜치 관리와 고급 기능 [배포] Amazon Web Service, Docker, 배포 자동화 섹션2에서 선배기수들의 이야기를 많이 들었다. 섹션3은 많이 어려울거다, HA..
2021. 10. 25 월요일 1. Today's Key Points!🔑 문자열 그래픽 운영체제 프로그램, 프로세스, 스레드에 대해 기본적인 개념을 설명할 수 있다. 동시성과 병렬성의 차이를 이해할 수 있다. 자바스크립트 엔진(v8)이 어떤 특징을 가지고 있는지 이해할 수 있다. 2. 정리해보자!🔑 문자열 유니코드 유니코드(Unicode)는 유니코드 협회(Unicode Consortium)가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루기 위한 알고리즘 등을 포함하고 있다. 기본적으로 유니코드의 목적은 현존하는 문자 인코딩 방법을 모두 유니코드로 교체하는 것..
2021. 10. 22 금요일 1. Today's Key Points!🔑 OAuth 2.0 2. 정리해보자!🧹 OAuth 2.0 OAuth2.0은 인증을 위한 표준 프로토콜의 한 종류이다. 보안 된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 프로토콜 중 한 방법이다. OAuth는 언제, 왜 쓸까? 유저 입장에서, 우리는 웹상에서 굉장히 많은 서비스를 이용하고 있고, 각각의 서비스들을 이용하기 위해서 회원가입 절차가 필요한 경우가 대부분이다. 그 서비스별로 ID와 Password를 다 기억하는 것은 매우 귀찮은 일이다. OAuth를 활용한다면 자주 사용하는 서비스의 ID와 Password만 기억해 놓고 해당 서비스들을 통해서 소셜 로그인을 할 수 있게된다. 뿐만 아니라 보..
2021. 10. 21 목요일 1. Today's Key Points!🔑 Token JWT 2. 정리해보자!🧹 Token 토큰기반 인증은 왜, 언제쓸까? 세션 기반 인증은 서버(혹은 DB)에 유저 정보를 담는 인증 방식이다. 그래서 서버에 데이터가 계속해서 쌓이게 되고 유저가 요청을 할 때마다 서버는 서버 저장소에있는 세션 값과 일치하는지 확인하기 때문에 서버에 부담이가게 된다. 즉, 하나의 서버가 모든 요청에 대한 처리를 해야하기 때문에 서버에 부담이 온다. 이러한 부담을 덜어내기 위해 토큰기반 인증을 사용한다. 그 중 대표적인 JWT(JSON Web Token)를 알아보자. JWT 종류 Access Token : 보호된 정보들에 접근할 수 있는 권한부여에 사용한다. 권한을 부여 받는데엔 access ..
2021. 10. 20 수요일 1. Today's Key Points!🔑 HTTP, HTTPS Hashing, Salt Authorization, Authentication Cookie Session 2. 정리해보자!🧹 HTTPS https는 http 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법이다. https프로토콜을 사용해야만 하는 이유? 데이터 제공자의 신원을 보장받을 수 있기 때문이다. HTTPS 프로토콜의 특징 중 하나는 암호화된 데이터를 주고받기 때문에, 중간에 인터넷 요청이 탈취되더라도 그 내용을 알아볼 수 없다. 또 다른 특징 중 하나는 브라우저가 응답과 함께 전달된 인증서 정보를 확인할 수 있다는 점이다. 브라우..
2021. 10. 19 화요일 1. Today's Key Points!🔑 NoSQL MongoDB 2. 정리해보자! NoSQL NoSQL Database는 관계형 테이블의 레거시한 방법을 사용하지 않는 데이터 저장소를 말한다. 데이터를 행과 열이 아닌, 체계적인 방식으로 저장한다. NoSQL이 의미하는 데이터베이스의 범위는 매우 넓다. NoSQL 기반의 비관계형 데이터베이스는 다음과 같은 경우에 많이 사용한다. 비구조적인 대용량의 데이터를 저장하는 경우. why? 자유로운 형태로 데이터 저장이 가능하기 때문에 정형화 되지 않은 많은 양의 데이터가 필요한 경우 NoSQL이 효율적일 수 있다. 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우. why? 저장 공간을 효율적으로 사용한다. 수평적 확장 형태로..
2021. 10. 18 월요일 1. Today's Key Points!🔑 ORM Sequelize ORM Migrations 2. 정리해보자!🧹 ORM Object-Relational Mapping. 관계형 데이터베이스에 있는 데이터에 접근할 때 마치 자바스크립트에 있는 객체, 클래스 처럼 취급할 수 있다. 자바스크립트 코드상에 있는 객체와 관계형데이터베이스 사이에서 중계자 역할을 하는 것이 ORM. 왜 사용하는 걸까? 가장 큰 이유는 SQL을 몰라도 데이터베이스에 접근해서 원하는 데이터를 얻어낼 수 있다는 것이 아닐까 한다. 접근방법 자체를 프로그래밍 언어의 관점에서 맞출 수 있도록 도와주기 때문에 프로그래밍 언어만을 가지고도 데이터베이스와 소통이 가능하다. 3. Sprint 과제 복기!🧐 Sequel..
2021. 10. 16 목요일 1. Today's Key Points!🔑 MVC 2. 정리해보자!🧹 MVC(Model-View-Controller)? 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 사용되는 소프트웨어 디자인 패턴이다. 소프트웨어의 비지니스 로직과 화면을 구분하는데 중점을 둔다. 이러한 관심사 분리를 통해 효율적으로 코드를 관리 할 수 있다. Model : 데이터의 정보를 가지고 있다. 자신이 데이터를 갖고 있던지, 데이터베이스와 연결이 되어서 데이터를 갖고올 수 있다. 이 데이터를 가지고 컨트롤러와 이야기를 한다. View : 레이아웃과 화면을 처리한다. 앱의 데이터를 보여주는 방식을 정의한다. 표시할 데이터를 컨트롤러에게 요청해서 모델로부터 받아서 다시 컨트롤러가 전달해준다. C..