Обновить
53.48

C# *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Что будет с C#, и при чём здесь Страуструп?

Время на прочтение11 мин
Охват и читатели27K

Я люблю C#. После университета моим первым настоящим проектом по программированию была игра, написанная на Unity. И я сразу же влюбился в этот язык: он казался таким свежим. И был похож на Java… если бы в Oracle по-настоящему заботились о Java, это вернуло бы короткий золотой век Java. Слышал, что с тех пор они перешли на цикл ещё быстрее, так что всё могло измениться.

Я по-прежнему люблю этот язык. Может, он и не самый модный, но всё равно способен делать что угодно. Пример — многопоточность. Думаете, это сложно? Тогда попробуйте в Dart поиграть с Isolate и поймёте, как хорошо иметь C#.

В последние несколько лет меня стала очень беспокоить судьба языка. Я поделился своими мыслями в комментарии здесь. И раз уж комментарий привлёк так много внимания — решил конкретизировать его идеи.

Читать далее

Консольное приложение, которое рисует сердечко на C#

Время на прочтение3 мин
Охват и читатели38K

Данный код не является оптимизированным или идеализированным, он очень простой и будет понятен новичкам(кем я и являюсь), потому надеюсь на понимание). Ну и еще это приложение было создано скорей смеха ради.

Читать далее

Работа с картами. GMAP C#

Время на прочтение6 мин
Охват и читатели29K

На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.

Стояла задача визуализировать на карте положение объектов по известным координатам для дальнейшего анализа и выявления каких-либо закономерностей расположения этих объектов.

Первое что могу порекомендовать из своего опыта – начать работать сразу с WinForm, а не с WPF т.к. проще и больше информации можно добыть именно по ней.

Краткий словарь терминов, которые встретятся в моей статье:

Читать далее

Книга «C# 9 и .NET 5. Разработка и оптимизация»

Время на прочтение11 мин
Охват и читатели17K
image Привет, Хаброжители! В этой книге опытный преподаватель Марк Прайс дает все необходимое для разработки приложений на C#. В пятом издании для работы со всеми основными операционными системами используется популярный редактор кода Visual Studio Code. Издание полностью обновлено и дополнено новой главой, касающейся Microsoft Blazor.

В первой части книги рассмотрены основы C#, включая объектно-ориентированное программирование и новые возможности C# 9, такие как создание экземпляров новых объектов с целевым типом и работа с неизменяемыми типами с использованием ключевого слова record. Во второй части рассматриваются API .NET для выполнения таких задач, как управление данными и запросы к ним, мониторинг и повышение производительности, а также работа с файловой системой, асинхронными потоками, сериализацией и шифрованием. В третьей части на примерах кросс-платформенных приложений вы сможете собрать и развернуть собственные: например, веб-приложения с использованием ASP.NET Core или мобильные приложения на Xamarin Forms.
К концу книги вы приобретете знания и навыки, необходимые для использования C# 9 и .NET 5 для разработки сервисов, веб- и мобильных приложений.
Читать дальше →

Наблюдение за Дистанционным Электронным Голосованием 2021 года (система Waves-РосТелеКом, федеральная)

Время на прочтение27 мин
Охват и читатели11K

Привет Хабр, в 2019 году я разбирался в дистанционном электронном голосовании в МГД, в 2020 у нас было голосование по Конституции, где само голосование прошло хорошо, но номера паспортов неудачно попали в сеть. Ну а в этом году мне, как наблюдателю, удалось получить доступ непосредственно к нодам наблюдения всех 4-ех шардов блокчейна, использовавшегося в федеральном голосовании, получить полный дамп транзакций блокчейна голосования, сравнить его с теми транзакциями, что выложены на официальном сайте и начать его исследование. Как это было и что получилось - под катом

Читать далее

Создание шутера с LeoECS. Часть 3

Время на прочтение8 мин
Охват и читатели6.5K

Друзья, в этой части серии статей мы исправим некоторые баги, возникшие после изменений в предыдущей части, начнем готовить UI и приступим к новым механикам.

Не забудьте прочитать прошлую часть перед прочтением этой.

Читать далее

OWASP Top Ten и Software Composition Analysis (SCA)

Время на прочтение10 мин
Охват и читатели3.6K

Категория A9 из OWASP Top Ten 2017 (ставшая A6 в OWASP Top Ten 2021) посвящена использованию компонентов с известными уязвимостями. Для её покрытия в PVS-Studio разработчикам придётся превратить анализатор в полноценное SCA-решение. Как же анализатор кода будет искать уязвимости в используемых компонентах? И что ещё за SCA? Ответы на эти и многие другие вопросы ждут вас в этой заметке.

Читать далее

AltUnity Tester для автоматизации Unity проектов

Время на прочтение3 мин
Охват и читатели7.2K

AltUnity Tester - это инструмент автоматизации тестирования на основе пользовательского интерфейса с открытым исходным кодом, который помогает находить объекты в вашей игре Unity и взаимодействовать с ними с помощью тестов, написанных на C #, Python или Java.

Читать далее

Ускоряем pow

Время на прочтение7 мин
Охват и читатели34K

В этой статье я хочу поделиться несколькими нестандартными алгоритмами для быстрого возведения числа в степень, а также продемонстрировать их реализацию и сравнить их быстродействие в C++, C# и Java.

Сравнить точность алгоритмов можно прямо сейчас на этой странице.

В конце будет краткая памятка по тому, где и когда лучше применять какой из методов. При правильном выборе можно добиться увеличения скорости вычислений в 5 раз при погрешности ~1%, а иногда и вовсе без неё.

Ускорь мои степени!

Темная сторона DateTime.Now

Время на прочтение8 мин
Охват и читатели19K

DateTime.Now — одно из наиболее часто используемых свойств в .NET Framework. Несмотря на то, что это свойство предназначено для определенных целей, из-за недостатка понимания и сноровки многие .NET-разработчики используют его при неправильных обстоятельствах, когда следует использовать другие доступные (и рекомендованные) варианты, такие как свойство DateTime.UtcNow и класс Stopwatch. В этой статье мы обсудим эти три варианта, область применения каждого из них и проведем количественное сравнение между ними, чтобы показать, почему DateTime.Now во многих случаях обходится нам слишком дорого и не должно быть использовано.

Читать далее

Затачиваем маршрут GPS: несколько способов отфильтровать данные

Время на прочтение7 мин
Охват и читатели9.9K

Привет, меня зовут Сергей и я разработчик в команде мобильного бэкенда в компании ATI.SU. Не так давно в мою жизнь пришла задача. В ней нужно было принять координаты от приложения на Android и отобразить их на карте.

В разных приложениях мы каждый день видим красивые маршруты из разряда "где везут мою шаверму" или "как я пробежал по парку маршрут в виде котика", но если просто соединить линиями точки, которые приходят от телефона, то мы увидим что-то вдохновленное произведением Fatboy Slim - Ya Mama. Как превратить исходные данные в красивую картинку, разберемся в статье.

Читать далее

Обзор нововведений в C# 10

Время на прочтение6 мин
Охват и читатели38K

В данной статье мы рассмотрим новую версию языка C# 10, которая включает в себя небольшой список изменений относительно C# 9. Ниже приведены их описания вместе с поясняющими фрагментами кода. Давайте их рассмотрим.

Читать далее

Первый донат спустя год. FAQ Net — записная книжка, программа заметок (бесплатно)

Время на прочтение3 мин
Охват и читатели13K

Информация, которая хранится в виде файлов на наших компьютерах приобретает смысл лишь тогда, когда она упорядочена по разделам (папкам) и именам файлов.
Но даже самая упорядоченная файловая система нуждается в быстром поиске по всем документам и хочется, чтобы поиск был не только по имени файла и дате создания, но и по содержимому внутри файлов и нескольким словам сразу, независимо от их порядка. Покупая новый компьютер, все начинается с чистого диска и думаешь, что временных файлов больше не буду создавать, но этот мусор все равно накапливается со временем, если мы не пользуемся приложением для заметок. Я пользовался разными приложениями для заметок, всегда не хватало простоты и удобства в поиске информации.

Требования, которые я предъявляю к приложению для заметок

Читать далее

Ближайшие события

Настройка области печати через API nanoCAD

Время на прочтение12 мин
Охват и читатели5.3K

В nanoCAD при настройке параметров печати необходимо выбрать область печати. Если оставить настройку по умолчанию, может быть напечатано совсем не то, что требовалось.

В этой статье мы разберемся, как работать с областью печати через API nanoCAD.

Читать далее

Ведение семейных финансов на C# и Xamarin. Личный опыт

Время на прочтение11 мин
Охват и читатели18K

В данной статье пойдет речь о том, как через тернии костылей и багов я в итоге достиг приличного уровня автоматизации учета семейных финансов.

Автор сей статьи имеет крайне посредственные скиллы разработки, так что некоторые технические решения могут оскорбить чувства профессиональных программистов на C# и разработчиков приложений для Android.

За всеми подробностями прошу под кат.

Читать далее

Упрощённые рейкасты в Unity

Время на прочтение8 мин
Охват и читатели10K

Всем привет, меня зовут Григорий Дядиченко, и я технический продюсер. Недавно я столкнулся с одной интересной задачкой в ходе реализации проекта, и подумал что стоит наверное рассказать про физику в Unity, про нюансы работы с ней и про то, какие существуют альтернативные варианты в решении разных задач. Как связывать это всё дело с EventSystem и расширять Unity классы. Если вам это интересно - добро пожаловать под кат.

Читать далее

Разработка Unity плагинов для iOS и Android

Время на прочтение23 мин
Охват и читатели5.4K
Есть куча ситуаций когда одной Unity недостаточно и нужно использовать возможности платформы. Банально, но до сих пор, в Unity нет работы с галерей и камерой из коробки. Понятно, что Unity не ограничивается мобильными платформами, но 60-70% всех мобильных игр, как бы говорят:

image
Читать дальше →

Книга «ASP.NET Core в действии» в правильном переводе команды DotNetRu

Время на прочтение4 мин
Охват и читатели32K

Полтора года назад мы рассказывали про опыт совместной работы нашего сообщества DotNetRu с издательством ДМК Пресс над переводом книги Конрада Кокосы «Управление памятью в .NET для профессионалов». Напомним суть: издатель делал первоначальный перевод, а ребята из сообщества в качестве экспертов доводили текст до ума, пока кровь из глаз не превратилась в слезы счастья. В итоге книга была успешно напечатана и выпущена в продажу, а эксперимент признан успешным.

И сегодня мы рады представить вам наш следующий совместный проект: книга Эндрю Лока «ASP.NET Core в действии» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

Читать далее

OpenSilver. Воскрешаем Silverlight

Время на прочтение3 мин
Охват и читатели10K

12 октября Майкрософт прекращает поддержку Silverlight. С одной стороны - ок, все равно никто им уже не пользуется. А с другой, выясняется, что есть много компаний, которые 10 лет назад написали свои внутренние продукты на Silverlight, и успешно все это время работают. А сейчас нет ни людей, знакомых с бизнес логикой этих приложений, ни времени/возможности/знаний все это переписать с нуля.

Мы попытались бросить соломинку таким компаниям и выпустили OpenSilver - бесплатную  опенсорс реализацию Silverlight, которая работает во всех современных браузерах через WebAssembly.

Читать далее

C#: Автоматизация Android без посредников (adb)

Время на прочтение6 мин
Охват и читатели20K

Часто приходится автоматизировать то или действие, андроид приложения не являются исключениями.Конечно, все в этом случае прибегают к различным фреймворкам - Appium, Detox, UI Automator, Ranorex, но все эти приложения созданы для тестирования, соответственно потребляют больше ресурсов и их скорость оставляет желать лучшего.Однако есть выход - автоматизировать приложения напрямую с adb, для этого я и дописал эту библиотеку. Она ничем не уступает по возможностям этим фреймворкам , но при этом является достаточно простой и легко разворачиваемой на любой машине. Об этой библиотеке и пойдет речь в статье.

Читать далее

Вклад авторов