Argumentos da linha de comando com docopt

docopt-1_abertura

No que diz respeito aos argumentos passados via linha de comando, você pode interpretá-los de forma manual, ou seja, pegando a lista enviada pelo sistema operacional e identificar cada elemento, ou utilizar alguma biblioteca específica para tal função — E, felizmente, há diversas delas e disponíveis para várias linguagens de programação.

Especificamente em Python¹ há uma bastante interessante chamada docopt, que interpreta automaticamente a sintaxe dos argumentos da linha de comando a partir da forma como se convencionou descrever (há tempos) no próprio texto de ajuda —  “- -help” — e nas páginas de manual dos programas.

(¹) Ele foi originalmente escrito para ser usado em Python porém está disponível também para outras linguagens de programação.

Continuar lendo

Anúncios

Ambiente de desenvolvimento do Laravel com Vagrant

vagrant_laravel-1_abertura

Esta é uma configuração do Vagrant que preparei para automatizar a criação de um ambiente de desenvolvimento do Laravel em uma máquina virtual rodando a versão 17.10 do Ubuntu (esta versão só tem em 64 bit), com PHP 7.1 e os demais arquivos necessários para o framework já instaladas.

E já que as dependências não estavam assim tão óbvias resolvi disponibilizá-lo junto com os demais arquivos.

Continuar lendo

Programando em BASIC com o Inliner

inliner-1_abertura

Por melhor que seja o editor¹ embutido em um interpretador BASIC ele não contará os recursos básicos de qualquer editor de textos moderno e aos quais já estamos habituados. E ao trabalhar diretamente no editor de textos predileto, ao invés de diretamente no computador/emulador, rapidamente se percebe o quão chata é a tarefa de cuidar manualmente da numeração das linhas.

Por estes e mais alguns motivos² comecei a pensar em como seria bom prático programar em MSX-BASIC, ou em qualquer outro dialeto BASIC, em qualquer editor de textos e sem a preocupação em numerar linhas pois haveria uma ferramenta que cuidaria desta parte. E já que ela ficaria com o trabalho, que algumas facilidades interessantes também estivessem includas.

E a assim surgiu o Inliner! 🙂

(¹) Dependendo do interpretador BASIC ele será um editor de tela, onde é fácil editar diversas linhas simultaneamente, ou simplesmente um editor de linha, onde você só consegue mexer em uma linha por vez em uma espécie de “modo de edição”.

(²) Um exemplo irritante, o comportamento irritante do OpenMSX quando se pressiona uma tecla acentuada e ele fica louco repetindo o caractere do acento ad infinitum:-/

Continuar lendo

Utilizando o Ansible – parte 3

ansible-3_abertura.png

Na parte anterior foram utilizados alguns módulos para realizar tarefas diretamente através do Ansible via linha de comando, porém a execução em sequência de cada um é pouco prática, por mais que até seja possível agrupar todos eles dentro de um único script para ajudar um pouco!

Mas antes de começar a “adaptar” a ferramenta é bom saber que o Ansible tem sua própria maneira de executar diversas tarefas de uma só vez, os playbooks.

Continuar lendo

Utilizando o Ansible – parte 2

ansible-2_abertura

A primeira parte constituiu de uma introdução ao Ansible, apresentando alguns conceitos básicos, configurando um ambiente para executá-lo com ajuda do Vagrant e Virtualenv e até realizando um teste bem simples para saber se tudo estaria funcionando corretamente.

Nesta parte será a vez de explorar alguns dos módulos disponíveis na ferramenta, rotinas que são executadas remotamente nos nós e que controlam recursos do sistema como status de serviços, instalação ou remoção de pacotes, transferência de arquivos, execução de comandos etc.

Continuar lendo