Архив за год: 2015

Python: модуль Fabric
0 (0)

17 июня 2015

Описание, установка Fabric — система для управления и развёртывания приложений. Управляющие скрипты (аналог рецептов в Chef) пишутся на Python. И сам Fabric написан на Python. Особое значение (по крайней мере — для меня) имеет то, что Fabric отлично работает с SSH, позволяя выполнять любые действия на удалённой машине. При этом, в отличии от paramiko, имеет намного более… Читать далее »

Loading

SSH: авторизация по ключам
0 (0)

15 июня 2015

Упрощенная схема, аналог поста SSH – авторизация по ключам. Сегодня наткнулся на неё — и понял что она запутанная. сервер — машина, с которой будем подключаться; клиент — машина, на которую будем подключаться. Для того, что бы авторизовываться на клиенте — нам необходимо сначала изменить настройки демона sshd. На клиенте редактируем файл /etc/ssh/sshd_config, и в нём раскомментируем… Читать далее »

Loading

Python: пример использования модуля requests
0 (0)

12 июня 2015

Общие сведения можно найти в посте Python: модуль requests. В примере ниже — пример его использования. Функция cloud_put() выполняет деплой данных (XML и DLL файлы) в базу данных Cassandra через API нашего приложения:

Loading

Python: модуль argparse — использование субкоманд
0 (0)

11 июня 2015

В примере ниже продемонстрировано использование субкоманд (или «подкоманд«) с использованием модуля argparse. К примеру, в предыдущем проекте скрипт управления приложением имел около 20-ти различных опцией (был написан на BASH с использованием getopts()), при том что букв в английском алфавите — 26. В новом проекте — имеется аналогичный скрипт, но на Python. Приложение состоит из нескольких частей,… Читать далее »

Loading

Python: декораторы
0 (0)

8 июня 2015

У Python есть интересная возможность, которая называется «декораторы» (decorators), которая позволяет добавлять функциональность к уже существующему коду. Такая возможность так же называется метапрограммированием — когда одна часть программы пытается модифицировать другую часть во время компиляции. Введение Что бы понять суть работы декораторов — мы сначала должны рассмотреть несколько базовых концепций Python. Во-первых — мы должны понимать, что абсолютно… Читать далее »

Loading

Git: использование stash и rebase для обновления локального бранча
0 (0)

7 июня 2015

Имеется локальный бранч, созданный из develop. После его создания — в develop было сделано много изменений, и перед созданием pull-реквеста — хочется их синхронизировать. Отличная документация по rebase и merge есть тут>>>. Для того, что бы не потерять изменения, которые мы уже сделали в локальном бранче — сначала выполняем stash: d:***plugins>git stash Saved working directory… Читать далее »

Loading