본문 바로가기

전체 글173

Code States 61일차 - [컴퓨터공학] 기초 문자열 유니코드는 무엇인가? 유니코드는(Unicode)는 유니코드 협회(Unicode Consortium)가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 무자를 다루기 위한 알고리즘 등을 포함하고 있다. 유니코드가 탄생하기 이전에는 같은 한글이 적힌 텍스트 파일이라도 표현하는 방법이 제각각이었다. 어떤 파일이 지원하지 않는 다른 인코딩 형식으로 저장되어 있는 경우에는 파일을 제대로 불러올 수 없었다. 기본적으로 유니코드의 목적은 현존하는 문자 인코딩 방법을 모두 유니코드로 교체하는 것이다. 인코딩(부호화)이란? 인코딩은 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호.. 2021. 10. 25.
Code States 60일차 - [인증/보안] 기초 OAuth 2.0 웹이나 앱에서 흔히 볼 수 있는 소셜 로그인 인증 방식은 OAuth 2라는 기술을 바탕으로 구현된다. 전통적으로 직접 작성한 서버에서 인증을 처리해주는 것과는 달리, OAuth는 인증을 중개해주는 메커니즘이다. 보안도니 리소르에 액세스 하기 위해 클라이언트에게 권한을 제공하는 프로세르를 단순화 하는 프로토콜이다. 즉, 이미 사용자 정보를 가지고 있는 웹 서비스(GitHub, google, facebook 등)에서 사용자의 인증을 대신 해주고, 접근 권한에 대한 토큰을 발급한 후, 이를 이용해 내 서버에서 인증이 가능해 진다. OAuth가 모든 것을 해결해주는 솔루션은 아니다. 여전히 사용자 정보가 내 서버에 저장되는 것은 변함이 없다. OAuth는 인증(Authentication)을 다.. 2021. 10. 22.
Code State 59일차 - [인증/보안] 기초 Token-based Authentication (토큰기반 인증) 토큰기반 인증은 왜 쓰고, 그리고 언제 쓸까? 세션 기반 인증은 서버(혹은 DB)에 유저 정보를 담는 인증 방식이었다. 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 유저에게 정보를 줘도 되는지 확인하기 위해 가지고 있는 세션 값과 일치하는지 확인한다. 매 요청마다 데이터베이스를 살펴보는 것이 불편하고, 이 부담을 덜어내고 싶다면 토큰 기반 인증 중 대표적인 JWT(JSON Web Token)이 있다. JWT에 알아보자. 클라이언트에서 인증 정보 보관하기 클라이언트에서 인증 정보를 보관하는 방법으로 토큰 기반 인증이 고안되었다. 클라이언트가 토큰을 가지고 있다면 보통의 다른 유저들과는 다르게 서버에서 제공하는 다양한, 더 프리미.. 2021. 10. 21.
Code States 58일차 - [인증/보안] 기초 Sprint - HTTPS Learn About HTTPS HTTPS 프로토콜 HTTPS는 Hyper Text Transfer Protocol Secure Socket layer의 약자이다. HTTP over SSL(TLS), HTTP over Secure라고 부른다. HTTPS는 HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법이다. SSL, TLS는 무엇이고 SSL과 인증기관(CA)은 어떤 관계가 있나 인증에서 HTTPS 프로토콜을 사용해야만 하는 이유는 HTTP보다 상대적으로 안전한 방법이고, 데이터 제공자의 신원을 보장받을 수 있기 때문이다. 데이터 제공자의 신원을 확인하고 보장받는 게 인증에서 중요한 이유는 다음과 .. 2021. 10. 20.
Code States 57일차 - [데이터베이스] NoSQL Chapter - MongoDB Basic NoSQL Database? MongoDB는 NoSQL 데이터베이스이다. NoSQL은 매우 넓은 범위에서 사용하는 용어로 관계형 테이블의 레거시한 방법을 사용하지 않는 데이터 저장소를 말한다. NoSQL 데이터베이스에서는 데이터를 행과 열이 아닌, 체계적인 방식으로 저장한다. NoSQL 데이터베이스의 예는 도서카드 목록함에서 MongoDB 같은 보다 정교한 데이터 저장소에 이르기까지 다양한 개념을 뜻한다. 따라서 NoSQL이 의미하는 데이터베이스의 범위가 너무 넓기 때문에, 좀 더 좁혀 이해하겠다. MongoDB는 NoSQL 도큐먼트 데이터베이스이다. MongoDB는 데이터를 도큐먼트의 형태로 저장한다. 도큐먼트는 컬레션에 저장되며, 이것이 MongoDB가 No.. 2021. 10. 19.
Code States Section 3 - 2주차 🤪 날 미치게 만드는 데이터베이스 관계형 데이터베이스? MVC? 내가 아는 거니까~ 🤔 무엇을 배웠나 [데이터베이스] 관계형 데이터베이스 MVC 데이터베이스는 PostgreSQL을 많이 쓴 터라 코드스테이츠에서 알려주는 MySQL을 편하게 진행하였다. Query문 작성하는 것들이나 스키마 작성하거나 데이터베이스 설계하는 지독하게 해서 한 주가 쉬웠다. 그치만 왜 MVC가 데이터베이스에 들어왔을까? MVC는 프로그램의 디자인 패턴으로 알고 있었는데 굳이 따로 해도 되는 걸 함께 진행해서 오히려 헷갈렸다. 😓 알긴 뭘 알아 솔직히 메인이 되는 챕터보단 서브 챕터들이 조금 더 어려웠다. 그리고 Query문에서 잘 안쓰던 Wildcards까지 써보려고 하니 고장난 것처럼 버벅거렸다. 2주차는 뭔가 쓸게 적다. .. 2021. 10. 18.