Category Archives: Scripting/coding

HowTo и примеры использования bash, C, Python, Ruby и т.д.

C: “мониторинг” NGINX с помощью AF_INET

08/08/2017
 

 В продакшене мы будем использовать что-то вроде Monit, а для Dev – решил написать маленькую утилиту, которая проверяет доступность NGINX и отправляет письмо при проблемах. Программа содержит две рабочие функции – socket_get(), которая с помощью connect()  пытается подключиться к порту NGINX (AF_INET сокету), и send_alarm(), которая с помощью system() выполняет mailx для отправки сообщений. Отправку… Read More »

Travis: деплой конфигов NGINX в Azure File share

08/07/2017
 

 Имеется ресурс группа, которая включает в себя один Azure Load Balancer, за котором находится Azure VMSS с двумя виртуальными машинами. На машинах работает NGINX, который использует файлы настроек виртуалхостов, которые хранятся в файл-шаре, которая монтируется к обеим машинам. Полное описание проекта – Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy.… Read More »

C: создание и применение shared library в Linux

07/31/2017
 

 Библиотека – это файл, содержащий скопилированный код из нескольких объектных файлов в один файл библиотеки, который может содержать функции используемые другими программами. Библиотеки могут быть статичными (static) и динамическими или разделяемыми (dynamic, shared). Ниже – краткий пример создания и применения shared library на C в Linux. Доступ к общей библиотеке может осуществляться по нескольким именам:… Read More »

Viber: получить history в текстовом виде и скрипт бекапа

07/10/2017
 

 Как и Skype – Linux-клиент Viber хранит данные в локальной SQLite базе: $ ls -l ~/.ViberPC/38096***26/ | grep db -rw-r–r– 1 setevoy setevoy 38912 Jun 30 15:30 data.db -rw-r–r– 1 setevoy setevoy 32768 Jul 10 10:38 data.db-shm -rw-r–r– 1 setevoy setevoy 1048032 Jul 10 10:38 data.db-wal -rw-r–r– 1 setevoy setevoy 5072896 Jul 10 09:59 viber.db… Read More »

Python: структуры данных

06/30/2017
 

 Перевод – краткий обзор структур данных в Python. Оригинал – тут>>>. В Python 3 имеется четыре встроенных типа данных – списки (list), кортежи (turple), словари (dictionary) и списки (set).

C: libssh – пример SSH-“клиента”

05/26/2017
 

 Ниже рассматривается пример написания SSH-клиента на C с использованием libssh. Сама библиотека libssh уже устарела, и вместо неё рекомендуется libssh2. Сравнение libssh и libssh2 есть тут>>>. Тем не менее у libssh отличные примеры (которые и используются в примерах ниже с небольшими отличаями) и документация, поэтому использую её. RFC 4251 в SSH Protocol Architecture описывает три основных… Read More »

C: сокеты и пример модели client-server

05/16/2017
 

 Перевод с дополнениями. Оригинал – тут>>>. Как правило – два процесса общаются друг с другом с помощью одного из Inter Process Communication (IPC) механизма ядра, таких как: pipe очереди сообщений (Message queues) общая память (shared memory) Кроме перечисленных IPC – в ядре присутствует много других возможностей, но что если процессам необходимо обмениваться данными по сети?… Read More »

PowerShell: под Arch Linux – Hello, World

05/07/2017
 

 Как тут не вспомнить пост Azure: почему никогда, поводом для которого послужил пост на Хабре – Microsoft открыла исходный код PowerShell? Собственно – на Ажуре часто сталкивался с тем, что многие вещи проще и удобнее было бы сделать через PowerShell. Останавливало то, что во-первых – я не собираюсь им особенно пользоваться в будущем, а во-вторых – отсутствие… Read More »

AWS [China]: начало

05/03/2017
 

 Описание Продолжение проекта, описанного в посте AWS: билд Java + Maven + Docker + Packer + Terraform – будем разворачивать нечто аналогичное в Китае. Хотя у Китая есть “свой AWS” – Aliyun.com, принадлежащий Alibaba Group, тем не менее – мы будем пользоваться именно Amazon Web Services. В этом посте не будет HowTo do something – больше просто описание опыта работы… Read More »

Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой

04/24/2017
 

 Имеется проект на Azure, которым я занимался большую часть последнего года (с 20-го марта 2016). Пост Azure: почему никогда писался под впечатлением работы как раз на нём (да и большая часть рубрики Azure – тоже).