Получи случайную криптовалюту за регистрацию!

.NET Разработчик

Логотип телеграм канала @netdeveloperdiary — .NET Разработчик N
Логотип телеграм канала @netdeveloperdiary — .NET Разработчик
Адрес канала: @netdeveloperdiary
Категории: Технологии
Язык: Русский
Количество подписчиков: 3.24K
Описание канала:

Дневник сертифицированного .NET разработчика.
Для связи: @SBenzenko
Поддержать канал: https://pay.cloudtips.ru/p/70df3b3b

Рейтинги и Отзывы

3.67

3 отзыва

Оценить канал netdeveloperdiary и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

2

4 звезд

0

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 61

2021-02-02 08:52:35 День семьсот тридцать четвёртый. #ЧтоНовенького
Новинки в Visual Studio 2019 v16.9 Preview 3

Использование звуковых сигналов в тестах
Я считаю, что ничего лучше в VS уже не придумают. Обозреватель тестов теперь может воспроизводить настраиваемый звук после завершения прогона тестов. Вы можете выбрать два разных звука:
- после успешного прохождения тестов,
- после того, как хотя бы один тест завершится неудачей.
Настроить звуки можно в стандартных настройках звука Windows (наряду со звуками удачной/неудачной сборки, или звуком достижения точки останова). Посмотрите видео, разве это не прекрасно?



Улучшение контрастной темы
IDE может определять, включены ли в Windows настройки высокой контрастности. Если эти параметры включены, Visual Studio 2019 будет учитывать эти параметры. Чтобы активировать эту функцию, перейдите в Инструменты > Параметры (Tools > Options). Обратите внимание на новый параметр «Использовать настройки высокой контрастности Windows» (Use Windows High Contrast Settings). Когда этот флажок отмечен, настройка по умолчанию будет соответствовать обнаруженным настройкам высокой контрастности Windows. Если этот флажок не установлен, вы можете выбрать любую из тем, включённых в Visual Studio 2019.

Повышение Продуктивности в .NET
1. IntelliSense теперь может выдавать подсказки для директив препроцессора. Чтобы увидеть это в действии, начните вводить директиву #if, и вы увидите доступные варианты завершения команды, определённые в настоящее время в области видимости.

2. В Обозревателе решений теперь будут отображаться новые генераторы исходного кода .NET 5.0 внутри группы Анализатор (Analyzer). Это позволит вам легко находить и просматривать сгенерированный код.

3. Функция Go To All (Ctrl+T) больше не будет отображать повторяющиеся результаты для netcoreapp3.1 и netcoreapp2.0, а также результаты для partial типов. Это поможет упорядочить результаты, чтобы вы могли легче находить код и перемещаться по нему. Результаты теперь также включают имена файлов.

Новый редактор Razor
В настройках среды найдите Предварительный просмотр (Preview Features) и отметьте флажок «Включить экспериментальный редактор Razor» (Enable experimental Razor editor).
В новом редакторе Razor есть улучшенный механизм форматирования, который более консервативен, чем старый, а также намного умнее в том, как он обрабатывает ваш код. Некоторые быстрые действия теперь также доступны в файлах Razor:
- добавление директивы @using или полного имени типа,
- добавление проверки на null,
- переименование компонентов Blazor из тегов (файл компонента будет изменён автоматически),
- создание компонента Blazor из неизвестного тега,
- извлечение блока @code в файл отделённого кода,
- переход к определению компонента Blazor по F12.

Источники:
- https://devblogs.microsoft.com/dotnet/the-plan-for-entity-framework-core-6-0/
- https://devblogs.microsoft.com/aspnet/improvements-to-the-new-razor-editor-in-visual-studio/
887 views05:52
Открыть/Комментировать
2021-02-01 09:35:13 День семьсот тридцатый. #ЗаметкиНаПолях Как Работает Git. Окончание Начало Версии Ветки Rebase Распределённость Мы наконец добрались до верхнего слоя определения Git (распределённая система контроля версий). Допустим, мы создали репозиторий на GitHub. Получить…
829 viewsedited  06:35
Открыть/Комментировать
2021-01-31 11:47:42 День семьсот тридцать второй. #ЧтоНовенького
Планы на EF Core 6.0
EF Core 6.0 является следующим релизом после EF Core 5.0 и в настоящее время запланирован на ноябрь 2021 года одновременно с .NET 6. EF Core 6.0 будет соответствовать .NET 6 в качестве выпуска с долгосрочной поддержкой (LTS). Он не будет работать в .NET Framework и маловероятно, что будет поддерживать какую-либо версию .NET Standard. Приведённые ниже планы – это пока лишь предложения от сообщества, и они не обязательно будут реализованы. Кроме того, может появиться и что-то другое.

Самые востребованные функции
1. Темпоральные таблицы SQL Server
Создание темпоральных таблиц с помощью миграции, а также доступ к историческим данным с помощью запросов LINQ.

2. Столбцы типа JSON
Общие шаблоны для поддержки JSON, которые могут быть реализованы любым поставщиком базы данных. Поддержка столбцов JSON будет реализована для SQL Server и SQLite (PostgreSQL и MySQL уже их поддерживают).

3. ColumnAttribute.Order
Произвольный порядок столбцов при создании таблицы с помощью Migrations или EnsureCreated.

Производительность
1. Инфраструктура производительности и новые тесты
Улучшение инфраструктуры для тестов производительности, а также добавление новых тестов и исправление ошибок.

2. Скомпилированные модели
Скомпилированные модели улучшат производительность запуска, а также в целом улучшат производительность при доступе к модели.

3. TechEmpower Fortunes
Планируется сравниться по производительности Dapper на тесте TechEmpower Fortunes.

4. Компоновщики/AOT
Продолжатся исследования по улучшению работы EF Core с компоновщиками и AOT.

Миграции и развертывание
1. Пакеты миграций
Пакеты миграции предоставят простой и надежный механизм для развертывания миграций EF Core.

2. Управление миграциями
Планируется улучшить инструменты и управление проектами/сборками для миграций EF Core.

Кроме того, планируется улучшение существующих функций и исправление известных ошибок. Полный план на EF Core 6.0 можно найти здесь. Также вы можете голосовать за новые функции или оставлять свои предложения в GitHub.

Источник: https://devblogs.microsoft.com/dotnet/the-plan-for-entity-framework-core-6-0/
806 views08:47
Открыть/Комментировать
2021-01-30 09:48:07 День семьсот тридцать первый. #Оффтоп #97Вещей
97 Вещей, Которые Должен Знать Каждый Программист
75. Боритесь со Стрессом
Каждый из нас, будь то начинающий или опытный программист, когда-нибудь попадал в ситуацию, когда всё бесит. Задача не решается, мелкий пакостный баг никак не получается отловить, компоненты или фреймворки отказываются работать друг с другом, IDE тормозит, кто-то постоянно отвлекает… Такие большие и мелкие неприятности постепенно выводят из душевного равновесия, и ваша производительность катастрофически снижается. Что сделать, чтобы этого не случалось?

1. Рабочий стол
Приберитесь на рабочем столе (как реальном, так и виртуальном). Уберите отвлекающие вещи, вроде телефона. Поставьте рядом вещи, которые вас успокаивают, с которыми вам уютно. Это может быть фото семьи, ваша детская игрушка, чётки или эспандер, чтобы повертеть в руке. Найдите комфортное положение в кресле. Вам удобнее сидеть прямо или откинувшись на спинку?

2. Внутренний цикл разработчика
Обычный цикл разработчики состоит в повторении трёх шагов:
- написание кода
- запуск
- отладка
Убедитесь, что переход по шагам этого цикла максимально быстр и прост. Как мы пишем веб-сайт? Пишем код, собираем проект, запускаем сайт, обновляем браузер, останавливаем сайт, делаем изменение, собираем проект… При этом каждый раз мы переключаемся между окнами, убираем руку с клавиатуры, чтобы взять мышку и наоборот. Это очень муторно.
Как ускорить этот процесс?
Во-первых, с помощью клавиш Win+стрелки можно расположить окна на экране так, чтобы не приходилось каждый раз их скрывать и разворачивать. Кстати, а вы знаете, что в Windows можно сделать несколько рабочих столов с независимыми наборами программ в каждом? Нажмите Win+Tab, и в верхней плашке вы увидите свой рабочий стол и кнопку «Новый рабочий стол» (New desktop). Туда вы можете переместить любые окна, которые вам в данный момент не нужны. Переключаться между рабочими столами можно с помощью Ctrl+Win+стрелки. Кроме того, существуют программы, позволяющие вам разделить экран на зоны (например, в треть высоты или по четвертям) окна, помещённые в зону, автоматически примут её размер.

Во-вторых, в .NET есть монитор файлов dotnet-watch. Например, команда dotnet watch run, выполненная в папке сайта, заставит dotnet следить за изменениями в папке, и как только вы сохраняете файл, будет пересобирать и перезапускать веб-приложение. Также можно настроить выполнение тестов, выбрать отслеживаемые типы файлов и т.п. И таких мелких утилит тысячи. Мы не задумываемся о таких вещах, погружённые в процесс, автоматически выполняем набор действий. Но иногда полезно последить, можно ли автоматизировать какие-то повторяющиеся процессы.

3. Навыки редактора
Изучите IDE и горячие клавиши для наиболее часто повторяемых операций. Поищите информацию о том, что вообще умеет IDE (например, см. посты по тэгу #TipsAndTricks).

Эти советы помогут уменьшить количество раздражающих вещей. Но что делать, если вы всё-таки попали в ситуацию, когда задача не решается, непонятно, что делать и всё бесит?
- Сделайте глубокий вдох и откиньтесь на кресле.
- Закройте лишние окна, вкладки в браузере или файлы в IDE.
- Отвлекитесь от монитора и возьмите блокнот и карандаш, запишите план того, что вам нужно сделать.
- Прогуляйтесь.
- Объясните проблему «утёнку».
Главное, запомните, что вам помогло снизить стресс и решить проблему, чтобы использовать этот метод в следующий раз.

Что вам помогает выйти из стрессовой ситуации? Оставляйте комментарии.

Источник: https://www.hanselman.com/blog/the-art-of-rubber-ducking-or-rubber-duck-debugging/
Автор оригинала – Scott Hanselman
795 views06:48
Открыть/Комментировать
2021-01-29 08:07:24
780 views05:07
Открыть/Комментировать
2021-01-29 08:07:02 День семьсот тридцатый. #ЗаметкиНаПолях
Как Работает Git. Окончание
Начало
Версии
Ветки
Rebase

Распределённость
Мы наконец добрались до верхнего слоя определения Git (распределённая система контроля версий). Допустим, мы создали репозиторий на GitHub. Получить копию его на локальном компьютере можно с помощью команды
git clone <адрес репозитория>
В локальную папку будет сохранено содержимое папки .git, то есть вся история. В последних версиях, правда, git clone по умолчанию копирует только ветку main. После копирования репозитория Git восстанавливает файлы рабочей области из репозитория.

Теперь есть два клона репозитория, один на GitHub и один на локальном компьютере, и оба клона одинаково хороши. В отличие от Subversion или других традиционных систем контроля версий, в Git нет централизованного сервера. Оба компьютера теперь содержат весь проект и его историю. У нас может быть сколько угодно клонов. Вы можете решить, что один конкретный клон является самым важным. Но это условность, договорённость. Технически все клоны равноправны.

При клонировании репозитория через git clone добавляется несколько строк в конфигурацию нашего репозитория (файл .git/config):
[remote "origin"]
url = https://github.com/user/repo
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main

Каждый репозиторий Git может запоминать информацию о других копиях, которые называются удалёнными (remote). Копия по умолчанию называется origin. В конфигурации сохраняется url удалённого репозитория, а также связь локальной ветки main с веткой main из origin. Вы можете настроить эту конфигурацию, чтобы изменить политику синхронизации.

Git также требуется сохранять состояние локального и удалённого репозиториев. Для состояния удалённого репозитория используется папка .git/refs/remotes/origin. Здесь мы можем видеть знакомые нам файлы HEAD и main, предназначение которых такое же, как и у их локальных копий: main хранит ссылку на последний коммит, HEAD – ссылку на текущую ветку.
Иногда из-за внутренних оптимизаций файл main может отсутствовать, и тогда информация о состоянии репозиториев будет храниться в файле .git/packed-refs. Посмотреть состояние локального и удалённого репозиториев можно с помощью команды git show-ref.

Синхронизация
Команда git push сохраняет локальные изменения и коммиты в удалённый репозиторий. Это просто, когда репозитории изначально были синхронизированы (см. красный коммит в левой части рисунка ниже). Тогда ваши изменения (фиолетовый коммит) будут сохранены, ссылка main в удалённом репозитории и origin/main в локальном перейдут на новый коммит.

Однако, если кто-то другой добавил коммит в удалённый репозиторий, возникает конфликт. Решить его можно двумя способами:
1. Принудительный push
Команда git push -f принудит внести ваши изменения в удалённый репозиторий (см. в средней части рисунка ниже). Тогда указатель ветки main перейдёт на ваш коммит (фиолетовый), а коммит, сделанный другим человеком (зелёный), со временем будет удалён сборщиком мусора, как будто его и не было.
2. Разрешение конфликта
Сначала выполняется команда git fetch, которая получит данные из удалённого репозитория в ваш локальный (см. в правой части рисунка ниже). Далее командой git merge origin/main удалённая ветка сливается с вашей локальной в новый коммит (розовый). Это настолько частый случай, что для этих операций есть отдельная команда git pull. После этого команда git push сохранит все получившиеся изменения в удалённом репозитории.

Источник: https://app.pluralsight.com/library/courses/how-git-works
774 viewsedited  05:07
Открыть/Комментировать
2021-01-28 08:48:55
753 views05:48
Открыть/Комментировать