Среди улучшений ASP.NET Core поддержка фильтров обработчиков маршрутов Minimal API, повышение тестируемости обработчиков маршрутов Minimal API, биндинг в контроллерах MVC и контроллерах API с помощью TryParse и не только. Материалом из блога разработчиков делимся к старту курса по разработке на C#.
Программирование *
Искусство создания компьютерных программ
Новости
Звук в DIY проектах
Если ваше хобби/DIY, как и моё, связано с компьютером, то на каком то этапе вам захочется использовать звук. Предлагаю поговорить о звуке и обменяться опытом. Конкретно говорить будем, про запись и воспроизведение звука на компьютере. Возьмем компьютер под управлением Linux, но и под Windows должно работать. Язык для программирования предпочитаю Python.
Обработка Push уведомлений на клиенте при их получении. И немного кода
Привет, Хабр!
При разработке приложения мы столкнулись с проблемой правильной обработки Push (т.н. пушей) уведомлений на стороне клиента.
Ниже расскажу про метод его создания и подключения, сертификаты и возможности для пушей, приведу подробные примеры кода с пояснениями. Также поделюсь некоторыми тонкостями. Например, про логирование информации о получении пуша с применением опции keychain sharing, загрузку картинки в пуш-уведомление и изменение счетчика пушей.
Запустился бесплатный курс «Подготовка к алгоритмическому собеседованию» от Яндекс Практикума
Курс будет полезен разработчикам независимо от уровня алгоритмической подготовки:
- если вы раньше изучали алгоритмы и структуры данных, вы сможете применить их на практике;
- если вы только планируете их изучать, то курс поможет вам сориентироваться и уделять время только тому, что пригодится на собеседованиях.
Код-ревью для начинающих: советы и ориентиры из практики
Привет, Хабр! Сегодня публикуем не совсем обычный для нас текст: решили сделать полезный гайд для новичков в код-ревью. Разобрались, кому нужна и не нужна эта практика, а еще — каких ошибок лучше избежать на старте.
Текст пригодится разработчикам и лидам, которые еще близко не знакомы с код-ревью или хотят упорядочить свои знания, узнать лайфхаки из практики. Если вы тоже захотите внести свою лепту, что-то посоветовать или рассказать историю из опыта — пишите в комментариях.
Фантастические веб-уязвимости и где они обитают
Мы часто слышим в новостях фразы «Хакеры атаковали», «Хакеры взломали», «Хакеры украли» и подобные. Как сообщают legaljobs, хакеры проводят 1 атаку в вебе каждые 32 секунды. По прогнозам cybercrime magazine, ущерб от киберпреступлений к 2025 году составит $10,5 трлн против $3 трлн в 2015 году. Но почему у них получается произвести атаку, как это происходит и кто же они такие, “эти хацкеры”?
Рассмотрим пять основных уязвимостей клиентской части веб-приложений, которые входят или входили до недавнего времени в список OWASP. Постараемся максимально простым языком и с примерами показать, как они работают, из-за чего возникают, а также поделимся инструментами и рекомендациями, как обезопасить себя, пользователя и свой продукт от возможного взлома. Кроме этого, расскажем, какими знаниями, по нашему мнению, должен обладать frontend-разработчик, чтобы не попасть впросак.
Статья предназначена как frontend-разработчикам, которые хотят познакомиться с основными видами уязвимостей на клиенте и методами защиты от них, владельцам продуктов, которые заботятся о безопасности своих пользователей, так и тем, кто искал повод «никогда больше не быть онлайн».
PHDays 2022 примет финал Всероссийского конкурса open source проектов
В этом году на площадке Positive Hack Days пройдет финал первого Всероссийского конкурса open source проектов школьников и студентов по направлению «Кибербезопасность». Мероприятие организовано Кружковым движением Национальной технологической инициативы при поддержке Минцифры, Минобрнауки, Positive Technologies и других IT-компаний России.
Регистрация открыта, работы принимаются до 10 мая.
Пишем аудио-разведчик своими руками
Было бы здорово иногда иметь под рукой программку, которая в наше отсутствие умеет записывать звук со встроенного микрофона нашего ноутбука и передавать его по сети на другой наш комьютер. А тот, в свою очередь, этот звук умел бы воспроизводить в режиме реального времени. Давай попробуем самостоятельно написать такую программу, тем более что это, как оказывается, не так уж и сложно.
Что мы в итоге хотим получить и какой алгоритм работы реализовать:
1. Сервер, который запускается на той машине, пространство вокруг которой мы хотим прослушивать. Он тихо ждёт, пока к нему не подключится клиент. Затем он открывает устройство записи звука, настроенное по умолчанию в системе, и начинает передавать аудио поток на машину клиента. При отключении клиента от сервера, звуковое устройство закрывается, чтобы не тратить ресурсы зря.
2. Клиент, который подключается к серверу и начинает принимать аудио поток и воспроизводить его в режиме реального времени. Для того, чтобы клиент мог правильно (в нужном формате) открыть устройство воспроизведения звука, он получает нужную мета информацию от сервера в Hello сообщении.
Изменения функции append в Go 1.18
Совсем недавно произошел релиз Go 1.18, гвоздем программы стали дженерики. Но про этот факт уже достаточно статей, а мне нечего к ним добавить. Однако, я не смог найти ни одного поста про этот кусочек релиза:
The built-in function append now uses a slightly different formula when deciding how much to grow a slice when it must allocate a new underlying array. The new formula is less prone to sudden transitions in allocation behavior.
Итак под капотом append немного поменялась формула увеличения среза, а именно когда нужно выделить новый базовый массив. И она менее подвержена внезапным изменениям в поведении распределения. И мне хотелось бы привлечь ваше внимание к этому изменению)
По существу о C# 10.0: как нам упростили жизнь — Часть 1
Обзор фичей десятой версии C#
Особенности реализации STL в Clang, GCC и Microsoft С++
Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё.
В первую очередь я поделюсь своим опытом «граблей и багов STL», а также расскажу о почёрпнутом на бескрайних просторах интернета чужом опыте. В перспективе такие знания помогут не только решать поставленные задачи, но и делать это максимально эффективно.
Сортировка подсчётом или почему этот способ игнорируют?
Как я изобрёл весьма быстрый велосипед и узнал, что на нём уже кто-то ездит.
Эффективное хранение графов: матрицы смежности
Так случается, что ограничения не позволяют нам хранить матрицу смежности графа размером n^2. В данной статье я описал, как уменьшить этот размер в 8 раз для ориентированного графа и в 2 раза для неориентированного. Битовая и треугольная матрицы смежности - вот что такое эффективное хранение.
«ПРО//ЧТЕНИЕ»: новый тест Тьюринга экспертов ЕГЭ?
Введение
Бывает, что вам хочется прыгнуть выше головы? С нами такое случается…
Время от времени в мире анализа данных проходят конкурсы с большими денежными призами. В 2006 году компания Netflix объявила о соревновании на миллион долларов по предсказанию оценок фильмов пользователями на основе их предпочтений. В 2019 году AWS, Facebook, Microsoft и другие компании объявили о конкурсе по распознаванию дипфейков Deepfake Detection Challenge с призом в $500,000 за первое место. Да и вообще такие многобюджетные конкурсы проводятся всё чаще и чаще, как видно в таблице ниже. В начале 2020 года в России стартовал конкурс «ПРО//ЧТЕНИЕ», не уступающий этим соревнованиям ни по масштабам, ни по амбициозности задачи. Организаторы конкурса «ПРО//ЧТЕНИЕ» предлагают разработать систему, проверяющую сочинения ЕГЭ по пяти школьным предметам. Общий призовой фонд конкурса составляет 260 млн руб., что с лёгкостью обгоняет описанные выше конкурсы. Участвовать может каждый, и окончательные итоги пока не подведены.
CSS-in-JS в Angular или все-таки CSS?
Всем привет! Меня зовут Всеволод Золотов, я Senior Frontend в компании Bimeister.
CSS-in-JS очень быстро набрал популярность в React-комьюнити, но насколько актуален этот подход в Angular? В данной статье сравним удобство разработки и производительность двух визуально идентичных приложений (time-tracker), написанных с использованием SASS и @emotion/css.
Как сжать fastText, или Приключение на 20 минут
Тема, о которой я хочу вам рассказать, появилась не из-за какого-то оглушительного успеха, громкого провала или желания поделиться каким-то сакральным знанием с и так уже максимально искушённым читателем Хабра. Равно как эта тема не была плодом долгой и кропотливой работы — её не планировали, почти не обсуждали и тем более не утверждали заранее.
Всё выглядело как приключение, после которого остались настолько тёплые воспоминания, что захотелось ими поделиться. Проникнитесь и вы духом приключения, желанием разгадывать загадки и чувством восстановленной справедливости!
И как говорил известный персонаж: «Давай, вошли и вышли, приключение на 20 минут».
Кадр из сериала «Рик и Морти» (англ. Rick and Morty), 3-й сезон, 6-я серия, Adult Swim, 2017 год
OCR за час? — Не думаю
Одним прекрасным вечером коллега попросил подумать над алгоритмом поворота серийных номеров на металлических брусках. Но глобально задача предполагала именно распознавание номеров. Казалось бы, современные коробочные решения должны легко решить нашу задачу. О том, что было на самом деле, и пойдет речь в этой статье.
Как врать с помощью статистики
"Существуют три вида лжи:
- ложь
- наглая ложь
- пропаганда статистика
- источник цитаты в интернете"
Марк Твен (ну или не он)
В данной статье мы рассмотрим, как можно быстро доказать следующие утверждения, смотря на один и тот же источник данных:
- Лошади бегают по часовой стрелке быстрее чем против
- Лошади бегают против часовой стрелки быстрее чем по часовой
- Лошади бегают на более дальние дистанции быстрее (с большей скоростью), чем на короткие
- Лошади бегают на более дальние дистанции медленнее (с меньшей скоростью), чем на короткие
На картинке изображена лошадь на плато (что очень важно для текста статьи)
Обучаем модель W2NER для поиска именованных сущностей в текстах на русском языке
Всем добрый день! Предлагаю рассмотреть архитектуру новой модели W2NER для решения задачи распознавания сущностей в текстах и обучить её работе с русским языком.
Вот что такое тактический Git
Автор книг Dependency Injection in .NET («Внедрение зависимостей на платформе .NET») и Code That Fits in Your Head рассказывает о своём подходе к Git и git stash, позволяющем добиться большой гибкости в работе с кодом. Опытом Марка Симана делимся к старту курса по разработке на С#.
Вклад авторов
-
olegchir 3287.2 -
alizar 3032.2 -
tangro 2672.2 -
haqreu 2566.0 -
DmitrySpb79 2296.0 -
grigoryvp 2158.2 -
MaxRokatansky 2040.2 -
ru_vds 1962.2 -
tagir_valeev 1740.0 -
sahsAGU 1576.6