Arquitetura é a organização fundamental de um sistema, representada por seus componentes, seus relacionamentos com o ambiente, e pelos princípios que conduzem seu design e evolução
O arquiteto de um sistema, assim como o arquiteto de um prédio, é o agente do usuário. É seu trabalho trazer conhecimento profissional e técnico para satisfazer plenamente o interesse do usuário, e não os interesses do vendedor, do fabricante, etc.
Enquanto a arquitetura de sistemas diz o que acontece, a implementação diz como irá acontecer
A razão entre custo e desempenho do produto dependerá, mais fortemente, do desenvolvedor, assim como a facilidade de uso dependerá mais do arquiteto.
12 Princípios Ágeis
A fim de ajudar as pessoas a entenderem melhor o desenvolvimento ágil de software, os membros da Agile Alliance refinaram o enunciado do Manifesto Ágil, criando doze princípios que as metodologias ágeis devem seguir. Estes princípios são os seguintes:
- Nossa maior prioridade é satisfazer o cliente através de entregas rápidas e contínuas de software funcional.
- Abrace as mudanças de requisitos do projeto, mesmo que ocorram tardiamente. Os processos ágeis apoiam a mudança como uma vantagem competitiva para o cliente.
- Entregue software funcionando com uma frequência de duas semanas a dois meses, escolhendo sempre o menor escala de tempo possível.
- O pessoal de negócio e os desenvolvedores devem trabalhar juntos no projeto diariamente.
- Construa os projetos com pessoas motivadas. Forneça o ambiente, os equipamentos e as ferramentas de que elas precisam e confie que elas farão o trabalho.
- Uma conversa cara a cara é a melhor forma de transmitir e receber informação do time de desenvolvimento.
- Software funcionando é a principal medida de progresso.
- Processos ágeis promovem um desenvolvimento sustentado. Gerência, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.
- A atenção contínua à excelência técnica e a um bom design aumentam a agilidade.
- Simplicidade – a arte de maximizar a quantidade de trabalho desnecessária – é essencial.
- As melhores arquiteturas, designs e requisitos surgem de times auto-gerenciados.
- A intervalos regulares, o time reflete sobre como se tornar mais eficaz, e então ajusta seu comportamento de acordo com as reflexões.
Arquitetura de sistemas
A organização fundamental de um sistema, unidos em seus componentes, suas relações uns com os outros e o meio ambiente, e os princípios que regem a sua concepção e evolução
Princípio de négócio
Você só pode melhorar aquilo que você pode gerenciar, só pode gerenciar aquilo que você pode medir e que só pode medir aquilo que você realmente conhece como é executado.
BPM existe para trazer a tona as informações pertinentes de como os processos são executados para que melhorias possam ser realizadas e os processos possam ser gerenciados para uma melhor tomada de decisão e visão do negócio como um todo.
Busca de arquivos no Linux e Unix
Find
Diferente do comando “ls”, que apenas lista o conteúdo, o “find” realiza uma busca por arquivos e diretórios. Existem algumas funcionalidades bastante úteis como fazer buscas com datas ou parte dos nomes dos arquivos.
Existem parâmetros para isso “atime” que especifica dias e “amin” que especifica mínutos, ambos contados do último acesso, existe também o “ctime” e “cmin” que leva em consideração a última alteração do arquivos.
Buscas simples
Pelo nome do arquivo ou diretório
$ find / -name *.txt
esse comando irá buscar todos os arquivos com extensão “txt”, onde “/” é o local a partir do qual a busca será realizado.
Somente os diretórios
A linha abaixo busca e exibe somente os diretórios:
$ find . -type d
o “.” diz que o diretório inicial é o diretório atual.
Somente os arquivos
A linha abaixo busca e exibe somente os arquivos:
$ find . -type f
Buscas baseadas em data
Existem alguns parâmetros uteis para buscas com datas: o “atime” que especifica dias e o “amin” que especifica mínutos, ambos contados do último acesso. O “ctime” e “cmin” que leva em consideração a última alteração do arquivos. Os valores são descritos abaixo:
- +N: mais de N dias ou minutos;
- N: entre N e N+1 dias ou minutos;
- N: até N dias ou minutos.
Busca somente os modificados nas últimas 24 horas
Serão exibidos apenas os arquivos e diretórios criados ou modificados nas últimas 24 horas.
$ find . -type f
Busca somente os modificados nas últimos 10 minutos
Serão exibidos apenas os arquivos e diretórios criados ou modificados nas últimos 10 minutos.
$ find . -mmin -5
Busca somente hoje (a partir das 00:00h)
$ find . -daystart
Busca dos mais novos
$ find . -newer /usr/local/teste.log
mostra os arquivos, no diretório atual, que são mais novos “que teste.log”.
Alternativas complexas
Execução de um comando a partir do resultado da busca
$ find . -name *.pdf -exec ls -l {} \;
o parâmetro “-exec” informa a execução do comando.
Confirmação de execução de comando
A opção de execução de comando é possível solicitar um confirmação para a execução.
$ find . -name *.gif -ok rm {} \;
Nesse caso, o resultado da busca será excluído, mas para isso será solicitado confirmação para isso:
<rm ... . arquivo.gif > ?
Busca com exibição de lista
A opção é similar ao comando “ls -lR *.pdf”, exibindo-os de forma estendida:
$ find . -name *.pdf -exec ls -l {} \;
Copiar o resultado
$ find . | cpio -pdumv /<diretório-de-destino>
Nessa opção o resultado será copiado para o diretório de destino.