Pull to refresh
34
0.2
Андрей Тарицын @Taritsyn

Веб-разработчик

Send message
Хотя наверняка его можно и под linux поставить.

Можете поставить его и под Linux, и под macOS. Просто заходите в репозиторий кроссплатформенного PowerShell на GitHub и скачиваете из списка релизов нужный вам дистрибутив.

Добавлю жевачек. «Импортных».

Вы, наверное, не поняли смысла моего комментария, адресованного автору этого поста ;-)


Boomer == Бумер
Тогда же в ларьках мы впервые попробовлали Сникерс и Марс.

Жевательная резинка Boomer
Жевательная резинка Boomer (источник: статья «Жвачки детей 90-х»)

А жвачку Boomer пробовали? Она появились на наших прилавках как раз в 1992 году. Самые первые, как на фото, были невкусные и твердые как камень.

Строка действительно особый тип. Приведу цитату из книги Конрада Кокосы:


Строки обрабатываются в .NET особым образом, поскольку по умолчанию они неизменяемы. В отличие от неуправляемых языков типа C или C++, мы не можем изменить значение строки, после того как она создана.

Неизменяемость строк приводит к большой неразберихе при первом знакомстве с языком C#.
Например, проверка равенства строк отличается от других ссылочных типов: если ссылки не равны, то производится дополнительная проверка при которой сравниваются значения строк. Сначала сравнивают длину строк, если они совпадают, то производится посимвольное сравнение.
Просто здесь не совсем правильно подан материал. Строки похожи по поведению на типы значений из-за того, что они неизменяемы.

// НЕ КОМПИЛИРУЕТСЯ, List - конвариантен

Правильно будет: «контравариантен».

string особенный тип
  • хранятся в heap как refernce type
  • при присвоении (передаче в метод) и сравнении ведут себя как value type

Ничего не сказано о том, что строки в .NET неизменяемы.



На примере с пакетами по DB2, вижу что их делят по целевым системам Windows/Linux/OSX, возможно экономят на размере пакета:

Если хотите больше узнать по этой теме, то рекомендую прочитать мой пост «Let's make the Microsoft ClearScript.V8 fully cross-platform» в репозитории проекта Microsoft ClearScript.

Если ваш пакет полностью ориентирован на .NET Core или .NET 5, то вы можете использовать для развертывания нативных сборок механизм на базе каталогов RID. Вы просто копируете нативные сборки в директорию runtimes/win-x64/native пакета, где win-x64 – это RID целевой платформы, а среда выполнения сама загружает их в память процесса.


Можно также создавать гибридные решения, которые будут поддерживать сразу несколько сценариев развертывания нативных сборок:


  1. Для .NET Core и .NET 5 использовать каталоги RID.
  2. Для проектов .NET Framework использовать MSBuild-скрипты .targets или .props.
  3. Для сайтов ASP.NET 4.X использовать PowerShell-скрипты Install.ps1 и Uninstall.ps1.

В качестве примера можете посмотреть исходный код пакета JavaScriptEngineSwitcher.ChakraCore.Native.win-x64.

Призраком много кто вдохновлялся. Например, Люк Бессон многое позаимствовал из него, когда работал над фильмом «Пятый элемент»:


Наглядное сравнение аниме «Призрак в доспехах» и фильма «Пятый элемент»
Сравнение аниме «Призрак в доспехах» и фильма «Пятый элемент» (источник журнал «Великий Dракон» №37 от 3 февраля 1998 года)
Знающие тему люди составили подробный список неточностей и ошибок, допущенных автором этого документального фильма.
А ещё в 80-х происходит заход на территорию с другой стороны. В Японии появляются «Акира» и «Призрак в доспехах», сначала в формате манги, а позже обе получат аниме-экранизации — тут возникает свой киберпанк.

Здесь стоило бы еще упомянуть более раннюю мангу Масамунэ Сиро – «Яблочное зёрнышко».


Кроме того, на рубеже 80-x и 90-x создавалось культовое киберпанковское аниме «Кибер-город Эдо 808».

Пустой атрибут alt — это, вероятно, самая распространенная проблема, с которой я сталкиваюсь. Программы экранного доступа читают описание изображения вслух. Если описания нет, то незрячий пользователь услышит просто «картинка» или «графика», что не даст никакого контекста или смысла.

Во времена табличной верстки для любой служебной графики, размещенной на веб-странице, рекомендовалось всегда явно указывать пустой alt-текст (alt=""). Вот что об этом писал Дмитрий Кирсанов в своей книге «Веб-дизайн»:



  • Для распорок (стр. 237) и декоративных элементов, не несущих никакой информации, обязательно указывать пустой alt-текст (alt=""). Как ни странно, этот простейший случай не является значением по умолчанию, так что автор должен сам позаботиться об обнулении alt-текста во всех вспомогательных изображениях.


… Важно также не забывать указывать alt="" при всех таких распорках (как и при любой другой служебной графике), чтобы не раздражать «исподним» визуального форматирования тех, кому нужен лишь текстовый образ вашей страницы.



В несколько измененном виде эта рекомендация дожила и до наших дней. Вот что об этом пишет Николай Шабалин в своей статье «Как правильно написать alt-текст»:


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


<img src="orange-cat-2.jpg" alt="">


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

Моя библиотека, поддерживающая .NET Standard 2.1, стала быстрее работать на 20-25% при запуске под .NET 5.0 вместо .NET Core App 3.1.



В регулярных выражениях помимо увеличения производительности, также исправили серьезную ошибку совместимости с ECMAScript. В предыдущих версиях .NET при создании регулярных выражений с флагом RegexOptions.ECMAScript возникали ошибки при разборе шаблонов, содержащих следующий символьный класс – [^] (например, ^(\s*)([^]*\S)(\s*)$). Данная ошибка создавала множество проблем при работе с JavaScript-движками, написанными на чистом .NET (Jint, Jurassic и NiL.JS).

Information

Rating
2,905-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Web Developer
Lead