Как стать автором
Обновить
1
0
Ильдар Садыков @sig10072006

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

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

Пет-проект, который пока не умер

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

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

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

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

Как мы нашли применение Chat GPT в нашем IT продукте (игре для разработчиков)

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

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

Читать далее
Всего голосов 12: ↑2 и ↓10-5
Комментарии21

Домашняя лаборатория

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

Угадай данную статью написал ChatGPT или нет?

Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, окружение строится по принципе IaaC, не требует много ресурсов, легко разворачивается скриптами или SCM, есть UI, не зависит от внешних сервисов.

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

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

Читать далее
Всего голосов 14: ↑11 и ↓3+14
Комментарии8

Пишем ETL-процесс на Python, часть 2

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

Сегодня мы сделаем web-интерфейс для управления запуском ETL-процесса. В прошлой статье мы написали консольный скрипт, который разово разово запускает выгрузку. Но как это передать заказчику ?!

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

Как снять данные с весового модуля со своей спецификацией протокола передачи данных и отправить на MQTT сервер

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

Данная статья написана для тех кто на начальном уровне знает Python и немного разбирается в АСУ ТП. Задача достаточно распространенная, надо взять данные со старого, со своей специфичной реализацией протокола оборудования и перевести ее в такой вид, что бы ее можно было легко достать (MQTT сервер) и обрабатывать (SCADA или любое ПО, которое умеет работать с MQTT).

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

Открытый проект Wi-Fi логгера по USB, CAN, RS-485, RS-232

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

Бывает нужно удалённо снять лог с какого-либо труднодоступного агрегата или установки. А лучше чтобы логи автоматически отсылались на сервер. Но, как правило, установки и агрегаты имеют контроллер только с локальным проводным интерфейсом. Чаще всего RS-232 или RS-485, в последнее время популярен USB. А может быть в наличии только одна полевая шина типа CAN. Либо бывает нужно одновременно снять лог и с локального интерфейса и с полевой шины. Мы попытались сделать для этих целей неприхотливый промышленный логгер с передачей данных в облака по Wi-Fi с установкой на DIN рейку и возможностью автономного питания.

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

Маскировка трафика OpenVPN при помощи обфускации

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

Привет мой дорогой друг. Ну вот и ты озадачился вопросом безопасности и/или анонимности в сети интернет в столь сложное высокотехнологичное время, где каждый очень хочет подглядеть за тобой или как-то ограничить в доступе к ресурсам.

Читать далее
Всего голосов 21: ↑19 и ↓2+23
Комментарии30

Умный дом на минималках

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

В последнее время я всё чаще задумывался на тему реализации простых сценариев умного дома. Хотелось сделать просто, без голосового управления, минимальными вложениями для начала. Мои мечты почти разбились о суровую реальность протоколов взаимодействия умных устройств. И, о чудо, я сумел сформулировать запрос для себя правильно, Google помог мне найти «умную розетку с открытым HTTP API».

Что получилось из связки: умная розетка, китайский планшет на Android 11, роутер - можно прочитать под катом.

Читать далее
Всего голосов 11: ↑9 и ↓2+12
Комментарии29

Dell Latitude CPx, ноутбук не из «Матрицы»

Время на прочтение7 мин
Количество просмотров9.8K
Моя любимая категория ретроноутбуков — модели, выпущенные в самом конце девяностых и начале нулевых. Именно тогда в портативных компьютерах сложилась уникальная комбинация фич. Достаточно мощные процессоры Pentium III, которые потом у кого-то продержались до середины-конца нулевых. Объемные жесткие диски. Интересная графическая подсистема, которая в некоторых случаях обеспечивает приличное масштабирование «неродных» разрешений, а иногда умеет какое-никакое ускорение графики. И при этом — совместимый с MS-DOS звук. В результате получается умеренно универсальный девайс, совместимый с большим ассортиментом софта. В моей коллекции уже есть несколько подобных ноутбуков, например IBM ThinkPad X21 или ThinkPad T22.


Чего в моей коллекции не было, так это ноутбуков от конкурентов компании IBM. Когда я увидел в продаже недорогой ноутбук, выпущенный на рубеже веков компанией Dell, я решил внести приятное разнообразие в набор ретрофаната. А заодно изучить, чем отличался подход этой компании к разработке такого типичного корпоративного ноутбука тех лет, с удобством обслуживания, невиданным в современные времена. И да, у меня было подозрение, что именно за таким ноутбуком работает Тринити в самой первой сцене фильма "Матрица". Сигнал оказался ложным, но сегодня к моему предновогоднему обзору фильма будет небольшое дополнение.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии24

Простое (не очень) увлажнение квартиры

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

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

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

Volvo SCT / part 1 — как проникнуть в чужое ядро

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.6K

Я являюсь обладателем одной интересной железки - SCT unit touch. Это медиа система с Android, которую ставили в виде дополнительного аксессуара в автомобили Volvo. Проблема в том, что ее оставили без поддержки, зато на ней можно легко получить root, а значит остальное можно допилить.

Читать далее
Всего голосов 19: ↑18 и ↓1+25
Комментарии20

Бюджетный ноутбук на VIA C7 за «тыщу рублей». Что может RoverBook Partner W500 прямиком из 2006 года?

Время на прочтение13 мин
Количество просмотров9.5K
В последнее время, всё чаще мы слышим новости о том, как китайские вендоры потихоньку начинают переходить на своё железо: тут вам и новости о x86 процессорах Zhaoxin, и Loongsoon (экспорт которого запретили в том числе и в РФ) и продажа техасской команды по разработке десктопного железа VIA (бывший Centaur Technology), с переходом на работу в Intel. По сути, на глобальном рынке x86 процессоров, осталось всего лишь два игрока: AMD и Intel. Но каких-то 10-15 лет назад, ситуация была иной. Статью про русский ноутбук на TransMeta TM5800 многие из вас уже оценили по достоинству, поэтому рубрика копеечного компьютинга пополняется новым ништяком. Встречаем — RoverBook Parnter W500 на VIA C7 Esther за 1.500 рублей спустя 16 лет после выпуска! В сегодняшней статье: Рассказ о ноутбуках прошлых лет, обслуживание, бенчмарки и выводы, стоит ли такой ноутбук 1.000-1.500 рублей, за которые его можно купить прямо сейчас!

image
Читать дальше →
Всего голосов 34: ↑29 и ↓5+30
Комментарии57

Большой тест 5 «азиатских» аккумуляторов D23. Часть 3: резервная ёмкость

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

Привет, Хабр! Испытания пяти аккумуляторных батарей для автомобилей азиатского производства продолжаются.

  • Furukawa Battery Super Nova 55D23L,
  • Panasonic (Yuasa) N-75D23L/JE,
  • Solite 85D23L,
  • Mazda (Exide) PE1T-18-520 9B,
  • Exide Premium EA654.

Сегодня будем измерять резервную ёмкость.
Чем она отличается от ёмкости 20-часового разряда?
Всего голосов 34: ↑34 и ↓0+34
Комментарии3

Node.js наизнанку: не все происходит в пуле потоков

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

Node.js это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом для выполнения JavaScript вне браузера. Он поддерживается движком Google V8, что делает его чрезвычайно производительным.

Асинхронная среда выполнения, управляемая событиями

Одно из наиболее распространенных утверждений, с которым мы сталкиваемся при знакомстве с Node, заключается в том, что он выполняется в одном потоке. Тем не менее каждый может задаться вопросом, как это возможно, что Node является одним из самых популярных инструментов для создания быстрых и масштабируемых API?

Технически, тот факт, что Node.js использует один поток не на 100% верно. Node.js на самом деле использует много потоков, но цикл событий (Event Loop - о котором мы упомянем позже), и пользовательский код выполняются в одном потоке. Если мы ознакомимся с документацией, то увидим, что Node.js использует управляемым событиями неблокирующую модель ввода-вывода (event-driven, non-blocking I/O model), которая делает его легким и эффективным.

Что такое управляемая событиями неблокирующая модель ввода-вывода?

Согласно руководству по Node.js, блокирующие методы выполняются синхронно, а неблокирующие методы выполняются асинхронно. Предположим, что нам нужно написать некоторый код, чтобы прочитать содержимое файла и распечатать его в консоли. Есть два способа сделать это в узле: синхронно и асинхронно.

Давайте сначала посмотрим синхронную версию:

В приведённом ниже коде происходит следующее: во-первых, нужно подключить модуль FS. Во второй строке вызывается метод readFileSync, и результат сохраняется в переменной data. Основной поток Node.js блокирует эту строку до тех пор, пока не будет прочитано все содержимое файла. Затем содержимое выводиться в консоль, и, в самом конце будет выведено в консоль “Done”.

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

Моя попытка сделать утилиту для очистки Linux

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

Всем привет! Я начинающий разработчик на языке Go. До этого у меня был, так сказать, небольшой опыт, но в виде хобби. Во время изучения я также осваивал Linux, сейчас уже пользуюсь им как основной ОС.

Мой ноутбук довольно слабый, на борту всего 4ГБ ОЗУ, а на Windows существует программа, которая автоматически очищала оперативную память. Поискав в интернете, я понял, что нету такой утилиты, которая быстро и легко могла очистить оперативную память от мусора. Тогда я принялся попробовать написать ее самостоятельно.

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

Читать далее
Всего голосов 20: ↑8 и ↓12+3
Комментарии24

Пишем драйвер ядра Linux для неизвестного USB-устройства

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

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+57
Комментарии9

Lazarus-AVR, №2. Как получить кросс-компилятор для микроконтроллеров AVR с помощью Fpcupdeluxe

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

Микроконтроллеры: AVR; Среда программирования IDE Lazarus 32х (кросс-платформенный) (ОС: Windows 64х).

В прошлой статье я описывал подключение компилятора Avr к IDE Lazarus, но у меня не работало автодополнение кода (при нажатии ctrl+пробел появляется выпадающее меню с вариантами кода). Спустя 29 дней разборок я добился корректной работы автодополнения. Что бы отделить "мух от котлет" (не все используют fpcupdeluxe) я решил вынести описание работы с fpcupdeluxe в отдельную статью.

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

Изготовление Макета для Прототипа (или Как Буравить Пластмаски)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.6K

При разработке прошивок микроконтроллеров приходится отлаживаться на прототипах. Прототип это просто набор отладочных плат соединенных перемычками.

Далее следует инструкция как сделать качественное основание для прототипа.

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

Миссия невыполнима: подключаем электросчётчик SDM220 к трансформеру Lavritech V7.1 Lite по RS485/Modbus RTU

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


Некоторое время назад в моём блоге вышел цикл статей об устройстве и программировании Lavritech V7.1 Lite — ESP32 контроллера с необычной модульной архитектурой. Необычность архитектуры заключается в том, что функционал Lavritech V7.1 Lite можно набирать из отдельных модулей, как в конструкторе Lego. Я подробно рассмотрел как работу с внутренними модулями (вставляемые в специальные разъёмы, на манер плат IBM PC), так и с внешними блоками Wiren Board, на подключение которых рассчитан Lavritech V7.1 Lite.

Но в этих статьях остался нераскрытым один важный аспект — работа контроллера по интерфейсу RS485 при помощи подключаемых (внутренних) модулей. Я оставил эту тему для отдельной статьи ввиду её сложности и объёмности — и вот статья готова и нас ждёт увлекательное путешествие в мир DIY хардкора.

В качестве примера будем подключать электросчётчик SDM220 к модулю Lavritech RS485 V1 по RS485/Modbus RTU (плюс осциллограммы и рабочий код в подарок).
Читать дальше →
Всего голосов 13: ↑11 и ↓2+12
Комментарии6

О бедном Text Mode замолвите слово…

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

Читая zx-pk.ru, я наткнулся на пару тем, где обсуждалась возможность создания видеокарты с полной реализацией текстовых режимов VGA. В одной из тем даже кипела бурная деятельность. Прототип был создан, в нескольких вариациях. Работал.

Но...
Всего голосов 15: ↑8 и ↓7+7
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Чишмы, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность