terça-feira, 11 de fevereiro de 2014

Ótimo Webinar sobre Elastic Search 0.90.

http://info.elasticsearch.com/Recorded_0.90_Webinar.html
Como tornar-se um expert em Garbage Collector:

http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/
http://www.cubrid.org/blog/dev-platform/how-to-monitor-java-garbage-collection/
http://www.cubrid.org/blog/textyle/428187


Esses 3 artigos sao muito interessantes e completos.

segunda-feira, 9 de agosto de 2010

Exercícios POO

Exercícios

---------------------------------------
Descrição geral: Desenvolver um software para gerenciamento de uma Universidade.

1. Criar as seguintes classes:
Pessoa
Estudante
Professor
Classe

2. Criar atributos, comportamentos e relacionamentos para as classes.
3. Fazer uma classe principal para receber as entradas de dados e apresentar a saída.
4. Na classe principal, adicione um comportamento para receber as notas, calcular a média e escrever na tela se o estudante está aprovado ou reprovado.

---------------------------------------

Descrição geral: Desenvolver um software para gerenciamento de contas bancárias


1. Criar as seguintes classes:
Pessoa física
Pessoa Jurídica
Conta corrente
Poupança

2. Criar atributos, comportamentos e relacionamentos para as classes.
3. Fazer uma classe principal para receber as entradas de dados e apresentar a saída.
4. Na classe principal, adicione um comportamento para impedir saques de Contas Correntes e Poupanças, abaixo do limite.

---------------------------------------
 
Descrição geral: Desenvolver um software para gerenciamento de uma Loja de computadores.


1. Criar as seguintes classes:
Pessoa
Comprador
Vendedor
Produto

2. Criar atributos, comportamentos e relacionamentos para as classes.
3. Fazer uma classe principal para receber as entradas de dados e apresentar a saída.

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?
  1. 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".
  2. 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.
  3. 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.
  4. 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.
  5. 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?
  6. 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.
  7. 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?
  8. 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.
  9. 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
  10. 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.
Justificar
Entendeu agora o que é um "Loop"?