Рубрика «ошибка» - 2

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

Как и в прошлый раз, статья будет полезна для ознакомления разработчикам младшего и среднего звена. В процессе изучения материала, Вы узнаете как можно обращаться к низкоуровневым DLL WinAPI в C# с помощью P/Invoke, как установить, настроить и удалить из системы мониторы печати, драйвера принтера, само устройство печати, открыть и связать порт для перенаправления входных данных с устройства печати на монитор, познакомитесь с ключевыми моментами применения маршалирования. Так же мы на практическом примере разберёмся, как с помощью нашего API можно удобно манипулировать устройствами печати в системе, узнаем как можно перехватить обработанные данные после печати с принтера и, например, отправить их на сервер.
Читать полностью »

Катастрофические последствия программных ошибок - 1

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

В идеальной ситуации баги исправляют все и сразу. Но в жизни всегда есть куча задач, отодвигающих полный и бесповоротный багфикс (новый функционал, срочные хотфиксы, расставленные приоритеты при исправлении багов). Это значит, что в первую очередь находятся и исправляются очевидные и явные проблемы. Остальные тихо ждут своего часа, превращаясь в бомбы замедленного действия. Иногда ошибки приводят не только к неприятностям в жизни рядового разработчика, но и вызывают настоящие катастрофы. Сегодня у нас подборка и объяснение самых кошмарных багов в истории разработки ПО.
Читать полностью »

Сегодня ночью я стал свидетелем довольно-таки интересной ситуации.

Примерно в 23:50 по московскому времени на страницах моего сервиса перестал выполнятся код, использующий библиотеку JQuery.

После недолгих исследований проблемы мне удалось выяснить, что данное происшествие напрямую связано с просроченным SSL сертификатом домена code.jquery.com, который я использую для подключения jquery на своем сайте.
Читать полностью »

Пытаюсь внести квартплату онлайн, 3 попытка. Получаю одно и тоже предупреждение, платеж не удается провести.

Сбербанк онлайн — сломали платежи

Предупреждение системы:

Обратите внимание
ОШИБКА РЕГИСТРАЦИИ ЗАПРОСА BillingPayInqRq В ЦПФЛ! CORBA OBJECT_NOT_EXIST 0x4942fc14 No; nested exception is: org.omg.CORBA.OBJECT_NOT_EXIST: SERVANT_NOT_FOUND (4) for key 0x49454a500200d25e9a22077365727665723103454a4200000058acac0002000100290000005f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573084e706c61745f417070234e706c61745f44422e6a6172234e706c617453657276696365 vmcid: IBM minor code: C14 completed: NoОШИБКА РЕГИСТРАЦИИ ОТВЕТА BillingPayInqRq В ЦПФЛ! CORBA OBJECT_NOT_EXIST 0x4942fc14 No; nested exception is: org.omg.CORBA.OBJECT_NOT_EXIST: SERVANT_NOT_FOUND (4) for key 0x49454a500200d25e9a22077365727665723103454a4200000058acac0002000100290000005f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573084e706c61745f417070234e706c61745f44422e6a6172234e706c617453657276696365 vmcid: IBM minor code: C14 completed: No

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

image
Сегодня, 11 января 2014 года многие пользователи стали получать ошибки при работе с сервисом Dropbox.
Ошибка проявляется в виде ответа сервиса ошибкой 500 при попытке выполнения различных операций.
Лично я заметил что на примере сбоев в работе своего iOS приложения, использующего API Dropbox.
Читать полностью »

В недалеком прошлом на этом замечательном ресурсе была опубликована статья Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Статья — сама по себе неплохая — содержит, к сожалению, ряд неточностей, о которых следует упомянуть. Сделаем это в «один проход» по абзацам. По второму абзацу:

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

Уточнения:

  1. Технические задания не пишут (составляют, подготавливают, оформляют и пр.), а разрабатывают, см. хотя бы п. 1.2 ГОСТ 34.602-89;
  2. Если заказчик и исполнитель руководствуются требованиями ГОСТов, то совершенно противоположных мнений у них в принципе быть не может и не должно. Если же взаимодействие осуществляется «по понятиям» — как сейчас принято — то без «плюрализЬма мнений» тут, конечно, никак не обойтись.

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

Из-за того, что в PHP при сравнении строк оператор "==" пытается сначала преобразовать их в числа [1][2] (даже, если оба операнда — строки), результат порой может оказаться неожиданным:

<?php
var_dump('123' == '       123'); // true
var_dump('1e3' == '1000'); // true
var_dump('+74951112233' == '74951112233'); // true
var_dump('00000020' == '0000000000000000020'); // true
var_dump('0X1D' == '29E0'); // true
var_dump('0xafebac' == '11529132'); // true
var_dump('0xafebac' == '0XAFEBAC'); // true
var_dump('0xeb' == '+235e-0'); // true
var_dump('0.235' == '+.235'); // true
var_dump('0.2e-10' == '2.0E-11'); // true
var_dump('61529519452809720693702583126814' == '61529519452809720000000000000000'); // true в php < 5.4.4

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

При разработке одного небольшого проекта на Delphi с использованием FastScript, столкнулись с одной неочевидной особенностью.
Надеюсь, кому-то найденная особенность будет полезной и сэкономит время разработки.
Читать полностью »

Хотелось бы начать «без воды» по тексту, но всё же придется малость сделать лирическое отступление.
Вкратце о своей деятельности на просторах интернет-сообщества.
Последние 3 года занимаюсь русификацией всевозможного ПО, в частности под OC Windows и Android. Поскольку всё же живем не за границей, а тарабарский, к которому нас так усердно приучают, нам не родной язык, равно как и англицизмы нам не братья по языковой группе, а по сему быть русскому языку в забугорных продуктах, а не нам осваивать его и ставить на вооружение в своем доме.
Читать полностью »

Сегодня обнаружил на сайте ОАО «РЖД» весьма занятную ошибку:

29 февраля 2013 года в РЖД

Да, в феврале 2013 года у них 29 (!) дней. Хуже всего что наличие дополнительного дня «смещает» все остальные месяцы по дням недели на один день вперёд.

Интересно, что творится с сервисом заказов и с АСУ «Экспресс-3» в целом. Если через пару дней не поправят, то люди, заказывающие билеты на 1 марта будут неприятно удивлены.

Об ошибке написал на ticket@rzd.ru.

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


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