🐍 Как скрыть чувствительные данные в отчётах об ошибках в Django
В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.
Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().
🔗 Читать статью
В Django есть встроенная функция отправки сообщений об ошибках приложения небольшому списку администраторов. Нужно просто настроить параметр ADMINS и подготовить приложение к отправке электронных писем. Все ошибки (со статусом 500 и выше) будут вызывать отправку нового сообщения со всеми деталями.
Это удобно, но такие сообщения могут содержать конфиденциальную информацию (пароли, номера кредитных карт, личные данные и т.д.). Статья в блоге Гонсало Валерио посвящена методам фильтрации таких чувствительных данных с помощью декораторов @sensitive_variables() и @sensitive_post_parameters().
🔗 Читать статью
👏10
Что делает yield в Python?
Это оператор, который используется в генераторных функциях вместо
Если мы имеем дело с генераторной функцией, то каждый раз, когда внутри неё встречается
📎 Пример генераторной функции с
#вопросы_с_собеседований
Это оператор, который используется в генераторных функциях вместо
return
. Обычная функция завершает работу если встретилось выражение return
, или закончился код функции, или возникло исключение. После выполнения функции, управление возвращается. Если мы имеем дело с генераторной функцией, то каждый раз, когда внутри неё встречается
yield
, выполнение приостанавливается и возвращает значение. При следующем запросе, генератор начинает работать с того же места, где он завершил работу в прошлый раз. Так как оператор yield
не завершает работу генератора, он может использоваться несколько раз.yield
:def simple_generator():
yield "Hello"
yield "World"
gen = simple_generator()
print(next(gen)) # Выводит "Hello"
print(next(gen)) # Выводит "World"
#вопросы_с_собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35❤5🤔3🥱1
👩🏻💻📓 Гайд по последовательностям в Python
Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.
Новое руководство на Real Python рассматривает:
• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.
🔗 Читать статью
Последовательность — это структура данных, которая содержит элементы, организованные в определённом порядке. Доступ к этим элементам можно получить через обращение по индексу. В Python основные типы последовательностей — это списки, кортежи и строки.
Новое руководство на Real Python рассматривает:
• Характеристики последовательностей;
• Общие операции над последовательностями;
• Специальные методы последовательностей;
• Классы Sequence и MutableSequence;
• Создание пользовательских изменяемых и неизменяемых последовательностей.
🔗 Читать статью
👍10❤2
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
😁11👍1
Чем занимались и ещё планируете заняться на майских?
Anonymous Poll
20%
Шашлыками ♨️
12%
Поеду в небольшое путешествие ✈️
35%
Буду обучаться чему-нибудь новому 🎓
17%
Буду заниматься пет-проектами 🐶
21%
Переделаю домашние дела 🏠
28%
Буду работать 👨🏻💻
21%
Посвящу свободное время своим хобби 🎸
30%
Буду разлагаться на диване 🛋️
🤔7🔥4🌚3👍2
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.
В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍4❤3
🦾🧠🏋️Качаем мозги к лету!
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных35 990 ₽ 21 594 ₽
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.
➡️ Алгоритмы и структуры данных
⭐️ Переходите и активируйте бесплатные вводные занятия курса — https://proglib.io/w/da6727d1
Вас ждут:
– 150 практических заданий и 47 видеолекций
– бессрочный доступ к обучению
– поддержка преподавателя в чате
А также очень харизматичный спикер из Яндекса 🙌🏻
❤2
Новый #дайджест материалов по Python
🐍 Новости мира Python за апрель 2024
Это очередной выпуск подкаста MoscowPython, в котором обсуждают релиз ruff 0.4.0, сборку CPyhon из исходников, PEP-744 Jit Compilation и др.
🐍 Погружение в метаклассы в Python
Автор статьи на «Хабре» попытался последовательно объяснить метаклассы, начиная с базовых понятий.
🐍 Прокт PySheets
Состоялся бета-релиз PySheets, проекта, который позволяет исследователь данные и создавать отчёты. При этом весь код Python выполняется в браузере.
🐍 Изгиб питона: 6 взглядов на игру из 1970-х
Это статья от Яндекс Практикума, которая рассказывает, как написать игру «Змейка» для портфолио в шести вариантах — с «отравой», сбрасыванием хвоста, а также барсуками и кошками.
🐍 Django: An admin extension to prevent state leaking between requests
Статья обсуждает проблему утечки состояния между запросами в админке Django из-за неправильного использования переменных экземпляра в классе ModelAdmin.
🐍 Новости мира Python за апрель 2024
Это очередной выпуск подкаста MoscowPython, в котором обсуждают релиз ruff 0.4.0, сборку CPyhon из исходников, PEP-744 Jit Compilation и др.
🐍 Погружение в метаклассы в Python
Автор статьи на «Хабре» попытался последовательно объяснить метаклассы, начиная с базовых понятий.
🐍 Прокт PySheets
Состоялся бета-релиз PySheets, проекта, который позволяет исследователь данные и создавать отчёты. При этом весь код Python выполняется в браузере.
🐍 Изгиб питона: 6 взглядов на игру из 1970-х
Это статья от Яндекс Практикума, которая рассказывает, как написать игру «Змейка» для портфолио в шести вариантах — с «отравой», сбрасыванием хвоста, а также барсуками и кошками.
🐍 Django: An admin extension to prevent state leaking between requests
Статья обсуждает проблему утечки состояния между запросами в админке Django из-за неправильного использования переменных экземпляра в классе ModelAdmin.
👍9❤1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🅾️ Что такое «О» большое: объясняем на простых примерах
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
👍9🥰1
📊 Результаты ежегодного опроса разработчиков Django 2023
Опрос проводили в сентябре-октябре 2023 года. В нём участвовали около 4000 разработчиков Django со всего мира. Приводим часть результатов. Целиком можно посмотреть по этой ссылке 👈
Опрос проводили в сентябре-октябре 2023 года. В нём участвовали около 4000 разработчиков Django со всего мира. Приводим часть результатов. Целиком можно посмотреть по этой ссылке 👈
👍16👏3❤2🔥1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍23🥰6❤4🔥3🎉3
🐍 UTF-8 станет режимом кодирования по умолчанию в Python
Это случится благодаря принятию PEP 686. Предложение должно вступить в силу, начиная с Python версии 3.15. Это изменение нацелено на унификацию стандартной кодировки для файлов, ввода/вывода и каналов (pipes).
Пользователи смогут отключить режим UTF-8 по умолчанию, установив переменную окружения
Это изменение кажется вполне логичным, ведь UTF-8 де-факто давно стал стандартом кодирования.
👉 Прочесть про это подробнее можно здесь
Это случится благодаря принятию PEP 686. Предложение должно вступить в силу, начиная с Python версии 3.15. Это изменение нацелено на унификацию стандартной кодировки для файлов, ввода/вывода и каналов (pipes).
Пользователи смогут отключить режим UTF-8 по умолчанию, установив переменную окружения
PYTHONUTF8=0
или флаг -X utf8=0
.Это изменение кажется вполне логичным, ведь UTF-8 де-факто давно стал стандартом кодирования.
👉 Прочесть про это подробнее можно здесь
👍40👏4
Numba — это компилятор с открытым исходным кодом, использующий JIT (Just-in-time). Посмотрим на примере, как именно он ускоряет функции в Python.
def factorial(x):
f = 1
for i in range(1, x+1):
f *= i
return f
%time a = factorial(100000)
Она отрабатывается за:
CPU times total: 4.09 s
Wall time: 4.11 s
from numba import jit
@jit(nopython=True, fastmath=True)
def factorial(x):
f = 1
for i in range(1, x+1):
f *= i
return f
%time a = factorial(100000)
Этот код уже отработал за:
CPU times total: 154 ms
Wall time: 255 ms
from numba import jit
@jit(nopython=True, fastmath=True, cache=True)
def factorial(x):
f = 1
for i in range(1, x+1):
f *= i
return f
%time a = factorial(100000)
Его эффект будет заметен при повторных вызовах функции с одними и теми же параметрами. Время выполнения может сократиться до нескольких ms.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38👏17❤8🔥1
🐍✨ Pygments — библиотека для подсветки синтаксиса
Позволяет красиво отображать исходный код в различных текстовых форматах. Библиотека поддерживает более 500 языков программирования и форматов данных, что делает её универсальным инструментом для интеграции в веб-форумы, вики и другие приложения, где необходимо визуально форматировать код.
😎 На днях вышел Pygments 2.18.0
🔗 Ссылка на репозиторий Pygments
Позволяет красиво отображать исходный код в различных текстовых форматах. Библиотека поддерживает более 500 языков программирования и форматов данных, что делает её универсальным инструментом для интеграции в веб-форумы, вики и другие приложения, где необходимо визуально форматировать код.
😎 На днях вышел Pygments 2.18.0
🔗 Ссылка на репозиторий Pygments
👍14😁4