Pull to refresh
0
0
Send message

Евгений DockerAuthPlugin’ович Онегин

Reading time15 min
Views5.9K

Интересное начало, не так ли? Меня зовут Роман, и я младший инженер информационной безопасности Ozon. В этой статье я расскажу о проблеме отсутствия авторизации доступа к Docker daemon / Docker Engine API / командам Docker при работе с контейнерами в экосистеме Docker и как это можно решить при помощи 11 почти стихотворных строчек bash.

Говоря о стихотворчестве, первое, что приходит мне в голову, это уроки литературы, где моим самым любимым романом был «Евгений Онегин». В школе учитель литературы говорила нам: «Это вы сейчас это не понимаете... Уже потом, спустя год, пять или даже 20 лет, вы вновь прикоснётесь к книгам, которые, казалось бы, вы уже знаете вдоль и поперёк. И вот тогда вы поймёте всё то, что мы с вами тут обсуждаем, или даже откроете для себя что-то, о чем и не догадываетесь».

Читать далее
Total votes 100: ↑99.5 and ↓0.5+99
Comments21

Пишем калькулятор на Rust с GUI

Level of difficultyEasy
Reading time18 min
Views11K

Зачем еще один калькулятор? Да незачем, просто как тестовый проект для рассмотрения GUI-библиотеки.

Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и кушает оперативы побольше Webview в Tauri, а до третьей я так и не добрался, узнав об Slint.

Об Slint есть всего несколько новостных постов на Хабре, поэтому, возможно, вам будет интересно посмотреть, что это такое.

Читать далее
Total votes 23: ↑24.5 and ↓-1.5+26
Comments84

Компоненты среды рабочего стола | Linux

Level of difficultyMedium
Reading time12 min
Views7.8K

Всех приветствую, читатели Хабра! Решил попробовать себя в роли знатока-писателя и освятить для вас такую тему, как “Компоненты среды рабочего стола”, чтобы больше людей, хотя-бы в основе, понимали, что там происходит в системе такого, благодаря чему мы можем, не тыкаясь в консоли, с ней взаимодействовать.

Читать далее
Total votes 11: ↑12 and ↓-1+13
Comments12

Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

Reading time6 min
Views4.7K

Shodan — это инструмент для поиска подключенных к интернету устройств.
Для работы ему не нужны записи DNS. Вместо этого он самостоятельно отправляет запросы на различные сетевые узлы, проверяя каждый порт в разных диапазонах IP-адресов.

Благодаря этому Shodan позволяет узнать, какие устройства и операционные системы наиболее распространены, а также оценить уровень проникновения интернета в разные регионы мира.

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

Рассмотрим с вами два вопроса:

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments3

Building firmware for Orange PI i96 (Orange PI 2g-iot) from scratch

Level of difficultyEasy
Reading time14 min
Views505

Hellow my name is Dmitry. Once I bought "Orange PI i96", but unfortunately producer not update it firmvere very long. Last firmwere kernel version is 3.10.62 but kernel current at time this article writing (russian version) is 6.5.1. And so I decide build my own firmware from scratch, and do it from sourse completely.

Read more
Total votes 9: ↑7 and ↓2+5
Comments6

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN

Level of difficultyEasy
Reading time10 min
Views12K

Привет, Хабр!

Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также используются в автомобилях, к примеру для контроля работы двигателя или системы ABS. А в медицине практически все оборудование работает на микроконтроллерах.

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

В этой статье рассмотрим такие протоколы взаимодействия как SPI, IDC, UART, CAN

Читать далее
Total votes 36: ↑22 and ↓14+8
Comments81

Обзор Протокола ISO-TP [ISO 15765-2]

Level of difficultyEasy
Reading time5 min
Views2.5K

Как известно канальные CAN пакеты могут быть размером максимум 8 байт. Одновременно с этим, с более высоких уровней модели OSI могут поступить запросы передать огромные пакеты  [ jumbo frame(ы) ]. Как же разрешить это противоречие?

Эту ситуацию призван распетлять протокол ISO-15765-2 (или попросту ISO-TP ).

В этом тексте я выполнил обзор протокола ISO-TP.

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments23

ShIoTiny5 — OTA, часы, Encoder и прочие новости от v0.26 до v0.32

Reading time9 min
Views1.6K

Это продолжение цикла статей о хобби-проекте ShIoTiny5 - встраиваемой системе графического программирования микроконтроллеров семейства ESP8266.

Изменения, новшества, планы - за последние несколько месяцев.

Для тех, кто не знает о чём речь

Для тех, кто слышит о проекте ShIoTiny5 впервые - можно посмотреть сайт проекта и там же найти подробную инструкцию прошивки v0.32 и саму прошивку.

Кроме того, в конце статьи есть ссылки, которые помогут понять о чём речь.

Для написания программ для ShIoTiny5 не нужно ничего, кроме интернет-браузера и модуля на базе ESP8266, соединённого с компьютером или ноутбуком по WiFi.

Если интересно, то жми сюда!
Total votes 13: ↑13 and ↓0+13
Comments5

Язык тестовых сценариев Testo Lang: простая автоматизация сложных тестов

Reading time12 min
Views11K

Картинка для привлечения внимания


Если Вы разрабатываете более-менее сложный программный продукт, то Вам должна быть знакома ситуация, когда системные (end-to-end) тесты по тем или иным причинам автоматизировать не удаётся. На это могут быть разные причины, я приведу несколько примеров:


  • У приложения нет и не может быть API, за которое можно зацепиться, по соображениям безопасности;
  • Приходится поддерживать legacy-проект, про автоматизацию тестирования которого никто никогда не задумывался;
  • Во время тестирования задействуется сторонний продукт, например — антивирус;
  • Необходимо проверить работоспособность продукта на большом количестве различных целевых платформ;
  • Тестовый стенд представляет собой сложную гетерогенную систему, включающую в себя промежуточное сетевое оборудование.

Эти и многие другие ситуации приводят к худшему кошмару любого разработчика — ручному тестированию. Самое неприятное заключается в том, что нельзя провести тестирование один раз и забыть о нём. Нет, нам приходится перед каждым релизом (а может и чаще) раскатывать виртуалки, устанавливать туда тестируемое приложение и тыкать по кнопкам снова и снова, чтобы убедиться, что мы не словили регрессию.


Если Вы ищете решение этой проблемы — то прошу под кат.

Total votes 18: ↑18 and ↓0+18
Comments27

Buildroot — часть 2. Создание конфигурации своей платы; применение external tree, rootfs-overlay, post-build скриптов

Reading time5 min
Views18K

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

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments24

DIY-одноплатник или OrangePi на минималках

Reading time14 min
Views18K

Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому.

Читать далее
Total votes 82: ↑82 and ↓0+82
Comments19

Как я читаю сейчас, путешествие по ридерам

Level of difficultyMedium
Reading time6 min
Views11K

Совсем недавно открыл для себя всю мощь Zotero. Опыт чтения с помощью этой программы ничем не уступает аналогичному с iBooks, Readwise, Alreader и любого другого ридера, с одним лишь исключением. Zotero предоставляет чтецу все то же самое, только на стероидах. Однако, прежде чем перейти к описанию, почему так происходит, и сценариям использования, расскажу про свой читательский опыт.

В 2002 году, студентом третьекурсником, на глаза попался карманный персональный компьютер (КПК), а вместе с ним и зуд прикупить себе такую штучку. Выбрал не самую дешевую модельку Toshiba e740:

Читать далее
Total votes 23: ↑19 and ↓4+15
Comments23

Портирование ОС на Aarch64

Reading time6 min
Views27K

Aarch64 — это 64-битная архитектура от ARM (иногда её называют arm64). В этой статье я расскажу, чем она отличается от "обычных" (32-битных) ARM и насколько сложно портировать на него свою систему.


Эта статья — не детальный гайд, скорее обзор тех модулей системы, которые придётся переделать, и насколько сильно архитектура в целом отличается от обычных 32-битных ARM-ов; всё это по моему личному опыту портирования Embox на эту архитектуру. Для непосредственного портирования конкретной системы так или иначе придётся разбираться с документацией, в конце статьи я оставил ссылки на некоторые документы, которые могут оказаться полезны.

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments4

Трассировщик ввода-вывода в ядре Linux

Reading time5 min
Views14K
Мало кто знает, что в ядре Linux есть необычные и весьма полезные инструменты для отладки и тестирования. В этой небольшой статье я хочу поделиться описанием трассировщика ввода-вывода.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments4

Дебажим U-boot на реальном железе

Reading time6 min
Views13K

Продолжение предыдущей статьи, в которой мы ускорили разработку под embedded linux. Рабочая станция + sftp сервер + nfs сервер ускорили на порядок (10х) доставку изменений кода на целевое железо. Теперь не нужно часами компилировать код. В этой статье продолжаем очеловечивать разработку. На этот раз прикручиваем полноценную графическую IDE и пошаговую отладку кода на целевом железе с помощью программатора J-Link. Но пока только загрузчика U-boot. И автоматизируем развертывание рабочей среды разработчика с помощью Docker.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments4

Разработка стенда серийной прошивки и первоначального тестирования

Reading time6 min
Views4.7K

В процессе серийного производства электронных устройств следующим этапом после монтажа печатных плат является стенд серийной прошивки и тестирования. На нем производится прошивка микроконтроллера/микропроцессора, запуск платы и ее проверка в том или ином объеме. Естественно, как и монтаж плат, работа стенда также должна быть мах автоматизирована. В крайнем случае, ручные операции, от которых не удалось избавиться, должны быть предельно просты, интуитивно понятны и монотонны. В статье описывается процесс разработки подобного стенда под микропроцессор IMX6ULL.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments23

U-boot. Процедура инициализации по шагам

Reading time6 min
Views23K

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments8

Embedded Linux. Отладка ядра

Reading time5 min
Views8.5K

В предыдущих статьях описано, как мы учились дебажить загрузчик u-boot: 1, 2. С ядром все оказалось сложнее. Например, выяснилось, что ядро Linux в принице невозможно скомпилировать с отключенной оптимизацией (-O0). В статье описывается как нам все таки удалось запустить ядро на микропроцессоре ARM в режиме пошаговой отладки.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments12

Ускорение процесса разработки под Embedded Linux

Reading time11 min
Views12K

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments12

Пособие по программированию модулей ядра Linux. Ч.1

Reading time19 min
Views36K

Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав вопросы лицензирования, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments4
1
23 ...

Information

Rating
Does not participate
Registered
Activity