Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 2.44 KB

13_Build_your_first_system_quickly_then_iterate.md

File metadata and controls

20 lines (12 loc) · 2.44 KB

13 Build your first system quickly, then iterate

스팸을 걸러주는 이메일 시스템을 새로이 만들고 싶다면, 다음과 같은 아이디어가 떠오를 수 있다.

  • 스팸으로 표시된 거대한 양의 이메일을 수집하여 이를 학습 데이터셋으로 구성한다. 예를 들어서, "honeypot" 같은 것을 만들 수 있다. "honeypot"은 가짜 이메일 주소를 이미 조사된 스팸을 보내는 사람(해커)에게 보내지게 만든다. 그러면, 이 가짜 이메일 주소로 수 많은 스팸메일이 보내질 것이고, 이는 수 많은 스팸 메일의 수집이 가능해짐을 의미한다.

"honeypot"은 꿀단지라는 단어로, 해커들이 꼬일만한 가짜 정보를 심어두는것을 의미한다.

  • 이메일의 텍스트(글자) 내용물을 이해하기 위한 Feature를 개발하는 것.

  • 이메일이 A라는 지점에서 B라는 지점으로 전달될 때, 여러 종류의 인터넷 서버를 거치게 된다. 여기서, 어떤 종류의 인터넷 서버들을 거쳐서 전달되는지를 알기위해서 이메일의 헤더와 같은 것들에 대한 특징의 이해가 필요하다. 이러한 특징들의 이해하기 위한 Feature를 개발하는 것.

  • 그리고 기타 등등..

스팸 필터링 시스템 구축을 위해 오랫동안 일해 왔다고 할지라도, 어떤 주제로 방향을 정할지를 선택하는 것은 여전히 어려운 일이다. 개발하는 특정 어플리케이션의 생태 환경을 이해 못하는 비전문가라면, 이는 더욱 더 어려운 일이 될 것이다.

이러한 이유로, 완벽한 시스템의 디자인과 개발에 목적을 두고 프로젝트를 시작하지 않아야 한다. 그 대신, 아주 간단한 시스템을 수 일 안에 빨리 개발하고 학습시켜 보자. 아주 간단한 시스템은 최선의 노력으로 개발 가능한 최고의 시스템과 많이 거리가 멀게 보일 수 있다. 하지만, 이 간단한 시스템이 어떻게 동작하는지 관찰하는 것은 여전히 의미 있는 일이라고 볼 수 있다. 어느 부분에 시간을 더 투자해야 하는지, 더 유망한 프로젝트의 진행 방향이 무엇인지, 이것들에 대한 단서를 더 빠르게 찾을 수 있을 것이다. 다음으로 다뤄지는 챕터들은 이러한 단서들을 어떻게 발견하고, 읽을 수 있는지를 보여 줄 것이다.