DevDay про .NET: ленивая авторизация & союз DSL и C#

Автор: admin от Вчера, 06:35, посмотрело: 15

DevDay про .NET: ленивая авторизация & союз DSL и C#


Сибирь отходит от морозной спячки — чем не повод открыть сезон DevDay мартовской встречей. Решили расставить все точки над .NET и сфокусироваться на практических вещах. 2 марта обсудим, как запилить ленивую и, что немаловажно, отлично функционирующую авторизацию за 15 строчек кода.

Аутентификацией не ограничимся, успеем углубиться в возможности Domain Specific Languages, которые безграничны. И всё проще, чем кажется.
Люблю практику

Категория: Программирование

 

Throw выражения в C# 7

Автор: admin от 9-02-2018, 00:30, посмотрело: 35

Всем привет. Продолжаем исследовать новые возможности C# 7. Уже были рассмотрены такие темы как: сопоставление с образцом, локальные функции, кортежи. Сегодня поговорим про Throw.



В C# throw всегда был оператором. Поскольку throw — это оператор, а не выражение, существуют конструкции в C#, в которых нельзя использовать его.




  • в операторе Null-Coalescing (??)

  • в лямбда выражении

  • в условном операторе (?:)

  • в теле выражений (expression-bodied)



Чтобы исправить данные проблемы, C# 7 вводит выражения throws. Синтаксис остался таким же, как всегда использовался для операторов throw. Единственное различие заключается в том, что теперь их можно использовать в большом количестве случаев.

Давайте рассмотрим, в каких местах throw выражения будет лучше использовать. Поехали!

Категория: Программирование

 

Расширяем узкие места Xamarin.Forms

Автор: admin от 29-01-2018, 10:55, посмотрело: 24

При создании мобильных приложений возникает множество различных хотелок в духе «как было бы хорошо, если бы…» И можно подставлять пункты, которые требуют улучшения. У начинающих разработчиков в этот список с высокой вероятностью войдет и пункт «если бы работало быстрее …» В данной статье будут собраны рекомендации, которые помогут начинающим разработчика Xamarin.Forms обойти узкие места фреймворка и инструментов сборки. А начнем мы с железа.



Расширяем узкие места Xamarin.Forms

Категория: Программирование, Веб-разработка, Microsoft, Android, iOS

 

Январская починка дыр

Автор: admin от 16-01-2018, 15:15, посмотрело: 40

Аккурат к концу новогодних каникул в России, 9-го января, Microsoft выпустили обновления, исправляющие CVE-2018-0786 и CVE-2018-0764. В этом коротком посте мы ещё раз вспомним, что это такое и что нам теперь делать.



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



Январская починка дыр

Категория: Программирование

 

Анализируем локальные функции в C# 7

Автор: admin от 7-01-2018, 11:35, посмотрело: 32

Добавление локальных функций в языке C# первоначально для меня было излишнем. Прочитав статью в блоге SergeyT, я понял, что эта фича действительна нужна. Итак, кто сомневается в надобности локальных функций и кто еще не знает что это, вперед за знаниями!



Локальные функции — это новая возможность в C# 7, которая позволяет определять функцию внутри другой функции.

Категория: Программирование

 

Кроссплатформенная новогодняя демка на .NET Core и Avalonia

Автор: admin от 29-12-2017, 10:00, посмотрело: 57

"ААА! Пришло время переписывать на .NET Core?", говорили они, WPF в комментариях обсуждали. Так давайте же проверим, можно ли написать кросс-платформенное GUI приложение на .NET / C#.



Кроссплатформенная новогодняя демка на .NET Core и Avalonia

Новогоднее настроение навеяло идею сделать анимацию падающего снега. Были такие демки под DOS, горящий огонь, фракталы, снежок, падающий на ёлочку, и так далее.



Как увидим ниже, это не только весело, но и позволит испытать ключевой функционал UI фреймворка. Поехали!

Категория: Программирование, Linux

 

Синхронизация AssemblyVersion и Publish Version в ClickOnce приложении

Автор: admin от 25-12-2017, 05:50, посмотрело: 83

Добрый день.

Сделал приложение ClickOnce. Всё хорошо, но утомляет обновлять номер версии. Дело в том, что при выкладывании обновления нужно менять версию как в AssemblyInfo, так и в csproj. Вот так я сделал:

public static class VersionInfo {
	public const string VersionString = "1.0.3";
}

А в AssemblyInfo на это свойство ссылаемся:

[assembly: AssemblyVersion(VersionInfo.VersionString)]
[assembly: AssemblyFileVersion(VersionInfo.VersionString)]

Категория: Программирование

 

Исследование кортежей в C# 7

Автор: admin от 23-12-2017, 20:25, посмотрело: 48

Типы System.Tuple были введены в .NET 4.0 с двумя существенными недостатками:




  • Типы кортежей являются классами;

  • Не существует языковой поддержки для их создания/деконструкции (deconstruction).



  • Чтобы решить эти проблемы, в C# 7 представлена новая возможность языка, а также новое семейство типов (*).



    Сегодня, если вам нужно склеить два значения, чтобы вернуть их из функции или поместить два значения в хэш-набор, вы можете использовать типы System.ValueTuple и создать их с помощью удобного синтаксиса:

    Категория: Программирование

     

    Внедрение зависимости и реализация единицы работы с помощью Castle Windsor и NHibernate

    Автор: admin от 12-12-2017, 18:20, посмотрело: 143

    В этой статье я продемонстрирую реализацию внедрения зависимости, репозитория и единицы работы, используя Castle Windsor в качестве DI-контейнера и NHibernate как инструмент объектно-реляционного отображения (ORM).



    Внедрение зависимости и реализация единицы работы с помощью Castle Windsor и NHibernate

    Категория: Программирование

     

    F# на Linux как лекарство для души

    Автор: admin от 11-12-2017, 12:55, посмотрело: 47

    А у вас никогда не возникало ощущения, что "вот это" уже надоело? Что хочется чего-то нового? "Вот этим" может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от C# и выборе более интересного подхода.



    F# на Linux как лекарство для души

    Категория: Программирование, Microsoft, Linux

     
    Назад Вперед