Строки обрабатываются в .NET особым образом, поскольку по умолчанию они неизменяемы. В отличие от неуправляемых языков типа C или C++, мы не можем изменить значение строки, после того как она создана.
…
Неизменяемость строк приводит к большой неразберихе при первом знакомстве с языком C#.
Например, проверка равенства строк отличается от других ссылочных типов: если ссылки не равны, то производится дополнительная проверка при которой сравниваются значения строк. Сначала сравнивают длину строк, если они совпадают, то производится посимвольное сравнение.
Если ваш пакет полностью ориентирован на .NET Core или .NET 5, то вы можете использовать для развертывания нативных сборок механизм на базе каталогов RID. Вы просто копируете нативные сборки в директорию runtimes/win-x64/native пакета, где win-x64 – это RID целевой платформы, а среда выполнения сама загружает их в память процесса.
Можно также создавать гибридные решения, которые будут поддерживать сразу несколько сценариев развертывания нативных сборок:
Для .NET Core и .NET 5 использовать каталоги RID.
Для проектов .NET Framework использовать MSBuild-скрипты .targets или .props.
Для сайтов ASP.NET 4.X использовать PowerShell-скрипты Install.ps1 и Uninstall.ps1.
А ещё в 80-х происходит заход на территорию с другой стороны. В Японии появляются «Акира» и «Призрак в доспехах», сначала в формате манги, а позже обе получат аниме-экранизации — тут возникает свой киберпанк.
Здесь стоило бы еще упомянуть более раннюю мангу Масамунэ Сиро – «Яблочное зёрнышко».
Кроме того, на рубеже 80-x и 90-x создавалось культовое киберпанковское аниме «Кибер-город Эдо 808».
Пустой атрибут alt — это, вероятно, самая распространенная проблема, с которой я сталкиваюсь. Программы экранного доступа читают описание изображения вслух. Если описания нет, то незрячий пользователь услышит просто «картинка» или «графика», что не даст никакого контекста или смысла.
Во времена табличной верстки для любой служебной графики, размещенной на веб-странице, рекомендовалось всегда явно указывать пустой alt-текст (alt=""). Вот что об этом писал Дмитрий Кирсанов в своей книге «Веб-дизайн»:
…
Для распорок (стр. 237) и декоративных элементов, не несущих никакой информации, обязательно указывать пустой alt-текст (alt=""). Как ни странно, этот простейший случай не является значением по умолчанию, так что автор должен сам позаботиться об обнулении alt-текста во всех вспомогательных изображениях.
…
… Важно также не забывать указывать alt="" при всех таких распорках (как и при любой другой служебной графике), чтобы не раздражать «исподним» визуального форматирования тех, кому нужен лишь текстовый образ вашей страницы.
В несколько измененном виде эта рекомендация дожила и до наших дней. Вот что об этом пишет Николай Шабалин в своей статье «Как правильно написать alt-текст»:
Но в этом случае некоторые скринридеры начнут читать src, что ещё хуже. Поэтому лучше оставлять пустой alt. Из двух зол выбирают наименьшее.
В регулярных выражениях помимо увеличения производительности, также исправили серьезную ошибку совместимости с ECMAScript. В предыдущих версиях .NET при создании регулярных выражений с флагом RegexOptions.ECMAScript возникали ошибки при разборе шаблонов, содержащих следующий символьный класс – [^] (например, ^(\s*)([^]*\S)(\s*)$). Данная ошибка создавала множество проблем при работе с JavaScript-движками, написанными на чистом .NET (Jint, Jurassic и NiL.JS).
Можете поставить его и под Linux, и под macOS. Просто заходите в репозиторий кроссплатформенного PowerShell на GitHub и скачиваете из списка релизов нужный вам дистрибутив.
Вы, наверное, не поняли смысла моего комментария, адресованного автору этого поста ;-)
Boomer == БумерЖевательная резинка Boomer (источник: статья «Жвачки детей 90-х»)
А жвачку Boomer пробовали? Она появились на наших прилавках как раз в 1992 году. Самые первые, как на фото, были невкусные и твердые как камень.
Строка действительно особый тип. Приведу цитату из книги Конрада Кокосы:
Правильно будет: «контравариантен».
Ничего не сказано о том, что строки в .NET неизменяемы.
Если хотите больше узнать по этой теме, то рекомендую прочитать мой пост «Let's make the Microsoft ClearScript.V8 fully cross-platform» в репозитории проекта Microsoft ClearScript.
Если ваш пакет полностью ориентирован на .NET Core или .NET 5, то вы можете использовать для развертывания нативных сборок механизм на базе каталогов RID. Вы просто копируете нативные сборки в директорию
runtimes/win-x64/nativeпакета, гдеwin-x64– это RID целевой платформы, а среда выполнения сама загружает их в память процесса.Можно также создавать гибридные решения, которые будут поддерживать сразу несколько сценариев развертывания нативных сборок:
.targetsили.props.Install.ps1иUninstall.ps1.В качестве примера можете посмотреть исходный код пакета JavaScriptEngineSwitcher.ChakraCore.Native.win-x64.
Призраком много кто вдохновлялся. Например, Люк Бессон многое позаимствовал из него, когда работал над фильмом «Пятый элемент»:
Сравнение аниме «Призрак в доспехах» и фильма «Пятый элемент» (источник журнал «Великий Dракон» №37 от 3 февраля 1998 года)
Здесь стоило бы еще упомянуть более раннюю мангу Масамунэ Сиро – «Яблочное зёрнышко».
Кроме того, на рубеже 80-x и 90-x создавалось культовое киберпанковское аниме «Кибер-город Эдо 808».
Во времена табличной верстки для любой служебной графики, размещенной на веб-странице, рекомендовалось всегда явно указывать пустой
alt-текст (alt=""). Вот что об этом писал Дмитрий Кирсанов в своей книге «Веб-дизайн»:В несколько измененном виде эта рекомендация дожила и до наших дней. Вот что об этом пишет Николай Шабалин в своей статье «Как правильно написать alt-текст»:
Моя библиотека, поддерживающая .NET Standard 2.1, стала быстрее работать на 20-25% при запуске под .NET 5.0 вместо .NET Core App 3.1.
RegexOptions.ECMAScriptвозникали ошибки при разборе шаблонов, содержащих следующий символьный класс –[^](например,^(\s*)([^]*\S)(\s*)$). Данная ошибка создавала множество проблем при работе с JavaScript-движками, написанными на чистом .NET (Jint, Jurassic и NiL.JS).