TIL62 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 54일차 - more database 데이터베이스 정규화 (Database Nurmalization) 데이터베이스 정규화는 데이터베이스 설계와 관련 있다. 데이터베이스 설계에 따라 데이터가 어떻게 저장될지 그 구조를 결정하기 때문이다. Data Redundancy 데이터 중복(data redundancy)은 실제 데이터의 동일한 복사본이나, 부분적인 복사본을 뜻한다. 물론 이러한 중복으로 데이터를 복구할 때에 더 수월할 수도 있다. 그러나 대체로 데이터베이스 내에서는 몇 가지 문제점을 지닌다. 일관된 자료처리의 어려움 저장 공간 낭비 데이터 효율성 감소 Data integrity 데이터 정규화는 데이터 무결성을 강화하는 목적도 지닌다. 데이터 무결성(data integrity)은 데이터의 수명 주기 동안 정확성과 일관성을 유지하는 것을 뜻한.. 2021. 10. 13. Code States 52일차 - [데이터베이스] 관계형 데이터베이스 Chapter - 설계 데이터베이스 설계 관계형 데이터베이스 구조화된 데이터는 하나의 테이블로 표현할 수 있다. 사전에 정의된 테이블을 relation 이라고 부르기 때문에, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 한다. 다음은 관계형 데이터베이스를 학습하면서, 반드시 알고 있어야 하는 키워드이다. 데이터(data) : 각 항목에 저장되는 값이다. 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다. 칼럼(column; 또는 field) : 테이블의 한 열을 가리킨다. 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터이다. 키(key) : 테이블의 각 레코드를 구분.. 2021. 10. 8. Code States 52일차 - [데이터베이스] 관계형 데이터베이스 Chapter -개요 데이터베이스의 필요성 앞서 데이터를 저장하는 방법으로 파일에 데이터를 저장하거나, 인메모리 형태로 데이터를 임시 저장하는 방법을 이용했습니다. 이 방법으로도 데이터를 저장할 수 있는데, 굳이 데이터베이스를 사용할 필요가 있을까? 데이터베이스를 사용하지 않고, 엑셀 시트나 CSV 파일 등에 데이터를 저장해 사용하면 되지 않을까? 이번 챕터에서 그 의문을 해결할 수 있다. 1. In-Memory 먼저 JavaScript에서 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터가 있다. JavaScript에서 변수를 만들어 저장한 경우, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라진다. 이 말은 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 말이다. 예기.. 2021. 10. 8. Code States 51일차 - [자료구조/알고리즘] 코딩 테스트 준비 Chapter - Algorithm with Math Math in Programming 우리가 사용하는 컴퓨터는 0과 1로 모든 연산을 실행한다. 컴퓨터가 단순하게 연산하기 때문에, 기본적인 컴퓨터 과학과 수학은 통하는 부분이 있다. 그러므로 수학을 학습하는 것은 프로그래밍의 기본을 탄탄히 하는 일이다. 그러므로 수학은 프로그래밍에 많은 도움이 된다. Algorithm with Math 알고리즘 문제를 풀 때 가장 먼저 해야 할 것은 무엇일까? 문제를 이해하고 어떻게 풀 것인지 전략을 세우는 것이다. 문제 풀이를 위해 전략을 세우지 않는다면, 어떤 자료구조를 사용할지, 어떤 알고리즘 기법을 사용할지 판단할 수 없다. 최근 코딩 테스트에 등장하는 알고리즘 문제는 단순히 "너 이 알고리즘 알아?"라고 묻지.. 2021. 10. 7. Code States 50일차 - [자료구조/알고리즘] 코딩 테스트 준비 Chapter - Time Complexity Time Complexity 알고리즘 문제를 풀다 보면 문제에 대한 해답을 찾는 것이 가장 중요하다. 그러나 그에 못지않게, 효율적인 방법으로 문제를 해결했는지도 중요하다. 혹시 문제를 풀다가, 이것보다 더 효율적인 방법은 없나?, 또는 이게 제일 좋은 방법인가? 라고 고민한 적이 있나? 효율적인 방법을 고민한다는 것은 시간 복잡도를 고민한다는 것과 같은 말이다. 이번 챕터에서는 시간 복잡도와 Big-O(빅-오) 표기법에 대해 배운다. 시간 복잡도 문제를 해결하기 위한 알고리즘의 로직을 코드로 구현할 때, 시간 복잡도를 고려한다는 것은 무슨 의미일까? 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 앞서 이야기했던 효율적.. 2021. 10. 6. 이전 1 2 3 4 5 6 7 8 ··· 11 다음