domingo, 22 de maio de 2016

Cláusulas de Consultas - MySQL

Vários componentes ou cláusulas formam a instrução select. Enquanto apenas uma delas é obrigatória no MySql (a cláusula select), normalmente você incluirá pelo menos duas ou três das seis cláusulas disponíveis. Abaixo segue as cláusulas principais e suas finalidades:

Select: Determina quais colunas serão incluídas no conjunto-resultado da consulta;
From: Identifica as tabelas de onde serão retirados os dados e como as tabelas deverão ser juntadas;
Where: Filtra os dados indesejados;
Group by: Usada para agrupar linhas por meio de valores comuns de colunas;
Having: Filtra grupos indesejados;
Order by: Ordena as linhas do conjunto-resultado final usando uma ou mais colunas;

quinta-feira, 19 de maio de 2016

Comandos Básicos do Linux

cd
O comando cd significa change diretory. Você irá descobrir que esse comando é muito útil. Existem três maneiras típicas de usa-lo:

  • cd .. – Muda para um diretório acima na árvore de diretórios;
  • cd ~ – Muda para o seu diretório home de onde você atualmente está. Isso é o mesmo que usar o comando cd sozinho;
  • cd <nome do diretório> – Muda para um diretório específico.
cp
O comando cp é um nome alternativo de copy; portanto, esse comando permite copiar objetos. A sintaxe do comando é muito simples:

  •  cp <nome ou local original do arquivo> <novo nome ou local do arquivo>

logout 
O comando logout é usado para sair de um sistema como usuário atual. Se esse é o único usuário com o qual você obteve acesso, então você sai totalmente do sistema.

ls
O comando ls lista o conteúdo de um diretório.

mkdir
O comando mkdir é usado para criar um novo diretório.

pwd 
O comando pwd exibe o diretório de trabalho atual. Ele informa qual o diretório atualmente ativado.

reboot
O comando reboot executa a reinicialização do sistema. Porém só pode der executado pelo root.

su 
O comando su permite a um usuário temporariamente transformar-se em outro. Se você não é o root e o usuário tiver uma senha (e o usuário deve ter!), o su exibe um prompt para senha. O root pode transformar-se em qualquer usuário a qualquer momento sem conhecer as senhas.

DOCTYPE

Eu estava fazendo um programinha em java. E em um pagina jsp, eu me dei conta que não fazia ideia do porque aquele famoso <!DOCTYPE html> estava fazendo ali, e o porque da variação dele para outros como <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
Então fui atrás e ai que o DOCTYPE  nem se quer é uma tag html: é uma instrução para o navegador saber em que versão do HTML está o arquivo.
Essa instrução sempre tem de vir primeiro, antes da tag. E quando escrevemos assim: <!DOCTYPE html> ele usa a ultima versão do HTML. Mas podemos especificar também, porém hoje em dia todos os navegadores andam bem atualizados e usam a ultima versão.


quarta-feira, 20 de abril de 2016

Metodos de requisição II

Ao navegarmos na web,  o nosso navegador envia requisições o tempo todo para um servidor e o servidor, por sua vez, nos devolve uma resposta em um formato específico ou realiza uma ação de acordo com o que pedirmos para ele fazer.
Nas requisições, especificamos o que chamamos de método HTTP ou verbo. Temos 9 verbos diferentes.

GET


É a requisição mais comum de todas. Através dessa requisição nós pedimos a representação de um recurso: que pode ser um arquivo html, xml, json, etc.

POST

O método POST é utilizado quando queremos criar um recurso. Quando usamos POST, os dados vão no corpo da requisição e não na URI.

PUT

Requisita que um recurso seja "guardado" na URI fornecida. Se o recurso já existir, ele deve ser atualizado. Se não existir, pode ser criado.

DELETE

Exclui o recurso especificado.

TRACE

Devolve a mesma requisição que for enviada veja se houve mudança e/ou adições feitas por servidores intermediários.

OPTIONS

Retorna os métodos HTTP suportados pelo servidor para a URL especificada.

PATCH

Serve para atualizar partes de um recurso, e não o recurso todo.

CONNECT

Converte a requisição de conexão para um túnel TCP/IP transparente, geralmente para facilitar a comunicação criptografada com SSL (HTTPS) através de um proxy HTTP não criptografado.

HEAD

Retorna somente os cabeçalhos de uma resposta.

sexta-feira, 29 de janeiro de 2016

Metodos de requisição


  • GET -> consulta
  • POST -> inserção
  • DELETE -> exclusão
  • PUT -> atualização total
  • PATCH -> atualização parcial 
  • Únicos metodos que os Browser entendem: GET e POST


Forward e Redirect


  • Diferenças: http://www.javapractices.com/topic/TopicAction.do?Id=181
  • Boas práticas, SEMPRE que fizer um POST, faça um redirect para evitar que o refresh da página envie o formulário novamente pro servidor;
  • Flash Scope: Dura apenas duas requisições. Usado por exemplo depois de cadastrar algo no Banco de Dados e dar um redirect para outra action, conseguir pegar um parâmetro do primeiro request;

Melissa Lobo.

terça-feira, 19 de janeiro de 2016

Pomodoro

Alguns de vocês já devem ter ouvido falar de uma técnica chamada Pomodoro, pois bem, resolvi começar o ano falando um pouco sobre essa técnica, que ajuda muito a nos concentrarmos sem ficar exausto e ter um dia mais produtivo.

A proposta é bem simples, trabalhar por 25 minutos seguidos em uma determinada tarefa e ao termino desse período você faz uma pausa de 5 minutos, veja seus emails, noticias, whatsapp, etc. Depois de fazer 4 pomodoros de 25 min com suas devidas pausas de 5 min, você descansa por 30 min, toma um café, estica as pernas, compra um doce, e volta e segue o mesmo processo novamente.

 Você pode usar um timer de cozinha como o da imagem, ou marcar no celular, tanto faz.

Pomodoro:

  1. Separe uma tarefa para trabalhar;
  2. Ajuste o Timer para 25 minutos;
  3. Nesse período não faça nada além da tarefa selecionada, nada de emails, telefone, facebook, whatsapp, se concentre;
  4. Faça um intervalo de 5 minutos ao termino de cada pomodoro, (agora sim pode ver emails, telefone, whatsapp, etc).
  5. A cada 4 pomodoros faça um intervalo de 30 minutos. 
Obs: Registre em algum lugar, tabela, caderno de anotações ou agenda, quantos pomodoros fez no dia, e veja o quão produtivo foi ao longo do dia. 


Historia
A Técnica Pomodoro é um método de gerenciamento de tempo desenvolvido por Francesco Cirillo no final dos anos 1980. O método é baseado na ideia de que pausas frequentes podem aumentar a agilidade mental. A técnica foi nomeada após seu autor Francesco Cirillo tê-la aplicado pela primeira vez utilizando um cronômetro em formato de tomate ("pomodoro" em italiano significa "tomate").

Embora a técnica Pomodoro seja extremamente simples e fácil, ela não deve ser usada simplesmente como um processo de acelerar o desenvolvimento da tarefa, mas sim como uma unidade de esforço temporal além do poder que ela tem de focar na tarefa, evitando distrações. Portanto, além de você descobrir ao longo do tempo quais são as atividades em que você seja menos produtivo, você poderá tentar se desenvolver melhor nesses seus pontos mais fracos.

terça-feira, 22 de dezembro de 2015

O que são os Princípios SOLID?

Robert C. Martin, por volta dos anos 90, compilou cinco princípios da orientação a objetos que visam nos ajudar com a tarefa de obter um código mais sólido (S.O.L.I.D.). Já a criação do acrônimo S.O.L.I.D. propriamente dito, foi introduzida por Michael Feathers, igualmente integrante da Object Mentor Inc. e autor do livro Working Effectively with Legacy Code. Feathers, na busca por facilitar a absorção da ideia, percebeu que a junção das cinco letras iniciais dos princípios, a saber: Single Responsability PrincipleOpen Closed PrincipleLiskov Substitution PrincipleInterface Segregation Principle e Dependency Inversion Principle, formavam a palavra Solid, que nos remete aos objetivos implícitos dos princípios, isto é, um desenvolvimento mais sólido.

Os cinco princípios da OO:
  • Single Responsibility Principle (SRP), ou, Princípio da Responsabilidade Única. Esse princípio diz que as classes devem ser coesas, ou seja, terem uma única responsabilidade. Classes assim tendem a ser mais reutilizáveis, mais simples, e propagam menos mudanças para o resto do sistema.
  • Open Closed Principle (OCP), ou Princípio do Aberto Fechado. Diz que as classes devem poder ter seu comportamento facilmente estendidas quando necessário, por meio de herança, interface e composição. Ao mesmo tempo, não deve ser necessário abrir a própria classe para realizar pequenas mudanças. No fim, o princípio diz que devemos ter boas abstrações espalhadas pelo sistema.
  • Liskov Substitution Principle (LSP), ou Príncipio da Substituição de Liskov. Esse princípio diz que precisamos ter cuidado para usar herança. Herança é um mecanismo poderoso, mas deve ser usado com parcimônia, evitando os casos de Gato-estende-Cachorro, apenas por possuírem algo em comum.
  • Interface Segregation Principle (ISP), ou Princípio da Segregação de Interfaces. Esse princípio diz que nossos módulos devem ser enxutos, ou seja, devem ter poucos comportamentos. Interfaces que tem muitos comportamentos geralmente acabam se espalhando por todo o sistema, dificultando manutenção.
  • Dependency Inversion Principle (DIP), ou Princípio da Inversão de Dependências. Esse princípio diz que devemos sempre depender de abstrações, afinal abstrações mudam menos e facilitam a mudança de comportamento e as futuras evoluções do código.

segunda-feira, 21 de dezembro de 2015

O que é o Spring Framework?

O Spring é um framework open source para a plataforma Java criado por Rod Johnson e descrito em seu livro "Expert One-on-One: JEE Design e Development". Trata-se de um framework não intrusivo, baseado nos padrões de projeto Inversão de controle (IoC) e injeção de dependência.

No Spring o container se encarrega de "instanciar" classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração em formato XML, inferências do framework, o que é chamado de auto-wiring ou ainda anotações nas classes, métodos e propriedades. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação orientada a objetos.

O Spring possui uma arquitetura baseada em interfaces e POJOs (Plain Old Java Objects), oferecendo aos POJOs características como mecanismos de segurança e controle de transações. Também facilita testes unitários e surge como uma alternativa à complexidade existente no uso de EJBs. Com Spring, pode-se ter um alto desempenho da aplicacao.

Esse framework oferece diversos módulos que podem ser utilizados de acordo com as necessidades do projeto, como módulos voltados para desenvolvimento Web, persistência, acesso remoto e programação orientada a aspectos.