Em mais uma noite de estudos me deparei com o seguinte assunto "ORM Is an Offensive Anti-Pattern" no Blog http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html e decidi comentar um pouco sobre o assunto e citar o post do blog, trata-se de um assunto que a muito me chamava a atencao, visto que hoje muitas vezes programamos para o mecanismo de armazenamento de dados e nao para os "Objetos" do sistema.Ou seja criamos centenas de SETTER e GETTER (ou usamos ferramentas que fazem isso) criamos entidades que nao auxiliam em nada nas regras que o sistema precisa garantir. Criamos classes baseadas nas tabelas de um banco de dados, e abrimos maos de recursos poderosos que as linguagens e a Orientacao a Objetos nos fornece.Veja mais exemplos de como fazemos o "mais facil" ao inves de nos esforcarmos em fazer o que e "melhor" (http://blog.caelum.com.br/o-que-e-modelo-anemico-e-por-que-fugir-dele/), criamos modelos baseados em camadas que na verdade correspodem as caracteristicas procedurais e considerado um anti-pattern (http://www.martinfowler.com/bliki/AnemicDomainModel.html).Estou neste momento compartilhando e comentando um pouco mais sobre este, desafio a nos apresentado, com a finalidade de promover uma reflexao em busca do aumento no nivel da codificacao de tudo o que produzimos buscando cada vez mais deixarmos as convencoes atuais, e buscar um nivel em que possamos diferenciar os verdadeiros programadores de construtures de aplicacao.Neste sentido indico um livro muito bom existente no mercado a algum tempo ja Java Efetivo - Segunda edicao (http://www.saraiva.com.br/java-efetivo-2-ed-2624886.html), que da uma serie de orientacoes na busca de um design de aplicacoes Java com mair efetividade no codigo.No mesmo link do post citado (http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html) vemos uma proposta para a solucao deste problema, de programarmos para um framework ou arquitetura ao inves de nos dedicarmos a codificar a solucao que e esperada do sistema. Principais comandos para uso do Shell Compilado/Editado por Fabio J. Walter Fonte: Guia Foca Linux (http://www.guiafoca.org/), Viva o Linux (http://www.vivaolinux.com.br/) Distribuicoes Linux Debian Ubuntu Linux Mint ... Slackware Suse Red Hat CentOS Fedora .... Link: http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg Comandos de acesso Comandos que voce utilizara para realizar conexao e desconexao de um servidor linux. exit Terminar a sessao, ou seja, a shell (mais ajuda digitando man sh ou man csh) logout Deslogar, ou seja, terminar a sessao atual, mas apenas na C shell e na bash shell passwd Mudar a password do nosso utilizador: passwd USUARIO ssh Sessao segura, vem de secure shell, e permite-nos logar num servidor atraves do protocolo. Verificar os parametros: ssh p PORTA USUARIO@IP Comandos de ajuda e documentacao Atalhos que voce utilizara muito e devera decorar se quiser sobreviver utilizando Linux. man Acesso ao manual padrao dos comandos e softwares Linux. man ls --help Parametro padrao para todo comando ou programa listar suas opcoes. ssh --help Executando um programa Sempre que falarmos da execucao de um programa no Linux, se ele ja estiver nas variaveis de ambiente do sistema basta digitar seu nome. Exemplo: ls. Caso contrario voce tera de informar o caminho ate o programa ./diretorio/arquivoExecutavel Se estivermos falando de um script (bash extensao .sh) utilize o interpretador: sh /diretorio/arquivoScript.sh Comandos de Edicao/visualizacao de Texto vim ou vi Editor mais comum e difundido