Forwarded from Аркадий
по SQL я корчое что бы потренироватьься прорешал все задачки на SQL Academy, на это ушло часа 4 суммарно, там есть пара задач где пришлось подумать
https://sql-academy.org/ru/trainer?sort=byId
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 - номер задачи из джиры;
создание веток с другими названиями не допускается.
Общие требования к работе в 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 - номер задачи из джиры;
создание веток с другими названиями не допускается.
releaseflow.org
releaseflow - the trendy name for release branching
Forwarded from Evan
#asyncio
очень хороший доклад от школы бэкенд разработки яндекса про то как устроена асинхронщина в целом и asyncio (+ есть еще два видоса на эту тему, если что найдете легко)
https://youtu.be/AXkOli6BsBY
очень хороший доклад от школы бэкенд разработки яндекса про то как устроена асинхронщина в целом и asyncio (+ есть еще два видоса на эту тему, если что найдете легко)
https://youtu.be/AXkOli6BsBY
YouTube
10. Асинхронное программирование. Лекция 1 – Эдуард Жук
Во время лекции рассмотрим, в чём проблема синхронных приложений и что с этим можно сделать.
Обсудим, что происходит с точки зрения ОС при HTTP-запросе, как обрабатывать несколько запросов одновременно и какие есть преимущества, недостатки у процессов и…
Обсудим, что происходит с точки зрения ОС при HTTP-запросе, как обрабатывать несколько запросов одновременно и какие есть преимущества, недостатки у процессов и…
Forwarded from [PYTHON:TODAY]
leetcode_python.pdf
552 KB
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-ам!
Смотрится на одном дыхании🐺 🐺 🐺
Очень годный курс по 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
YouTube
FastAPI Курс
Мой расширенный курс по backend разработке на FastAPI для тех, кто хочет быстро сменить стек или найти работу: https://clck.ru/38YShw
Если интервьюер, говорит, что твоё решение не оптимальное, то тебе необходимо сразу отбросить всё что связано с квазилинейной сложностью O(n*logn) - использование сортировки.
Нужно искать линейный алгоритм и забить на сортировку.
Линейный алгоритм это значит что нужно просто пройтись по всем элементам. В лоб пройтись не получиться, иначе снова упираемся в сортировку.
Нужно искать линейный алгоритм и забить на сортировку.
Линейный алгоритм это значит что нужно просто пройтись по всем элементам. В лоб пройтись не получиться, иначе снова упираемся в сортировку.
Итерация в цикле, использование указателей. Базовые алгоритмы - полный перебор, разделяй и властвуй, поиск в ширину, поиск в глубину,
Скользящее окно???
Для общего развития динамическое программирование
Скользящее окно???
Для общего развития динамическое программирование
МНОГО ТРЕНИРОВКИ. Минимум 100 задач на уровне изи в литкоде. Делать самому, не юзать IDE
Алгоритмы:
1. Два указателя
2. Итерация, итерация в цикле, итератор
3. Полный перебор
4. Разделяй и властвуй
5. Поиск в ширину
6. Поиск в глубину
7. Сортировка
8. Связанный список
9. Hash Map
10. Деревья
*Динамическое программирование
1. Два указателя
2. Итерация, итерация в цикле, итератор
3. Полный перебор
4. Разделяй и властвуй
5. Поиск в ширину
6. Поиск в глубину
7. Сортировка
8. Связанный список
9. Hash Map
10. Деревья
*Динамическое программирование
Паттерн Guard Expression в функции, которые отсекает приграничные условия и сразу возвращает что то не давая ВСЕЙ функции занимать ресурсы.
def test():
if n == 0:
return None
- оператор==проверяет равенство значений двух объектов
- оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти
- оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти
Датакласс более эффективные по памяти, они могут быть так же не изменяемыми как кортежи
Декларативный и императивный подходы.
Декларативный подход - говорим что делаем
Императивный подход - говорим как делаем
Декларативный подход - говорим что делаем
Императивный подход - говорим как делаем