<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@brandquad.team</title><author><name>@brandquad.team</name></author><id>https://teletype.in/atom/brandquad.team</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/brandquad.team?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@brandquad.team?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=brandquad.team"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/brandquad.team?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-07-28T02:50:07.985Z</updated><entry><id>brandquad.team:SkIQDfCtN</id><link rel="alternate" type="text/html" href="https://teletype.in/@brandquad.team/SkIQDfCtN?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=brandquad.team"></link><title>Конкурсное задание Brandquad: hard</title><published>2019-04-12T13:48:13.626Z</published><updated>2019-04-12T13:48:13.626Z</updated><summary type="html">Задача: написать сервис, используя Django Framework, со следующим функционалом:</summary><content type="html">
  &lt;p&gt;&lt;strong&gt;Задача:&lt;/strong&gt; написать сервис, используя Django Framework, со следующим функционалом:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Проверка определенного в сервисе почтового ящика по IMAP протоколу&lt;/li&gt;
    &lt;li&gt;Сохранение новых писем, отфильтрованных по содержанию в заголовке письма определенного в сервисе тега, например, [ALERT].&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Для хранения писем используется Elasticsearch, минимальный набор полей для хранения:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Тема письма&lt;/li&gt;
    &lt;li&gt;Отправитель&lt;/li&gt;
    &lt;li&gt;Дата получения&lt;/li&gt;
    &lt;li&gt;Тело письма&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;3. Реализовать интерфейс полнотекстового поиска с русской морфологией (необходим дополнительный &lt;a href=&quot;https://github.com/imotov/elasticsearch-analysis-morphology&quot; target=&quot;_blank&quot;&gt;плагин для Elasticsearch&lt;/a&gt;) по записи в Elasticsearch.&lt;/p&gt;
  &lt;p&gt;4. Для найденных писем необходимо:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html&quot; target=&quot;_blank&quot;&gt;подсвечивать поисковые фразы&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;иметь возможность экспорта в zip-архиве&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;5. Управление данными о почтовом ящике и списке тегов можно реализовать, используя стандартную админку Django&lt;/p&gt;
  &lt;p&gt;6. User Interface без каких-либо требований, но можно и Bootstrap применить&lt;/p&gt;

</content></entry><entry><id>brandquad.team:rymBSz0tE</id><link rel="alternate" type="text/html" href="https://teletype.in/@brandquad.team/rymBSz0tE?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=brandquad.team"></link><title>Конкурсное задание Brandquad: easy</title><published>2019-04-12T13:40:10.848Z</published><updated>2019-04-12T13:40:10.848Z</updated><summary type="html">Задача: разработать Django-приложение для обработки и агрегации Apache-лога.</summary><content type="html">
  &lt;p&gt;&lt;strong&gt;Задача&lt;/strong&gt;: разработать Django-приложение для обработки и агрегации Apache-лога.&lt;/p&gt;
  &lt;p&gt;В составе приложения должна быть Management command, которая на вход принимает ссылку на лог файл определенного формата, скачивает ее, парсит и записывает в БД. При загрузке, обработке и записи данных в бд нужно выводить прогресс-бар.&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;http://www.almhuette-raith.at/apache-log/access.log&quot; target=&quot;_blank&quot;&gt;Ссылка для теста&lt;/a&gt; - размер файла 186 Мб.&lt;/p&gt;
  &lt;p&gt;В приложении должна быть модель, которая описывает распарсенные данные из лога.&lt;/p&gt;
  &lt;p&gt;Поля модели должны содержать минимум:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;IP адрес, Дата из лога&lt;/li&gt;
    &lt;li&gt;http метод (GET, POST,...)&lt;/li&gt;
    &lt;li&gt;URI запроса&lt;/li&gt;
    &lt;li&gt;Код ошибки&lt;/li&gt;
    &lt;li&gt;Размер ответа&lt;/li&gt;
    &lt;li&gt;Другие данные из лога - опциональны.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;На frontend необходимо реализовать вывод данных, описанных в модели, с пагинацией и поиском.&lt;/p&gt;
  &lt;p&gt;Под таблицей также необходимо вывести статистику? которая будет содержать следующие данные:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Количество уникальных IP&lt;/li&gt;
    &lt;li&gt;Top 10 самых распространенных IP адресов в формате таблички, где указан IP адрес и количество его вхождений.&lt;/li&gt;
    &lt;li&gt;Количество GET, POST, ... (http методов)&lt;/li&gt;
    &lt;li&gt;Общее количество переданных байт (суммарное значение по полю &amp;quot;размер ответа&amp;quot;)&lt;/li&gt;
    &lt;li&gt;Учесть, что эти агрегированные данные должны меняться при использовании поиска.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Плюсами будут&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Хорошее оформление и комментирование кода (не излишнее, но хорошее);&lt;/li&gt;
    &lt;li&gt;Оформление frontend части;&lt;/li&gt;
    &lt;li&gt;Упаковка проекта в docker/docker-compose;&lt;/li&gt;
    &lt;li&gt;Оптимизация запросов к БД;&lt;/li&gt;
    &lt;li&gt;Кнопка экспорта данных на таблице с результатами, при нажатии на которую будет скачиваться файлик в формате XLSX с результатами выдачи&lt;/li&gt;
  &lt;/ul&gt;

</content></entry></feed>