Skip to content

Instantly share code, notes, and snippets.

@dvmn-tasks
dvmn-tasks / language-salary-bonus.md
Last active November 16, 2018 16:43
Бонус-шаг к задаче «Прикидываем зарплату» курса https://dvmn.org

Улучшите инструмент, используя навыки, полученные в задаче. Для этого мы подготовили идеи, которые можно реализовать дополнительно, на ваше усмотрение. Похвастаться усовершенствованиями можно на собеседованиях или в нашей флудилке.

Отрисуйте данные на график

Просто числа на терминале не так наглядны, как график. Нарисуйте график зарплат с помощью API Plot.ly.

Советы

В примерах документации используется plotly.graph_objs.Scatter. Это диаграмма рассеяния. Вам понадобится столбцовая диаграмма. Используйте Bar вместо Scatter.

@dvmn-tasks
dvmn-tasks / http_err_statuses.md
Last active November 28, 2018 09:16
Распрстранённые ошибки при работе с HTTP и пояснения к ним

HTTP статусы

Статус ответа приходит от сервера вместе с ответом. Например, вы наверняка уже знакомы с кодом 404 — он означает "Страница не найдена". Таких кодов очень много и стоит ориентироваться в них, чтобы не теряться и быстро находить ошибки.

Код ответа всегда состоит из трёх цифр. По первой цифре можно понять к какому классу относится статус. Если код начинаетсяс цифры:

  • 1 — информационный. Скорее всего с ним вы не столкнётесь ещё долго. Как пример приведём 101, «переключение протоколов».
  • 2 — успешный. Его рассматривать не нужно, всё ведь прошло хорошо. Ответ 200 так и расшифровывется: «хорошо».
  • 3 — перенаправление. Например, 308, «постоянное перенаправление» — запрашиваемый ресурс был окончательно перенесен на новый адрес.
  • 4 — ошиба клиента. Например, 404 — «страница не найдена». То есть клиент попросил у сервера страницу, которой нет. В такой ситуации ошибся явно клиент, а не сервер.
@dvmn-tasks
dvmn-tasks / script.py
Created July 17, 2019 18:31
Async code example
import asyncio
import itertools
import aionursery
PRELOADER_SYMBOLS = [
'|',
'/',
'—',
'\\',
]
@dvmn-tasks
dvmn-tasks / how-to-check-urlencode.md
Last active May 13, 2020 19:33
Кодирование ссылок в шаблоне

Кодирование ссылок в шаблоне

Кодирование ссылок — это та проблема, которая хорошо умеет скрываться. Её сложно заметить, до поры до времени вы о ней даже на задумываетесь. А потом случайно узнаёте о том, что сайт сломан. Сломан он вот уже как полгода. Часть его страниц просто не работают. Пускай вы даже всё тестировали и всё проверяли, но они сломались, внезапно и незаметно.

Подробнее о проблеме:

Как тестировать

@dvmn-tasks
dvmn-tasks / Глючит livereload.md
Created May 15, 2020 10:55
Глючит livereload?

Глючит livereload?

Если вы запустили скрипт, а изменений на сайте не видать, то проверьте запускался ли код сборки сайта. Функция watch реагирует только на новые изменения, сделанные уже после запуска программы. Всё что случилось раньше она не заметит. Подробнее в слайдах.

Второй вариант — изменения были в py-скриптах. Их livereload не подхватывает, придётся перезапустить скрипт вручную.

Advanced level

Flask и Django умеют самостоятельно перезапускаться даже при изменениях в py-файлах. Но это довольно сложный трюк с использованием subprocess. Если интересно, почитайте код Werkzeug, фрагмент кода.

@dvmn-tasks
dvmn-tasks / README.md
Last active July 13, 2020 11:54
Шаблон. Сообщение проверяющему

Добрый день. Вы просили связаться.

У меня проблемы с уроком {название} в модуле про {тема}. Вот мой код: {ссылка}.

В разделе "Где проблема" было вот это:

{скриншот}

@dvmn-tasks
dvmn-tasks / README.md
Last active April 14, 2021 19:57
Как отправить файл с помощью Requests

Этот сниппет кода основан на ответе к вопросу о загрузке файлов через Requests на сайте StackOverflow.

import requests

with open('image.jpg', 'rb') as file:
    url = '...'
    files = {
        'media': file,  # Вместо ключа "media" скорее всего нужно подставить другое название ключа. Какое конкретно см. в доке API ВК.
 }
@dvmn-tasks
dvmn-tasks / Сценарии использования.md
Last active June 6, 2021 20:02
Сценарии использования к уроку Верстаем онлайн-библиотеку

Сценарии использования

Сценарии использования (use-cases) к уроку Верстаем онлайн-библиотеку курса Девман.

1. Хочу скачать библиотеку

Ваш заказчик — школьник Максим — хочет скачать к себе новую, свежую версию библиотеки. У него уже есть ссылка на репозиторий, вы сами её дали.

Максим не умеет программировать, он просто хочет скачать библиотеку для дедушки. Его утомляют какие-то установки питона и pip install, он просто хочет скачать книги.

@dvmn-tasks
dvmn-tasks / packing.md
Last active June 21, 2022 18:02
Как упаковывать проекты

Статья переехала в энциклопедию

Если вы нашли ссылку на этот гист, пожалуйста, напишите @DoomAndGloom В Telegram.

@dvmn-tasks
dvmn-tasks / Backslash in url.md
Last active July 14, 2022 14:35
Что делать с обратными слешами \ в адресе?