This media is not supported in your browser
VIEW IN TELEGRAM
#Юмор #Тестировщик #Тестирование
❌⛔️💯 Тестировщик нашёл баг.
IT-директор жалуется гендиру:
- Программисты достали. Все косячат, за всеми всё проверять надо.
- Так давай наймём тестировщика.
- Что, чтобы ещё и за ним проверять?
🥸 Знаешь с кем поделиться? 👀📚📃
❌⛔️💯 Тестировщик нашёл баг.
IT-директор жалуется гендиру:
- Программисты достали. Все косячат, за всеми всё проверять надо.
- Так давай наймём тестировщика.
- Что, чтобы ещё и за ним проверять?
🥸 Знаешь с кем поделиться? 👀📚📃
#Юмор
😎 Знания — это ключ к свободе, развитию и уверенности. Они — наша самая мощная инвестиция и главный инструмент на пути к успеху.
🥸 Знаешь с кем поделиться? 👀📚📃
😎 Знания — это ключ к свободе, развитию и уверенности. Они — наша самая мощная инвестиция и главный инструмент на пути к успеху.
🥸 Знаешь с кем поделиться? 👀📚📃
This media is not supported in your browser
VIEW IN TELEGRAM
#ИИ #Нейросети #GibberLink
Три нейросети распознали друг друга и выработали секретный язык — gibberlink.
Происходила демонстрация общение двух независимых голосовых ИИ от ElevenLabs, разыгрывая сцену бронирования отеля.
GibberLink был создан на основе протокола GGWave, который обеспечивает передачу звуковых данных. Разработку возглавил Антон Пидкуйко, и его команда одержала победу на хакатоне в Лондоне, организованном компанией ElevenLabs.
Принцип работы технологии основан на передаче информации через аудиосигналы, что более эффективно, чем традиционное использование английского языка. Кроме того, GibberLink значительно упрощает распознавание звука даже в условиях сильного шума.
🥸 Знаешь с кем поделиться? 👀📚📃
Три нейросети распознали друг друга и выработали секретный язык — gibberlink.
Происходила демонстрация общение двух независимых голосовых ИИ от ElevenLabs, разыгрывая сцену бронирования отеля.
GibberLink был создан на основе протокола GGWave, который обеспечивает передачу звуковых данных. Разработку возглавил Антон Пидкуйко, и его команда одержала победу на хакатоне в Лондоне, организованном компанией ElevenLabs.
Принцип работы технологии основан на передаче информации через аудиосигналы, что более эффективно, чем традиционное использование английского языка. Кроме того, GibberLink значительно упрощает распознавание звука даже в условиях сильного шума.
🥸 Знаешь с кем поделиться? 👀📚📃
This media is not supported in your browser
VIEW IN TELEGRAM
#Юмор #Профессиолал #ИИ
- Тебя спрашивали: "Выпить любитель?". Ты сказал "НЕТ".
А это что значит?
- Я профессионал.
🥸 Знаешь с кем поделиться? 👀📚📃
- Тебя спрашивали: "Выпить любитель?". Ты сказал "НЕТ".
А это что значит?
- Я профессионал.
🥸 Знаешь с кем поделиться? 👀📚📃
This media is not supported in your browser
VIEW IN TELEGRAM
#Юмор #Пылесос #Интеллект
🐈 Робот пылесос с интеллектом внутри. Аналогов нет.
🥸 Знаешь с кем поделиться? 👀📚📃
🐈 Робот пылесос с интеллектом внутри. Аналогов нет.
🥸 Знаешь с кем поделиться? 👀📚📃
ИИ уже контролирует качество подмосковных строек.
Как работает система:
🔸ИИ выявляет нарушения, автоматически формирует задание на проверку
🔸после подтверждения модератором исполнитель обязан устранить проблему в кратчайшие сроки
🔸благодаря этому уже без срывов сроков сданы 150 объектов
Губернатор отметил, что система помогает следить за ходом строительства и быстрее решать проблемы на площадках:
Отказы в выдаче разрешений уже сократились до 30%, а срок выхода на стройку уменьшился до 8 месяцев. Также сформировано более 6 тыс. дорожных карт под конкретные проекты.
Скоро ИИ начнет анализировать проектную документацию, ускорит работу в долевом строительстве и стройнадзоре. Ускорится проверка документов.
🥸 Знаешь с кем поделиться? 👀📚📃
Как работает система:
🔸ИИ выявляет нарушения, автоматически формирует задание на проверку
🔸после подтверждения модератором исполнитель обязан устранить проблему в кратчайшие сроки
🔸благодаря этому уже без срывов сроков сданы 150 объектов
Губернатор отметил, что система помогает следить за ходом строительства и быстрее решать проблемы на площадках:
«ИИ позволяет контролировать важные стройки — от школ и больниц до других соцобъектов. Он фиксирует, хватает ли рабочих и техники, проверяет наличие спецодежды и даже касок на сотрудниках. Уже устранено более 1,7 тыс. недочетов».
Отказы в выдаче разрешений уже сократились до 30%, а срок выхода на стройку уменьшился до 8 месяцев. Также сформировано более 6 тыс. дорожных карт под конкретные проекты.
Скоро ИИ начнет анализировать проектную документацию, ускорит работу в долевом строительстве и стройнадзоре. Ускорится проверка документов.
🥸 Знаешь с кем поделиться? 👀📚📃
#GigaCode #AI-ассистент #GitVerse
Проверка кода теперь на AI
На конференции ЦИПР-2025 СберТех представил
GigaCode-агента — новый AI-инструмент для рецензирования кода.
Он автоматически анализирует изменения в коде, ищет ошибки и уязвимости, а еще дает советы по оптимизации. Это уже не просто AI-помощник — это полноценный участник команды!
Агент может объяснять правки в режиме диалога или же проверять запросы на слияние автоматически. Это помогает сократить время на рутинный код-ревью, бороться с багами и сосредоточиться на более сложных задачах.
🥸 Знаешь с кем поделиться? 👀📚📃
Инструмент доступен бесплатно всем пользователям GitVerse, от одиночных разработчиков до команд.
Проверка кода теперь на AI
На конференции ЦИПР-2025 СберТех представил
GigaCode-агента — новый AI-инструмент для рецензирования кода.
Он автоматически анализирует изменения в коде, ищет ошибки и уязвимости, а еще дает советы по оптимизации. Это уже не просто AI-помощник — это полноценный участник команды!
Я — GigaCode-агент, ваш AI-ассистент в GitVerse.
Сейчас я сосредоточен на работе с запросами на слияние, но это только начало!
В будущем я научусь помогать с задачами любого типа: от управления проектами до автоматизации CI/CD
Агент может объяснять правки в режиме диалога или же проверять запросы на слияние автоматически. Это помогает сократить время на рутинный код-ревью, бороться с багами и сосредоточиться на более сложных задачах.
🥸 Знаешь с кем поделиться? 👀📚📃
Инструмент доступен бесплатно всем пользователям GitVerse, от одиночных разработчиков до команд.
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
Суть:
Проверяет условия в режиме отладки.
Автоматически отключается при запуске с флагом -O (оптимизация).
🥸 Знаешь с кем поделиться? 👀📚📃
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):
assert b != 0, "Деление на ноль невозможно!"
return a / b
print(divide(10, 2)) # 5.0
print(divide(10, 0)) # AssertionError: Деление на ноль невозможно!
Суть:
Проверяет условия в режиме отладки.
Автоматически отключается при запуске с флагом -O (оптимизация).
🥸 Знаешь с кем поделиться? 👀📚📃
Forwarded from #Книга_перемен "#И_Цзын" #мудрость помогает #принимать_решения #толкование #мотивация
📌 Нет такой фразы "Я не могу"!
Сумел один, смогут и другие.
Не смог ни кто, тогда будь первым.
________________________ (Брюс Ли)
Человек создаёт себя делами,
Он такой, что он сделал,
А не такой, что он сказал.
🔥 Чтобы ты не делал,
Ты делаешь себя. 💯
Если твои дела,
Стали задевать других,
Или не оставляют их равнодушными,
Значит ты растёшь.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Сумел один, смогут и другие.
Не смог ни кто, тогда будь первым.
________________________ (Брюс Ли)
Человек создаёт себя делами,
Он такой, что он сделал,
А не такой, что он сказал.
🔥 Чтобы ты не делал,
Ты делаешь себя. 💯
Если твои дела,
Стали задевать других,
Или не оставляют их равнодушными,
Значит ты растёшь.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
assert в Python: краткое и понятное определение
assert — это встроенная инструкция для проверки условий в процессе отладки программы. Если условие ложно, вызывает AssertionError.
🔍 Формальное определение:
assert условие, "Сообщение_об_ошибке" # (опционально)
💡 Простыми словами:
Это "страж", который:
Проверяет, что выражение верно (например, x > 0).
Если нет — немедленно останавливает программу с ошибкой (если не запущен в оптимизированном режиме).
🌟 Ключевые свойства:
Цель: Отлавливает "НЕожиданные" ошибки во время разработки.
Где используется: В тестах, проверках входных данных функций, валидации состояний.
Чем не является:
Не заменяет обработку ошибок через try/except.
Не для проверки пользовательского ввода в продакшне.
________________________________________
✅ Пример на практике:
________________________________________
⚠️ Важно:
Отключается при запуске Python с флагом -O (оптимизация).
Альтернатива для продакшна — явные проверки с if и исключениями.
📌 Вывод: assert — это инструмент разработчика для защиты от "невозможных" ошибок, а не для конечных пользователей.
assert — это встроенная инструкция для проверки условий в процессе отладки программы. Если условие ложно, вызывает AssertionError.
🔍 Формальное определение:
assert условие, "Сообщение_об_ошибке" # (опционально)
💡 Простыми словами:
Это "страж", который:
Проверяет, что выражение верно (например, x > 0).
Если нет — немедленно останавливает программу с ошибкой (если не запущен в оптимизированном режиме).
🌟 Ключевые свойства:
Цель: Отлавливает "НЕожиданные" ошибки во время разработки.
Где используется: В тестах, проверках входных данных функций, валидации состояний.
Чем не является:
Не заменяет обработку ошибок через try/except.
Не для проверки пользовательского ввода в продакшне.
________________________________________
✅ Пример на практике:
def get_positive_number(x):
assert x > 0, "Число должно быть положительным!"
return x ** 2
print(get_positive_number(5)) # 25
print(get_positive_number(-1)) # AssertionError: Число должно быть положительным!
________________________________________
⚠️ Важно:
Отключается при запуске Python с флагом -O (оптимизация).
Альтернатива для продакшна — явные проверки с if и исключениями.
📌 Вывод: assert — это инструмент разработчика для защиты от "невозможных" ошибок, а не для конечных пользователей.
Где применять assert?
#Debug #Assert #Программирование #Тестирование #Валидация #Код #Ошибки
"Assert — не для валидации ввода! Его миссия — ловить невозможные ошибки в коде."
Когда использовать:
• Проверка инвариантов (смотри пример в следующем посте).
• Тестирование приватных методов.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
#Debug #Assert #Программирование #Тестирование #Валидация #Код #Ошибки
"Assert — не для валидации ввода! Его миссия — ловить невозможные ошибки в коде."
def calculate_speed(distance, time):
assert distance >= 0 and time > 0, "Дистанция и время должны быть положительными"
return distance / time
# Правильно: проверка внутренней логики
print(calculate_speed(100, 2)) # 50.0
# Не используйте assert для проверки пользовательского ввода!
# Лучше:
if not (distance >= 0 and time > 0):
raise ValueError("Некорректные данные")
Когда использовать:
• Проверка инвариантов (смотри пример в следующем посте).
• Тестирование приватных методов.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
🔍 Проверка инвариантов в программировании
Инвариант — это условие, которое должно оставаться истинным на протяжении всей работы программы или её части (например, внутри цикла, метода или класса).
assert идеально подходит для проверки инвариантов, так как его задача — обнаруживать нарушения логики кода на ранних этапах.
🎯 Простыми словами:
Это гарантия того, что:
Объект/система находится в корректном состоянии.
Данные соответствуют ожидаемым свойствам.
Логика выполняется без скрытых ошибок.
📌 Примеры инвариантов
1️⃣ Инвариант класса
class BankAccount:
def init(self, balance):
assert balance >= 0, "Баланс не может быть отрицательным" # Инвариант
self.balance = balance
def withdraw(self, amount):
new_balance = self.balance - amount
assert new_balance >= 0, "Недостаточно средств" # Проверка инварианта после изменения
self.balance = new_balance
→ После любых операций баланс должен оставаться >= 0.
2️⃣ Инвариант в цикле
def calculate_factorial(n):
assert n >= 0, "Факториал определён только для n >= 0"
result = 1
for i in range(1, n+1):
result *= i
assert result > 0, "Переполнение или ошибка в вычислениях" # Инвариант цикла
return result
→ Значение result всегда должно быть положительным.
3️⃣ Структурный инвариант данных
def process_users(users):
assert all(isinstance(user, dict) for user in users), "Каждый user должен быть словарём"
assert all("id" in user for user in users), "У всех пользователей должен быть ID"
# Логика обработки...
→ Проверка структуры списка users.
🚀 Почему это важно?
Ловит ошибки сразу — когда нарушается логика программы.
Делает код надёжнее — явно формулирует требования.
Служит документацией — показывает, какие условия критичны для работы.
⚠️ Но: В продакшне инварианты часто заменяют на полноценные исключения (if ... raise ValueError), так как assert отключается при оптимизации.
💡 Идея для поста в Telegram
Хэштеги: #Python #Инварианты #Программирование #ООП #Тестирование #Код
Заголовок:
"Инварианты — стражи вашего кода. Как assert помогает избежать скрытых ошибок?"
Слоган:
"Чем чаще вы проверяете инварианты, тем меньше багов добирается до пользователей (и вашего кошелька)!"
Пример кода:
class Rectangle:
def init(self, width, height):
assert width > 0 and height > 0, "Стороны должны быть положительными"
self.width = width
self.height = height
def area(self):
return self.width * self.height
Обсуждение:
"Какие инварианты вы проверяете в своих проектах? Делитесь в комментариях!"
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Инвариант — это условие, которое должно оставаться истинным на протяжении всей работы программы или её части (например, внутри цикла, метода или класса).
assert идеально подходит для проверки инвариантов, так как его задача — обнаруживать нарушения логики кода на ранних этапах.
🎯 Простыми словами:
Это гарантия того, что:
Объект/система находится в корректном состоянии.
Данные соответствуют ожидаемым свойствам.
Логика выполняется без скрытых ошибок.
📌 Примеры инвариантов
1️⃣ Инвариант класса
class BankAccount:
def init(self, balance):
assert balance >= 0, "Баланс не может быть отрицательным" # Инвариант
self.balance = balance
def withdraw(self, amount):
new_balance = self.balance - amount
assert new_balance >= 0, "Недостаточно средств" # Проверка инварианта после изменения
self.balance = new_balance
→ После любых операций баланс должен оставаться >= 0.
2️⃣ Инвариант в цикле
def calculate_factorial(n):
assert n >= 0, "Факториал определён только для n >= 0"
result = 1
for i in range(1, n+1):
result *= i
assert result > 0, "Переполнение или ошибка в вычислениях" # Инвариант цикла
return result
→ Значение result всегда должно быть положительным.
3️⃣ Структурный инвариант данных
def process_users(users):
assert all(isinstance(user, dict) for user in users), "Каждый user должен быть словарём"
assert all("id" in user for user in users), "У всех пользователей должен быть ID"
# Логика обработки...
→ Проверка структуры списка users.
🚀 Почему это важно?
Ловит ошибки сразу — когда нарушается логика программы.
Делает код надёжнее — явно формулирует требования.
Служит документацией — показывает, какие условия критичны для работы.
⚠️ Но: В продакшне инварианты часто заменяют на полноценные исключения (if ... raise ValueError), так как assert отключается при оптимизации.
💡 Идея для поста в Telegram
Хэштеги: #Python #Инварианты #Программирование #ООП #Тестирование #Код
Заголовок:
"Инварианты — стражи вашего кода. Как assert помогает избежать скрытых ошибок?"
Слоган:
"Чем чаще вы проверяете инварианты, тем меньше багов добирается до пользователей (и вашего кошелька)!"
Пример кода:
class Rectangle:
def init(self, width, height):
assert width > 0 and height > 0, "Стороны должны быть положительными"
self.width = width
self.height = height
def area(self):
return self.width * self.height
Обсуждение:
"Какие инварианты вы проверяете в своих проектах? Делитесь в комментариях!"
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Telegram
Python с нуля к первым деньгам за коды
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
Assert vs Exception
#Python #ОбработкаОшибок #BestPractices #Код #Разработка #Assert
"Assert — для разработчика, Exception — для пользователя. Выбирай инструмент под задачу!"
Различие:
• Assert — для отладки (исчезает в продакшне).
• Exception — для обработки ожидаемых ошибок.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
#Python #ОбработкаОшибок #BestPractices #Код #Разработка #Assert
"Assert — для разработчика, Exception — для пользователя. Выбирай инструмент под задачу!"
# Плохо (assert для валидации API):
def set_age(age):
assert age > 0, "Возраст должен быть положительным" # Ненадежно!
# ...
# Хорошо (используйте исключения):
def set_age(age):
if age <= 0:
raise ValueError("Возраст должен быть положительным")
Различие:
• Assert — для отладки (исчезает в продакшне).
• Exception — для обработки ожидаемых ошибок.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Telegram
Python с нуля к первым деньгам за коды
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
Продвинутые сценарии с assert
#Python #Automation #Testing #Debugging #Программирование #Код
"Используй assert для сложных проверок — сделай код самодокументируемым!"
def process_data(data):
# Проверка типа и структуры данных
assert isinstance(data, list), "Данные должны быть списком"
assert all(isinstance(x, (int, float)) for x in data), "Элементы должны быть числами"
Лайфхаки:
• Комплексные условия с all()/any().
• Проверка типов в прототипах.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
#Python #Automation #Testing #Debugging #Программирование #Код
"Используй assert для сложных проверок — сделай код самодокументируемым!"
def process_data(data):
# Проверка типа и структуры данных
assert isinstance(data, list), "Данные должны быть списком"
assert all(isinstance(x, (int, float)) for x in data), "Элементы должны быть числами"
return [x * 2 for x in data]
print(process_data([1, 2, 3])) # [2, 4, 6]
print(process_data("abc")) # AssertionError
Лайфхаки:
• Комплексные условия с all()/any().
• Проверка типов в прототипах.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Telegram
Python с нуля к первым деньгам за коды
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
Ограничения и альтернативы
#Python #BestPractices #Ошибки #Инструменты #Разработка #Тестирование
Вывод:
• В продакшне заменяйте assert на:
o pytest — для тестов.
o logging — для диагностики.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
#Python #BestPractices #Ошибки #Инструменты #Разработка #Тестирование
"Assert — не панацея. Иногда нужны pytest или logging!"
# Когда assert недостаточно:
# 1. Для тестов → pytest
def test_divide():
assert divide(10, 2) == 5.0 # Лучше в рамках pytest/unitest
# 2. Для логирования → logging
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("Проверка: %s", some_value) # Не исчезнет в продакшне
Вывод:
• В продакшне заменяйте assert на:
o pytest — для тестов.
o logging — для диагностики.
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Telegram
Python с нуля к первым деньгам за коды
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
🎯 Что значит "продакшн" (production) в программировании?
Продакшн (от англ. production) — это реальная рабочая среда, где приложение или сервис используется конечными пользователями.
🔍 Простыми словами:
Это "боевой режим" программы, в отличие от:
Разработки (полный логов и отладка).
Тестирования (искусственные сценарии).
📌 Ключевые признаки продакшн-среды:
Пользователи — система доступна клиентам.
Нагрузка — обрабатывает реальные запросы.
Безопасность — включены все защитные механизмы.
Мониторинг — сбор метрик и логирование ошибок.
Оптимизация — код работает с флагом -O (в Python отключается assert).
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Продакшн (от англ. production) — это реальная рабочая среда, где приложение или сервис используется конечными пользователями.
🔍 Простыми словами:
Это "боевой режим" программы, в отличие от:
Разработки (полный логов и отладка).
Тестирования (искусственные сценарии).
📌 Ключевые признаки продакшн-среды:
Пользователи — система доступна клиентам.
Нагрузка — обрабатывает реальные запросы.
Безопасность — включены все защитные механизмы.
Мониторинг — сбор метрик и логирование ошибок.
Оптимизация — код работает с флагом -O (в Python отключается assert).
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
💡 Как готовят код к продакшну?
Заменяют assert на явные проверки:
# Было (для разработки)
assert user.is_active, "User inactive"
# Стало (для продакшна)
if not user.is_active:
raise ValueError("User inactive")
Убирают debug-логи (или снижают их уровень).
Тестируют на стейджинг-сервере (копия продакшна).
Настраивают мониторинг (логи, алерты).
⚠️ Почему assert опасен в продакшне?
Молчаливые ошибки: При запуске с python -O все assert игнорируются → баги остаются незамеченными.
Неинформативно: В логах будет просто AssertionError без деталей (в отличие от raise ValueError("Описание")).
📢 Пример для Telegram-поста
Хэштеги: #Продакшн #Программирование #DevOps #Безопасность #Python #Код
Заголовок:
"Продакшн — как перестать debug-ить и начать жить"
Слоган:
"Код, который работает у вас на ноутбуке, и код, который вы запускаете в продакшне — это два разных кода!"
Пример:
# Плохо для продакшна
assert payment_successful, "Оплата не прошла"
# Хорошо для продакшна
if not payment_successful:
log.error("Ошибка оплаты: пользователь ID=%s", user_id)
raise PaymentError("Оплата не прошла")
Дискуссия:
Какие самые страшные баги вы ловили в продакшне из-за неправильной подготовки?
Итог: Продакшн — это когда ответственность за код становится реальной, а ошибки стоят денег. Готовьтесь к нему с первого дня разработки!
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Заменяют assert на явные проверки:
# Было (для разработки)
assert user.is_active, "User inactive"
# Стало (для продакшна)
if not user.is_active:
raise ValueError("User inactive")
Убирают debug-логи (или снижают их уровень).
Тестируют на стейджинг-сервере (копия продакшна).
Настраивают мониторинг (логи, алерты).
⚠️ Почему assert опасен в продакшне?
Молчаливые ошибки: При запуске с python -O все assert игнорируются → баги остаются незамеченными.
Неинформативно: В логах будет просто AssertionError без деталей (в отличие от raise ValueError("Описание")).
📢 Пример для Telegram-поста
Хэштеги: #Продакшн #Программирование #DevOps #Безопасность #Python #Код
Заголовок:
"Продакшн — как перестать debug-ить и начать жить"
Слоган:
"Код, который работает у вас на ноутбуке, и код, который вы запускаете в продакшне — это два разных кода!"
Пример:
# Плохо для продакшна
assert payment_successful, "Оплата не прошла"
# Хорошо для продакшна
if not payment_successful:
log.error("Ошибка оплаты: пользователь ID=%s", user_id)
raise PaymentError("Оплата не прошла")
Дискуссия:
Какие самые страшные баги вы ловили в продакшне из-за неправильной подготовки?
Итог: Продакшн — это когда ответственность за код становится реальной, а ошибки стоят денег. Готовьтесь к нему с первого дня разработки!
Знаешь с кем поделиться?
________________________________________
🔥✨🆙 Содержание ✅ В начало 👀🤔⏫
Telegram
Python с нуля к первым деньгам за коды
Что такое assert?
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Assert #Debug #Testing #Программирование #Ошибки
📌 "Assert — твой защитник от скрытых багов. Научись использовать его правильно и делай код надежнее!"
# Синтаксис:
# assert условие, "Сообщение об ошибке"
def divide(a, b):…
#Python #Raise #ValueError
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение raise ValueError("User inactive") в Python используется для генерации исключения с указанием конкретного сообщения об ошибке.
Здесь ValueError — это тип исключения, а "Something went wrong" — это сообщение, которое будет связано с этим исключением.
ValueError — это стандартный класс исключений в Python, который используется, когда функция получает аргумент правильного типа, но с некорректным значением. Например:
🔸 Передано отрицательное число там, где ожидалось положительное.
🔸 Указан неверный параметр в функции.
Знаешь с кем поделиться?
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение raise ValueError("User inactive") в Python используется для генерации исключения с указанием конкретного сообщения об ошибке.
raise ValueError("Something went wrong")
Здесь ValueError — это тип исключения, а "Something went wrong" — это сообщение, которое будет связано с этим исключением.
ValueError — это стандартный класс исключений в Python, который используется, когда функция получает аргумент правильного типа, но с некорректным значением. Например:
🔸 Передано отрицательное число там, где ожидалось положительное.
🔸 Указан неверный параметр в функции.
Знаешь с кем поделиться?
Ключевое слово raise в Python. Пример использования:
Знаешь с кем поделиться?
# Пример 1: Некорректное значение
age = -5
if age < 0:
raise ValueError("Age cannot be negative")
# Пример 2: Неверный формат данных
data = "hello"
if not data.isdigit():
raise ValueError("Data must contain only digits")
Знаешь с кем поделиться?
Telegram
Python с нуля к первым деньгам за коды
#Python #Raise #ValueError
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение…
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение…
Что значит "User inactive"?
Сообщение "User inactive" — это текстовое описание ошибки, которое передается в конструктор класса ValueError. Оно помогает объяснить, почему было вызвано исключение.
Такое выражение:
raise ValueError("User inactive")
оно означает, что программа обнаружила ситуацию, когда пользователь неактивен (например, его аккаунт заблокирован или он не выполнил вход), и это считается ошибкой, требующей обработки.
🔹Как это работает в программе?
Когда выполняется команда raise, программа прерывает выполнение текущего блока кода и "бросает" исключение. Если это исключение не обрабатывается (с помощью блока try-except), программа завершится с выводом трассировки стека (stack trace) и сообщения об ошибке.
Каким будет результат:
🔹 Как обработать это исключение?
Если вы хотите избежать завершения программы при возникновении исключения, используйте блок try-except:
Результат работы кода будет такой:
Здесь:
🔸 try — блок, в котором может возникнуть исключение.
🔸 except ValueError as e — перехватывает исключение типа ValueError и сохраняет сообщение об ошибке в переменной e.
Знаешь с кем поделиться?
Сообщение "User inactive" — это текстовое описание ошибки, которое передается в конструктор класса ValueError. Оно помогает объяснить, почему было вызвано исключение.
Такое выражение:
raise ValueError("User inactive")
оно означает, что программа обнаружила ситуацию, когда пользователь неактивен (например, его аккаунт заблокирован или он не выполнил вход), и это считается ошибкой, требующей обработки.
🔹Как это работает в программе?
Когда выполняется команда raise, программа прерывает выполнение текущего блока кода и "бросает" исключение. Если это исключение не обрабатывается (с помощью блока try-except), программа завершится с выводом трассировки стека (stack trace) и сообщения об ошибке.
def check_user_status(is_active):
if not is_active:
raise ValueError("User inactive")
print("User is active")
# Вызов функции
check_user_status(False)
Каким будет результат:
Traceback (most recent call last):
File "example.py", line 7, in <module>
check_user_status(False)
File "example.py", line 3, in check_user_status
raise ValueError("User inactive")
ValueError: User inactive
🔹 Как обработать это исключение?
Если вы хотите избежать завершения программы при возникновении исключения, используйте блок try-except:
def check_user_status(is_active):
if not is_active:
raise ValueError("User inactive")
print("User is active")
try:
check_user_status(False)
except ValueError as e:
print(f"Caught an exception: {e}")
Результат работы кода будет такой:
Caught an exception: User inactive
Здесь:
🔸 try — блок, в котором может возникнуть исключение.
🔸 except ValueError as e — перехватывает исключение типа ValueError и сохраняет сообщение об ошибке в переменной e.
Знаешь с кем поделиться?
Telegram
Python с нуля к первым деньгам за коды
#Python #Raise #ValueError
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение…
Ключевое слово raise в Python используется для явного вызова исключения (exception). Это позволяет программисту сигнализировать о том, что произошла ошибка или нежелательная ситуация, которая должна быть обработана.
Выражение…