• Работа с непредвиденными данными в JavaScript

    • Translation


    Одна из основных проблем в работе с динамически типизированными языками заключается в том, что невозможно всегда гарантировать правильность потока данных, так как невозможно принудительно задать для параметра или переменной значение, например отличное от null. В таких случаях мы, как правило, используем простой код:

    function foo (mustExist) {
      if (!mustExist) throw new Error('Parameter cannot be null')
      return ...
    }

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

    Чтобы немного оптимизировать этот сценарий, я начал искать, как и с помощью каких стратегий лучше всего свести к минимуму фактор неожиданности. Именно тогда мне попалась великолепная статья Эрика Эллиотта. Цель этой работы — не полностью опровергнуть его статью, а добавить интересную информацию, которую мне удалось обнаружить со временем благодаря опыту в сфере разработки на JavaScript.
    Читать дальше →
    • +11
    • 4.2k
    • 3
  • Azure Virtual Training Days — 4 крутых мероприятия в сентябре



      Azure Virtual Training Days — это отличная возможность глубоко погрузиться в технологии Microsoft. Наши специалисты помогут раскрыть весь потенциал облака, поделившись своими знаниями, предложив эксклюзивные идеи и практические занятия.

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

      Под катом подробности о ближайших 4 мероприятиях, которые пройдут в сентябре.
      Читать дальше →
    • Конференция Microsoft Ignite 2020 — уже 22-24 сентября

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

        Регистрация. Ну а под катом подробности.

        Читать дальше →
      • Создание первой модели глубокого обучения Visual Studio IntelliCode: исследовательский путь

          С тех пор, как первая модель завершения кода IntelliCode была представлена в Visual Studio и Visual Studio Code в 2018 году, она стала важным помощником по кодингу для миллионов разработчиков по всему миру. В последние два года мы постоянно работали над тем, чтобы адаптировать IntelliCode для большего количества языков программирования, а в то же время изучали способы повышения точности и покрытия модели, чтобы обеспечить еще большее удовлетворение пользователей. Одним из наших основных исследовательских усилий было привнести последние достижения в области глубокого обучения для моделирования естественного языка в моделирование языков программирования. После использования таких технологий, как машинное обучение Azure и среда выполнения ONNX, мы успешно реализовали первую модель глубокого обучения для всех пользователей IntelliCode Python в Visual Studio Code.


          Читать дальше →
        • Технология настраивает на рекорд. Брат и сестра установили рекорды в гонке на веслах через Атлантику



            3000 миль. 43 дня. Два гребца. Одна лодка.

            Это была задача, за которую взялись Анна и Кэмерон МакЛин, когда приняли участие в самом сложном состязании в мире по океанской гребле. Пересекая финишную черту в Антигуа, они установили два рекорда Гиннесса. Впервые брат и сестра вдвоем гребли через океан, и это была самая быстрая смешанная пара, преодолевшая на веслах Атлантику.

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

            Но была одна вещь, которая не давала их отношениям (и их лодке) сбиться с курса – это технологии.

            В середине Атлантики ближе всего к ним находились только астронавты с Международной космической станции, вращающейся на орбите всего в нескольких сотнях миль над ними. Приложение Microsoft Teams позволяло паре оставаться на связи с семьей в Великобритании и со своей командой на суше, которые поддерживали их в самые критические моменты и сообщали важную информацию.
            Читать дальше →
          • Добавьте лучшее из Web в свое настольное приложение .NET с помощью WebView2

              В прошлом году на конференции Build мы представили WebView2, элемент управления браузера, который отображает веб-контент (HTML / CSS / JavaScript) с новым Microsoft Edge на основе Chromium. Первоначально он был ограничен приложениями C/C++. Сегодня мы рады объявить о выпуске предварительной версии WebView2 для приложений .NET! WebView2 доступен как для .NET Core, так и для .NET Framework. Его можно использовать внутри приложений WPF, Windows Forms и WinUI 3.0 вплоть до Windows 7.



              Важно: при установке пакета NuGet обязательно установите флажок Include prerelease и выберите версию с суффиксом -prerelease. В противном случае вы не получите поддержку .NET.

              В дальнейшем мы будем обновлять наш SDK каждые шесть недель в соответствии с Roadmap на основе ваших отзывов. Вы можете быть в курсе последних обновлений, изучайте их здесь.
              Читать дальше →
            • Microsoft тестирует водородные топливные элементы для резервного питания в центрах обработки данных



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

                Это достижение является одним из шагов в выполнении обязательств компании по снижению выбросов углекислого газа к 2030 году. Для осуществления этой цели и ускорения глобального отказа от ископаемого топлива Microsoft также стремится устранить зависимость от дизельного топлива к 2030 году.
                Читать дальше →
              • Бесплатная электронная книга на русском: Blazor для разработчиков ASP.NET Web Forms

                • Tutorial
                Привет, Хабр! Как многие знают, мы очень активно развиваем платформу Blazor, клиентскую платформу веб-интерфейса, основанную на C#, а не на JavaScript. С помощью Blazor вы можете писать собственную клиентскую логику и компоненты пользовательского интерфейса на C#, компилировать их в обычные сборки .NET, а затем запускать их непосредственно в браузере с помощью нового открытого веб-стандарта WebAssembly.

                Для лучшего понимания принципов работы с платформой мы создали бесплатную книгу "Blazor для разработчиков ASP.NET Web Forms". Сейчас она еще находится в процессе доработки, но уже доступна на многих языках. Оригинал на английском можно скачать как PDF, а перевод на русский доступен на нашем сайте с документацией.

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

                Читать дальше →
                • +10
                • 4.6k
                • 1
              • Microsoft Azure Virtual Training Day: Modernizing Web Applications and Data — вебинар



                  Узнайте, как перенести все ресурсы на платформу Azure и подготовить бизнес к будущему. В результате вы получите масштабируемые, управляемые и модернизированные приложения.

                  25-26 августа, Регистрация

                  Под катом немного подробностей (на английском).
                  Читать дальше →
                • Microsoft Azure Virtual Training Days: Fundamentals — вебинар с конкурсом на бесплатное прохождение сертификации



                    Подготовьтесь к переходу в облако. Узнайте, как Microsoft Azure поддерживает безопасность, конфиденциальность и соответствие нормативным требованиям, а также подготовьтесь к сертификационному экзамену по основам Microsoft Azure.

                    По итогам курса все участники получат ваучер на прохождение экзамена AZ-900: Microsoft Azure Fundamentals.

                    17-18 августа, Регистрация

                    Под катом немного подробностей (на английском).
                    Читать дальше →
                  • Продвинутый поиск на NuGet.org

                      Мы рады сообщить, что NuGet.org теперь поддерживает один из главных запросов со стороны пользователей — расширенный поиск! Теперь вы можете использовать множество критериев сортировки и фильтрации, чтобы найти лучшие пакеты NuGet для ваших нужд!

                      Читать дальше →
                    • Microsoft Flight Simulator: поддержка Steam, TrackIR и VR

                        Симулятор полетов Microsoft Flight Simulator появится не только на Windows 10 и в подписке Xbox Game Pass для ПК, но и в Steam. Мы рады объявить, что уже сегодня можно сделать предзаказ Microsoft Flight Simulator версий Standard, Deluxe и Premium Deluxe!

                        Команда разработчиков внимательно прислушивается к мнению сообщества, это наш приоритет с момента объявления о выпуске Microsoft Flight Simulator в июне 2019 года. Две наиболее востребованные сообществом функции — поддержка TrackIR и VR. Сегодня мы рады объявить, что Microsoft Flight Simulator будет поддерживать TrackIR сразу после выхода, а поддержка VR появится позже в этом году к запуску HP Reverb G2!

                        Читать дальше →
                      • Представляем .NET 5.0 Preview 7

                          Выпускаем .NET 5.0 Preview 7. Это пред-пред-последний релиз из предварительных (до перехода на RC). На этом этапе большинство функций должны быть очень близки к финальным. Встроенные функции (интринсики) одного файла и ARM64 — две функциональные области, для интеграции которых нам требуется наибольшее время, но они будут готовы к следующему Preview 8. Изучайте пост .NET 5.0 Preview 4 для лучшего понимания релиза в целом.

                          Новые ASP.NET Core и EF Core также уже готовы.

                          Вы можете загрузить .NET 5.0 Preview 7 для Windows, macOS и Linux:


                          Вам нужно использовать Visual Studio 2019 16.7 для работы с .NET 5.0. .NET 5.0 теперь поддерживается Visual Studio для Mac. Установите последнюю версию расширения C# для использования .NET 5.0 с Visual Studio Code.

                          Подробнее о Preview 7 под катом.

                          Читать дальше →
                          • +16
                          • 5.8k
                          • 1
                        • Что нового в Microsoft Flight Simulator

                            Начинаем готовиться к взлету. Xbox Game Studios и Asobo Studio рады сообщить геймерам, что новый Microsoft Flight Simulator выйдет 18 августа. Вы можете сделать предварительный заказ для Windows 10 или выполнить предустановку с помощью Xbox Game Pass for PC (Beta) уже сегодня.

                            Мы высоко ценим поддержку и преданность сообщества Flight Simulator на протяжении всех 38 лет, прошедших с выпуска Microsoft Flight Simulator 1.0 в 1982 году. И вот наконец пришло время для авиационной игры совершенно нового поколения. С помощью всех необходимых для этого инструментов, технологий, вычислительных мощностей, а также с помощью наших партнеров мы сделали самый реалистичный и аутентичный на сегодня симулятор пилотирования самолетов.

                            Читать дальше →
                          • Python в Visual Studio Code — июльский релиз

                              Мы рады сообщить, что июльский выпуск расширения Python уже доступен для Visual Studio Code. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

                              В этом выпуске мы сделали 51 улучшение, в том числе:

                              • Добавлена поддержка нового языкового сервера: Pylance
                              • Gather Extension
                              • Экспорт записных книжек (notebooks) в HTML и PDF
                              • Обратное соединение для отладчика

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

                              Читать дальше →
                              • +10
                              • 5.2k
                              • 2
                            • Темы приложений для Xamarin.Forms

                                Все основные ОС теперь поддерживают темные и светлые темы приложений, и появился Xamarin.Forms 4.7, чтобы упростить добавление этой фичи в ваши приложения. Фактически, если вы ничего не сделаете, ваши приложения Xamarin.Forms будут соответствовать предпочтениям ОС пользователя. Зачем останавливаться на достигнутом? Вы также можете настроить светлые и темные цвета, используемые в пользовательском интерфейсе вашего приложения, и даже предоставить пользователю возможность самостоятельно управлять темой своего приложения. Давайте начнем с самого начала.

                                Читать дальше →
                              • Обновления .NET Core за июль 2020 года — 2.1.20 и 3.1.6

                                  На прошлой неделе вышло июльское обновление .NET Core. Оно содержит исправления безопасности и улучшения надежности. См. индвидуальные примечания к выпуску для получения подробной информации об обновленных пакетах. В этой статье расскажем об улучшениях безопасности в совокупности.

                                  Читать дальше →
                                • Создайте свой собственный симулятор Q# — Часть 1

                                  • Translation
                                  Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очень легко создавать собственные симуляторы и интегрировать их в свои проекты на Q#.

                                  Этот пост является первым в серии, посвященной этому интерфейсу. Мы начнем с реализации обратимого симулятора в качестве первого примера, который мы расширим в будущих публикациях в блоге. Обратимый симулятор может моделировать квантовые программы, которые состоят только из классических операций: X, CNOT, CCNOT (Toffoli gate) или произвольно управляемых X-операций. Поскольку обратимый симулятор может представлять квантовое состояние, присваивая одно булево значение каждому кубиту, он может запускать даже квантовые программы, состоящие из тысяч кубитов. Этот симулятор очень полезен для тестирования квантовых операций, которые оценивают булевы функции.

                                  Читать дальше →
                                • Подготовка приложений для Google Play к требованиям Android 10

                                  • Translation
                                  В северном полушарии настало лето! А это означает, что к публикации в Google Play теперь предъявляются новые требования. За прошедшие годы было несколько обновлений требований для публикации новых приложений. А также обновлений для Google Play. В этом году все сводится к обновлению вашего приложения до работы на Android 10 (API 29). Ниже приведены важные даты, которые должны быть восприняты всерьез всеми разработчиками.

                                  Требования и даты по Android 10


                                  • 3 августа 2020 г. — новые приложения должны быть ориентированы на Android 10 (API 29).
                                  • 2 ноября 2020 г. — все приложения и обновления приложений должны быть ориентированы на Android 10 (API 29).


                                  Сегодня давайте пройдемся по обновлению существующего приложения Android, чтобы оно полностью соответствовало требованиям.
                                  Читать дальше →
                                • Расширьте возможности машинного обучения Azure с помощью расширения VS Code

                                  • Translation
                                  Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерфейсе и способы, которые помогут вам управлять хранилищами данных, наборами данных и вычислениями прямо из любимого редактора!

                                  Возможно некоторые из вас читают о Azure ML и расширении впервые — не волнуйтесь, мы здесь, чтобы рассказать об этом больше.

                                  Azure ML — это сервис машинного обучения, который предоставляет исследователям, работающим с данными, широкий набор инструментов для создания, обучения и развертывания моделей. Расширение AML — это сопутствующий инструмент, который обеспечивает управляемый опыт, помогающий создавать ресурсы и управлять ими непосредственно из VS Code. Расширение направлено на оптимизацию задач, таких как проведение экспериментов, создание вычислительных целей и управление средами, без необходимости переключения контекста из редактора в браузер. Пользователи расширений могут работать в своих рабочих пространствах и взаимодействовать со своими основными ресурсами AML с помощью простого дерева навигации и с помощью команд по щелчку мыши.

                                  Подробнее о начале работы со службой Azure ML можно узнать здесь. Если вы хотите поэкспериментировать с расширением, вы можете установить его здесь и прочитать документацию по началу работы здесь!

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