How to Stop assert From Becoming eval in Production
assert with string runs eval. One debug leftover and your server is owned. PHP 7.2 changed it.

How to Stop assert From Becoming eval in Production
assert with string runs eval. One debug leftover and your server is owned. PHP 7.2 changed it.

Careful when using Python's `assert` statement: Normally you can use parentheses to wrap long lines in Python without using backslashes. For `assert` it doesn't work:
assert(some_condition,
"Some description")
This never fails, as Python's `assert` seens an `assert statement with a tuple as condition. This really has to be written like this:
assert some_condition, \
"Some description"
I just fell into that trap for you.
Заменяем лишние if-проверки на assert для инвариантов кода в C/C++
Многие разработчики привыкли везде ставить if-проверки, даже для условий, гарантированных кодом. Зачем проверять то, что не может нарушиться? Такие проверки создают шум в коде и мусор в релизе. Assert решает эту проблему: документирует допущения и исчезает из финальной сборки. В статье покажу все преимущества assert'ов и предостерегу от подводных камней их использования.
https://habr.com/ru/articles/962668/
#C++ #C #assert #инварианты #ifelse #NDEBUG #Design_by_Contract #код_как_документация
Yep, there's a second bug. #clang #thread #sanitizer had nothing to complain, and the output from #assert doesn't help much. So, first step: "pimp your assert" 😂 --- #FreeBSD, like some other systems, provides functions to collect and print rudimentary stacktraces, use these if available:
https://github.com/Zirias/poser/commit/c45dd56312dd05b6bf02a27bf9e39eb31331f05a
Now I got closer, see screenshot. That's enough to understand, the issue is with the global event firing when a #child #process exits, this was used from multiple threads. Ok, it obviously doesn't work that way, so, back to the drawing board regarding my handling for child processes... 🤔
Next #swad release: Soon, so I hope 🙈
[Перевод] Один assert на тест. А может быть, нет?
Команда Spring АйО перевела статью эксперта Михаила Поливахи о том, почему правило о единственном assert'е на тест иногда можно и нужно нарушать.
https://habr.com/ru/companies/spring_aio/articles/913130/
#java #kotlin #assert #test #spring #spring_boot #spring_framework #springboot #testing #testing_strategy
Design by Contract на минималках: пишем assertions и улучшаем устойчивость на Go
Всем привет! Меня зовут Александр Иванов, я старший разработчик в YADRO, работаю над созданием средств управления элементами опорной сети и пишу на Go. Мы с командой разрабатываем продукт для сервисов сотовой связи — качество нашей работы влияет на пользовательский опыт тысяч людей. Поэтому часто мы ищем решения, как повысить устойчивость работы кода в продакшене. Об одном из таких решений я расскажу в этой статье. Design by Contract — подход к проектированию ПО, в котором взаимодействие компонентов системы основано на контрактах. Контракты описывают ожидания вызываемой и вызывающей функции и улучшают производительность кода.
https://habr.com/ru/companies/yadro/articles/888374/
#dbc #design_by_contract #defensive_programming #assertion #assert #продакшен #производительность
Почему мы отказались от выражения «assert» в Python
В текущем проекте на Python мы практически полностью отказались от использования выражений с ключевым словом assert , и в этой статье я расскажу почему. Рассмотрим кейсы где использование выражений assert уместно, а где оно может выстрелить в ногу, и как этого избежать.
https://habr.com/ru/articles/876170/
#python #assert #exception #исключения #pytest #pydantic #линтер #интерпретатор #баги #ошибки