Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Ленивый Reverse Engineering

Время на прочтение4 мин
Количество просмотров7.5K

Данная статья будет состоять из двух частей. В первой части поищем интересные проекты для облегчения процесса обратной разработки, а во второй опробуем их для изучения алгоритмов.

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии5

Binary Coverage для Reverse Engeneering

Время на прочтение4 мин
Количество просмотров2.3K

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Удалённое управление питанием и перезагрузкой компьютера, при помощи внешнего девайса

Время на прочтение9 мин
Количество просмотров40K

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

Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!

Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…

Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+40
Комментарии76

Автоматическая подсветка лестницы с помощью Arduino

Время на прочтение4 мин
Количество просмотров239K
Добрый день! В этом посте хочу поделится с хабро сообществом о том, как мне довелось сделать автоматическое освещение лестницы в своем двухэтажном коттедже. Начну с небольшого грустного отступления.
Около четырех месяцев назад, возвращаясь с работы в полной темноте, я не удачно подскользнулся и сломал две плюсниевых кости (пальца) на левой ступне. Целый месяц пришлось провалятся в постели, так как наступать на ногу было невероятно больно. Потом еще пол месяца хромал без гипса (у кого были переломы меня сразу поймут). После этой печальной истории я начал задумываться об автоматизации освещения ступенек лестницы. Немного поиграв с поисковыми запросами, нашел для себя очень простое решение в этом блоге, как раз на основе моего любимого микроконтроллера Arduino. Схема не вызвала каких то трудностей, но отпугивало количество и длина проводов, которые мне предстояло смонтировать. До этого ничего подобного не делал. Покупать готовые решения или нанимать кого-то — накладно. В течении месяца заказал нужные комплектующие и не торопясь смонтировал за несколько дней на свою лестницу. Всем кому интересно, что из этого получилось, добро пожаловать под кат (осторожно трафик)!
Читать дальше →
Всего голосов 155: ↑154 и ↓1+153
Комментарии134

Анализ кода систем повышенной надежности

Время на прочтение9 мин
Количество просмотров3.6K
Привет, Хабр! В этой статье я хочу поговорить о достаточно мало рассматриваемой теме анализа кода систем повышенной надежности. На Хабре много статей о том, что такое хороший статический анализ, но в этой статье я бы хотел рассказать о том, что такое формальная верификация кода, а также объяснить опасность бездумного применения статических анализаторов и стандартов кодирования.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии8

Как организовать и провести детские роботехнические соревнования для всей страны в условиях карантина

Время на прочтение12 мин
Количество просмотров3.9K
Хабр, приветствую! Мы занимаемся организацией и проведением детских робототехнических соревнований в рамках АгроНТИ 2020 по направлению Агророботы. Но, как вы уже догадываетесь, в этом году с массовыми мероприятиями, а тем более детскими, не все так однозначно…

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии14

Работа с нестандартными шинами комплекса Redd

Время на прочтение10 мин
Количество просмотров2.4K
В прошлой статье мы начали знакомиться с тем, как можно работать со стандартными, общеизвестными шинами силами комплекса Redd, после чего я обещал перейти к тому, как в нём можно получить доступ к шинам более экзотическим. Но побеседовав с парой знакомых, я вдруг понял, что не все читали статью, которая была написана про комплекс Redd вне этого цикла. И, соответственно, не все знают, зачем эти шины в комплекс добавлены вообще. Можно, конечно, просто сослаться на ту статью, но мне кажется, что будет правильнее пересказать соответствующую её часть с привязкой к теме именно этого цикла. Поэтому сегодня мы рассмотрим не только практические, но и теоретические вопросы, касающиеся шин, реализуемых комплексом Redd.


Читать дальше →
Всего голосов 4: ↑3 и ↓1+6
Комментарии2

Пайка компонентов 0201. Слабонервных просьба удалиться от экранов

Время на прочтение4 мин
Количество просмотров100K
Доброго времени суток, Хабр!



Хочу поделиться опытом пайки плат. Также затрону тему установки совсем маленьких компонентов с типоразмером 0201.
Читать дальше →
Всего голосов 73: ↑71 и ↓2+105
Комментарии210

Курс по C++ в CS центре, вторая часть

Время на прочтение3 мин
Количество просмотров11K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.

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

Раскусим новые возможности языка и стандартной библиотеки: move семантику, bind/function, enable_if/if constexpr, сoroutines и другие. Посмотрим на некоторые характерные задачи: многопоточное программирование, использование библиотек в Windows и Linux и другие.

Приятного просмотра!
Смотреть видео
Всего голосов 20: ↑19 и ↓1+18
Комментарии3

CAN sniffer

Время на прочтение9 мин
Количество просмотров82K
Непосредственно сама CAN шина используется уже много где, мне интересно её использование в автомобиле, хотя этой сферой можно и не ограничиваться. Тем более пару лет назад подвернулась такая возможность. Я посмотрел на общие спецификации — вроде бы ничего особо сложного нет. Посмотрел на программы, которые встречаются в интернете — и ни одна мне не приглянулась, у каждой не хватало чего-то такого, что казалось мне нужным на тот момент. Буду изобретать свой велосипед. Делаю свой CAN sniffer далее под катом.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии59

Как организовать распределенную разработку, если это невозможно

Время на прочтение9 мин
Количество просмотров6.4K
В статье, несмотря на то, что она, безусловно, чистый PR и рассказывает о нашем новом крутом (мнение автора) продукте, я постарался описать наш полезный опыт.

С какими проблемами сталкивались мы и наши клиенты при организации удаленной разработки ПО для устройств, как их решали, и откуда «растут ноги» у Redd, программно-аппаратного комплекса удаленной разработки ПО для встроенных систем. Почему появилась эта «коробка», и как изменится жизнь (опять же, мнение автора) миллионов разработчиков embedded-систем, устройств интернета вещей, оборудования для авто, самолётов, связи.


Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии25

Автоматизация аппаратного тестирования Embedded Систем

Время на прочтение3 мин
Количество просмотров4.7K
Продолжим цикл статей об автоматизации тестирования Embedded систем. В этой статье будет рассказано как можно быстро и относительно просто интегрировать возможность управления питанием тестируемого устройства из тестового скрипта а так же получить возможность имитировать нажатия механических кнопок по команде из тестового скрипта.

Итак, что имеем:

  1. Десятки Embedded устройств в которых нужно проводить тестирование новой версии FirmWare (если быть точнее — ежедневная сборка прошивки)
  2. В виду особенностей процедуры загрузки FW может потребоваться необходимость сбросить питание (т.н. режим загрузки прошивки в режиме Power On Capture)
  3. Хотелось бы в некоторые конкретные моменты времени по ходу выполнения тестового скрипта имитировать нажатия на механические кнопки размещенные на отладочной плате Embededed системы
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии17

Как оценить инструменты для тестирования встроенного ПО

Время на прочтение17 мин
Количество просмотров20K

Введение от автора поста


Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc.
На вопросы отвечу в комментариях или в личку

Какой Вы используете инструмент тестирования?


За последние несколько лет рынок инструментов автоматизированного тестирования был заполнен средствами, претендующими на выполнение одной и той же функции – автоматизированного тестирования. Википедия перечисляет 38 инструментов оценки среды тестирования только для языков программирования С/С++. К сожалению, потенциальные пользователи, изучая описание данных продуктов, а также их упрощенные демонстрационные версии, могут сделать вывод, что большинство инструментов практически одинаковы.

Целью данного документа является предоставление инженерам информации, которую необходимо принимать во внимание при оценке автоматизированных инструментов тестирования ПО, особенно в части автоматизированных инструментов динамического тестирования.

Вы не сможете оценить инструмент тестирования, прочитав его спецификацию


Все спецификации выглядят достаточно однотипно. Ключевые слова одни и те же: «лидер отрасли», «уникальная технология», «автоматизированное тестирование», «передовые методы». Скриншоты похожи друг на друга: гистограммы, структурные схемы, HTML-отчеты и процентные показатели. Все это навевает скуку.

Подробнее
Всего голосов 19: ↑17 и ↓2+15
Комментарии5

Использование автоматизированных верификационных средств для тестирования ПО в соответствии со стандартами DO-178B/C (КТ-178В), EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304

Время на прочтение12 мин
Количество просмотров26K

Введение от автора поста



Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc. и рассматривается пример использования автоматизированного верификационного инструментария VectorCAST.
В статье мы акцентируем внимание на стандартах DO-178B/C (КТ-178В), но данная статья актуальна и для применения в соответствии со стандартами: EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304.
На вопросы отвечу в комментариях или в личку.

Введение


В этой статье, мы рассмотрим каким образом платформа тестирования встроенного программного обеспечения (ПО) VectorCAST может быть использована для достижения целей процесса верификации ПО, определенного в разделе 6.0 стандартов DO-178B и DO-178C (КТ-178В) «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». В документе также освещаются различия между двумя стандартами в части раздела 12 «Процесс квалификации инструментального ПО».

Подробнее
Всего голосов 12: ↑8 и ↓4+4
Комментарии9

Тестирование методом черного ящика

Время на прочтение8 мин
Количество просмотров67K

Книга "A Practitioner's Guide to Software Test Design" Lee Copeland была опубликована в 2003 году.
С тех пор она надежно закрепилась в списке книг, которые обязательно должен прочитать любой тестировщик. Её стоит прочитать в оригинале. Читается очень приятно: язык не сложный, стиль легкий. По ходу книги автор слегка иронизирует над собой, своими учениками, читателями и в целом над сферой нашей деятельности.


Далее приводится не перевод, а скорее подробный конспект раздела “Техники тестирования методом черного ящика”, в котором содержится описание применения техник тест-дизайна.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Visual Studio Coded UI Tests: теория и практика применения в нашей компании

Время на прочтение13 мин
Количество просмотров13K

Picture 2

Автоматизированные тесты пользовательских интерфейсов — тема, к которой настороженно относятся даже опытные разработчики. При этом технология такого тестирования не представляет собой чего-либо экстраординарного, а в случае Visual Studio Coded UI Tests является расширением встроенной системы модульного тестирования Visual Studio Team Test. В этой статье я хочу остановиться как на теме UI-тестирования в общем, так и на нашем частном опыте применения Visual Studio Coded UI Tests в работе над статическим анализатором PVS-Studio.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии9

Автоматизируем UI-тесты Android приложения с использование паттерна Page Object

Время на прочтение6 мин
Количество просмотров14K
image

Паттерн Page Object появился в тестировании web и очень хорошо себя там зарекомендовал. Когда я начал автоматизировать тесты для android приложения, то первым делом подумал про него. Поискал информацию в сети, поспрашивал коллег и, в принципе, не нашел доводов не попробовать. Предлагаю посмотреть, что из этого вышло.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии23

Где бесплатно пообщаться на английском с носителем

Время на прочтение2 мин
Количество просмотров217K

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


На случай, если не хочется читать всю статью, вот:

howdoyou.do, lingoglobe, coffeestrap, wespeke, speaky, conversationexchange, easylanguageexchange, speaking24.com.

А если хотите детальнее узнать, что полезного можно найти на этих сайтах, добро пожаловать в статью.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии23

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

Время на прочтение5 мин
Количество просмотров6.3K

Возникла необходимость выгрузки большого количества данных на клиент из базы MongoDB. Данные представляют собой json, с информацией о машине, полученный от GPS трекера. Эти данные поступают с интервалом в 0.5 секунды. За сутки для одной машины получается примерно 172 000 записей.


Серверный код написан на ASP.NET CORE 2.0 с использованием стандартного драйвера MongoDB.Driver 2.4.4. В процессе тестирования сервиса выяснилось значительное потребление памяти процессом Web Api приложения — порядка 700 Мб, при выполнении одного запроса. При выполнении нескольких запросов параллельно объем памяти процесса может быть больше 1 Гб. Поскольку предполагается использование сервиса в контейнере на самом дешевом дроплете с оперативной памятью в 0.7 Гб, то большое потребление оперативной памяти привело к необходимости оптимизировать процесс выгрузки данных.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии22

Как работает Git

Время на прочтение19 мин
Количество просмотров150K
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

Эссе концентрируется на структуре графа, на которой основан Git, и на том, как свойства этого графа определяют поведение Git. Изучая основы, вы строите своё представление на достоверной информации, а не на гипотезах, полученных из экспериментов с API. Правильная модель позволит вам лучше понять, что сделал Git, что он делает и что он собирается сделать.

Текст разбит на серии команд, работающих с единым проектом. Иногда встречаются наблюдения по поводу структуры данных графа, лежащего в основе Git. Наблюдения иллюстрируют свойство графа и поведение, основанное на нём.

После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
Читать дальше →
Всего голосов 110: ↑99 и ↓11+88
Комментарии38

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность