Middleware — это специальный
Например, можно:
—
—
—
—
Обычно middleware реализует два метода:
—
process_request(request)
— вызывается —
process_response(request, response)
— вызывается Каждый метод должен вернуть
В Django — через настройку
MIDDLEWARE
:MIDDLEWARE = [
'myproject.middleware.CustomMiddleware',
...
]
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой.
• Как работает PCA
• Зачем он нужен
• Как применять его на практике — например, для анализа доходностей акций S&P 500
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Что такое code coupling (связанность модулей) и почему это важно?
Связанность модулей (или coupling) — это термин, который описываетстепень зависимости между различными частями программной системы. Чем меньше зависимость между модулями, тем легче поддерживать, тестировать и расширять систему.
➡️ Почему это важно
1️⃣ Низкая связность (Low Coupling):
— Модули взаимодействуют черезчеткие интерфейсы, минимизируя зависимости
— Изменения в одном модулене требуют изменений в других
— Этооблегчает поддержку и развитие системы
2️⃣ Высокая связность (High Coupling):
— Модулисильно зависят друг от друга
— Изменения в одном модулепотребуют изменений в других
— Такая системасложна в поддержке и тестировании
➡️ Пример из жизни
Представьте, что у вас есть два класса. Если один класс напрямую зависит от внутренней реализации другого — этовысокая связность. Если же классы взаимодействуют только через четко определенные интерфейсы — это низкая связность.
➡️ Стремитесь к слабой связности, чтобы ваши системы были более устойчивыми , масштабируемыми и удобными в поддержке.
Библиотека собеса по Python
Связанность модулей (или coupling) — это термин, который описывает
— Модули взаимодействуют через
— Изменения в одном модуле
— Это
— Модули
— Изменения в одном модуле
— Такая система
Представьте, что у вас есть два класса. Если один класс напрямую зависит от внутренней реализации другого — это
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Приручи алгоритмы: из формул в код за один воркшоп
Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.
Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.
🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.
🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.
🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.
На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы.
А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.
⏰ Когда: 21 апреля
💸Стоимость: всего 3990₽
Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.
➡️ Записаться на воркшоп: https://proglib.io/w/f0157e5f
Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.
Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.
🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.
🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.
🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.
На нашем воркшопе вы не просто слушаете — вы делаете сами! Вы будете писать код на Python, применять популярные библиотеки и сразу видеть результат своей работы.
А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.
⏰ Когда: 21 апреля
💸Стоимость: всего 3990₽
Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.
➡️ Записаться на воркшоп: https://proglib.io/w/f0157e5f
Жадные алгоритмы — это
Когда используются:
Преимущества:
Недостатки:
Примеры:
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🆚 Зачем нужен паттерн Фасад и чем он отличается от Адаптера?
Используется длясоздания простого и понятного интерфейса поверх сложной или запутанной подсистемы .
🚩 Зачем нужен:
Когда взаимодействовать с подсистемойнапрямую неудобно — слишком много деталей, низкоуровневый API или несогласованные интерфейсы .
🚩 Пример из Python:
Работа сархивами — модули gzip, tarfile, zipfile имеют разный интерфейс. Чтобы скрыть различия, можно сделать единый фасад-класс, который всё упростит .
🚩 Фасад ≠ Адаптер
— Фасадупрощает работу с подсистемой
— Адаптерделает несовместимые интерфейсы совместимыми
Их можнокомбинировать: адаптировать каждый модуль, а сверху построить единый фасад .
Библиотека собеса по Python
Используется для
Когда взаимодействовать с подсистемой
Работа с
— Фасад
— Адаптер
Их можно
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данных. Для дата-сайентистов она критична при:
В этой статье разберём, как правильно использовать дисперсию в Data Science и как она влияет на работу алгоритмов, например, в модели Random Forest.
👉 Читайте, чтобы понять, как измерять и учитывать дисперсию: https://proglib.io/sh/GDKYJQdAI2
Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
Отображение — это
collections.abc.Mapping
(для неизменяемых) и collections.abc.MutableMapping
(для изменяемых).К основным методам отображения относятся:
get()
— items()
, keys()
, values()
— update()
, pop()
, setdefault()
и др. — Примеры отображений в Python:
dict
— defaultdict
— OrderedDict
— Counter
— Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Завтра запускаем ML-ракету: последние места на борту
Уже завтра, 21 апреля, состоится наш воркшоп «Математика машинного обучения на практике», где теория ML превращается в практические навыки.
Что вас ждет:
📍 Работа с реальными данными — табличные датасеты и изображения
📍 Снижение размерности через PCA — научитесь отделять важное от второстепенного
📍 Обучение моделей — Random Forest и градиентный бустинг в действии
📍 Разбор метрик и гиперпараметров — как настроить модель на максимальную эффективность
📍 Написание кода на Python — прямо как реальных проектах
📍 Персональный code review от эксперта — бесценный фидбек для вашего роста
📍 Доступ в закрытый чат участников — нетворкинг и обмен опытом
Кто проводит воркшоп:
Мария Горденко — инженер-программист, старший преподаватель НИУ ВШЭ и Proglib Academy, руководитель магистратуры от ГК Самолет и Альфа-Банка.
Стоимость участия: 3990₽
Когда: завтра, 21 апреля
👉 Забронировать место на воркшопе: https://proglib.io/w/f0157e5f
Уже завтра, 21 апреля, состоится наш воркшоп «Математика машинного обучения на практике», где теория ML превращается в практические навыки.
Что вас ждет:
Кто проводит воркшоп:
Мария Горденко — инженер-программист, старший преподаватель НИУ ВШЭ и Proglib Academy, руководитель магистратуры от ГК Самолет и Альфа-Банка.
Стоимость участия: 3990₽
Когда: завтра, 21 апреля
👉 Забронировать место на воркшопе: https://proglib.io/w/f0157e5f
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод
items()
у dict_items
. Этот объект содержит items()
словарь items()
.Пример:
d = {'a': 1, 'b': 2}
pairs = d.items()
print(pairs) # dict_items([('a', 1), ('b', 2)])
d['c'] = 3
print(pairs) # dict_items([('a', 1), ('b', 2), ('c', 3)])
Это поведение делает
items()
очень RuntimeError
, так как структура данных Также объекты, возвращаемые
items()
, поддерживают несколько стандартных операций:iter(d.items())
— len(d.items())
— (k, v) in d.items()
— viewitems()
, но начиная с Python 3, items()
уже по умолчанию возвращает объект-представление.Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
➡️ Читать статью
🐸 Библиотека программиста
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Для создания хэш-значений есть удобный модуль hashlib, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
Когда Django-запросы вытягивают из базы больше данных, чем нужно, это тормозит работу приложения. Чтобы ускорить выполнение и уменьшить нагрузку, можно использовать методы:
defer()
— откладывает загрузку указанных полей до их фактического использования only()
— загружает только указанные поля, остальные — по запросу exclude()
— фильтрует объекты, исключая ненужныеВ статье — практические примеры на базе веб-приложения для агентства недвижимости: как применять эти методы, чтобы получать только нужные данные и ускорять запросы.
🔗 Подробнее в статье: https://proglib.io/sh/2vagPRorTU
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Для чего могут применять конструкцию try finally без except?
Конструкция try-finally без блока except может применяться в следующих случаях:
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Библиотека собеса по Python
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Библиотека собеса по Python
Какой метод использовался до оператора in для проверки наличия ключа в словаре?
До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key().
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим.
Библиотека собеса по Python
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим.
Библиотека собеса по Python
Зачем нужна pass?
Конструкция pass в Python представляет собой пустой оператор. Она применяется в тех случаях, когда синтаксис требует наличия оператора, но выполнять никаких действий не требуется. Это может быть особенно полезно при создании заглушек для функций, которые будут реализованы позже, или в циклах, где на текущей итерации не нужно выполнять никаких операций.
Библиотека собеса по Python
Библиотека собеса по Python
Как работает метод __new__() в Python?
Метод __new__() отвечает за создание нового экземпляра класса, выделяя необходимую память для объекта. Он вызывается раньше метода __init__(), который уже занимается инициализацией созданного экземпляра. Это особенно важно при работе с неизменяемыми типами, такими как str или int, а также в ситуациях, когда требуется контролировать процесс создания объекта, например, в паттерне Singleton.
Библиотека собеса по Python
Библиотека собеса по Python
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Forwarded from Proglib.academy | IT-курсы
🐍✨ Пиши как профи: 10 Python-лайфхаков для новичков
Лайфхаки от разработчиков, обжёгшихся до вас
➡️ Что вас ждет внутри:
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
📎 Статья
🔵 Начинайте свой путь в программировании и прокачивайте свои навыки с нашим курсом «Основы программирования на Python»
Proglib Academy #буст
Лайфхаки от разработчиков, обжёгшихся до вас
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM