.NET — TechCave

.NET

Стена группы

Загрузка...
1 месяц назад
#

Ищем ошибки в исходном коде Amazon Web Services SDK для .NET



Picture 1



Приветствую всех любителей покритиковать чужой код. smile Сегодня в нашей лаборатории новый материал для исследования — исходный код проекта AWS SDK для .NET. В своё время мы писали статью о проверке AWS SDK для C++. Тогда не нашлось ничего особо интересного. Посмотрим, чем нас порадует .NET версия AWS SDK. Хорошая возможность в очередной раз продемонстрировать возможности анализатора PVS-Studio, а также сделать мир немного совершеннее.

Источник
Загрузка...
1 месяц назад
#

Если окна окрывают, значит — это кому-нибудь нужно



Однажды мне потребовалось открыть окно из консольного приложения. Я хотел это сделать используя wpf, но информации, разбросанной по сети оказалось мало, так что я решил как-то систематизировать и представить этот маленький туториал.

Источник
Загрузка...
Den
1 месяц назад
#

Новые голосовые приложения на C# в 3CX v16



3CX v16 уже на подходе, и у нас есть отличные новости о нашем приложении для разработчиков Call Flow Designer. В новом релизе CFD использует новый скриптовый «движок», интегрированный в ядро сервера 3CX. Благодаря выполнению скриптов в ядре АТС, производительность голосовых приложений значительно возросла. Кроме того, такой подход открывает доступ к множеству внутренних «продвинутых» функций SIP-ядра. В результате вы получаете эффективный инструмент для создания еще более функциональных голосовых приложений.

Источник
Загрузка...
2 месяца назад
#

Корректный ASP.NET Core



Корректный ASP.NET Core



Специально для любителей книг из серии «С++ за 24 часа» решил написать статью про ASP.NET Core.



Если вы раньше не разрабатывали под .NET или под какую-то аналогичную платформу, то смысла заходить под кат для вас нет. А вот если вам интересно узнать что такое IoC, DI, DIP, Interseptors, Middleware, Filters (то есть все то, чем отличается Core от классического .NET), то вам определенно есть смысл нажать на «Читать дальше», так как заниматься разработкой без понимания всего этого явно не корректно.



Источник
Загрузка...
2 месяца назад
#

Ctrl-Alt-Del: учимся любить легаси-код





Какое отношение к легаси-коду имеют «Звёздные войны», группа «Тату» и сочетание «Ctrl-Alt-Del»? Как быть, когда приходишь в большой проект и сталкиваешься с пропастью непонятного старого кода? И как эффективнее донести до начальства, что трудозатраты на ликвидацию технического долга оправдывают себя?

Доклады
Дилана Битти не обходятся без шуток, но эти шутки сопровождают вполне серьёзные рассуждения о главных вопросах разработки. Такое хорошо подходит для завершения конференции: когда зрители уже услышали много хардкора и больше не могут воспринимать слайды с кодом, самое время для более общих вопросов и яркой подачи. И когда нашу .NET-конференцию DotNext 2018 Moscow завершало выступление Дилана про легаси-код, зрителям оно понравилось сильнее всего.

Поэтому теперь для Хабра мы сделали переведённую текстовую версию этого выступления: и для дотнетчиков, и для всех остальных. Помимо текста, под катом есть и оригинальная англоязычная видеозапись.

Источник
Загрузка...
Den
2 месяца назад
#

О том, как из C# перешел в Elixir/Phoenix



Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптироваться. Далее я расскажу об основных моментах, к которым пришлось привыкнуть или которые пришлось понять, чтобы начать писать быстро и адекватно.

Источник
Загрузка...
Den
2 месяца назад
#

Математика в Gamedev по-простому. Кривые и дождь в Unity



Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требующую математики – рябь на поверхности. Последовательно напишем шейдер для ряби на поверхности, и разберём его математику. Если интересно – добро пожаловать под кат. Гитхаб проект прилагается.



Источник
Загрузка...
Den
2 месяца назад
#

Небольшой обзор SIMD в .NET/C#



Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от «настоящих, компилируемых» языков для нативной
разработки.



Источник
Загрузка...
2 месяца назад
#

Дилетант в opensource — lessons learned за 3 года



Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои «эксперименты на коленке» в некую удобоваримую форму и вылить их на GitHub. Так началось моё дилетантское участие в разработке открытого ПО. Время шло. И вот, вчера в репозитории с этим проектом, наконец, появился юбилейный, трёхсотый коммит. В связи с этим знаменательным событием, я бы хотел поделиться своим дилетантским опытом о том, с чем придётся столкнуться, если вам вдруг взбредёт в голову разработать что-то «на благо развития индустрии». Я изложу некоторые цифры, расскажу несколько прохладных историй, а так же поделюсь впечатлениями каково это — написать и поддерживать opensource-проект без мам, пап и кредитов поддержки компании, оплаты и… и свободного времени. Заходите под кат, присаживайтесь, мы начинаем.



Источник
Загрузка...
Den
2 месяца назад
#

Создаём систему электронного хронометража гонок



185282-11516937085b2ed4ea7e36b



По будням, я уже 17 лет занимаюсь разработкой корпоративного софта, у меня было много разных хобби, но в итоге нашёл то, что держит уже 5 лет и не собирается отпускать. С 2013 года большую часть свободного времени я посвящаю мотокроссу и эндуро на внедорожных мотоциклах, в том числе регулярно участвовал в любительских соревнованиях. После неудачного дропа в июне 2017 года я оказался в больнице с полным переломом правой плечевой кости. Вышел из больницы, пришёл в себя и стало ясно, что ездить не получится ещё месяца два — три, а привычка к активной деятельности осталась. Тогда и решил, что надо попробовать самому организовать гонку для своих друзей. С технической точки зрения меня интересовал хронометраж, о том как я делаю собственную систему и провожу гонки читайте под катом.



Источник
Загрузка...
2 месяца назад
#

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity



Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания
векторов и
матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточно большое количество интересных задач. Сегодня хотелось бы поговорить про достаточно важный инструмент в вычислительной геометрии, такой как триангуляции и их применение в игровой индустрии. Кроме того, я написал порт и немного обёрток великолепной библиотеки Triangle.Net для Unity. Если интересно – добро пожаловать под кат. Ссылка на гитхаб прилагается.



Источник
Загрузка...
2 месяца назад
#

Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET



Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.





Источник
Загрузка...
2 месяца назад
#

Стоит ли сохранять длину массива в локальную переменную в C#



Очень часто замечаю, что люди пишут вот так:

var length = array.Length;
for (int i = 0; i < length; i++) {
    //do smth
}


Пишут они это в надежде ускорить цикл, думая что создавая локальную переменную избавляют CLR от необходимости вызывать каждый раз геттер для Array.Length. Я решил раз и навсегда для себя понять стоит так делать или можно сэкономить своё время и написать без временной переменной.

Источник
Загрузка...
Den
2 месяца назад
#

Чат-бот обретает слух, или страдания дилетанта





Не так давно я презентовал синтаксического чат-бота по имени Ваня Разумный (
«Создание ИИ методом «глокой куздры». Интеллектуальная одиссея»). Последующий очевидный этап, который, подобно другим создателям искусственного разума, захотелось пройти – даровать детищу голос. Казалось бы, чего проще?

Пришлось, однако, помучиться. Некоторые проблемы решить так и не удалось – безусловно, по причине дилетантизма. А впрочем, сомневаюсь, что и профессионалам интересно решать сопутствующие задачки. Никому это не интересно, вот и мне не хотелось. Я надеялся по-быстрому прикрутить звук и перейти к последующим задумкам…

Но обо всем по порядку.

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

Источник
Загрузка...
2 месяца назад
#

Поддержка очередей в Hangfire



Hangfire — это библиотека для .net (core), позволяющая асинхронно выполнять некоторый код по принципу «fire and forget». Примером такого кода может быть отправка E-Mail, обработка видео, синхронизация с другой системой и т.д. Помимо «fire and forget» есть поддержка отложенных задач, а также задач по расписанию в формате Cron.



В настоящее время существует масса подобных библиотек. Несколько преимуществ, говорящих в пользу Hangfire:



  • Простая конфигурация, удобный API

  • Надежность. Hangfire гарантирует, что созданная задача будет выполнена хотя бы один раз

  • Возможность параллельного выполнения задач и отличная производительность

  • Расширяемость (вот ей-то мы и воспользуемся ниже)

  • Достаточно полная и понятная документация

  • Dashboard, на котором можно видеть всю статистику о задачах



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



Источник
Загрузка...
1 3 4

Авторизация

Пользователи

gydman
Ivan Lavkov
Андрей Подольский
Kumskov
Juan
Tutu
naikdij88
NewEXE
Георгiй Москвитинъ

GeekBrains

КАРКАМ

Нетология