과거 작성한 메가테라 회고록에 잠깐 설명하긴 했으나 HTTP Digest 인증에 대해 제대로 정리해야지 생각만 하다가 수 개월이 지나버림. 오늘에서야 작성해봄. 로그인 시 사용자의 정보를 인증해야 함. HTTP는 인증 방법을 Basic(RFC7617) 과 Digest(RFC7616)로 정의되어 있음(참고). 공식 인증방법이라 할 수 있음. 이 중 나는 Digest를 사용하게 되었음. Basic보다 강화된 인증방법이 Digest임. HTTP Digest에서 쓰이는 algorithm은 MD5, SHA-256 이 대표적임. 1. 작동 원리 작동 원리는 어렵지 않음. Client에서 요청(data, message, header 등 아무 것도 없음)을 보냄. 서버는 401 응답과 Www-Authenticate 에..
구름IDE에서는 무료 컨테이너를 사용할 수 있다. 이용한 만큼 크레딧을 쓰는 것 같지만 그래도 개인 프로젝트용으로는 쓸만할 것 같다. Blank로 생성 후 MySQL을 선택하여 함께 설치하면 설치에 수고로움을 덜 수 있다. 1. MySQL 서버 실행 sudo service mysql start 2. MySQL 접속 mysql -u root -p 입력하면 비밀번호를 입력하라고 나온다. 그럼 원하는대로 입력하면 된다. DATABASE가 있는지 궁금하니 한 번 확인해보자 3. DATABASE 보기 SHOW DATABASES; 기본적으로 설정되는 데이터베이스 대신 새로운 데이터베이스를 만들어보자. 4. 데이터베이스 생성 CREATE DATABASE [database name]; 접속 종료하고 싶을 땐 EXID;..
Any / Array / Boolean / Enum / Never / Null·Undefined / Number / Object / String / Tuple / Void 9. String 연속된 문자들일 때 씀. 즉, 문자열임. const str:string = 'STRING'; 10. Tuple 배열의 길이와 형식이 고정된 타입일 때 씀. let tupleArr:[number, string, string] = [0, 'name', 'adress'] 지정된 형식이 아닐 경우엔 오류 발생함. 11. Void java에서 많이 본 기억이 있음. 함수에서 사용할 땐 반환값이 없을 때 씀. 변수에서는 undefined나 null만 할당함. function voidFunc(input: string): void ..