Обновить
8

Программист

7
Подписчики
Отправить сообщение
Так не будет. Производители браузеров опять пойдут «кто в лес, кто по дрова» в плане поддержки стандартов.
Уже не один раз пройдено.
Мне кажется, что корень проблемы в том, что браузер — очень сложная программа, особенно в плане поддержки обратной совместимости, и цена внесения изменений — крайне высока. Поэтому мы опять получим две-три разные реализации, только теперь для WebAssembly и WebGL(или нового варианта разметки).
Похоронить же сейчас все текущие технологии интернетов ради нового стандарта — нереал, как в старой картинке о 20+ стандартах.
Неплохо еще поднять тему lock-free коллекций ( использование, общая методология написания,… )
musicriffstudio золотое правило —
делай ссылки — ссылками
кнопки — кнопками, а не , не div, не <что-то>.
список- списком.
таблицу — таблицей.
блок — блоком, абзац абзацем.

Делая, например, таблицу — дивами можно сломать голосовые браузеры, «семантичную верстку», испоганить клавиатурные эвенты — например переход табом между блоками, и.т.п.

С другой стороны, если политика вашего веба — ради 5% пользователей — не запариваться, то да, конечно, можно верстать как хочешь.
Так бизнес отжимают, где продвигая вот такие законы, где подставляя под силовиков.
Примерно также отжали «вконтакте», сконцентрировав крупнейшие соц сети у одного «своего» человека.
Ну, собственно говоря, такое может произойти с любым бизнесом в России.
Не так уж давно Яндекс пытались отжать, но тот сам лёг под государственных людей.
Вас не смущает, что в частных домах между местом установки котла(в подвале) и основным отапливаемым помещением — на 1м/2м этаже перепад высоты ~2,2-2,4 метра?
А площадь может быть и 10x15 квадратов на этаж?
Естественная циркуляция при таких объемах теплоносителя, перепаде высоты и размерах здания — миф.
Всё, наконец-то я понял, что вы имеете ввиду, у вас есть некие стандартные сериализаторы в некие строковые файлы, и сериализация в Enum-овское нестроковое value или "." вас не устроит, нужно чтобы value было строковым.
Тогда да, перечислимые строки были бы решением, если просто строковые константы не устраивают.
В данном случае тип атрибута — один, например можно для этого использовать DescriptionAttribute(он стандартный).
Другое дело, что
    public static string GetDescription(this Enum value)
    {
      DescriptionAttribute[] descriptionAttributeArray = (DescriptionAttribute[]) value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof (DescriptionAttribute), false);
...

работает медленно, и enum вида
 private enum Verdict : byte {
            [Description(" ")]
            Space,
            [Description(",")]
            Comma
        }

не всех стилистически радует.
Я видел два варианта, кроме идентификаторов

Привычный — объявить enum в классе и рядом положить статический Dictionary<enum, string > с нужными строками(некрасиво)
Красивый — использовать атрибуты.
Тогда чем статическая функция будет отличаться от обычной?

Сейчас модификатор static — принадлежность функции типу целиком, а не экземпляру.

Она не должна знать ничего о «нестатических» полях/методах/св-вах.
А зачем?
Вне зависимости от того, что именно вы хотите сделать — это можно сделать через сокрытие (new на функции)

class A {
   public static string info() {return "a";}
}

class A2:A {
    public new static string info() {return "a2";}
}


С точки зрения языка, виртуальная статическая функция — бессмысленна, виртуальные методы нужны для маршрутизации с вызовом типа, который на самом деле лежит под базовым типом/интерфесом.
При вызове статической функции — тип строго определен, маршрутизация типов не нужна.
Смущают тренды в первом графике.
Откуда node.js в 2004м году?
Наш коллега явно не мальчик, но в чем-то вы правы.
Илон Маск не мог оставаться в стороне — и ему пришлось заработать многомиллионное состояние на общем подъёме доткомо

Илон Маск считает, что для молодого человека вообще по жизни главный принцип — быть полезным


Он уж либо шляпу надел бы, либо трусы снял.

А то как в старом анекдоте: «Я могу отчитаться за каждый свой миллион, кроме первого».
Главное, о чем вы забыли — c# управляемый язык. Вы не должны получать неуправляемые ошибки памяти при выходе за границу массива, и, тем более, неопределенное / неуточняемое поведение.
И указатель на метод после компиляции (метода), и указатель на коллекцию будут находиться в соответствующих таблицах, до них можно докопаться reflection-ом и другими методами.
Просматривать по месту компиляции: «уплывет этот указатель куда-нибудь в другой поток или нет» — тяжело или невозможно, но в любом случае очень дорого.
И в конце-концов, ничто не мешает под debugger-ом/reflection-ом добавить/убрать элемент в эту динамическую коллекцию. Если циклы for/foreach не будут проверять размер обходимой коллекции — должны получить нативную ошибку (этот факт проверю в неуправляемом коде, не натыкался раньше).
В .net приложении больше одного потока, даже если их создавали не вы.
Для проверки утверждения стоит собрать однопоточное простое приложение и заглянуть в диспетчер системы.
freetonik где-нибудь можно найти собранные библиотеки «быстрых» вариантов алгоритмов для c#?
Точнее, дополнения методами расширения на IEnumerable/другие интерфейсы для LINQ методов, по скорости сравнимых с RawArrayFor, дерева на динамическом массиве, и т. д.?
Пометка для Win(10) — можно делить по 1/4, win-left/win-right + win-down/win-up.
На большом мониторе спасает.
esetnod32 первый раз встречаю термин «имплант» в применении к программированию.
Не могли бы расшифровать фразу, или дать ссылку на расшифровку термина в статье?

А это жирный намек на то, что группа была «прикормлена» или создана соответствующей организацией?
Кроме этого, названия файлов из этого архива совпадают с идентификаторами имплантов NSA из известного каталога ANT.


Хочу заметить, что информация в статье сильно смешана, тяжело понять посыл и мысль статьи.
Почитать о нем можно вот здесь msdn
если коротко — способ накатить в windows политику паролей ( сложность — длина, содержащиеся символы и т.д.)

Хорошая, мощная дырка в безопасности, т.к. пароли эта библиотека получает в открытом виде, остается только понять, откуда пришел вызов смены пароля.
Извините, не подскажете, как вы этого добились? Протестировал ваш пример,
pg 9.3, debian
16GB таблица, primary key на id. Примерно 71кк строк. Нагрузка равномерная, при 100к вне зависимости от смещения 20-21 секунда оба запроса.
При 200к 38-40. Значимой разницы в производительности не замечено.
Строки большие, в кэш базы/диска не влезают.
Результат значительно при повторном прогоне не менялся.
Планы:
1) IndexScan -> Limit
2) IndexOnlyScan -> limit ->NestedLoop
IndexScan->
12 ...
15

Информация

В рейтинге
Не участвует
Откуда
Тула, Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность