Search
Write a publication
Pull to refresh
36
0
Александр Воронин @av0000

User

Send message

Введение в часто используемые особенности ES6. Часть 1

Reading time11 min
Views22K

Данная публикация является переводом статьи «Introduction to commonly used ES6 features» под авторством Zell Liew, размещенного здесь. Перевод разделён на 2 части. Перевод 2-ой части находится здесь.


JavaScript серьезно развился в последние несколько лет. Если вы изучаете язык в 2017 году и при этом не касались ECMAScript 6 (ES6), то упускаете легкий способ читать и писать на нём.


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


Читать дальше →

Выжимаем все соки из Chromium на Linux

Reading time7 min
Views136K
В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

Поехали!
Читать дальше →

Простая Scada на Python

Reading time3 min
Views37K
Ниже приведу пример собственной реализации простой SCADA программы выполненной, как обычно говорят, «на коленке».

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

Генератор находился на расстоянии пол километра от офиса и со временем эти хождения начали напрягать, особенно в плохую погоду.

Как выяснилось на генераторе установлен контроллер, который поддерживает протокол обмена Modbus RTU, это значит, что можно проложить кабель витую пару и подключиться по RS-485.
После изучения адресной таблицы, решили сами сделать простенькую программу.
В результате получилась ScadaPy.
Читать дальше →

Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)

Reading time4 min
Views55K

Зачем?


В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.

Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.

Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.

В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Читать дальше →

Виртуальные твари и места их обитания: прошлое и настоящее TTY в Linux

Reading time14 min
Views72K
Ubuntu интегрирована в Windows 10 Redstone, Visual Studio 2017 обзавелась поддержкой разработки под Linux – даже Microsoft сдает позиции в пользу растущего числа сторонников Торвальдса, а ты всё еще не знаешь тайны виртуального терминала в современных дистрибутивах?

Хочешь исправить этот пробел и открываешь исходный код? TTY, MASTER, SLAVE, N_TTY, VT, PTS, PTMX… Нагромождение понятий, виртуальных устройств и беспорядочная магия? Всё это складывается в довольно логичную картину, если вспомнить, с чего всё началось…
Читать дальше →

Автомонтирование файловых систем с systemd

Reading time2 min
Views55K
Среди множества функций, которые предоставляет systemd, есть одна, которую несправедливо забыли. Это функция автомонтирования. При настройке автомонтирования указанный каталог будет подмонтирован только после первого обращения к нему (точнее, прямо во время).

NFS over VPN


Конкретный пример: у меня есть удалённый сервер, на котором есть интересующий меня каталог. Я хочу иметь этот каталог локально на своей машине. Протокол доступа — nfs. Т.к. он не имеет шифрования, то разумным решением выглядит использование vpn-канала до сервера.

При этом я хочу монтировать его на ходу и отмонтировать через некоторое время, чтобы не испытывать странных затруднений из-за тупящей nfs при лежащей сети. Таймаут монтирования куда более гуманная ошибка, чем таймаут nfs на ls.

Как оно устроено


Systemd имеет специальный вид automount-юнитов, которые позволяют автоматически монтировать указанный каталог.
Читать дальше →

STM32 — правильно используем встроенный flash

Reading time2 min
Views97K
Предисловие

Давно ни для кого не секрет, что STMicroelectronics производит замечательные 32-битные ARM микроконтроллеры STM32. В последнее время они набирают всё большую популярность, и на то есть веские причины, которые в рамках этой статьи я повторять не намерен. Кому интересно — раз, два и три.

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

Именно о таком моменте я и хочу рассказать. А именно — как правильно использовать возможность записи во встроенный flash нашего МК. Добро пожаловать под кат.
Читать дальше →

ESP8266 в качестве MQTT брокера для мобильного приложения

Reading time3 min
Views52K
Как говорится, лень — двигатель прогресса. Для облегчения жизни сейчас делаю себе небольшое устройство в виде модуля ESP8266 и преобразователя RS485 для связи с датчиками-газоанализаторами по протоколу Modbus. В производстве постоянно возникает необходимость подключаться к приборам для выполнения различного рода диагностики по 485 интерфейсу, но каждый раз тащить с собой ноутбук неудобно, а вот мобильный телефон всегда в кармане.

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

OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

Reading time11 min
Views95K


Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

Читать дальше →

Могучий малыш — TrueRMS мультиметр Aneng AN8001

Reading time2 min
Views55K
Несколько лет назад невозможно было себе представить, что TrueRMS-мультиметр с автоматическим переключением диапазонов, способный измерять постоянное и переменное напряжение, постоянный и переменный ток, сопротивление, ёмкость и частоту с 6000 отсчётами и 0.5-процентной точностью может стоить меньше 15 долларов. Сегодня этот прибор у меня в руке.

Читать дальше →

Управление светильниками по протоколу DALI с помощью Arduino

Reading time4 min
Views68K

О протоколе DALI


DALI (Digital Addressable Lighting Interface) – протокол, предназначенный для управления осветительными приборами. Протокол был разработан австрийской компанией Tridonic и основан на манчестерском кодировании: каждый бит данных кодируется перепадом от низкого сигнала к высокому или наоборот.


Ещё немного про телефоны Xiaomi и борьбу с ними. Updated

Reading time11 min
Views363K
image

Честно признаться, у меня не было планов писать и публиковать эту статью, но, после того, как за два месяца увидел в ближнем кругу коллег 5 штук свежеприобретённых телефонов от Xiaomi, и недавнюю статью на Geektimes, рекламирующую управление умным домом от Xiaomi, ко мне пришла совесть и, сцуко, потребовала поделиться знанием с остальными.
Читать дальше →

О подключении и работе с текстовыми OLED-дисплеями Winstar

Reading time9 min
Views45K
Строчные (или текстовые) дисплеи предназначены для выдачи текстовой информации в виде строк. Они бывают нескольких типов (прежде всего, ЖК или самосветящиеся OLED), и обычно в их маркировке присутствуют цифры 1202, 1602, 1204 или похожие, указывающие на количество строк (в примерах 2 или 4) и знаков в каждой строке (12 и 16). Есть и однострочные дисплеи такого типа, но мы в дальнейшем изложении ориентируемся на более употребляемые двухстрочные.

Определяющая часть таких дисплеев совместима по управлению с контроллером HD44780 (фирма Hitachi). Самые популярные (по крайней мере, в нашей стране) дисплеи этой разновидности выпускает фирма Winstar. Причем ЖК-разновидности (название начинается с букв WH, например, WH1602) один в один совместимы с системой команд HD44780, а OLED-типы (название начинается с WEH, например, WEH001602) имеют усовершенствованный контроллер WS0010. К сожалению, или к счастью — сейчас будем разбираться.
Читать дальше →

Dual Wan и особенности реализации NetWatch в MikroTik

Reading time5 min
Views78K
«Если в простой конфигурации микротик не работает, значит вы не умеете его готовить… или явно что-то упустили.»

image

Как работают вместе failover и netwatch. Взгляд изнутри.
Читать дальше →

Как понять, что происходит на сервере

Reading time9 min
Views82K


Александр Крижановский ( krizhanovsky, NatSys Lab.)


По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


Читать дальше →

Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD

Reading time16 min
Views88K
Запуск Raspberry Pi с полной поддержкой графики на microSD, навсегда остающейся в режиме read-only после установки системы. Отсутствие какой-либо записи данных на флэш-память повышает надёжность устройства, приближая его к промышленному классу изделий. Пошаговая инструкция. Небольшой театр инженерного абсурда для развлечения аудитории.


Мне понадобилось сетевое устройство с открытым кодом и выходом HDMI, и я решил попробовать Малиновый Прог. Да, я именно так предлагаю переводить Pi: Прог. Понятное дело, даже одноплатнику нужна операционка. И вот, захожу я на официальный сайт, ожидая встретить там подробное руководство по созданию суровой, неломаемой Вещи à la turnkey box. Но народ, как ни в чём не бывало, устанавливает Ubuntu (т.е. Raspbian Jessie) прямо на microSD, размещая и swap там же. Как обычный десктоп, face palm.

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

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

CSS-стили для печати, о которых я забыл

Reading time8 min
Views85K
image


Аарон Густафсон недавно отправил твит Indiegogo, в котором было сказано, что при распечатке их страниц с информацией о заказе получается нечто совершенно неприличное. И понеслооось.

Файловая система, дешево и быстро

Reading time4 min
Views35K

Разработчикам часто приходится иметь дело с файлами, представляющими из себя древовидную структуру: XML, JSON, YAML, всякого рода языки разметки вроде Markdown или Org-mode. Облегчая в общем и целом нашу жизнь, такие файлы имеют склонность к бесконтрольному росту, в какой-то момент из решения превращаясь в проблему.


Стандартное решение этой проблемы — разбиение на меньшие файлы. Это, конечно, работает, но не всегда удобно.


Но существует и альтернатива, о которой — ниже.

Читать дальше →

Linux Tuning для Современного ноутбука с Пассивной Системой Охлаждения

Reading time31 min
Views43K
В последнее время всё больше и больше стало появляться ноутбуков, которые каким-то непостижимым образом работают вобще без вентилятора. Прямо как телефоны, но только ноутбуки. Бесшумно себе НЕ шелестят, и всё такое, интересное прям, ультра. И вот, в порыве, так сказать, молодецкого задора, решил я сменить свой "ещё в прочем очень даже неплохой ноутбук" на нечто этакое. Тем более, что диагональ в 14" мне была великовата, и уже очень давно хотелось вернуться на 11.6, но с сохранением Full HD.

Выбор пал на среднюю модель в 700-11 линейке Lenovo Yoga. Отличная, по ноутбучным меркам ANSI клавиатура с отдельными Home (+PgUp) и End (+PgDn). Правда, без подсветки, но она мне не нужна. 3 USB разъёма: один из них совмещён с питанием. Заявленых и в итоге достигнутых 4 часа от батарейки. Вес чуть больше килограмма. В общем — красота. Да и рыжий цвет меня устраивает вполне, всё равно наклейками обычно всё заклеено.

Единственный нюанс: работает «без нареканий» под штатным Windows 10 Home. Ну, то есть, как — «без нареканий» — это если не учитывать тот факт, что именно Работать Невозможно Же. Нет, я могу, конечно, но — это если очень много заплатят. А для обычной работы у меня Ubuntu, точней Linux Mint Mate Desktop. И, всё бы ничего, но после переезда — переноса разделов со старого на новый — Sarah отказалась дружить с моим новым ноутбуком:

  • Жутко грелся, сразу и всё время градусов до 70 ℃ в Idle режиме
  • Очень часто не загружался вообще
  • Часто терял WiFi при температурах выше 75 ℃

Безусловно, всё под катом — это субъективное мнение, но, думаю, оно подойдёт для всех свежих Ubuntu Based дистрибутивов, а так же и для других Linux, т.к. большая часть информации совершенно не касается конкретного дистрибутива.

Решение, а так же фотки ноута и ещё немного всякой чепухи, включая Geek Porn с моддингом, под катом (Warning Трафик):
Читать дальше →

Удалённое включение скриптов Mikrotik из Telegram

Reading time6 min
Views60K
На данную реализацию меня подтолкнул Александр Корюкин GeXoGeN своей публикацией "Удалённое включение компьютера бесплатно, без SMS и без облаков, с помощью Mikrotik".

И комментарий в одной из групп ВК Кирилла Казакова:
Да уж, совсем не секьюрно. Я бы лучше написал телеграм бота, который принимает только с моего аккаунта команды на включение.

Я решил написать такого бота.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity