전체 글
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..
문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다. - 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. - 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. - 마지막 위치에서 조이스틱을 아래로 1번 조작하여 Z를 완성합니다. 따라서 11번 이동시켜 "JAZ"를 ..
2021. 10. 16 목요일 1. Today's Key Points!🔑 MVC 2. 정리해보자!🧹 MVC(Model-View-Controller)? 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 사용되는 소프트웨어 디자인 패턴이다. 소프트웨어의 비지니스 로직과 화면을 구분하는데 중점을 둔다. 이러한 관심사 분리를 통해 효율적으로 코드를 관리 할 수 있다. Model : 데이터의 정보를 가지고 있다. 자신이 데이터를 갖고 있던지, 데이터베이스와 연결이 되어서 데이터를 갖고올 수 있다. 이 데이터를 가지고 컨트롤러와 이야기를 한다. View : 레이아웃과 화면을 처리한다. 앱의 데이터를 보여주는 방식을 정의한다. 표시할 데이터를 컨트롤러에게 요청해서 모델로부터 받아서 다시 컨트롤러가 전달해준다. C..
문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때..