Программисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.
Рубрика «Разработка под Linux» - 39
Работа с массивами в bash
2018-06-13 в 8:00, admin, рубрики: bash, Блог компании RUVDS.com, разработка, Разработка веб-сайтов, Разработка под LinuxPower monitor для встраиваемых систем (Linux)
2018-06-11 в 10:57, admin, рубрики: c++, fork, linux, postgresql, Разработка под LinuxПотребовалось измерить ток потребления одного устройства
+ хранить полученные значения в таблице БД (PostgreSQL)
Первые 5 минут гугления показали — почти все производители полупроводников, имеют красивые решения, на одном кристалле
Сложные схемы на ОУ, остались далеко в прошлом
Выбор пал на INA260
Напряжение до 36v, простой для монтажа корпус, компромиссная стоимость
Но самый решающий аргумент, он уже валялся в тумбе :D Среди прочих образцов
Настало время его задействовать
Включаемая схема ничем не отличается от приведенной в даташите
Ее не высокая сложность, позволяет все собрать на коленке
Читать полностью »
Шифрование почты сертификатом на токене в системе Linux на примере JaCarta, Debian и почтового клиента Evolution
2018-06-08 в 12:48, admin, рубрики: Debian, evolution, JaCarta, linux, Аладдин Р.Д., Блог компании Аладдин Р.Д., информационная безопасность, криптография, Разработка под Linux, Системы обмена сообщениями, смарт-карта, токенсейл, шифрование, шифрование почтыВ MS Windows есть неплохой механизм шифрования и подписи почты пользовательскими сертификатами на смарт-картах (токенах). Однако не всегда понятно, как с этим работать в гибридной ИТ-инфраструктуре, когда часть рабочих станций, а то и все, работают под управлением ОС с ядром Linux.
Проблема в том, что в Linux -дистрибутивах из коробки, как правило, программы не стремятся работать с ключевыми носителями, в нашем случае со смарт-картами. Однако, этот вопрос всегда можно решить доустановкой соответствующих модулей, которые есть в стандартных репозиториях и их настройкой.
В этой статье мы опишем процесс шифрования почты сертификатом на токене JaCarta разработки компании «Аладдин Р.Д.», в почтовом клиенте Evolution, в дистрибутиве Debian и продемонстрируем возможность шифрования почтовых сообщений в гибридной ИТ-инфраструктуре.
Читать полностью »
Использование платы Firefly-RK3288 Reload с SoC RockChip RK3288. Цифровой I2C термодатчик Microchip — MCP9808
2018-06-08 в 7:17, admin, рубрики: c++, firefly, gpio, I2C, microchip, rockchip rk3288, two's complement format, дополнительный код, Интернет вещей, открытый сток, Разработка на Raspberry Pi, Разработка под Linux, умный домFirefly-RK3288 Reload
Подбирая девелоперскую плату для опытов, выбор пал на достаточно навороченную модель от китайского производителя T-Chip. Реализуют продукцию они под маркой Firefly. Специализируются на платах с системами на чипе от RockChip. RK3288 — самое производительное 32-битное решение от этой китайской компании. SoC от RockChip и Allwinner выгодно отличаются от чипов Broadcom в RaspberryPi не только лучшими характеристиками, но и технологией производства — 28nm против 40nm. Но конечно и стоят в данном случае китайцы дороже. Ещё более крутую 64-битную систему RK3399 не выбрал, в том числе потому, что есть основания полагать, что она уже существенно горячее. В то время как RK3288 под нагрузкой не сильно греется, даже без использования каких-либо радиаторов.
Страница продукта. Основные аппаратные параметры девайса: 4 ядра ARM Cortex-A17 1,8 ГГц (некоторые источники настаивают, что тут Cortex-A12 или A15, но это не особо важно), 2 ГБ DDR3 dual-channel, накопитель 16 ГБ eMMC, гигабитный Ethernet.
Покупал на Ebay, это оказалось чуть ли не единственным местом, где эти платы можно заказать в Россию. Интернет магазин самого китайского Firefly в Россию не высылает. Не высылает в Россию и Indiegogo. Что забавно, в списке стран для отправки, у этих странных людей якобы есть даже ныне не существующие государства :). Продавец с Ebay прислал плату в хорошей комплектации — плата, блок питания (нужен 12V 1,5A, прислали как и положено с запасом — 2A), платка с антенной, акриловые панели корпуса с крепежом. Адаптер правда под американскую розетку, но ведь все должны иметь походный переходник :).
Читать полностью »
Пишем плагин для получения wildcard-сертификатов Let’s Encrypt
2018-06-06 в 11:41, admin, рубрики: ACMEv2, ispmanager, ISPsystem, JWK, JWS, SSL, wildcard, Блог компании ISPsystem, информационная безопасность, криптография, Программирование, Разработка под LinuxИ снова здравствуй, дорогой читатель. Вторая глава о похождениях Let’s Encrypt в панели ISPmanager объявляется открытой. В предыдущей статье мы обсудили плагин для ACME v01. В этой поговорим о его эволюции с точки зрения логики работы с пользователем и, разумеется, о протоколе ACME v02 с поддержкой wildcard-сертификатов.
Перехват функций в ядре Linux с помощью ftrace
2018-06-05 в 5:57, admin, рубрики: C, ftrace, hooking, hooks, kernel module, kprobes, linux, linux kernel, перехват функций, Разработка под Linux, системное программирование, системные вызовы, сплайсинг, хуки, ядро LinuxВ одном проекте, связанном с безопасностью Linux-систем, нам потребовалось перехватывать вызовы важных функций внутри ядра (вроде открытия файлов и запуска процессов) для обеспечения возможности мониторинга активности в системе и превентивного блокирования деятельности подозрительных процессов.
В процессе разработки нам удалось изобрести довольно неплохой подход, позволяющий удобно перехватить любую функцию в ядре по имени и выполнить свой код вокруг её вызовов. Перехватчик можно устанавливать из загружаемого GPL-модуля, без пересборки ядра. Подход поддерживает ядра версий 3.19+ для архитектуры x86_64.
Читать полностью »
Google’s Shell Style Guide (на русском)
2018-06-04 в 16:43, admin, рубрики: bash, Google, linux, shell, style guide, Оболочки, Программирование, Разработка под Linux, скриптыПредисловие
Какой Shell использовать
Bash
единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.
Скрипты должны начинаться с #!/bin/bash
с минимальным набором флагов. Используйте set
для установки опций shell, что бы вызов вашего скрипта как bash <script_name>
не нарушило его функциональности.
Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.
Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.
Когда использовать Shell
Shell следует использовать только для небольших утилит или простых скрптов-оберток.
Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.
Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat
2018-05-28 в 17:49, admin, рубрики: iostat, zabbix, Анализ и проектирование систем, блочные устройства, высокая производительность, дисковые подсистемы, производительность, Разработка под Linux, системное администрирование, тестирование, Тестирование IT-системВряд ли кто-то будет спорить, что наблюдение за производительностью дисковой подсистемы — чуть ли не важнейшая задача для всех высоконагруженных систем хранения и баз данных. Я изначально столкнулся с этим давным-давно, еще когда приходилось наблюдать за PostgreSQL. В последнее время вернулся к этому вопросу в связи с необходимостью тестирования различных хранилищ.
Сегодня хочу поделиться с сообществом своим текущим опытом на реальном примере zabbix и его связке с block stat.
Java и Linux — особенности эксплуатации
2018-05-16 в 6:55, admin, рубрики: java, linux, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, потоки, Разработка под Linux, управление памятьюJava — очень распространённая платформа, на ней пишут очень разные вещи, начиная от Big Data, заканчивая микросервисами, монолитами, enterprise и прочим. И, как правило, всё это развёртывают на Linux серверах. При этом, соответственно, те люди, которые пишут на Java, зачастую делают это совсем на других операционных системах. Там они:
- пишут код;
- отлаживают, тестируют;
- после этого упаковывают в jar;
- отправляют на Linux, и оно работает.
В том, что оно работает, нет особой магии. Но это приводит к тому, что такие разработчики немножечко «засахариваются» в своём мире кроссплатформенности и не очень хотят разбираться, а как оно на самом деле работает в реальной операционной системе.
С другой стороны, есть те, кто занимается администрированием серверов, на их сервера устанавливают JVM, отправляют jar и war-файлы, а с точки зрения мира Linux все это:
- чужеродное;
- проприетарное;
- собирается не из исходников;
- поставляется какими-то jar-архивами;
- «отъедает» всю память на сервере;
- вообще, ведёт себя не по-человечески.
Цель доклада Алексея Рагозина на Highload++, расшифровка которого идет далее, была в том, чтобы рассказать особенности Java для «линуксоидов» и, соответственно, Linux — Java-разработчикам.
Читать полностью »
Свой асинхронный tcp-сервер за 15 минут с подробным разбором
2018-05-14 в 9:01, admin, рубрики: linux, python, tcp-сервер, Блог компании «Альфа-Банк», параллельное программирование, Программирование, Разработка под Linux
Ранее я представил пару небольших постов о потенциальной роли Spring Boot 2 в реактивном программировании. После этого я получил ряд вопросов о том, как работают асинхронные операции в программировании в целом. Сегодня я хочу разобрать, что такое Non-blocking I/O и как применить это знание для создания небольшого tcp–сервера на python, который сможет обрабатывать множество открытых и тяжелых (долгих) соединений в один поток. Знание python не требуется: все будет предельно просто со множеством комментариев. Приглашаю всех желающих!
Читать полностью »