Разбор тестового задания Python-Developer
• Введение
• Описание вакансии
• Описание тестового задания
• Начало разбора кодовой базы
• Механика создания объекта-приложения с сущностями
• Коротко о хэндлерах
• Структура базы и накатывание миграций в Postgresql
• Создание индекса в Elasticsearch
• Docker-compose файл для локальной разработки
• Хэндлер создания документа
• Создание инфраструктуры для тестирования асинхронного кода с настоящими БД с помощью Docker и pytest
• Тест для хэндлера создания документа
• Хэндлер удаления документа
• Тест для хэндлера удаления документа
• Хэндлер полнотекстового поиска
• Тест для хэндлера полнотекстового поиска
• Локальный деплой с помощью Docker / Docker-compose
• Выводы
• Заключение
🧷 https://youtu.be/goEs0Txs8KY
#Видео
• Введение
• Описание вакансии
• Описание тестового задания
• Начало разбора кодовой базы
• Механика создания объекта-приложения с сущностями
• Коротко о хэндлерах
• Структура базы и накатывание миграций в Postgresql
• Создание индекса в Elasticsearch
• Docker-compose файл для локальной разработки
• Хэндлер создания документа
• Создание инфраструктуры для тестирования асинхронного кода с настоящими БД с помощью Docker и pytest
• Тест для хэндлера создания документа
• Хэндлер удаления документа
• Тест для хэндлера удаления документа
• Хэндлер полнотекстового поиска
• Тест для хэндлера полнотекстового поиска
• Локальный деплой с помощью Docker / Docker-compose
• Выводы
• Заключение
🧷 https://youtu.be/goEs0Txs8KY
#Видео
❤5👍2
Пишем 3 программы на Python за 5 минут
• Питон все же крутая штука! За урок мы разработаем три вполне хорошие программки, что можно спокойно использовать в вашей повседневной работе. И да, постараемся уложится в 5 минут!
🧷 https://youtu.be/uFzNc7D44HI
#Видео
• Питон все же крутая штука! За урок мы разработаем три вполне хорошие программки, что можно спокойно использовать в вашей повседневной работе. И да, постараемся уложится в 5 минут!
🧷 https://youtu.be/uFzNc7D44HI
#Видео
❤6👍2
📌 Exception Chaining
Это связывание нескольких ошибок в один traceback. Используется, если при обработке исключения нужно добавить информацию или изменить тип.
Исключение, добавленное с
📕 PEP 3134
#урок
Это связывание нескольких ошибок в один traceback. Используется, если при обработке исключения нужно добавить информацию или изменить тип.
Исключение, добавленное с
raise ... from exc, сохраняется в __cause__. Если ошибка произошла во время выполнения try/except, то она запишется в __context__. 📕 PEP 3134
#урок
❤6👍3
📌 Иерархия ошибок
Встроенные ошибки наследуются от Exception, их «родственность» вы видите на фотографии.
Если поставить
Поэтому важно знать к какому типу какие ошибки относятся и не ставить
#урок
Встроенные ошибки наследуются от Exception, их «родственность» вы видите на фотографии.
Если поставить
except LookupError раньше чем except IndexError, то второй обработчик никогда не сработает, ошибку обработает первый except.Поэтому важно знать к какому типу какие ошибки относятся и не ставить
except OSError поверх FileExistsError.#урок
❤4👍2
🧩 Распределение памяти в Python: сколько и в каких случаях занимают типы данных
• В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
🧷 https://tproger.ru/articles/raspredelenie-pamjati-v-python-skolko-i-v-kakih-sluchajah-zanimajut-tipy-dannyh/
#Статья
• В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
🧷 https://tproger.ru/articles/raspredelenie-pamjati-v-python-skolko-i-v-kakih-sluchajah-zanimajut-tipy-dannyh/
#Статья
❤4🔥1
🧩 Превращаем код на Python в исполняемый EXE-файл
• В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
• Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
🧷 https://tproger.ru/articles/prevrashhaem-kod-na-python-v-ispolnjaemyj-exe-fajl/
#Статья
• В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
• Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
🧷 https://tproger.ru/articles/prevrashhaem-kod-na-python-v-ispolnjaemyj-exe-fajl/
#Статья
❤3🔥2
Соревнование от ПАО «Интер РАО»: получи подготовленные данные и разработай ИИ-ассистента для энергетики
Призовой фонд — 750 000 рублей. Лучшие проекты смогут стать частью экосистемы компании.
Можно участвовать одному или командой до 5 человек. Идеальный состав: разработчик, специалист по машинному обучению, аналитик и дизайнер.
Стартуем 28 сентября. 4 задачи соревнования уже на платформе Codenrock — изучай и выбирай, за какую возьмешься.
Разработай концепт проекта: самые сильные идеи участники доработают под руководством экспертов Группы «Интер РАО» с 9 по 23 октября. Финал в Москве — 3 ноября.
Регистрируйся до 27 сентября: https://cnrlink.com/interraohack26pylibr
Призовой фонд — 750 000 рублей. Лучшие проекты смогут стать частью экосистемы компании.
Можно участвовать одному или командой до 5 человек. Идеальный состав: разработчик, специалист по машинному обучению, аналитик и дизайнер.
Стартуем 28 сентября. 4 задачи соревнования уже на платформе Codenrock — изучай и выбирай, за какую возьмешься.
Разработай концепт проекта: самые сильные идеи участники доработают под руководством экспертов Группы «Интер РАО» с 9 по 23 октября. Финал в Москве — 3 ноября.
Регистрируйся до 27 сентября: https://cnrlink.com/interraohack26pylibr
❤3👍2
📌 Подсчет суммы цифр в числе
Допустим есть число, целое или вещественное и необходимо подсчитать сумму цифр этого числа. Для того, что бы это сделать нужно это число преобразовать в список входящих в него цифр, а потом применить к полученному списку функцию sum().
Алгоритм действий будет следующим:
• Преобразуем число в строку при помощи функции str();
• Число может быть как int, так и float, следовательно необходимо произвести замену десятичного разделителя '.' при помощи строкового метода str.replace();
• Преобразовываем полученную строку с числом в список строк с цифрами функцией list();
• Далее преобразовываем каждый элемент полученного списка строк с цифрами в список целых чисел используя функцию map();
• Применяем функцию sum() к итоговому списку.
📕 Документация
#урок
Допустим есть число, целое или вещественное и необходимо подсчитать сумму цифр этого числа. Для того, что бы это сделать нужно это число преобразовать в список входящих в него цифр, а потом применить к полученному списку функцию sum().
Алгоритм действий будет следующим:
• Преобразуем число в строку при помощи функции str();
• Число может быть как int, так и float, следовательно необходимо произвести замену десятичного разделителя '.' при помощи строкового метода str.replace();
• Преобразовываем полученную строку с числом в список строк с цифрами функцией list();
• Далее преобразовываем каждый элемент полученного списка строк с цифрами в список целых чисел используя функцию map();
• Применяем функцию sum() к итоговому списку.
📕 Документация
#урок
❤5🔥3
📌 Python Development Mode
Новинка в Python 3.7. Включается с помощью аргумента
- не закрывает файлы после работы
- использует корутины без await
- передаёт неизвестную кодировку в
📕 Документация
#урок
Новинка в Python 3.7. Включается с помощью аргумента
-X dev при запуске скрипта. Выводит предупреждения, если разработчик что-то делает не так:- не закрывает файлы после работы
- использует корутины без await
- передаёт неизвестную кодировку в
str.encode()
- неправильно пользуется памятью📕 Документация
#урок
❤5🔥2
Шпаргалка по pandas
• Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science. Такая шпаргалка поможет в построении различных диаграмм с использованием pandas
🧷 https://cheatography.com/zayd/cheat-sheets/pandasplotting/
#Шпаргалка
• Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science. Такая шпаргалка поможет в построении различных диаграмм с использованием pandas
🧷 https://cheatography.com/zayd/cheat-sheets/pandasplotting/
#Шпаргалка
❤5👍2
📌
Мы можем задать
Задать значение константе из приложения не получится, выдаст
📕 Документация
#урок
__debug__
Если скрипт не запущен с аргументом -O, у константы будет значение True. В таком случае выражение assert выполнится всегда.Мы можем задать
__debug__ значение False, выполнив скрипт с -O и ускорить работу проекта, убрав проверку на ошибки с assert. Задать значение константе из приложения не получится, выдаст
SyntaxError в Python 3.10+ или NameError.📕 Документация
#урок
❤3👍3
RTX 4090 остается практичным выбором для ИИ-инженеров. 24 ГБ VRAM и поддержка FP8 на архитектуре Ada Lovelace обеспечивают высокую скорость инференса и сохранение точности. Однако для масштабных задач одной видеокарты недостаточно.
В immers.cloud можно арендовать сервер с возможностью подключения до 8 видеокарт RTX 4090 одновременно. Такая конфигурация позволяет эффективно распределять нагрузку при инференсе крупных моделей, fine-tuning или рендеринге.
В каталоге Immers Foundation Models доступны готовые конфигурации для развертывания актуальных архитектур на таких кластерах:
Оцените инференс через бесплатные публичные эндпоинты или разверните приватный инстанс на выделенном железе. Оплата начисляется только за фактическое время работы сервера.
→ Подобрать конфигурацию
В immers.cloud можно арендовать сервер с возможностью подключения до 8 видеокарт RTX 4090 одновременно. Такая конфигурация позволяет эффективно распределять нагрузку при инференсе крупных моделей, fine-tuning или рендеринге.
В каталоге Immers Foundation Models доступны готовые конфигурации для развертывания актуальных архитектур на таких кластерах:
• Qwen3.8-27B
• Unlimited-OCR
• Gemma-4-12B-it
Оцените инференс через бесплатные публичные эндпоинты или разверните приватный инстанс на выделенном железе. Оплата начисляется только за фактическое время работы сервера.
→ Подобрать конфигурацию
❤1
📌 Type hints
Подсказки, которые никак не влияют на работу приложения, нужные только IDE и программисту, чтобы разработчику было проще писать код.
Type hints помогают автодополнению в IDE понять, что за тип у этой переменной и предложить правильные команды.
Также если передать неправильный тип данных, то IDE выдаст предупреждение, но ошибки не будет.
#урок
Подсказки, которые никак не влияют на работу приложения, нужные только IDE и программисту, чтобы разработчику было проще писать код.
Type hints помогают автодополнению в IDE понять, что за тип у этой переменной и предложить правильные команды.
Также если передать неправильный тип данных, то IDE выдаст предупреждение, но ошибки не будет.
#урок