К старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат.
Рубрика «null»
Поговорим о фичах в предварительной версии C# 11
2022-02-28 в 20:55, admin, рубрики: .net, C#, csharp, null, open source, skillfactory, Блог компании SkillFactory, дизайн, интерполяция, итераторы, проверки, Программирование, строки, строки кодаNull safety в Dart
2020-08-02 в 9:38, admin, рубрики: dart, flutter, null, null safety, safety, разработка мобильных приложенийПривет! Представляю вашему вниманию перевод статьи «Announcing sound null safety» автора Filip Hracek с моими комментариями:
Null safety — безопасная работа с пустыми ссылками. Далее по тексту для краткости и по причине устойчивости термина будет использоваться английское наименование null, null safety. Да и перевод «нулевая безопасность» наводит совсем на противоположные мысли.
sound — в данном контексте (sound null safety) можно перевести как «надежный».
Если есть предложения по улучшению перевода или нашли ошибки — пишите в личку, постараемся исправиться.
Наступил важный этап для команды Dart с их представлением технического превью наработок по null safety. Null safety позволяет избежать целого класса ошибок, которые часто трудно обнаружить, а в качестве бонуса обеспечивает ряд улучшений производительности. На данный момент мы выпустили предварительное техническое превью и ждем от вас обратной связи.
В этой статье мы раскроем планы команды Dart по развертыванию null safety, а также объясним, что скрывается за термином Sound null safety, и чем этот подход отличается от других языков программирования.Читать полностью »
Как можно и как нельзя использовать нулевой указатель в С++
2020-07-30 в 12:23, admin, рубрики: c++, clang, Cpp, gcc, MSVC, null, promwad, нулевые указатели, Программирование, Производство и разработка электроники, Разработка под Linux, С++
Некоторым этот банальный вопрос уже набил оскомину, но мы взяли 7 примеров и попытались объяснить их поведение при помощи стандарта:
struct A {
int data_mem;
void non_static_mem_fn() {}
static void static_mem_fn() {}
};
void foo(int) {}
A* p{nullptr};
/*1*/ *p;
/*2*/ foo((*p, 5));
/*3*/ A a{*p};
/*4*/ p->data_mem;
/*5*/ int b{p->data_mem};
/*6*/ p->non_static_mem_fn();
/*7*/ p->static_mem_fn();
Null проблема в Data Science и Machine Learning
2020-02-17 в 2:40, admin, рубрики: data engineering, data science, machine learning, NaN, natural language processing, None, null, Алгоритмы, машинное обучение, СемантикаСуществующее определение Null в Data Science сильно ограничено. Приложив немножко усилий? мы значительно улучшим обработку данных, ранее попадаемых в Null.
«Нулевой» ад и как из него выбраться
2019-12-09 в 8:33, admin, рубрики: null, null hell, nullpointerexception, php, Блог компании FunCorp, Программирование, Проектирование и рефакторинг, Совершенный кодЗначения null, при бездумном их использовании, могут сделать вашу жизнь невыносимой и вы, возможно, даже не понимаете, что именно в них причиняет такую боль. Позвольте мне объяснить.
Не шутите с NULL
2019-08-16 в 6:45, admin, рубрики: null, Блог компании ua-hosting.company, Курьезы, обработка пользовательского ввода, Программирование, Проектирование и рефакторинг, Развитие стартапа, типизация, хранение данныхДостойная пятницы история приключилась с американским исследователем в области безопасности Джозефом Тартаро (Joseph Tartaro). Захотелось ему выделиться, заказав не просто индивидуальный номер на авто, но и связав его со своим ремеслом. Первой мыслью было поиграться с SEGFAULT или чем-то вроде этого. Но в итоге он остановился на номере NULL для своей машины и VOID для своей жены. Почуяли неладное? О том, чем обернулась для него невинная шалость, о ещё одном курьёзном мистере Null и о поучительных багах при проверке типов данных в пользовательском вводе, читайте под катом.
Хакер жалуется на полицию: его автомобиль с номерным знаком NULL получил штрафов более чем на $12 000
2019-08-14 в 14:20, admin, рубрики: null, ненормальное программирование, обработка изображений, распознавание символов, Тестирование IT-систем, Тестирование веб-сервисов, штрафные квитанции
Её дочь зовут Помогите! Меня заставляют подделывать паспорта
Специалист по безопасности под ником Droogie решил, что на его новом автомобильном номере должно быть написано NULL. В основном ради шутки, но был и скрытый смысл. Он надеялся, что благодаря такому хаку сможет избежать штрафов за превышение скорости (по понятной причине). Вышло совсем наоборот, о чём исследователь рассказал на хакерской конференции DEF CON 2019 в своём выступлении 11 августа.
Читать полностью »
Шестая проверка Chromium, послесловие
2019-02-04 в 8:08, admin, рубрики: C, c/c++, c++, chromium, code review, Google Chrome, malloc, memset, null, open source, pvs-studio, static code analysis, undefined behavior, Блог компании PVS-Studio, обработка ошибок, Си, статический анализ кода, статический анализатор кода
В начале 2018 года в нашем блоге появился цикл статей, посвящённый шестой проверке исходного кода проекта Chromium. Цикл включает в себя 8 статей, посвященных ошибкам и рекомендациям по их предотвращению. Две статьи вызвали бурное обсуждение, и до сих пор на почту мне изредка приходят комментарии касательно тем, затронутых в них. Пожалуй, следует дать некоторые дополнительные пояснения и, как говорится, расставить точки над i.
Читать полностью »
Null, великий и ужасный
2016-09-12 в 0:31, admin, рубрики: .net, C#, null, антипаттерны, ооп, ошибки дизайна, паттерны, Программирование, Проектирование и рефакторингОшибка дизайна
Именно так и никак иначе: null в C# — однозначно ошибочное решение, бездумно скопированное из более ранних языков.
- Самое страшное: в качестве значения любого ссылочного типа может использоваться универсальный предатель — null, на которого никак не среагирует компилятор. Зато во время исполнения легко получить нож в спину — NullReferenceException. Обрабатывать это исключение бесполезно: оно означает безусловную ошибку в коде.
- Перец на рану: сбой (NRE при попытке разыменования) может находится очень далеко от дефекта (использование null там, где ждут полноценный объект).
- Упитанный пушной зверек: null неизлечим — никакие будущие нововведения в платформе и языке не избавят нас от прокаженного унаследованного кода, который физически невозможно перестать использовать.
Этот ящик Пандоры был открыт еще при создании языка ALGOL W великим Хоаром, который позднее назвал собственную идею ошибкой на миллиард долларов.
ООП будущего: Барух Садогурский и Егор Бугаенко о том, как мы будем программировать через 20 лет
2016-09-01 в 7:27, admin, рубрики: fun, java, joker, null, oop patterns, setters and getters, Блог компании JUG.ru Group, оопКонцепция объектно-ориентированного программирования воспринимается разработчиками по-разному: кто-то говорит, что ей уже пора на свалку истории; кто-то кодит и не задумывается о том, что, как и почему он делает; а кто-то пытается работать в «pure OOP» парадигме, переворачивая классические паттерны с ног на голову.
В преддверии Joker 2016 мы попросили Баруха Садогурского обсудить судьбу Java и ООП с Егором Бугаенко. Что из этого получилось, слушайте в аудиоформате или смотрите в видео:
А под катом лежит полная расшифровка интервью со всеми ссылками.
Читать полностью »