🐍 Python forever
2 subscribers
52 photos
8 files
36 links
Download Telegram
Forwarded from Аркадий
по SQL я корчое что бы потренироватьься прорешал все задачки на SQL Academy, на это ушло часа 4 суммарно, там есть пара задач где пришлось подумать

https://sql-academy.org/ru/trainer?sort=byId
Процесс работы с ветками более подробно описан здесь: http://releaseflow.org/.

Общие требования к работе в git:

Любые изменения в исходном коде должны быть связаны с задачами из джиры;
Номер задачи из джиры должен дублироваться в комментарии к коммиту. Так как зачастую после слияния веток невозможно понять, где выполнялись работы;
Для упрощения работы рекомендуется установить локальные хуки (https://github.com/aeroclub-it/infrastructure-githooks). Для их работы требуется установленный python версии 3.X;
Работу с ветками можно осуществлять через скрипты (https://github.com/aeroclub-it/infrastructure-release-scripts). Они подключаются в репозиторий как подмодуль.

Для работы с исходным кодом используются следующие ветки:

master - рабочая, протестированная, стабильная версия. Предназначена для выкладки в прод;
develop - тестовая версия. Предназначена для выкладки в тест;
release/XXX - ветка, предназначенная для сборки релиза. Создается из ветки master, в нее сливаются задачи, которые нужно выпустить в текущем релизе. Все конфликты мерджей решаются здесь же. XXX - номер релиза;
feature/XXX - ветка, предназначенная для выполнения доработок. XXX - номер задачи из джиры;
hotfix/XXX - ветка, предназначенная для исправления багов. XXX - номер задачи из джиры;
создание веток с другими названиями не допускается.
Forwarded from [PYTHON:TODAY]
leetcode_python.pdf
552 KB
✍️ Огромный сборник решений задач leetcode на Python c описанием и кодом

LeetCode
— онлайн-платформа с алгоритмическими задачами по программированию, своего рода тренажёр для подготовки к техническим интервью.

#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Anthony
@FastAPI

Очень годный курс по FastAPI

Он включает в себя:

- celery
- redis
- "кеширование"
- middleware
- websocket
- pytest

Я думаю, список будет расширяться, канал новый (несколько месяцев).

Почему я советую посмотреть этот материал всем?

Я считаю, что разработка на FastAPI проще чем на Django

У FastAPI проще документация, скорость выше и тд

Но многих это отталкивало то, что FastAPI новый инструмент (года 2, если не ошибаюсь) и качественного материала в .ru сегменте было мало

Но на этом канале собрана ОЧЕНЬ качественная информация и хорошая подача

Кому советую посмотреть?

Я считаю(имхо), что скорость "вкатывания" в backend разработку через FastAPI будет быстрее чем через Django

В первую очередь, я советую посмотреть этот плейлист тем, кто только выучил синтаксис и собирается писать свой первый пет-проект. Будет проще чем Django (имхо). Вакансий на FastAPI достаточно (35-40% backend на Python)

Если ты уже почти всё выучил(выучила) в Django, в любом случае советую ознакомиться.
Полезно будет 100%. Решение на чём работать сделаешь потом сам(сама)

В общем, советую посмотреть всем Python backend developer-ам!
Смотрится на одном дыхании 🐺🐺🐺
Please open Telegram to view this post
VIEW IN TELEGRAM
Если интервьюер, говорит, что твоё решение не оптимальное, то тебе необходимо сразу отбросить всё что связано с квазилинейной сложностью O(n*logn) - использование сортировки.
Нужно искать линейный алгоритм и забить на сортировку.

Линейный алгоритм это значит что нужно просто пройтись по всем элементам. В лоб пройтись не получиться, иначе снова упираемся в сортировку.
Нужно задавать вопросы про входные данные
Итерация в цикле, использование указателей. Базовые алгоритмы - полный перебор, разделяй и властвуй, поиск в ширину, поиск в глубину,

Скользящее окно???
Для общего развития динамическое программирование
МНОГО ТРЕНИРОВКИ. Минимум 100 задач на уровне изи в литкоде. Делать самому, не юзать IDE
Алгоритмы:

1. Два указателя
2. Итерация, итерация в цикле, итератор
3. Полный перебор
4. Разделяй и властвуй
5. Поиск в ширину
6. Поиск в глубину
7. Сортировка
8. Связанный список
9. Hash Map
10. Деревья

*Динамическое программирование
Паттерн Guard Expression в функции, которые отсекает приграничные условия и сразу возвращает что то не давая ВСЕЙ функции занимать ресурсы.
def test():
if n == 0:
return None
- оператор==проверяет равенство значений двух объектов

- оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти
Кортеж можно распаковывать, а датакласс нельзя
Датакласс более эффективные по памяти, они могут быть так же не изменяемыми как кортежи
Декларативный и императивный подходы.
Декларативный подход - говорим что делаем
Императивный подход - говорим как делаем