За 2023 год разработчиками PVS-Studio было написано немало статей о проверке Open Source C#-проектов. По традиции мы делимся с вами 10-ю самыми интересными ошибками, найденными за этот год. Приятного чтения!
Пользователь
Брак, шлак, две утяжины. Как «построить» производство и не рехнуться. Серия 1
Как не дать производству тебя нагреть и заставить его сделать качественно. Инсайд от производственника и чек-лист от профессионального заказчика.
Молодые математики открывают новую главу в изучении простых чисел
Более 2000 лет назад греческий математик Эратосфен разработал метод поиска простых чисел, получивший название решето Эратосфена, который остаётся актуальным по сей день. Его идея заключалась в том, чтобы определять простые числа вплоть до заданной точки путём постепенного «отсеивания» тех, которые таковыми не являются. Начинается отсев с вычёркивания всех чисел, кратных 2 (кроме самой 2), затем кратных 3 (кроме 3). Следующее число, 4, уже оказывается вычеркнуто, значит, очередным шагом идёт вычёркивание всех чисел, кратных 5 и так далее. Все оставшиеся в итоге числа считаются простыми, то есть такими, которые делятся только на 1 и на самих себя.
Эратосфен работал со всем множеством простых чисел, но вы можете использовать вариации его метода для поиска таких, которые будут обладать особыми свойствами. Хотите найти «близнецов», которые отличаются всего на 2 единицы, например, 11 и 13 или 599 и 601? Для этого есть свой отсев. Интересуют простые числа, которые на 1 больше полного квадрата, например, 17 или 257? И для этого тоже есть свой отсев.
Взлом YouTube для быстрого скачивания видео
Но главным врагом для этих программ остаются даже не правообладатели, а злобная корпорация Google, которая постоянно вносит изменения в YouTube API, чтобы
Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
От желания управлять газовым котлом удалённо до полной автоматизации отопления дома
В статье расскажу про свой путь разработки DIY железок для работы с Home Assistant с целью автоматизации отопления в частном доме.
Глава 0: предыстория
Захотелось построить дом. Дом построили, встал вопрос с отоплением и управлением, а так как в доме иногда отсутствовали по несколько месяцев, то переплачивать за газ не очень-то и хотелось. Газа ведь магистрального нет, но «мы скоро проведем». До этого «скоро» закопали газгольдер, а газ там в +-10 раз дороже магистрального. Пытливый ум решил: будем поддерживать в доме температуру 15 градусов, когда там никого нет. Как это сделать? Повесить контроллер/термостат для котла.
Капибара, Новый Старый Пикабу
Пикабу долгое время было уютным уголком для обмена историями, опытом, творчеством, мнениями и эмоциями. Однако ряд нововведений, таких как отмена баянометра, изменение алгоритмов и скрытие отрицательных оценок, привели к потере духа оригинального портала. Многие из нас, пришедшие туда в молодости и теперь ставшие взрослыми, почувствовали, что наши ценности и мнения игнорируются. В ответ на это, мы, группа энтузиастов, создали "Капибару" – проект, который стремится сохранить лучшие стороны Пикабу, предоставляя пространство где пользователи сами решают какой контент "годный" и какой контент хотят видеть в своей ленте.
Технический долг захватил глобальную экономику
Термином «технический долг» обычно называют сокращённые или субоптимальные подходы в процессе разработки ПО. Проявляется он в виде неудачно спроектированного кода, устаревших компонентов и отсутствия документации. В то время, как правильно написанные код и документация служат бессрочно, компоненты и используемые подходы – нет. Программное обеспечение и его составляющие со временем могут становиться техническим долгом. Расцвет индустрии ПО пришёлся на далёкие 80-е годы, поэтому то, что мы сегодня начинаем сталкиваться с полностью устаревшими концепциями, процессами и системами, является относительно новым явлением.
Record structs в C#: эффективные и безопасные типы данных
C# 9 представил новую функцию, называемую Запись (record), которая обеспечивает неизменяемость и семантику сравнения на основе значений для классов. Записи упрощают создание типов данных и обеспечивают лучшую безопасность при работе с ними. Однако до C# 10 они были доступны только для классов, теперь же у нас есть record struct, позволяющие применить те же преимущества Записей и к структурам.
В этой статье мы рассмотрим что такое записи для структур, примеры их использования и обсудим, как они могут быть полезны в реальных проектах.
ООП мертв, да здравствует ООП
Концепцию ООП часто применяют для отражения объектов реального мира в коде программ. Так объект реального мира "Пользователь" может быть описан в коде как класс "Пользователь", у которого есть поля: имя и адрес электронной почты, а действия, которые можно совершить над объектами реального мира, превращаются в методы класса: назначить администратором, удалить учетную и т.д.
Автомаппер для бедных
После первого знакомства с библиотекой AutoMapper многие испытали вау-эффект. Круто, можно маппить обьекты, можно писать запросы поверх DTO (проекции) и все магическим образом работает (ну или приходится верить, что работает). Это ли не чудо?
Однако, с опытом, стали очевидны недостатки использования этой библиотеки и их достаточное количество. А что если обойтись без автомаппера?
Книга «C# 10 и .NET 6. Современная кросс-платформенная разработка»
Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6.
Вы изучите принципы объектно-ориентированного программирования, научитесь писать, тестировать и отлаживать функции, реализовывать интерфейсы и наследовать классы. В издании рассматриваются API .NET, призванные решать такие задачи, как управление данными и их запросами, мониторинг и повышение производительности, а также работа с файловой системой, асинхронными потоками, сериализацией и шифрованием. В книге приведены примеры кода кросс-платформенных приложений, веб-сайтов и служб, которые вы можете создавать и развертывать на основе ASP.NET Core.
Что такое мат.анализ и с чем его едят?
Давайте знакомиться: я Меликян Маргарита, кандидат физико-математических наук, уже 4й год работаю на мехмате МГУ и кафедре высшей математики МФТИ, а также несколько лет как преподаю в ШАД Helper. Преподаю я как разнообразные курсы из блока анализа, так и вероятностного блока, и сегодня я хочу немного поговорить о том, каково это – осваивать математический анализ и каких ошибок следует избегать, какие лайфхаки применить.
Первая препона, с которой сталкивается человек в самом начале освоения новой дисциплины, даже если он это делает “под присмотром” преподавателя – это литература. На что нужно обращать внимание и ориентироваться при выборе?
Wi-Fi роутер научили обнаруживать людей в комнате
Представьте, что ваш Wi-Fi роутер превратится в устройство слежения. Звучит антиутопично? Но исследователи из Университета Карнеги-Меллона уверяют, что это хорошая идея для помощи пожилым людям. С помощью Wi-Fi маршрутизаторов, нейросетей и глубокого обучения они смогли создать изображения субъектов в комнате в полный рост.
Высокопроизводительные вычисления на страже твоего комфорта — как супер-ЭВМ каждый день меняют нашу жизнь?
Суперкомпьютеры уже давно влияют на нашу жизнь способами, о которых большинство из нас даже не догадываются. Результаты, получаемые с помощью высокопроизводительных вычислений, используются в каждодневной рутине любого человека — прогноз погоды, просмотр фильмов, управление онлайн-банкингом и множество других, казалось бы, обыденных действий. Ученые и корпорации используют этих электронных зверей для решения множества прикладных задач.
Обзор книги «Data Science. Наука о данных с нуля», отличная книга для начинающих
Всем доброго времени суток! Так как о Data Science мы слышим всё чаще и чаще, предлагаю вам обзор книги, что будет полезна для начинающих.
Публикую обзор книги с моего телеграмм-канала IT-старт t.me/it_begin на книгу "Data Science.Наука о данных для начинающих".
Автор книги Джоэл Грас.
Стоит читать? Да! Почему? Опишу в статье.
Работа с SQL Server в C# с помощью скриптинга. Часть 1
В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я уделю настройке под macOS. В конце концов, код для этих платформ будет одним и тем же.
Как писать конспекты на компьютере быстрее, чем от руки, при помощи VS Code
Привет всем!
В этой статье говорится о том, как я конспектирую на компьютере, а точнее описываются способы ускорения набора LaTeX-овского текста.
Какая температура в вакууме
Хомяки приветствуют вас друзья!
Сегодняшний пост будет посвящен вибровакуумной установке с помощью которой, можно дегазировать различные смеси, жидкости, стабилизировать древесину, консервировать старинные находки и даже получать плазму. В ходе поста узнаем, какую глубину вакуума способен достичь двухступенчатый пластинчато-роторный насос, почему в процессе работы у него мутнеет масло и какую резину следует использовать в подобных устройствах. Пост обещает быть полезным, как сотня лечебных банок, помогающих от всех болезней. Но это не точно!
Дельта компрессия и квантизация объектов в C#
Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам.
В первую очередь это касается реалтайм игр, которые критичны к сетевым задержкам, имеют активное общение клиента и сервера, например, 10 - 60 раз в секунду и используют UDP протокол.
В статье вы узнаете, как с помощью дельта компрессии и квантизации можно уменьшить размер объектов и, тем самым, уменьшить размер сериализованных данных. Попутно мы познакомимся с библиотекой для битовой сериализации данных NetCode.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность