# 2gis тестовое задание (Title crawler). # Запуск. ## (Optional) Среда сборки используя лучший под солнцем пакетник Nix. ```bash nix develop ``` P.S. Docker тоже хорошо умею если нужно. ## Запуск сервера. ```bash make ``` ## Тестирование. ```bash make test ``` Или вручную отправить POST/PUT запрос с URL на отдельных строках `localhost:8000/crawler_title`. # Задание. > Необходимо создать простой интернет crawler, который будет доставать из страниц информацию о названии сайта. Это должно быть приложение с http эндпоинтом. На этот эндпоинт поступает список http url'ов. Приложение должно пройтись по всем предоставленным урлам и достать оттуда название. Названием условно будем считать содержимое тэга title. После изъятия информации из всех страниц эндпоинт должен вернуть ответ, в котором каждому входному урлу соответствует найденное название. Все недостающие требования или неоднозначности начальной формулировки задачи вы должны разрешить самостоятельно - это является частью задания. Единственное требование к реализации - приложение должно быть написано на языке Scala.
Скриншот работы
Видео работы Ссылка
# Известные проблемы. * Малый опыт работы со Scala, hence не знаю многих best practice. Решается просто - кто-то очень опытный проводит код ревью какое-то время. Сам язык мне нравится, но пока не инвестировал в него много времени ввиду неуверенности о наличии работы. * `sbt` отказывается сам воспринимать JAVA_HOME. Не знаю, надо так или нет (тот же Gradle сам цепляет), но я "зашил" костыликом в Makefile. # Источники вдохновения. * [Simple Http Server](https://github.com/softwaremill/simple-http-server/blob/master/src/main/scala/com/softwaremill/httpserver/SimpleHttpServer.scala) * [Scala Scraper](https://index.scala-lang.org/ruippeixotog/scala-scraper). Изначально думал парсить через регулярки, но потом вспомнил, что плохая идея. # Прочее. Воздержался от emoji в Readme. Заранее не знаю Ваш предпочтительный уровень профессионализма. LLM не использую. Обычно работаю через Issue, но не уверен, примут ли мой гит, а перевозить на гитхаб я их не буду. Поэтому без них, да и шип будет быстрее только :0)