명령행 인수
벡터로 모은 뒤 빌리는 대신 `env::args()` 반복자를 그대로 전달합니다.
Config::build(env::args())`clone`을 없애는 변경과 `search`를 체인으로 바꾸는 변경은 모두 소유권을 더 분명하게 만드는 리팩터링입니다.
벡터로 모은 뒤 빌리는 대신 `env::args()` 반복자를 그대로 전달합니다.
Config::build(env::args())`next`로 프로그램 이름을 건너뛰고 query와 file_path의 소유권을 받습니다.
Iterator<Item = String>가변 벡터에 직접 push하는 대신 조건과 수집을 체인으로 표현합니다.
lines().filter().collect()