Так не будет. Производители браузеров опять пойдут «кто в лес, кто по дрова» в плане поддержки стандартов.
Уже не один раз пройдено.
Мне кажется, что корень проблемы в том, что браузер — очень сложная программа, особенно в плане поддержки обратной совместимости, и цена внесения изменений — крайне высока. Поэтому мы опять получим две-три разные реализации, только теперь для WebAssembly и WebGL(или нового варианта разметки).
Похоронить же сейчас все текущие технологии интернетов ради нового стандарта — нереал, как в старой картинке о 20+ стандартах.
musicriffstudio золотое правило —
делай ссылки — ссылками
кнопки — кнопками, а не , не div, не <что-то>.
список- списком.
таблицу — таблицей.
блок — блоком, абзац абзацем.
Делая, например, таблицу — дивами можно сломать голосовые браузеры, «семантичную верстку», испоганить клавиатурные эвенты — например переход табом между блоками, и.т.п.
С другой стороны, если политика вашего веба — ради 5% пользователей — не запариваться, то да, конечно, можно верстать как хочешь.
Так бизнес отжимают, где продвигая вот такие законы, где подставляя под силовиков.
Примерно также отжали «вконтакте», сконцентрировав крупнейшие соц сети у одного «своего» человека.
Ну, собственно говоря, такое может произойти с любым бизнесом в России.
Не так уж давно Яндекс пытались отжать, но тот сам лёг под государственных людей.
Вас не смущает, что в частных домах между местом установки котла(в подвале) и основным отапливаемым помещением — на 1м/2м этаже перепад высоты ~2,2-2,4 метра?
А площадь может быть и 10x15 квадратов на этаж?
Естественная циркуляция при таких объемах теплоносителя, перепаде высоты и размерах здания — миф.
Всё, наконец-то я понял, что вы имеете ввиду, у вас есть некие стандартные сериализаторы в некие строковые файлы, и сериализация в Enum-овское нестроковое value или "." вас не устроит, нужно чтобы value было строковым.
Тогда да, перечислимые строки были бы решением, если просто строковые константы не устраивают.
Привычный — объявить enum в классе и рядом положить статический Dictionary<enum, string > с нужными строками(некрасиво)
Красивый — использовать атрибуты.
А зачем?
Вне зависимости от того, что именно вы хотите сделать — это можно сделать через сокрытие (new на функции)
class A {
public static string info() {return "a";}
}
class A2:A {
public new static string info() {return "a2";}
}
С точки зрения языка, виртуальная статическая функция — бессмысленна, виртуальные методы нужны для маршрутизации с вызовом типа, который на самом деле лежит под базовым типом/интерфесом.
При вызове статической функции — тип строго определен, маршрутизация типов не нужна.
Главное, о чем вы забыли — c# управляемый язык. Вы не должны получать неуправляемые ошибки памяти при выходе за границу массива, и, тем более, неопределенное / неуточняемое поведение.
И указатель на метод после компиляции (метода), и указатель на коллекцию будут находиться в соответствующих таблицах, до них можно докопаться reflection-ом и другими методами.
Просматривать по месту компиляции: «уплывет этот указатель куда-нибудь в другой поток или нет» — тяжело или невозможно, но в любом случае очень дорого.
И в конце-концов, ничто не мешает под debugger-ом/reflection-ом добавить/убрать элемент в эту динамическую коллекцию. Если циклы for/foreach не будут проверять размер обходимой коллекции — должны получить нативную ошибку (этот факт проверю в неуправляемом коде, не натыкался раньше).
В .net приложении больше одного потока, даже если их создавали не вы.
Для проверки утверждения стоит собрать однопоточное простое приложение и заглянуть в диспетчер системы.
freetonik где-нибудь можно найти собранные библиотеки «быстрых» вариантов алгоритмов для c#?
Точнее, дополнения методами расширения на IEnumerable/другие интерфейсы для LINQ методов, по скорости сравнимых с RawArrayFor, дерева на динамическом массиве, и т. д.?
esetnod32 первый раз встречаю термин «имплант» в применении к программированию.
Не могли бы расшифровать фразу, или дать ссылку на расшифровку термина в статье?
А это жирный намек на то, что группа была «прикормлена» или создана соответствующей организацией?
Кроме этого, названия файлов из этого архива совпадают с идентификаторами имплантов NSA из известного каталога ANT.
Хочу заметить, что информация в статье сильно смешана, тяжело понять посыл и мысль статьи.
Извините, не подскажете, как вы этого добились? Протестировал ваш пример,
pg 9.3, debian
16GB таблица, primary key на id. Примерно 71кк строк. Нагрузка равномерная, при 100к вне зависимости от смещения 20-21 секунда оба запроса.
При 200к 38-40. Значимой разницы в производительности не замечено.
Строки большие, в кэш базы/диска не влезают.
Результат значительно при повторном прогоне не менялся.
Планы:
1) IndexScan -> Limit
2) IndexOnlyScan -> limit ->NestedLoop
IndexScan->
Уже не один раз пройдено.
Мне кажется, что корень проблемы в том, что браузер — очень сложная программа, особенно в плане поддержки обратной совместимости, и цена внесения изменений — крайне высока. Поэтому мы опять получим две-три разные реализации, только теперь для WebAssembly и WebGL(или нового варианта разметки).
Похоронить же сейчас все текущие технологии интернетов ради нового стандарта — нереал, как в старой картинке о 20+ стандартах.
делай ссылки — ссылками
кнопки — кнопками, а не , не div, не <что-то>.
список- списком.
таблицу — таблицей.
блок — блоком, абзац абзацем.
Делая, например, таблицу — дивами можно сломать голосовые браузеры, «семантичную верстку», испоганить клавиатурные эвенты — например переход табом между блоками, и.т.п.
С другой стороны, если политика вашего веба — ради 5% пользователей — не запариваться, то да, конечно, можно верстать как хочешь.
Примерно также отжали «вконтакте», сконцентрировав крупнейшие соц сети у одного «своего» человека.
Ну, собственно говоря, такое может произойти с любым бизнесом в России.
Не так уж давно Яндекс пытались отжать, но тот сам лёг под государственных людей.
А площадь может быть и 10x15 квадратов на этаж?
Естественная циркуляция при таких объемах теплоносителя, перепаде высоты и размерах здания — миф.
Тогда да, перечислимые строки были бы решением, если просто строковые константы не устраивают.
Другое дело, что
работает медленно, и enum вида
не всех стилистически радует.
Привычный — объявить enum в классе и рядом положить статический Dictionary<enum, string > с нужными строками(некрасиво)
Красивый — использовать атрибуты.
Сейчас модификатор static — принадлежность функции типу целиком, а не экземпляру.
Она не должна знать ничего о «нестатических» полях/методах/св-вах.
Вне зависимости от того, что именно вы хотите сделать — это можно сделать через сокрытие (new на функции)
С точки зрения языка, виртуальная статическая функция — бессмысленна, виртуальные методы нужны для маршрутизации с вызовом типа, который на самом деле лежит под базовым типом/интерфесом.
При вызове статической функции — тип строго определен, маршрутизация типов не нужна.
Откуда node.js в 2004м году?
Он уж либо шляпу надел бы, либо трусы снял.
А то как в старом анекдоте: «Я могу отчитаться за каждый свой миллион, кроме первого».
И указатель на метод после компиляции (метода), и указатель на коллекцию будут находиться в соответствующих таблицах, до них можно докопаться reflection-ом и другими методами.
Просматривать по месту компиляции: «уплывет этот указатель куда-нибудь в другой поток или нет» — тяжело или невозможно, но в любом случае очень дорого.
И в конце-концов, ничто не мешает под debugger-ом/reflection-ом добавить/убрать элемент в эту динамическую коллекцию. Если циклы for/foreach не будут проверять размер обходимой коллекции — должны получить нативную ошибку (этот факт проверю в неуправляемом коде, не натыкался раньше).
Для проверки утверждения стоит собрать однопоточное простое приложение и заглянуть в диспетчер системы.
Точнее, дополнения методами расширения на IEnumerable/другие интерфейсы для LINQ методов, по скорости сравнимых с RawArrayFor, дерева на динамическом массиве, и т. д.?
На большом мониторе спасает.
Не могли бы расшифровать фразу, или дать ссылку на расшифровку термина в статье?
А это жирный намек на то, что группа была «прикормлена» или создана соответствующей организацией?
Хочу заметить, что информация в статье сильно смешана, тяжело понять посыл и мысль статьи.
если коротко — способ накатить в windows политику паролей ( сложность — длина, содержащиеся символы и т.д.)
Хорошая, мощная дырка в безопасности, т.к. пароли эта библиотека получает в открытом виде, остается только понять, откуда пришел вызов смены пароля.
pg 9.3, debian
16GB таблица, primary key на id. Примерно 71кк строк. Нагрузка равномерная, при 100к вне зависимости от смещения 20-21 секунда оба запроса.
При 200к 38-40. Значимой разницы в производительности не замечено.
Строки большие, в кэш базы/диска не влезают.
Результат значительно при повторном прогоне не менялся.
Планы:
1) IndexScan -> Limit
2) IndexOnlyScan -> limit ->NestedLoop
IndexScan->