Iniciando com jquery

Olá pesssoal, postei esse inicio de matéria no meu blog e estou replicando aqui também, pois acho útil para quem está trabalhando com web, mais especificamente com  javascripts.

Jquery é um framework para desenvolvimento em javascript, com ele podemos trabalhar com javascript de forma muito mais pratica e produtiva. Pois já esta integrado em seu código funções para ajax, manipulação de elementos, css, efeitos, eventos entre outras. Sem falar da comunidade que cada vez mais desenvolve novos plugins que podem ser compartilhados e utilizados de forma simples.

Site oficial do Jquery – http://jquery.com/
Versão atual – 1.4

Como funciona : Para isso vamos desenvolver um passo a passo com um exemplo simples.

1 – Realizar download do jquery 1.4 em http://docs.jquery.com/Downloading_jQuery
2 – Criar um novo arquivo HTML como o abaixo e carregue o script do jquery:

OBS: O caminho deve ser o local onde o arquivo “jquery.js” está em relação ao html que você criou.

<!doctype html>
<html>
<head>
<!– Carregando o script do jquery –>
<script type=”text/javascript” src=”jquery.js”></script>
</head>
<body>
<p>jQuery</p>
</body>
</html>

3 – Pronto, agora você já pode manipular completamente sua página com jquery. Vamos adicionar ao exemplo o trecho de código abaixo:

<script type=”text/javascript”>
$(document).ready(function(){
$(“a”).click(function(event){
alert(“Thanks for visiting!”);
});
});
</script>

Ficando assim:

<!doctype html>
<html>
<head>
<!– Carregando o script do jquery –>
<script type=”text/javascript” src=”jquery.js”></script>
<script type=”text/javascript”>
$(document).ready(function(){
$(“p”).click(function(event){
alert($(‘p’).html());
});
});
</script>

</head>
<body>
<p>jQuery</p>
</body>
</html>

O que acontece é que quando clicarmos em qualquer tag <p> no html irá exibir um alert com seu código html. Visualize o seu html em algum browser. Em breve estarei explicando com mais detalhes como isso aconteceu, sobre o evento click e o método html.

Innovation as a Learning Process

Após indicação de leitura de meu orientador no mestrado deixo a dica para aqueles que gostam de ler sobre inovação o paper que trata de inovação como um processo de aprendizagem é bem interessante e para quem gosta de ler sobre o tema,  é uma boa indicação , felizmente para alguns e infelizmente para outros o Paper está em inglês, mas vale a pena fazer um esforço para ler esse artigo que foi publicado pela California Review Management by Sara L. Beckman e Michael Barry.

Para ler Clique Aqui!

Boa leitura a todos.

E o Android também vai entrar na era dos Tablets.

Já existem no mercado algumas tablets com o sistema operacional android, mas após o anuncio do lançamento do Ipad pela Apple (veja mais sobre isso aqui) os tablets ganharam mais força no mercado, criando assim uma nova categoria entre o laptop e o smartphone.

A Innovative Converged Devices ou simplesmente ICD, anunciou uma nova tablet na semana passada, e que estará rodadno o SO Android 2.0 Eclair, no qual tem o google como uma das empresas fortes ligadas ao grupo que o desenvolveu.

Dados:

Android 2.0 Eclair, 373mm x 254mm x 16mm, 15.6″ Touchscreen, NVIDIA Tegra, 512 DDR / 512 NAND, 32GB Internal SD, 1.3 MP Web Cam, Micro SD, Bluetooth 2.1, wireless 802.11 b/g, USB 2.0, 2g/3g Data, Cellular, 3.5mm Audio Jack, Magnetic Docking, Tablet/Dock Charging, Accelerometer, Ambient light sensor, FM Radio, Dual digital e microphones.









Outro que chegou ao mercado foi o dell mini 5 com um android personalizado, entrada para chip podendo assim fazer ligações, Wi-Fi, Bluetooth, camera de 5 megapixel e a tela de 5 polegadas com suporte multitoque. Veja um pouco mais nesse vídeo abaixo:

Steve Jobs apresenta IPAD






A Apple anunciou na ultima quarta-feira (17) o lançamento do seu novo filho, o IPAD possui tela colorida sensível ao toque de 9,7 polegadas, processador de 1GHZ, além de conexão WiFi e 3G e bateria com duração de até 10 horas de uso.

Para os fãs da maça, é um dos itens mais esperados do momento. Possui o mesmo sistema operacional do IPHONE, o que será possível por meio do aplicativo como o iBooks, comprar livros digitais e interagir com eles, podendo girar as páginas como em um livro comum, tornando o iPad um concorrente direto do Kindle, da Amazon.

Alguns aficionados por tecnologia ainda sim sentem falta de alguns recursos pois o aparelho não possui câmera, e não trabalha em multitarefa, fazendo que o usuário rode mais de um programa ao mesmo tempo.

Nos estados unidos as vendas serão iniciadas em março, custando US$ 500 (modelo de 16 GB), US$ 600 (modelo de 32 GB) e US$ 700 (modelo de 64 GB).

Veja um pouco mais sobre o IPAD no Vídeo:

Testes de Software

Recentemente estive envolvido em um projeto onde qualidade e tempo andavam em lados opostos, qualidade a equipe tem e muita, porém nos faltava tempo. “O projeto deve ser entregue dentro de 15 dias” e após muita luta e esforço de todos, conseguimos o prazo de 30 dias, dependendo do tamanho do projeto isso poderia ser um ótimo prazo, mas não para esse.

Um portal para fins educativos, com conceitos chaves como COMUNICAÇÃO, GESTÃO E CONTEÚDO.

Infelizmente não posso falar o nome da empresa. Você agora deve esta se perguntando certo mais o que isso tem haver com TESTES DE SOFTWARE, pois bem a equipe conseguiu terminar o projeto dentro do prazo, porém na apresentação para a direção da empresa, vários repito vários BUGS foram surgindo na apresentação.

O que ficou claro para todos foi a equipe esqueceu uma fase importante e talvez junto com a implementação a fase mais dispendiosa, mais cara como alguns acadêmicos definem, a fase de TESTES. Não que nenhum dos programadores não tenha testado o que faziam, sim eles faziam isso, porém não realizavam testes mais profundos no momento em que as funcionalidades eram adicionadas, isso gerou a equipe RETRABALHO, pois além de parar todo o desenvolvimento para realizar os testes, “Já que éramos uma equipe pequena que fazia uso de metodologia ágil”, nos tínhamos uma certeza “falhamos”, não pelo que foi feito e sim pelo o que não foi feito.

Mas Rafael por que contar toda essa historinha para falar de testes? Por que não ir direto ao ponto, onde você falaria das questões como testes servem para detectar defeitos e não acertos. Por que não falar das estatísticas que mostram que empresa que investem no estudos e aplicações de testes como algo primordial para o processo de desenvolvimento de software obtém ótimos resultados do ponto de vista de qualidade, satisfação do cliente, menos retrabalho.

Não falei, pois tudo isso já é falado aos quatro cantos do mundo. O que queria mostrar é que até mesmo uma equipe de alto nível pode falhar feio, se subestimar a engenharia de software, pois para muitos, o que Summerville, Pressman entre outros pregam não são aplicáveis ao mundo real de desenvolvimento de software.

Não é ter que aplicar tudo que esta na teoria para a prática e sim os conceitos ou boas práticas junto com suas necessidades é claro. No próximo POST “amanhã”, eu irei falar sobre uma outra forma de evitar problemas com bugs INSPEÇÃO DE SOFTWARE.

OO parte III – Atributos





Atributos, que também podem ser chamados de propriedades, são responsáveis por representar as características de uma classe, permitindo assim diferenciar um objeto do outro, por exemplo, o atributo cor da classe Carro irá identificar a cor de cada Objeto do tipo carro. Assim o carro1 poderá ter a cor vermelha e o carro2 poderá ser azul.

Atributos são representados na segunda divisão da classe, geralmente possuem dois campos, um destinado ao nome do atributo e outro destinado ao tipo de dado armazenado pelo atributo, por exemplo, integer, float, character ou boolean, sendo que esse ultimo não é obrigatório.

Assim, todo objeto possui atributo e esse atributos são responsáveis por dar características ao objeto, como por exemplo na classe Cliente do exemplo abaixo, da representação de uma classe com atributos.

OO parte II – Classe





A classe é uma estrutura estática e será útil para descrever os objetos, seus atributos (propriedades) e métodos (funcionalidades). A classe é um modelo ou template para criação destes objetos. Podem ser classes, qualquer entidade do negócio da sua aplicação (Usuário, Cliente, Filme).

No momento que modelamos um Cliente, por exemplo, são suas propriedades (nome, idade, sexo). E temos como métodos, funcionalidades desempenhadas pela classe. No caso de Cliente, poderiam ser métodos  (Comprar(), Alugar(), Vender()).

Uma classe pode ser representada por um retângulo, dividido em 3 partes. A primeira armazena o nome da classe, a segunda lista os atributos da classe e a última lista os métodos que a classe possui. Podemos encontrar classes que possuam apenas uma dessas partes ou características.

Classe cliente

A figura acima mostra o exemplo de uma classe, note que nesse caso só possui uma divisão, já que não é obrigatório representar a classe expandida.

*Nos Próximos posts estaremos falando mais das outras divisões.

Introdução a orientação a objetos





O que é OO?

Orientação a objetos (OO) é um paradigma de desenvolvimento de softwares.  Que em vez de construir um sistema baseado num conjunto de procedimentos e variáveis, que nem sempre são agrupados de acordo com o contexto, na orientação a objetos utiliza-se uma ótica mais próxima do mundo real, onde se lida com objetos, onde muitas vezes são estruturas já conhecidas no dia-a-dia e as quais são mais bem-compreendidas.

Vantagens

  • Vantagens Diretas
  • - maior facilidade para reutilização de código e por conseqüência do projeto.
    - possibilidade do desenvolvedor trabalhar em um nível mais elevado de abstração.
    - utilização de um único padrão conceitual durante todo o processo de criação de software.
    - maior adequação à arquitetura cliente/servidor.
    - maior facilidade de comunicação com os usuários e com outros profissionais de informática.

  • Vantagens Reais
  • - ciclo de vida mais longo para os sistemas.
    - desenvolvimento acelerado de sistemas.
    - possibilidade de se construir sistemas muito mais complexos, pela incorporação de funções prontas.
    - menor custo para desenvolvimento e manutenção de sistemas.

    Desvantagens

    - complexidade no aprendizado para desenvolvedores de linguagens estruturadas.
    - maior esforço na modelagem de um sistema OO do que estruturado (porém menor esforço de – codificação, sendo uma vantagen).
    - funcionalidades limitadas por interface, quando estas estão incompletas (problemas na modelagem).
    - dependência de funcionalidades já implementadas em superclasses no caso da herança, implementações espalhadas em classes diferentes.

    * No proximo post estaremos falando sobre classes, não percam.

    Jovens Empreendedores

    Matéria do jornal hoje do dia 31/08/2009

    Mostra como anda uma empresa formada por jovens que usam uma forma descontraída para eliminar o stress diário do trabalho junto com seus colaboradores.

    Assistam, vale a pena.

    Paradigma de Programação Imperativo

    Uma linguagem de programação que utiliza paradigma imperativo, manipula variáveis a partir de ordens ou
    comandos. Por exemplo, determinado número de váriáveis são lidas na entrada, são manipuladas e colodas
    em outras variáveis, ditas saídas, manipulando estados.

    Um programa imperativo realiza uma série de tarefas, uma atrás da outra, que o computador tende a executar.
    Alguns exemplos de linguagens que utilizam paradigma imperativo são: Ada, Algol, C, Fortran, Pascal,
    entre outras.

    Essa imagem mostra de forma bem interessante o fluxo dos dados num paradigma Imperativo.

    Vantagens:

    • Eficiência (embute modelo de Von Neumann);
    • Modelagem “natural” de aplicações do mundo real;
    • Paradigma dominante e bem estabelecido;
    • É altamente flexível, podendo ser migrado para outras paradigmas facilmente;

    Desvantagens:

    • Difícil legibilidade;
    • Erros introduzidos durante manutenção;
    • descrições demasiadamente operacionais focalizam o como e não o que
    • Relacionamento indireto com a E/S (indução a erros/estados)

    No próximo post falaremos sobre o Paradigma Funcional.