IT 2

2. 러스트 서버, 서비스, 앱 만들기: Trait 이해하기

Intro러스트에서의 트레이트(Trait)를 공부해보자. 조사를 먼저 해 봤다. 러스트 공식 문서에서나 다른 검색결과에서나 러스트의 트레이트는 다음과 닽이 정의됐다. 정의 트레이트(trait)는 특정한 타입이 가지고 있으면서 다른 타입과 공유할 수 있는 기능을 정의합니다. 트레이틀르 사용하면 공통된 기능을 추상적으로 정의할 수 있습니다. 트레이트 바운드(trait bound)를 이용하면 어떤 제네릭 타입 자리에 특정한 동작을 갖춘 타입이 올 수 있음을 명시할 수 있습니다.Note: 약간의 차이는 있으나, 트레이트는 다른 언어에서 흔이 인터페이스(interface)라고 부르는 기능과 유사합니다. 설명만 보면, 파이썬(python)의 클래스 상속과 비슷해 보인다. 비단 파이썬 뿐만 아니라, OOP(Obje..

1. SMTP (Simple Mail Transfer Protocol) 원리 이해 / Telnet SMTP 테스트 메일 전송

Intro개인 공부 차원에서 SMTP 메일서버를 하나 제작해보려고 한다. 보안이 적용되지 않는 심플한 메일서버는 원리 이해와 Telnet을 사용하면 즉시 구현이 가능하므로, 여기서는 SMTP를 이용한 웹메일 서비스 및 POP3, IMAP을 지원하는 메일서버를 만들어 보려고 한다. 언어: Python(3.x) 또는 Rust SMTP란? 이미 넷상에서 많이 찾아볼 수 있는 개념이지만, 공부를 위해 스스로 정리해 보자면, Simple Mail Transfer Protocol이다. Protocol이라는 개념에서 볼 수 있다시피, 메일 전송을 위한 일종의 규약이다. Simple이기에, 단순한 텍스트 기반 프로토콜이므로, 만일 비디오나 오디오 등의 파일 전송 등의 프로토콜은 ESMTP(Extended SMTP)라는..