Новости информационных технологий - 28296

Введение

Достаточно часто в литературе мне попадались описания ошибок и даже классификации их по типам.
Хотя, признаться, у меня не получается толком вспомнить ни одного случая, когда мне бы помогло знание того, к какому именно типу относится конкретная ошибка. Разве что уже после выяснения причин, для обьяснения их окружающим.
А вот как люди вычисляли место и докапывались до сути ошибки — мне всегда было интересно.

Сведения о системе и ошибке

С компьютера на ПЛК подаются уставки (времена, флаги режимов) и команды на устройство.
Из ПЛК на компьютер выдаются сигналы статуса устройства и времени до конца команды на это устройство. Сигналы пакуются в слова, для минимизации объемов приема и передачи.
Из ПЛК на устройство выдаются команды.
Устройство выдает на ПЛК свои статусы.

image

Изначально все работало, но через какое-то время при подаче команд, статусы на компьютере в SCADA начали моргать не по делу и вообще вести себя крайне недружелюбно. Причем только в одном месте, на одном объекте.

Но «танцы с саблями» появлялись стабильно, при каждой команде, что очень порадовало.
Читать полностью »

Команда инженеров, занимающаяся проектом Kinect, занята созданием новой и эффектной возможности под кодовым наименованием Kinect Fusion, пришедшей из лабораторий Microsoft Research в реальную разработку, которая вскоре будет включена в SDK и которая позволит выполнять моделирование трёхмерных объектов, просто поместив объект в поле видимости устройства.

Фактически речь идёт о следующем: владелец Kinect, желая получить виртуальную копию чего-либо, начиная от простых объектов вроде мяча и заканчивая объектами со сложной формой, должен поместить этот объект перед Kinect, который выполнит его сканирование и разместит в 3D-пространстве. При этом ничего не помешает выполнить сканирование сразу всех окружающих приставку объектов вроде комнаты; при этом если сенсоры Kinect «ошибутся», то моделируемый предмет можно будет повертеть перед приставкой, и модель будет уточнена.
Читать полностью »

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

В функциональных языках программирования есть возможность генерировать бесконечные последовательности значений (как правило чисел) и оперировать этими последовательностями. Реализуется это функцией, которая, не прерывая свою работу, генерирует значения одно за другим на основе своего внутреннего состояния.
Но, к сожалению, в обычных языках нет возможности «вернуть» значения в место вызова не выходя из функции. Один вызов — один результат.
Генераторы удобно было бы использовать совместно с возможностью Delphi по перечислению значений (GetEnumerator/MoveNext/GetCurrent). В этой статье мы создадим функцию-генератор (может даже бесконечную) и будем использовать ее с таким объектом для перечисления, чтобы всё работало прозрачно без необходимости вникать в реализацию.
Читать полностью »

Vreen — простая и удобная библиотека для работы с vk.api
Представляю вам новую Qt библиотеку для работы с vk api, которая может пригодиться вам при создании любых настольных и мобильных приложений, взаимодействующих с vk. Проект родился из vkontakte плагина для qutIM'а и перерос в отдельную независимую библиотеку, которой теперь может пользоваться каждый.
Читать полностью »

За долгое время работы с Yii Framework накопилось некоторое количество полезного опыта. Хочу им поделиться с читателим. Всё что ниже написано — плоды рефакторинга и трезвого взгляда на код.

То, о чем я расскажу под катом:

  • Открытие одной и той же странички: через ajax-запрос (без layout) и обычное открытие странички вместе с layout
  • Кеширование моделей без кода в каждой модели
  • Как сделать логирование логики с минимальным кодом
  • Как обернуть всё в транзакции с минимальным кодом
  • Как сделать так, чтобы на каждом сервере (с экземпляром приложения) не менять файл основного конфига приложения. Упрощаем деплой

Читать полностью »

В разделе новинок на сайте Gigabyte появилась системная плата GA-H61M-DS2 HDMI. Одновременно выпущена модель GA-H61M-DS2 DVI. Как несложно догадаться, различие между двумя моделями заключено в наборе видеовыходов.

Системные платы Gigabyte GA-H61M-DS2 HDMI и GA-H61M-DS2 DVI относятся к начальному уровню

Платы типоразмера microATX построены на чипсете Intel H61 Express и рассчитаны на процессоры Intel Core i7, Core i5, Core i3, Pentium и Celeron в исполнении LGA1155. Питание процессоров построено по четырехфазной схеме.

Читать полностью »

Случалось-ли в твоей жизни, %username%, такое, когда тебе продолжительное время хотелось странного? Неважно чего — ведь у каждого разные вкусы и предпочтения. Моя страть сидела во мне долго, но однажды всё-таки вырвалась наружу. Мне нравится делать необычные вещи и мне всегда нравился моддинг как средство самовыражения. Несколько лет назад я вдохновился изделиями изделиями моддеров из разных стран и начал обдумывать несколько своих проектов. В частности, мне очень хотелось сделать стизованную под девятнадцатый век клавиатуру.

Клавиатура, идея, две руки

Читать полностью »

Мобильные сервисы, блобы и Windows 8. Храним данные в облаке

Добрый день.

Мы живем в мире тотальной глобализации как в реальной жизни, так и в виртуальной. Я имею в виду, что нам хочется иметь одни и те же данные, одни и те же настройки и одно и то же поведение программ на разных устройствах. Такой синхронизации всего и вся в наше время легко добиться с помощью облаков. Об этом и пойдет речь в данной статье, а именно о скрещивании приложения для Windows 8 (WinRT) с облаком Windows Azure для хранения данных и метаданных.

Вводная

Итак, предположим, что у нас есть приложение для Windows 8 (пусть это будет сервис хранения неких текстовых записей), которое:
1) Должно отображать список записей с минимальной информацией о каждой из них (допустим, заголовок или дату создания). Назовем это метаданными.
2) Должно иметь возможность показать подробную информацию о записи (контент) при переходе к конкретному элементу. Назовем это данными.
3) Должно синхронизировать данные между различными устройствами под управлением Windows 8 (создал запись дома, просмотрел ее же на работе).

Наиболее правильный подход, который я вижу, это разбить данные и метаданные и хранить их в разных местах. Это позволит нам быстро получить небольшие по объему метаданные для отображения в виде списке, и подгружать «тяжелые» данные по запросу пользователя.

По ходу этой статьи мы познакомимся с Windows Azure Mobile Services для хранения метаданных и Windows Azure Blob Storage для хранения данных. Впереди много текста и картинки.
Читать полностью »

Приставка к роутеру (USB HUB + USB HDD + UPS)
После приобретения достаточно мощного роутера с портами USB (это был ASUS RT-N16), задался вопросом — как использовать роутер по полной?
Что мне было нужно:

  • сетевое хранилище,
  • торрент-качалка,
  • и конечно, чтобы всё это не падало при бросках/перебоях в сети электропитания.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js