Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшие Fast Track мероприятия:
• 7-8 сентября — для аналитиков со знанием SQL и Python, офер за 2 дня в команды Маркета, Еды и Лавки.
Зарегистрироваться
📣 Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx
В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python.
Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий.
Официальное пособие по использованию Sphinx – отличный ресурс для пользователей, которые хотят углубиться в детали
Данная статья – это краткое руководство по началу работы с этим инструментом
🖥 Читать подробнее
▶️ Атрибуты класса, classmethod и staticmethod
Посмотрим в первом приближении на атрибуты класса, как с ними работать, для чего нужны декораторы classmethod и staticmethod
⏺ LEGB – правило продолжает действовать для простых имен переменных и их поиска
⏺ Для self атрибутов поиск идет сначала в объекте, потом в классе, затем у предков OCP(object-class-parent). То есть через self можно достучаться как к обычным методам/атрибутам, так и к классовым, статичным
⏺ Если через self пытаться поменять неизменяемый атрибут (строка) класса, то будет создана локальная копия, ее не увидят другие объекты класса
⏺ Если менять через self изменямый атрибут класса (список), то он изменится для всех объектов класса
⏺ cls – это ссылка на класс (не объект!), питон передает его под капотом. cls = Class
⏺ classmethod используется для работы с атрибутами класса и с другими методами класса. Часто используется для конструирования готовых объектов
⏺ staticmethod не получает ссылок под капотом, это просто функция связанная контекстом с классом. Используется редко и часто завуалированно
▶️ Смотреть на YouTube
▶️ ООП: Наследование (Inheritance)
Сегодня разберемся что это такое и зачем это нужно программисту
Наследование – это механизм доступа к данным и поведению предка, а также способ расширения (изменения поведения) класса не изменяя его код.
Главное правило наследования: наследник является предком, например директор является работником, но машина не является двигателем, потому наследовать автомобиль от двигателя нельзя, тут нужна композиция.
👀 Смотреть на YouTube
Куда и как расти IT-специалисту — разберём на конкретных примерах
Чувствуете, что достигли потолка, и не понимаете, куда двигаться дальше? Хотите расти в должности и доходе, но не знаете, какие скилы нужно осваивать для этого? На все эти и другие вопросы ответим на большом онлайн-событии.
Разработчик, проджект, аналитик и дизайнер из IT-компании ecom.tech расскажут, как выросли до руководителей. Обсудим на конкретных примерах, как и куда развиваться, чтобы повысить свой уровень и получить новую должность.
→ Бесплатно, 28 августа в 19:00 мск
Вы узнаете:
— какие навыки прокачивать, чтобы повысить свой уровень;
— куда и как расти в карьере разным IT-специалистам;
— что должны уметь джун, мидл и синьор;
— как устроен рабочий день в ecom.tech;
— как руководители стали руководителями — истории пути;
— какая ситуация на рынке труда и как сейчас проходит найм.
Спикеры:
◾️Владимир Тимошенко — технический руководитель продукта
◾️Александр Маркин — руководитель группы логистических кросс-продуктовых проектов
◾️Сергей Коваленко — руководитель направления продуктовой архитектуры
◾️Дмитрий Деменков — руководитель отдела машинного обучения коммерческих продуктов
◾️Иван Емелюшкин — старший продуктовый дизайнер
🔵 Зарегистрируйтесь на онлайн-событие
▶️ Магические методы в Python | Dunder методы
Dunder (двойное подчёркивание) или магические мыетод – это особые методы в Python, которые позволяют настраивать классы и объекты. Эти методы называются магическими, потому что они могут изменять поведение кода неожиданными способами
👩💻 Полное руководство по пакету NumPy для научных расчетов в Python
NumPy (Numeric Python, Числовой Python) – это библиотека с открытым исходным кодом для работы с многомерными массивами и набор математических функций, которые применяются над ними
Это руководство научит вас основам NumPy, которые вы сможете использовать для вычислений в Python
🖥 Читать подробнее
▶️ Доступ к свойствам объекта | Property и slots
В видео обсудим интересный вопрос – как можно запретить менять наши атрибуты, реализовать логику изменения/получения атрибутов и как запретить добавлять объекту новые атрибуты.
⏺ _dict_ – это атрибут объектов в питоне, который хранит состояние
⏺ _setattr_ – вызывается при попытке установить атрибут
⏺ property – это удобный механизм создания геттеров и сеттеров
⏺ _slots_ – создан для уменьшения памяти, занимаемой объектами, но как побочное свойство – не даст добавить объекту новый атрибут
👀 Смотреть на YouTube
▶️ Паттерн Singleton (Одиночка) в Python
Singleton (Одиночка) – это шаблон предоставления глобального доступа к состоянию, гарантируется, что объект всегда будет один и тот же.
Нужен для одной точки доступа к ресурсам/данным и для того чтобы ресурсоемкие задачи сделать 1 раз
Monostate – это шаблон предоставления глобального доступа к состоянию, объекты при этом могут быть разными
Плюсы: 1 раз выполняем тяжелые задачи, имеем 1 вход для всей системы
Минусы: общесистемная глобальная переменная
Модуль в python – это Singleton!
Потому нам никуда от них не деться, даже если считать Singleton анти-паттерном
▶️ Список и кортеж
В видео рассмотрим особенности списков и кортежей: что хочет слышать работодатель, как хранятся в памяти, почему кортеж реально неизменяемый
Использование кортежей:
⏺ Используй [] для создания пустого списка ({} для словаря)
⏺ Если заранее известен размер, то не используй append (для 8000 добавлений выделяется 8600 ячеек памяти)
⏺ Используй листкомпс
⏺ Не пытайся заменять список кортежом, там где идет изменение размера
👀 Смотреть на YouTube
▶️ Gigacode и PyCharm | Используем ИИ в работе
Сегодня посмотрим как установить и использовать ИИ-ассистента Giga-Code от компании Сбертех, которым я пользуюсь уже несколько месяцев
Важно помнить, что это помощник (просто инструмент), а не заместитель. Он
не владеет всем контекстом, не знает задачи в целом, действует по вашим указаниям
erid: LjN8KC2Mx
Есть два стула…Python или Go. На примере Kubernetes
▶️ Как использовать k8s как API, даже не зная его устройства?
▶️ Как создать при этом симбиоз между кодом и целым кластером?🤔
▶️ Как в k8s объединять бизнес-логику и инфраструктуру с помощью миллионов строк кода?
Это можно делать и с помощью Golang, и с помощью Python.
Расскажем и покажем как на бесплатном вебинаре от Слёрма 21 августа в 19:00 мск⚡
А дальше — выбор за вами. Какой стул выберете?
Спикер: Виталий Лихачев, SRE в booking.com, ex-Avito Senior Software Engineer.
Подробности в боте @GolangPython_Bot
Присоединяйтесь!
Реклама. ООО "СЛЁРМ". ИНН 3652901451.
📣 24 лучшие библиотеки Python, с которыми вы должны познакомиться
Python имеет более ста тысяч библиотек на любой вкус, чем больше библиотек и пакетов в своем распоряжении имеет язык программирования, тем больше существует различных вариантов его использования
В данной статье мы перечислили несколько лучших библиотек для работы в Python
🖥 Читать подробнее
📣 Интерпретация JSON | Как читать файлы JSON
JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером
В этой статье я покажу вам, как использовать методы json.loads()
и json.load()
для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON
🖥 Читать подробнее
📣 Как управлять зависимостями Python с помощью виртуальных сред
Для создания виртуальной среды мы будем использовать инструмент Venv
Venv позволяет запускать приложения со своими зависимостями, чтобы не мешать другим приложениям, которые используют то же ПО, но иных версий.
В результате каждое приложение будет запускаться в собственной виртуальной среде, изолированно от остальных, что повысит стабильность работы всех приложений
🖥 Читать подробнее
▶️ Реальное live-coding собеседование Junior Python разработчик
Сегодня вы увидите реальное собеседование на Python Backend разработчика, на котором мне предложили 100.000 рублей
В видео вы увидите live-coding, рассмотрим три практические задачи по уроню сложности
👀 Смотреть на YouTube
💪Что должен знать и уметь толковый питонист?
👉Узнайте на бесплатном вебинаре онлайн-курса «Python Developer. Basic» - «Интерфейсы и протоколы в Python»: регистрация
На занятии мы:
- разберемся, как правильно создавать зависимости от интерфейса, а не реализации,
- и посмотрим на тип Protocol в Python.
Вебинар будет полезен начинающим Python-разработчикам, желающим познакомиться с использованием интерфейсов и способами аннотирования комплексных объектов в Python
В результате вебинара вы научитесь создавать в коде зависимости от интерфейса, а не реализации, и создавать аннотации типов в Python для комплексных объектов через Protocol.
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
erid: LjN8KNsUo
📣 Как перехватывать сразу несколько исключений
Исключения – это механизм взаимодействия различных частей программы. Этот механизм позволяет одной части системы уведомлять о том, что она столкнулась с некой критической ошибкой и не знает, как с ней справиться
Перехват исключений в Python помогает уменьшить количество возникающих в программе сбоев
В этой статье я расскажу, как перехватывать несколько исключений в одном блоке try/except в Python
🖥 Читать подробнее
📣 Функция setdefault() в Python | Для чего нужна и как её использовать
В статье рассмотрим синтаксис, сценарии использования функции и покажем её пользу на практических примерах, а в подробном заключении сделаем основные выводы
Метод setdefault() в словарях Python позволяет извлекать значение по указанному ключу, если он существует
Если ключа нет, функция вставляет ключ с указанным значением по умолчанию и возвращает это значение
Как в Яндексе собеседуют разработчиков на С++
Эти карточки ответят на основные вопросы о предварительных секциях для разработчиков.
Их автор — Владимир Михайлов, он помогает команде найма Яндекса и лично общается с кандидатами на собесах. Внутри: типовые задачи, критерии оценки и советы по подготовке.
Подписывайтесь [на Yandex for Backend], там регулярно публикуют полезные истории вроде этой. Например, недавно был пост о 23 новых фичах в Python!
Ворвись в IT с Романом Сакутиным
Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков.
В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце.
Играйте бесплатной в боте - /channel/break_into_it_bot?start=TG_IN_20082024
erid: LjN8KGWhZ
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 27-28 августа в 19:00 мск.
О перспективах направления Python и многом другом расскажет Рафаэль Мухаметшин, Middle Бэкенд-разработчик в «ПИК Digital» с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
🎁 Приятные бонусы: полезный гайд для начинающего Python-разработчика и гайд о сленге в IT всем участникам интенсива!
📣 Как обрабатывать ошибки в Python | Раскрываем значения ключевых слов try, except, else и finally
«Достаточно сложно найти ошибки в вашем коде, если вы ее ищете; еще сложнее, если вы думаете, что в вашем коде нет ошибок» – Стив МакКоннелл
📣 Как писать модульные тесты для функций в Python
С помощью этого руководства вы научитесь писать модульные тесты для функций Python
В данном руководстве, Вы научитесь:
⏺ Обращаться с модульными тестами в Python.
⏺ Использовать встроенный в Python модуль unittest для настройки и запуска модульных тестов, а также для написания тестовых примеров для проверки функций Python
⏺ Тестировать функции, которые вызывают исключения
🖥 Читать подробнее
📣 Головоломка «Сапёр» на Python в 66 строк и ее решение вероятностным алгоритмом
Писать головоломку будем оп нескольким требованиям:
⏺ Программа представляет собой консольный вариант головоломки Сапёр. Игровое поле печатается в stdout, колонки и поля нумеруются, каждый шаг консоль очищается от предыдущих данных.
⏺ При запуске программа принимает в качестве аргументов размер поля (ширину и высоту) и количество мин. По умолчанию, без передачи аргументов, создается игровое поле размером 10x10 с 10 минами.
⏺ Управление происходит путем передачи команд в стандартный ввод (stdin) в формате row col.
⏺ Первым ходом нельзя проиграть, т.е. ячейка, выбранная в первом ходе, не должна содержать мину. Также соседние ячейки не должны содержать мины.
⏺ Победа засчитывается, когда на игровом поле все незаминированные ячейки раскрыты, поражение – когда игрок открывает ячейку с миной. Последним ходом выводится соответствующее сообщение о победе или поражении и полностью открытое игровое поле.
⏺ Необходимо реализовать алгоритм решения головоломки. На каждом шаге программа печатает текущее состояние игры с сопутствующей справочной информацией
🖥 Читать подробнее
📣 Оптимизация в Python | Эффективное использование модуля threading и asyncio
В данной статье мы погрузимся в мир многопоточности и асинхронного программирования на Python, изучая, как модуль threading
может значительно улучшить работу с вводом-выводом.
⏺ Рассмотрим, как правильно завершать потоки при остановке приложения, чтобы избежать утечек ресурсов.
⏺ Научимся использовать пул потоков для распределения задач, что откроет доступ к мощным методам asyncio
API, таким как gather, позволяющим дождаться результатов выполнения всех потоков.
⏺ Увидим, как эффективно интегрировать блокирующие API ввода-вывода, например, из библиотеки requests
, в пул потоков, чтобы повысить производительность и сделать наше приложение более отзывчивым
🖥 Читать подробнее
▶️ Enum | Перечисления в Python
Enum (перечисления) – это класс, который содержит константы и методы для работы с ними
Enum нужен там, где количество значений ограничено, если у вас есть 2+ констант, связанных по смыслу – это возможно хороший вариант для Enum.
⏺ Enum "ограничивает" выбор пользователя
⏺ Помогает пользователю понять возможные варианты
⏺ Позволяет легко добавлять или удалять значения
👀 Смотреть на YouTube
▶️ Знакомство с переменными и типами данных
Переменная – это простейшая именованная структура данных, в которой может быть сохранён промежуточный или конечный результат работы программы и типами данных
Она состоит из трёх частей:
⏺ Имя (или идентификатор) – это название, придуманное программистом, чтобы обращаться к переменной.
⏺ Значение – это информация, которая хранится в памяти компьютера и с которой работает программа.
⏺ Адрес – это номер ячейки памяти, в которой хранится значение переменной.
В Python типы данных можно разделить на:
⏺ Встроенные в интерпретатор (built-in): None (неопределённое значение переменной), логические переменные, числа, списки, строки, бинарные списки, множества, словари.
⏺ Не встроенные, которые можно использовать после импорта соответствующих модулей.
👀 Смотреть на YouTube
▶️ Знакомство с множествами
В видео узнаем, что такое множество в Python, чем оно отличается от списка, какие методы существуют для работы с множествами и др
Множество в Python – это изменяемая структура данных, которая содержит уникальные и неупорядоченные элементы
Множества полезны в случаях, когда нужно быстро проверить наличие элемента или удалить дубликаты из больших объёмов данных
👀 Смотреть на RuTube
Inf0 | ИБ, OSINT — канал, посвящённый инфобезу, техникам OSINT, защите устройств и бесплатными курсами по информационной безопасности.
Читать полностью…