Manual do Hacker Especial - Volume 1 (2019-02)

(Antfer) #1
78 | Manual do Hacker

|


Scripts web nativos


Obtenha seus scripts de administração passando por HTTP.


G


rande parte dos administradores
migrou para a web, então você preci-
sará de uma linguagem de script que
tenha mantido o ritmo. Examinamos a facili-
dade de programar nosso próprio código e
encontrar soluções disponíveis para fazer
qualquer coisa, desde interfaces web a esta-

tísticas do sistema. O que é notável sobre
estas linguagens é a diferença na expressivi-
dade e estilo para produzir resultados seme-
lhantes. No entanto, isso é, mais uma vez,
secundário em relação à preferência pessoal
e suporte local para muitos administradores.
Ruby é rápido e agradável; Python “parece

bom”, provavelmente porque é mais
entendível; NewLISP é surpreendentemente
poderoso. Mas essas observações podem
parecer clichês partidários se não houver um
suporte de ambiente de manutenção para
usar e desenvolver o código para suas
próprias redes.

Bash +++++
Embora o Bash não seja a sua primeira escolha de uma linguagem de
programação web, é bom saber que, quando o servidor não tiver a opção
que você gostaria, será possível recorrer a ela graças ao bashlib. Este é
um script de shell que torna a programação CGI no shell Bash um pouco
mais tolerável. Seu script será cheio de declarações, intercaladas com
seus comandos para produzir a saída desejada. Em razão da segurança,
não recomendamos a execução deste na internet aberta, mas vale a pena
ter em mente que Bash funciona muito bem como uma linguagem de
prototipagem (programação orientada a objeto). É fácil preencher um
arquivo de texto com comentários descrevendo a estrutura ampla que
você deseja e, em seguida, completar as lacunas – testando snippets
interativamente e colando no site http://www.shellcheck.net para verificar seu
código conforme você o escreve.

newLISP +++++
O Code Patterns, de NewLISP, do criador Lutz Mueller, está disponível no site
http://www.newlisp.org e tem capítulos sobre HTTPD e CGI, bem como comunica-
ções TCP/IP e UDP. Ao adicionar na seção de controle de aplicativos, você
terá tudo para começar. A rede integrada do newLISP e a sintaxe simples tor-
nam surpreendentemente fácil gerar páginas HTML de resultados, por exem-
plo, de seus scripts de monitoramento. Para uma estrutura de rede integrada,
o newLISP no Rockets – que usa Bootstrap, jQuery e SQLite – combina o
desenvolvimento rápido de aplicativos com bom desempenho. NewLISP no
Rockets fornece várias funções, de convert-json-to-list via twitter-search a
display-post-box, que irá ajudá-lo a adicionar funcionalidades web. Nós esta-
mos impressionados, mas continuamos preocupados com a pequena comu-
nidade e o ritmo de desenvolvimento pouco regular.

D


evOps, implantação em
nuvem, desenvolvimento
orientado a testes e integra-
ção contínua – as demandas de um
administrador de sistemas mudam e
evoluem, mas você precisará aprender
Bash e mais um outro.
Perl era o tradicional Swiss Army
dos administradores Unix durante os
anos 1980 e 1990, que perdeu terreno
gradualmente para Python e Ruby na
última década. Qualquer pessoa que
tenha começado a trabalhar nos anos
1990 ou antes disso estará confortável
com ele, de modo que encontrar
alguém para ajudar com seus scripts
muitas vezes não será um problema.

No entanto, as coisas evoluem, e
muitas empresas de tecnologia estão
padronizadas em Python – esta é, por
exemplo, uma linguagem usada
extensivamente no Google. Grande
parte do software necessário para o
trabalho de administradores dos
sistemas modernos é baseada em
Python, mas o mesmo pode ser dito
também do Ruby.
Ruby é a base de Chef e Puppet,
bem como Vagrant e Travis CI, o que
significa que um pouco de familiari-
dade será útil em qualquer lugar que
os utiliza. As estruturas de web e fer-
ramentas de teste escritas em Ruby
têm popularizado a linguagem em

muitas das empresas web mais
jovens.
As estruturas de web e
ferramentas de teste escritas em Ruby
têm popularizado a linguagem em
muitas das empresas web mais jovens.
NewLISP tem um apoio menor da
comunidade, e não há muitas
soluções prontas. Além disso, talvez
você nem encontre alguém que a
utilize. A vontade da comunidade
online vai de alguma forma melhorar
esta deficiência, mas você tem que
perguntar quem vai manter suas
ferramentas quando você deixar a
empresa para qual desenvolveu o
projeto nesta linguagem?

Suporte da comunidade


Há uma grande comunidade suficiente para apoiar o trabalho.


Veredicto


Bash
+++++
NewLISP
+++++
Perl 5
+++++
Python
+++++
Ruby
+++++
Ruby teve um
bom
posicionamento,
graças a alguns
grandes
softwares
DevOps.
Free download pdf