본문 바로가기

분류 전체보기92

[Web] 토큰 기반 인증 / JWT (Json Web Token) 1. 토큰 기반 인증이란? 사용자가 자신의 신원을 검증하여 대가로 본인을 나타내는 고유 Access Token을 받는 프로토콜이다. 2. 인증 토큰 유형의 분류 인증 토큰은 전부 접근을 허용하나 다음의 세 가지의 유형 별로 다르게 작동한다. 1) Connected : 키, 디스크, 드라이브 등의 물리적 장치가 액세스를 위해 시스템에 연결 2) Contactless : 장치가 서버와 통신이 가능할 정도로 가까이 있으나 연결은 되어있지는 않은 상태 3) Disconnected : 장치가 다른 장치와 접촉이 없더라도 장거리 통신을 통하여 서버와 통신하여 작동 3. JWT (Json Web Token) 사용자가 웹/앱을 통하여 시스템에 액세스를 하는 수가 늘어나면서 플랫폼에 대한 안전한 인증 방법에 대한 필요성.. 2022. 11. 9.
[Network] DNS (Domain Name System) - Domain Name System이란? DNS를 알아보기 전에 먼저 Internet Protocol(IP)에 관하여 알 필요가 있다. * IP : 인터넷에 연결된 컴퓨터들은 IPv4와 IPv6의 방식의 숫자로 된 고유 주소를 가지고 있다. 사용자가 인터넷에 연결된 다른 장치를 찾고 상호작용을 하기 위해서는 해당 장치의 고유 IP를 알아야 했다. 그러나 숫자로 구성된 IP를 외우는 것은 쉽지 않았고 그래서 생긴게 DNS(Domain Name System)이다. DNS를 통하여 어렵게 IP를 외우지 않아도 문자로된 도메인 주소를 입력하면 브라우저에서 요청을 하여 그에 알맞은 IP를 변환해줌으로 통신이 가능하게 되었다. ※ Domain Name의 간단한 예시로 구글(www.google.com)이나 유튜브(.. 2022. 11. 4.
[Search Engine] Meilisearch 1. Meilisearch란? Rust 기반으로 제작된 API 기반 오픈소스 검색엔진이다. https://www.meilisearch.com/ 프랑스 파리에서 설립된 스타트업 Meili에서 제작한 검색엔진이며 현재까지 1,500만 달러의 투자금을 유치하며 지속적으로 개발 중이다. 2. Support Language 공백을 기준으로 단어를 나누는 언어 (ex. English) - Default 중국어 일본어 히브리어 태국어 한국어 (Default -> 형태소 분석 적용 진행 중 - 2022.11.01) ※ 한국어는 현재 공백을 기준으로 단어를 토큰화하여 검색 (ex . 오늘은 월요일 입니다 -> [오늘은] [월요일] [입니다] | 오늘은월요일입니다 -> [오늘은월요일입니다]) ※ 형태소 분석 : 더 이상 .. 2022. 11. 1.
[Python] "_" in Python (Underbar) Python의 Code는 PEP-8에 의거하여 작성하는 것을 권장하고 Snake_case를 기반으로 표기를 하는데 Python 내에서도 Underbar(_)는 다양한 용도로 사용한다. 다음은 용도에 대하여 분류하였다. 1. Interpreter의 마지막 값의 대용으로 사용 Python에서 연산을 마쳤을 때 Underbar는 Interpreter에서 마지막으로 출력한 값으로 사용할 수 있다. python3 >>> 1+1 2 >>> _+1 3 >>> _*3 9 2. 버리는 값 Python에서 Code를 입력할 때 버리는 값으로 Underbar를 많이 사용한다. 하지만 기능적으로 의미가 있는 것은 아니고 버리는 값이라고 명시적으로 표기해 주는 것이다. Example : one = "*" two = "**" f.. 2022. 10. 30.
[Rust] Rust란 Rust : 한국어로 "녹"이라는 뜻을 가지고 있는 러스트는 이름에 걸맞게 로고도 톱니바퀴의 모양이다. Mozilla Research에서 개발한 오픈소스 범용 프로그래밍 언어이며 안전성, 속도, 병행처리에 중점을 두고 만들어진 언어이다. Feature : 메모리 관련 오류를 발생하지 않는다. (정확히 컴파일 과정에서 오류난 곳을 감지하여 미연에 메모리 오류 발생을 방지한다.) 러스트는 Null pointer 및 초기화되지 않은 pointer가 존재하지 않도록 강제함 모든 변수는 초기값을 가지고 할당 -> 해제된 포인터 접근 시 컴파일러가 감지하여 오류 발생 속도가 매우 빠르다. (C++과 비슷한 수준의 성능을 목표로 하고 실제로 매우 빠름) Install (for MacOS/Linux) : $ curl .. 2022. 10. 23.
[Python] 생성자(__init__)와 소멸자(__del__) Definition : 생성자, 소멸자는 객체의 처음과 끝을 장식하는 호출 함수 1. 생성자(Constructor) 파이썬은 클래스(Class)를 만들고 인스턴스(Instance)가 생성이 될 때 자동으로 생성자(__init__)가 같이 생성된다. Default : class New : def __init__(self): pass 클래스 내부적으로 항상 존재하나 별도의 기능이 있는 것이 아니기에 필요에 따라 개발자가 기능을 부여할 수 있다. Example : class Example : def __init__ (self, test1, test2): print(f"{test1} is printed") print(f"{test2} is printed") # Create new instance instance.. 2022. 10. 21.