All streams
Search
Write a publication
Pull to refresh
44
0

Разработчик

Send message

Вполне себе показатель, тем более что штрафуют не за публичное выражение своей точки зрения, а за то, что вы делаете у себя дома наедине с собой.

Задерживать за пикеты безусловно неправильно, но штрафовать за просмотр чего-то там (читай за мыслепреступление) - это качественно новый уровень маразма.

Согласно иллюстрации, до этого момента в Латвии штрафовались лишь компании, которые предоставляют запрещенный в стране контент. Теперь отвечать придется и смотрящим. Штраф за это нарушение может доходить до 700 евро.

Ссылку дал выше.

И вам спасибо )

Во многих тестах метод SetUp вызывает StartThread, который уже вызывает executor. А метод TearDown сразу вызывает executor.

Я думал об этом и в конце-концов решил исключительно для краткости не выносить одну строку с executor.shutdown() в отдельный метод.

Приведу ещё пару примеров решений, на первый взгляд ошибочных, но на деле оказавшихся очень даже полезными.

1) Несериализуемый Optional в своё время вызвал немало споров, а всё потому, что значительная часть пользователей не поняла, что Optional задумывался как OptionalReturn, иными словами он должен использоваться только как возвращаемое значение и с этой точки зрения запрет сериализации выглядит полностью логичным и оправданным.

2) Одноразовый Stream тоже вызвал недоумение у многих, привыкших переиспользовать коллекции и вертеть их как угодно, тем более, что Stream намного тяжелее и дороже коллекций. Но оказывается, что для ленивого связывания и параллелизма очень сложно реализовать механизм поддержания и сбрасывания промежуточного состояния. И ещё сложнее реализовать все свойства стримов в случае, например, построчного чтения из файла.

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

Рассказываешь про аресты за пикеты с пустым листком, местные удивляются, у виска крутят.

То ли дело штрафы за просмотры запрещённых телеканалов.

В том-то и дело, что это не ошибка. Да, разработчики JDK не прописали жёсткого запрета на перестановку членов перечисления, но уже тот факт, что Enum можно сериализовать (а вместе с ним и EnumSet/EnumMap, в которых в частности используется ordinal) говорит о том, что перестановки делать нельзя. В JPA исходя из этого и решили использовать порядковый номер, а не имя. Во-первых, чтобы повторить исходное поведение (старые данные будут неверно преобразовываться в случае смены порядка), и во-вторых чтобы использовать число вместо текста в таблице.

Частично соглашусь, правда, это зависит от ситуации. Например, если вы перечисляете месяцы или дни недели, то никто уже туда ничего не добавит, это во-первых. Во-вторых, по-православному добавление новых постоянных всегда делается в конец существующего энума. На это завязана в частности реализация соотношения перечислений в JPA: по-умолчанию в таблицу вставляется именно порядковый номер, а не имя, т. к. предполагается, что порядок самих элементов перечисления остаётся постоянным.

@SpringBootApplication(exclude = [DataSourceAutoConfiguration::class]) 
//Выпиливаем все не нужные.

Более правильным будет выпиливание ненужных библиотек из classpath-а приложение, а то, что нужно явно исключить лучше описывать в application.{yml|properties}:

spring.autoconfigure.exclude= \ 
  org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, \
  org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, \
  org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

Это во-первых позволяет отвязать настройки от кода, а во-вторых создав несколько файлов настроек под соответствующий профиль можно легко переключаться между ними.

public enum TestEnum {
        A("1"),
        B("2"),
        C("3"),
        D("4"),
        E("5"),
        F("6"),
        G("7");
        private String number;

        private TestEnum(String number) {
            this.number = number;
        }

        public String getNumber() {
            return number;
        }
}

В перечислениях в Java есть встроенное поле ordinal, представляющее порядковый номер члена перечисления.

Подскажите, вызвана ли часть проблемы тем, что французы маневрируют некоторыми АЭС путём сброса пара в атмосферу, что приводит к необходимости доливать воду во второй контур?

"Мы не ищем лёгких путей"

В великом и могучем русском языке для этого есть особое выражение: "статью с пола поднять". Эпично, конечно

ИМХО обычный code coverage(например JaCoCo) не очень полезен, так как line coverage можно набить и тестами, которые будут просто запускать код, но не выполнять ни единой проверки

+1. Покрывать нужно конечные сценарии, а не код сам по себе

Каковы у наших бравых специалистов знания в современной микропроцессорной технике?

И каковы же?

Хорошо, а уязвимости вроде "Спектра" можно считать "железными" закладками?

Как вы представляете чисто "железную" закладку? Замаскированный блок на кристалле с кодовым словом вшитым на уровне триггеров? Не слишком ли негибкое решение получается?

Но информация из внешнего мира как-то должна попадать в эти защищенные локальные сети, хотя бы через одноразовые оптические диски.
...
Специально для них была подготовлена более наглядная версия закладки с упрощенным командным интерфейсом. Закладка активировалась после загрузки на компьютер текстового файла, содержимое которого включало два слова — "Газпром" и "стоп", — расположенных в произвольном порядке. После этого компьютер умирал, но не сразу, а с задержкой в пять минут.

По-моему, из контекста очевидно, как именно была реализована закладка.

ИМХО, тут закладка на стыке софта и железа. Чисто железная закладка имеет мало смысла из-за негибкости.

https://xakep.ru/2011/12/26/58104/

Я вспомнил утверждение одного из специалистов ФСБ о том, что им не страшны закладки, поскольку их системы отключены от глобальной Сети. Но информация из внешнего мира как-то должна попадать в эти защищенные локальные сети, хотя бы через одноразовые оптические диски. Таким образом, я пришел к очевидному выводу и решил анализировать входящий информационный поток в закладке средствами гипердрайвера, чтобы реализовать, так сказать, оружие судного дня, то есть использовать закладку для уничтожения вычислительной системы по внешней команде, передавая ее через входной информационный поток, стеганографически.

Просканировать информационный поток скрытно, без потери быстродействия, по зубам только аппаратуре виртуализации. В какой точке сканировать, тоже понятно: на буферах ввода/вывода дисковых систем и сетевого адаптера. Сканирование буферов ввода/вывода — плевая задача для аппаратуры виртуализации. Сказано — сделано! Такой гипердрайвер размером около 20 Кб был прописан в биос материнской платы и оснащен функцией защиты от обнаружения. Он блокировал попытки его перезаписи при обновлении биоса и выполнял единственную функцию: обнулял флеш-микросхему биоса при поступлении команды на уничтожение. Сама команда для простоты реализации была зашита в текстовый файл DOC-формата в тегах настройки.
...
Мы связались с "Газпромом", чтобы проинформировать специалистов компании о современных угрозах для распределенных систем управления технологическими процессами. Удалось организовать встречу с руководством службы корпоративной защиты и управления комплексными системами безопасности этой корпорации. Специально для них была подготовлена более наглядная версия закладки с упрощенным командным интерфейсом. Закладка активировалась после загрузки на компьютер текстового файла, содержимое которого включало два слова — "Газпром" и "стоп", — расположенных в произвольном порядке. После этого компьютер умирал, но не сразу, а с задержкой в пять минут. Естественно, можно было сделать задержку и на сутки, но тогда мы бы не уложились во время, отведенное для демонстрации.

Information

Rating
Does not participate
Registered
Activity