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

C#7 — интервью с Jesse Liberty и Андреем Акиньшиным - 1

Jesse Liberty известен как автор многочисленных книг. Кроме того, он является автором множества курсов на Pluralsight, сертифицированным Xamarin Developer, а также Microsoft и Xamarin MVP. В последнее время в область его внимания попали Xamarin, Angular 2 и ASP.NET Core. Джесси ведет подкаст под названием Yet Another Podcast, в котором общается с интересными персонами из мира разработки ПО и игр.

Нам удалось поговорить с ним о будущем релизе C# 7.0 и о его выступлении на DotNext в Москве. Кроме того, на эту е тему нам удалось задать несколько неожиданных вопросов и Андрею Акиньшину, разработчику новой С# IDE Rider в JetBrains.
Читать полностью »

Недавно TechCrunch подробно рассказал о новом витке развития языка программирования Dart. Google как разработчики языка теперь не только делают большую ставку на использование дарта в создании своих ключевых сервисов (AdWords, AdSense), но и намерены более активно влиять на рост всей экосистемы, в том числе и в России, и поддерживать компании, использующие Dart в своих проектах. Первая встреча, посвященная использованию Dart в России пройдет 30 ноября в Петербурге, в офисе компании Wrike.

Dart meet-up 30 ноября в Петербурге: доклады от разработчиков из Google, опыт перехода на Dart c С# и JS - 1

На встрече мы обсудим новый виток в развитии языка Dart, поговорим с разработчиками языка из Google, сможем задать им свои вопросы. Мы также уделим внимание необходимой инфраструктуре для работы с языком, успешным кейсам и проектам, сделанным на Dart, и выясним, каковы особенности перехода на дарт со скриптовых (JavaScript) и типизированных (C#) языков.

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

Виртуальные события в C#: что-то пошло не так - 1 Недавно я работал над новой C#-диагностикой V3119 для статического анализатора PVS-Studio. Назначение диагностики — выявление потенциально небезопасных конструкций в исходном коде C#, связанных с использованием виртуальных и переопределенных событий. Давайте попробуем разобраться: что же не так с виртуальными событиями в C#, как именно работает диагностика и почему Microsoft не рекомендует использовать виртуальные и переопределенные события?
Читать полностью »

Visual Studio для Mac и другие новости конференции Connect(); --2016 - 1

Одна из самых важных конференций для разработчиков Connect(); //2016 в самом разгаре, а мы представляем вам итоги прошедшего открытия, на котором было много интересных новостей!

Помимо анонсов о сотрудничестве Microsoft с Linux Foundation, неожиданном официальном заявлении о присоединении Samsung и Google к .NET Foundation, мы рады поделиться с вами новостями об обновлениях инструментов Microsoft для разработчиков и выходом Visual Studio для Mac, новыми возможностями облачной платформы и полноценной поддержкой Docker, шикарными анонсами для Windows и Office разработчиков!
Читать полностью »

Чуть больше чем через полчаса начнётся онлайн-трансляция одного из ключевых технологических событий от Microsoft — Connect();. Событие будет проходить несколько дней, 16 — 18 ноября, и соберет в себе все ключевые новости для разработчиков. Под катом вы найдете текстовую трансляцию события на русском языке.

Connect(); -- 2016: Текстовая трансляция - 1
Читать полностью »

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server? - 1

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

Про бывшего клиента Джозефа из Англии, который переосмыслил жизнь, за время отпуска в Таиланде, и в моем скайпе стал подписываться Жозефиной. Про веселых соседей по офису, с которыми приходилось сидеть в одной комнате: один страдал от аллергии на свежий воздух, а другой маялся от неразделенной любви к С++ дополняя это аллергией на солнечный свет. Один раз по команде свыше пришлось на время стать Александром отцом двух детей, чтобы изображать из себя обросшего скилами сениора по JS.
Читать полностью »

Ранее мы рассмотрели корректную реализацию минимально необходимого набора доработок класса для сравнения объектов класса по значению.

Теперь рассмотрим Type-specific реализацию сравнения объектов по значению, включающую реализацию Generic-интерфейса IEquatable(Of T) и перегрузку операторов "==" и "!=".

Type-specific сравнение объектов по значению позволяет достичь:

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

Кроме того, реализация Type-specific сравнения по значению необходима по причинам:

  • Стандартные Generic-коллекции (List(Ot T), Dictionary(Of TKey, TValue) и др.) рекомендуют наличие реализации IEquatable(Of T) для всех объектов, помещаемых в коллекции.
  • Стандартный компаратор EqualityComparer(Of T).Default использует (по умолчанию — при наличии) реализацию IEquatable(Of T) у операндов.

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

  • Соответствие результатов сравнения у различных способов.
  • Сохранение поведения при наследовании.
  • Минимизацию copy-paste и общего объема кода.
  • Учет того, что операторы сравнения технически являются статическими методами и, соответственно, у них отсутствует полиморфность (а также, что не все CLS-совместимые языки поддерживают операторы или их перегрузку).

Рассмотрим реализацию сравнения объектов по значению с учетом вышеизложенных условий, на примере класса Person.

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

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

Picture 2 В недавно вышедшей новой версии PVS-Studio 6.10 был существенно обновлён графический пользовательский интерфейс Visual Studio плагинов и Standalone версии. Предыдущая версия интерфейса, несмотря на постоянную эволюцию (добавлялись и исчезали новые кнопки и пункты меню), просуществовала практически 6 лет без существенных изменений, впервые появившись в PVS-Studio версии 4.0 в 2010 году.

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

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

Среди участников сообщества есть и наши сотрудники — ведь в наших проектах .NET также активно используется. Поэтому очередную встречу MSK .NET было решено провести у нас, в штаб-квартире «Лаборатории Касперского».

image

На встрече, которая состоится 14 ноября в 19:00, вместе с экспертами мы поговорим о приёмах оптимизации desktop-приложений и диагностике проблем в .NET.

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

Привет всем! В этой статье хотелось бы рассказать о MS Cognitive Services и о том, как я решил инфографику по инстаграму построить.

Использование MS Cognitive Services для анализа профиля Instagram - 1
Читать полностью »


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