Рубрика «.net» - 3

Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.

Как выглядят собеседования сейчас - 1

Читать полностью »

Вот вам тупой вопрос, который вы сами, наверное, никогда себе не задавали. Каково минимальное количество байт, которые необходимо сохранить в исполняемом .NET-файле, чтобы CLR напечатала "Hello, World!" в консоли стандартного вывода?

Насколько сможем уменьшиться?

Насколько сможем уменьшиться?

Читать полностью »

FaceAuth или как с легкостью встроить FaceID в любое .NET приложение - 1

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

Пару слов обо мне

Читать полностью »

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

Немного про GraphQL

Дисклеймер: В статье рассматриваются только Query (аналог GET-запросов). Мутации и подписки не рассматриваются.

GraphQL - это инструмент, позволяющий заменить привычное API. Вместо написания контроллеров и методов, вы пишете методы в Query:

public class GraphQLQuery 
{
  public IQueryable<UserModel> GetUsers([Service] IUsersRepository repository) 
  {
    return repository.Users;
  }
}

Всего пару строк и вы добавили в приложение новый GraphQL-endpoint. Теперь к нему можно обратиться POST-запросом (обычно), передав вот такую строку:

users {
   id
   userName 
   roles {
      code
      description
   }
}

Читать полностью »

image
Доброго времени суток! В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.Читать полностью »

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

Excel-DNA

Excel-DNA - библиотека для .NET, с помощью которой можно написать и собрать полностью самодостаточный файл надстройки для Excel с расширением .xll
Этот файл достаточно положить в пользовательскую папку, без прав администратора, и просто включить в настройках Excel.

Такая надстройка будет иметь доступ к COM-модели Excel, C API Excel - позволяет взаимодействовать с интерфейсом программы и рабочими книгами. Сможет реализовать пользовательские формулы и добавить свое меню на интерфейсную ленту Ribbon UI.

Читать полностью »

В предыдущих сериях

Уважаемые читатели, в этой статье я хочу рассказать о небольших тестах со строками и представить свои выводы. Тесты сделаны на .net 7.

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

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

Все тесты сделаны с использованием BenchmarkDotNet, так что каждый может проверить результаты и сделать свои выводы.

Хочется начать с string.Replace, который проверяется разными вариантами, начиная с базового:

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js