segunda-feira, 9 de agosto de 2010
Programação Orientada a Objetos
http://www.guiadohardware.net/artigos/programacao-orientada-objetos/
sábado, 5 de junho de 2010
Os padrões de projeto do SCWCD
Um dos tópicos mais interessantes do estudo para o SCWCD são os padrões de projetos. Para o exame, são cobrados conhecimentos nos seguintes padrões:
- Model-View-Controller: padrão de facto, é possívelmente o mais em aplicações Web. Ele define que uma aplicação deve ser dividida em lógica de negócios (Model), apresentação ao usuário (View) e a interação entre essas duas camadas (Controller).
- Intercepting Filter: define um elemento intermediário entre o navegador e o Servlet, sem que esses saibam da sua existência.
- Front Controller: define um único componente (Servlet ou JSP) para controle da camada de visão.
- Service Locator: lidam com o serviço de buscas, particularmente interessante para JNDI e o uso do padrão Business Delegate, evitando a repetição de código.
- Business Delegate: refere-se à criação de uma classe intermediária que irá encapsular a lógica de acesso à camada de negócios, mesmo que a mesma seja remota.
- Transfer Object: utilizado quando há a necessidade de que as propriedades de um objeto sejam transmitidas em conjunto, evitando que partes da informação estejam desatualizadas em relação à outras. Nesse caso, o objeto dos é transmitido (serealizado/deserealizado)
Existem vários outros padrões de projetos, tão ou mais importantes quanto esses, porém sendo bastante pragmático: esses são suficientes para passar no exame. :)
terça-feira, 25 de maio de 2010
10 Sinais que seu projeto está vindo abaixo

Achei muito interessante (cômico, se não fosse trágico) esse texto (http://www.codeanthem.com/blog/2010/05/signs-your-software-project-is-going-down/) sobre projetos de software. Por isso, fiz uma tradução livre do mesmo:
Como você sabe se seu projeto de software está indo por água abaixo?
- O desenvolvimento começou com cascata e, em seguida, assim que entrou em queda livre, a equipe começou a chamá-lo "qualquer coisa" ágil. Isso também é conhecido como ágil falso, ou "frÁGIL".
- Corrigir um bug sempre expõe outros bugs. O software está tão bugado que você não pode sequer chegar a certas partes sem esbarrar num problema. Não é tão ruim quanto causar seus próprios bugs, mesmo assim não é bom.
- Uma ou mais das tecnologias centrais deixou de ser suportada pelo fabricante antes mesmo do projeto começar. Melhor ainda se a linha de tecnologia foi totalmente interrompida.
- Você está utilizando PowerBuilder ou qualquer outra "ferramenta de desenvolvimento rápido" na qual o código tenha sido abstraía em checkboxes e drop downs. Bibliotecas, ferramentas e APIs são ótimas, mas estas ferramentas são como jogar Twister com o código.
- O líder tecnológico não sabe usar corretamente o e-mail ou navegador. Como alguém que não consegue nem mesmo usar o básico de software, pode conduzir adequadamente uma equipe de programadores?
- O Gerente de Projeto está escrevendo código e um desenvolvedor está gerenciando a equipe. Tenho visto isso com mais freqüência do que eu gostaria de admitir.
- Há mais pessoas de negócios ou de domínio do que na equipe de técnica. 1 programador + alta rotatividade + código grande + sistema crítico + enorme lista de bugs = sem problema?
- Há um conjunto de testes de um programador anterior, mas metade deles estão falhando ou não compilam. Para um divertimento extra, verifique se os erros relatados teriam sido evitados se o conjunto de testes fossem utilizados.
- Adicionar uma única linha de código requer várias linhas de comentário. Um comentário na linha indicando o motivo e o seu nome. Um comentário no topo do arquivo colocando o seu nome e data de atualização. Um por comit de arquivo, com a mensagem descritiva. Atualização no software de bug-tracking/PM. Etc, etc
- A frase "não é um bug, é uma característica" se aplica a maioria das características "do produto. "O sistema não foi projetado para isso"
domingo, 23 de maio de 2010
Você sabe o que é loop?
Para quem não conhece o conceito de "Loop", trata-se de uma terminologia assim nomeada por estudiosos de informática para definir uma confusão criada e que não possui uma explicação concreta para solução do problema...
Diz-se que um programa de computação "entrou em Loop" quando acontece a seguinte situação:
O diretor chama sua secretária e diz:
- Senhorita Vanessa: Tenho um seminário na Argentina por uma semana e quero que você me acompanhe. Por favor, faça os preparativos da viagem...
A secretária liga para seu marido:
- Alô, João! Vou viajar para o exterior com o diretor por uma semana. Cuide-se meu querido!
O marido liga para sua amante:
- Eleonor, meu amor. A bruxa vai viajar para o exterior por uma semana, vamos passar esta semana juntos, minha princesa ...
No momento seguinte, a amante liga para o menino para quem dá aulas particulares:
- Joãozinho, estou com muito trabalho esta semana e não vou poder te dar aulas ....
A criança liga para seu avô:
- Vovô, esta semana não terei aulas, minha professora estará muito ocupada. Vamos passar a semana juntos?
O avô (que é o diretor desta história) chama imediatamente a secretária:
Senhorita Vanessa venha rápido - Suspenda a viagem, vou passar a semana com meu netinho que não vejo há um ano, por isso não vamos participar mais do seminário. Cancele a viagem e o hotel.
A secretária liga para seu marido:
- Ai amorzinho! O babaca do diretor mudou de idéia e acabou de cancelar a viagem.
O marido liga para sua amante:
- Amorzinho, desculpe! Não podemos mais passar a semana juntinhos! A viagem da mocréia da minha mulher foi cancelada.
A amante liga para o menino a quem dá aulas particulares:
- Joãozinho, mudei os planos: esta semana teremos aulas como de costume.
A criança liga para o avô:
- Puta merda vovô! A véia da minha professora me disse que terei aulas. Desculpe mas não poderemos ficar juntos esta semana.
Seu avô liga para a secretária:
- Senhorita Vanessa , meu neto acabou de me ligar e dizer que não vai poder ficar comigo essa semana, porque ele terá aulas. Portanto dê prosseguimento à viagem para o Seminário.

Entendeu agora o que é um "Loop"?
Diz-se que um programa de computação "entrou em Loop" quando acontece a seguinte situação:
O diretor chama sua secretária e diz:
- Senhorita Vanessa: Tenho um seminário na Argentina por uma semana e quero que você me acompanhe. Por favor, faça os preparativos da viagem...
A secretária liga para seu marido:
- Alô, João! Vou viajar para o exterior com o diretor por uma semana. Cuide-se meu querido!
O marido liga para sua amante:
- Eleonor, meu amor. A bruxa vai viajar para o exterior por uma semana, vamos passar esta semana juntos, minha princesa ...
No momento seguinte, a amante liga para o menino para quem dá aulas particulares:
- Joãozinho, estou com muito trabalho esta semana e não vou poder te dar aulas ....
A criança liga para seu avô:
- Vovô, esta semana não terei aulas, minha professora estará muito ocupada. Vamos passar a semana juntos?
O avô (que é o diretor desta história) chama imediatamente a secretária:
Senhorita Vanessa venha rápido - Suspenda a viagem, vou passar a semana com meu netinho que não vejo há um ano, por isso não vamos participar mais do seminário. Cancele a viagem e o hotel.
A secretária liga para seu marido:
- Ai amorzinho! O babaca do diretor mudou de idéia e acabou de cancelar a viagem.
O marido liga para sua amante:
- Amorzinho, desculpe! Não podemos mais passar a semana juntinhos! A viagem da mocréia da minha mulher foi cancelada.
A amante liga para o menino a quem dá aulas particulares:
- Joãozinho, mudei os planos: esta semana teremos aulas como de costume.
A criança liga para o avô:
- Puta merda vovô! A véia da minha professora me disse que terei aulas. Desculpe mas não poderemos ficar juntos esta semana.
Seu avô liga para a secretária:
- Senhorita Vanessa , meu neto acabou de me ligar e dizer que não vai poder ficar comigo essa semana, porque ele terá aulas. Portanto dê prosseguimento à viagem para o Seminário.

Entendeu agora o que é um "Loop"?
quinta-feira, 20 de maio de 2010
quinta-feira, 11 de março de 2010
Google Code Jam
Saiu as datas para o Google Code Jam:
http://code.google.com/codejam/
O registro começa dia 7 de abril!
Com certeza vou participar!
http://code.google.com/codejam/
O registro começa dia 7 de abril!
Com certeza vou participar!
sexta-feira, 19 de fevereiro de 2010
Jogo da vida do matemático John Conway
Pessoal,
um dos problemas de programação "mais" clássicos é o Jogo da Vida, proposto por John Conway.
Usando uma matriz, que representa uma comunidade, onde cada posição representa um indivíduo, devemos implementar as seguintes regras para evolução da comunidade:
Quem estiver interessado em entender e resolver esse desafio:
http://pt.wikipedia.org/wiki/Jogo_da_vida
Um abraço!
um dos problemas de programação "mais" clássicos é o Jogo da Vida, proposto por John Conway.
Usando uma matriz, que representa uma comunidade, onde cada posição representa um indivíduo, devemos implementar as seguintes regras para evolução da comunidade:
- Qualquer indivíduo com menos de dois vizinhos vivos morre de solidão.
- Qualquer indivíduo com mais de três vizinhos vivos morre de superpopulação.
- Qualquer indivíduo exatamente três vizinhos vivos se torna uma célula viva.
- Qualquer indivíduo dois vizinhos vivos continua no mesmo estado para a próxima geração.
Quem estiver interessado em entender e resolver esse desafio:
http://pt.wikipedia.org/wiki/Jogo_da_vida
Um abraço!
Assinar:
Postagens (Atom)