Posts com a Tag ‘cpwj’

O Curso Web está indo de “Vento em Popa”

quinta-feira, 18 de outubro de 2007

Hoje completamos 100 alunos cadastrados em nosso Curso de Programação Web em Java. Confesso que está superando todas as minhas expectativas.

Este artigo é para divulgar um resumo do perfil dos alunos que preencheram o questionário inicial do curso. Fiquei bastante contente com o nível geral dos alunos, e tenho certeza que o curso poderá seguir com bastante sucesso.

Os questionários respondidos me indicaram quatro perfis diferentes:

  1. Web Designers. Profissionais extremamente competentes em codificação Html, Css e mesmo Flash. Estes alunos procuraram o curso para iniciar a parte de programação, permitindo desenvolver a parte dinâmica de seus sites e de seus clientes.
  2. Programadores Web em PHP. Profissionais já tarimbados em programação para Web, porém utilizando PHP. Para estes o objetivo é usar Orientação ao Objeto em Java.
  3. Programadores Java. Especialistas em Java para Desktop ou Móbile mas sem experiência em Programação Web.
  4. Alunos que acabaram de chegar. Sem experiência anterior.

Identifiquei um ou dois alunos que são professores e desejam aprofundar ou diversificar o conhecimento ou conteúdo de aula. Estou muito contente com a presença de vocês.

Queria aproveitar o momento para dizer que todas as críticas, sugestões e idéias são bem vindas. Não sou o dono da verdade, e as correções nas matérias publicadas são importantíssimas. (keywords é no plural, obrigado Wagner)

Como disse no lançamento do curso: minha experiência é com sala de aulas, e com programas reais, esta é a primeira vez que leciono via web. Conto com a ajuda e compreensão de todos.

Obrigado de novo pela participação.

Se tem interesse em participar, as instruções estão em Curso de Programação Web em Java.


Mudando de assunto: o segundo artigo com fotos do Hubble está ficando esfuziante. Não perdem por esperar. A previsão é que fique pronto amanhã ou depois. Galáxias são fascinantes. Uma canja:

Impressionante.

Curso Gratuito de Programação para Web em Java

segunda-feira, 1 de outubro de 2007
.!.

Não precisa se inscrever, leia este artigo e começe as aulas que estão listadas no final do artigo.

Sejam bem vindos para o curso Programação para Web.

Quem sou eu

Antes de mais nada, quem sou eu: Professor Luís Eduardo, 33 anos, ex-professor na Etep Faculdades de São José dos Campos, uma das escolas técnicas mais conceituadas em meu município e região. E também 10 anos na Sabesp, na divisão de Informática do Vale do Paraíba. Eu sou Tecnoclasta.

Trabalho com Java desenvolvendo sistemas Web para a intranet da Sabesp. Começei com o “macarraônico” código JSP acessando diretamente o banco de dados Oracle, e agora, já evoluído, utilizo Struts mais Hibernate nos projetos novos. É claro que os primeiros projetos ainda estão em funcionamento e manutenção. Portanto lido com todo tipo de código jsp + oracle + struts + outros testes.

Objetivo do Curso

O objetivo deste curso é permitir alguém com boa vontade e dedicação desenvolver pequenos sites em Java. Apenas começar o desenvolvimento, o suficiente para conseguir acompanhar o material mais completo e técnico já presente em abundância na Internet. Será também o repositório de informações para meus alunos do curso presencial, que tem o mesmo conteúdo apresentado aqui.

O curso será dividido em oito partes:

  • XHtml
  • Css
  • JavaScript
  • Java
  • Jsp
  • Jstl
  • Struts
  • Hibernate

Uma sopa de letrinhas não é? Mas não se preocupe, iremos abordar cada um dos ítens devagar e da forma mais didática possível.

Um curso como este é desenvolvido em minha escola em 1 ano. São 6 meses com xhtml, css e javascript, e 6 meses para a parte dinâmica: jsp, jtsl, Struts e Hibernate. E em paralelo Java puro em 6 meses.

Infelizmente eu não tenho organizado comigo todo material com este conteúdo. Eu tenho tudo aqui na cabeça, com cada aula preparada e alguma coisa em anotações. Então vou desenvolver isso aos poucos, com uma lição por semana. Já terminei de postar todas as aulas, então faça seu próprio ritmo. Este é o meu plano de aulas: uma aula por semana, série de exercício e tira dúvidas direto no comentário das aulas. Quem quiser fazer isso a sério, é necessário uma dedicação de no mínimo 3 horas por semana.

As aulas serão totalmente práticas, então nada de ficar teorizando, e contando histórias, vamos direto ao assunto. Com exceção é claro da aula inicial que é muita teórica.

Inscrições

Nada de inscrições. Basta fazer as aulas. Porém eu ficaria feliz se deixasse um comentário neste artigo dizendo que fará as aulas. As aulas serão postadas todas as terças-feiras. Todas as aulas já estão disponíveis.

Material Didático:

Para início de conversa precisamos de uma máquina rodando Windows ou Linux, com acesso a internet e só.

Para o meio do curso vamos precisar também de um ambiente de desenvolvimento Java, mysql e gimp. Observe que é necessário tanto o Internet Explorer quanto o Firefox. Se ainda não usa, instale o Firefox o quanto antes, é um navegador excelente, e obrigatório para os testes de compatibilidade. Para o Firefox tem um download aqui ao lado direito. Para os usuários de Linux é muito interessante ter o Internet Explorer, para realizar testes de compatibilidade. Veja o ie4linux.

Os outros downloads você encontra aqui.

Para a próxima aula:

download killshot

Guarde esta página em favoritos (teclas ctrl+d), para poder continuar o curso a partir da próxima aula.

Para os mais entendidos: feeds, ou assine por email

Conteúdo já publicado:

Livros Recomendados:

Html, Xhtml, Css: Use a Cabeca Html Com Css e Xhtml – Elisabeth Freeman, Eric Freeman

Geral Sobre Java:Java como Programar, Deitel

Sobre JSP e Servlet:Use a Cabeça! Jsp – Brian Bashan, Kathy Sierra, Bert Bates

Outros livros:

Sobre Hibernate:Java e Hibernate

Sobre Struts:Java e Struts

Terceira Aula: Classificando o conteúdo

sábado, 23 de junho de 2007
.!.

Sejam bem vindos, esta é a terceira aula de Programação Web em Java, para saber mais sobre o curso, comece em Curso de Programação Web em Java – CPWJ

Na última aula estudamos como montar uma página Xhtml de acordo com o Web Standard. Hoje vamos ver o que podemos colocar no body, isso é, o que é permitido fazer no conteúdo da página.

>>>>Parênteses >>>>>>>>

Amigo Web Designer presente no curso: fique atento. Estamos utilizando o padrão Web, ou Web Standard. Existem muitas vantagens em utilizar o padrão diante de todos os recursos despadronizados presentes nos navegadores mais utilizados pelo mercado. A principal é a facilidade de portar o código para vários outros navegadores mais simples, como os presentes em celulares, e outros equipamentos. Falaremos também sobre Tableless, pode começar lendo um FAQ.As regras de utilização de xHTML de acordo com o padrão é muito mais restrita. Então atenção aos detalhes.

<<<< Fecha parênteses <<<<

Voltando ao conteúdo. Em primeiro lugar, os tags permitidas no bloco body tem por objetivo indicar o tipo de informação ali colocada. Repetindo: explicar o tipo da informação.

Desde a versão 4.01 do HTML a aparência não é objetivo do HTML. Então esqueçam da aparência do documento neste momento. O que vamos fazer no (x)HTML é indicar o que é um bloco de texto de forma semântica. Para aparência usaremos CSS.

Um bloco de texto na página Html pode ser uma porção de coisas:

  • Um parágrafo
  • Um título
  • Uma lista, ou um ítem de uma lista
  • Uma citação
  • Um endereço
  • Código de programação
  • Texto predefinido
  • Texto enfatizado
  • etc.

Observe novamente, todos estes indicadores são nomes de coisas lógicas em uma página html. Não indicam nunca a aparência. É claro que uma lista na sua cabeça tem uma determinada aparência. Mas em Xhtml indicar que um bloco de texto é uma lista, tem exatamente este objetivo: indicar que é uma lista. A aparência é conseqüência.

Vamos começar com as coisas simples.

Parágrafos

Em xHtml todo o texto corrido como este que estou escrevendo deve ser delimitado com o tag ‘p’. Desta maneira:
<p>Este é o primeiro parágrafo. Veja que uma frase na mesma linha não deve ser delimitada. Um parágrafo é diferente de uma frase, ok?</p>

<p>Veja que este é o segundo parágrafo. A aparência padrão de parágrafos já coloca um pequeno espaço entre parágrafos. Isso é configurável via CSS, aliás toda a aparência é.</p>

Títulos

As páginas Web são recheadas de títulos. Como estes títulos aí em cima: “Parágrafo”, “Títulos”, “Terceira Aula: Classificando o conteúdo”. Observe que existem títulos e subtítulos. No caso deste artigo, “Parágrafo” é um subtítulo de “Terceira Aula….”

Para permitir a construção de títulos e subtítulos o xHtml permite a utilização de até 6 níveis de títulos: ‘h1′, ‘h2′, ‘h3′, ‘h4′, ‘h5′ e ‘h6′. O nível 1 é para os títulos mais importantes da página e ou os outros devem ser usados para caracterizar subtítulos.

Neste site Tecnoclasta (http://www.tecnoclasta.com), por exemplo, o nome do site no topo da página tem título de nível 1: <h1>Tecnoclasta</h1>, os títulos dos artigos tem título de nível 2: <h2>Terceira Aula: Classificando o conteúdo</h2>, os títulos das sessões a direita, nível 3: <h3>Assine Tecnoclasta</h3>, e por fim os subtítulos dentro de um artigo tem nível 4: <h4>Parágrafos</h4>.

Observe que a hierarquia de títulos é construída de acordo com a importância relativa de cada uma das informações, não tem nenhuma relação com aparência. De novo: esqueça a aparência por enquanto.

Listas

Outro tipo de informação comum em uma página web são as listas. Listas existem dois tipos: numeradas e não-numeradas. As lista não numeradas usam dois tags ‘ul’ (unordered list) e ‘li’ (list item), respectivamente para delimitar a lista, e o ítem da lista. Para cada ítem da lista ele coloca um marcador, que pode ser uma seta ou bolinha. Assim:

<ul> use este para o ínício

<li>primeiro item da lista</li>
<li>segundo item da lista</li>
<li>terceiro item da lista</li>

</ul> e este para o fim da lista

Resultado:

  • primeiro item da lista
  • segundo item da lista
  • terceiro item da lista

As listas numeradas automaticamente incluem números antes de cada ítem da lista. Funcionam igual a lista não-numerada. No exemplo anterior trocando ‘ul’ por ‘ol’ (ordered list) obteríamos:

  1. primeiro item da lista
  2. segundo item da lista
  3. terceiro item da lista

Não é necessário digitar os números.

Listas de Definição

Em várias situações precisamos construir uma lista de definições, como num dicionário. Em uma lista de definições nós temos os termos a serem definidos e temos cada uma de suas definições. Para construir uma lista de definição temos 3 tags:

‘dl’
De definition list, delimita o início e fim da lista
‘dt’
Delimita cada um dos termos da lista
‘dd’
Delimita cada defininição da lista

A própria lista acima foi construída em forma de lista de definição. Veja o código:

<dl>
<dt>’dl’</dt><dd>De definition list, delimita o início e fim da lista</dd>
<dt>’dt’</dt><dd>Delimita cada um dos termos da lista</dd>
<dt>’dd’</dt><dd>Delimita cada defininição da lista</dd>
</dl>

Endereços

Indicar o endereço de um local:

<address>Este é meu endereço</address>

Citações

Quando citamos o texto de um livro, site ou mesmo uma frase de outro autor utilizamos a tag ‘cite’: <cite>Ser ou não ser, eis a questão.</cite>

Uma segunda maneira de fazer citações é utilizar o tag ‘q’ de quotation ou cotação. Este tag automaticamente <q>”coloca um texto entre aspas”</q>. Porém não é reconhecido pelo Internet Explorer (os testes do aluno Fábio Costa nem no IE7 funciona. Testes do aluno Cristian indicaram que no Ie8 está ok). Portanto dê preferência ao ‘cite’ e ao ‘blockquote’.

Para blocos de citações mais longas com parágrafos inteiros temos ainda o tag ‘blockquote’. Observe que ele exige um ou mais blocos dentro:

<blockquote><p>Esta citação inclue mais de um parágrafo</p>
<p>Este é o segundo parágrafo da citação</p></blockquote>

Sem os tags ‘p’ dentro do blockquote o código não é validado.

Para os tags ‘blockquote’ e ‘q’ é opcional indicar quem é o autor da citação. Use o parâmetro ‘cite’:
<q cite=”Einstein”>A velocidade da luz é igual para todos os referenciais inerciais.</q>

O texto em ‘cite’ não é mostrado, mas fica armazenado para o robô dos sistemas de busca.

Código

Código de programação é um dos tipos de informação mais comuns em sites. Este site mesmo está repleto de códigos. Para indicar que algo é código temos o tag ‘code’:
<code>
for(i=0;i<10;i++){
System.out.println('contar até 10: '+i);
}
</code>

Ênfase e ênfase forte

Para destacar uma frase ou palavra no meio de um parágrafo temos duas opções: utilizar de ênfase ou de ênfase forte. Os tags são, respectivamente, ‘em’ e ‘strong’:

<p>Isso é um parágrafo. Isso é <em>importante e deve ser destacado</em>. No entanto isso é <strong>ainda mais importante e deve ser ainda mais destacado.</strong></p>

Observe que a aparência padrão para ‘em’ é o itálico e ‘strong’ é o negrito. Mas isso é o padrão e podem ser modificados via CSS. Textos enfatizados devem fazer parte de um parágrafo, ou outro tipo de bloco, como code, cite, etc.

Texto pré-tabulado

Para entender este ‘tag’, temos que aprender a forma que o navegador lida com espaços, enter e tabs. Estes caracteres são descartados, desprezados pelos navegadores e substituídos por um espaço. Assim uma porção de espaços, tabs e enters, viram um espaço:

Uma tabela digitada assim (pontos são espaços):

Nome……..n1……n2……média<enter>
José……….4,0…..5,0….4,5<enter>

Seria apresentada pelo navegador assim:

Nome.n2.n2.média.José.4,0.5,0.4,5

Para colocar textos com tabulação definida por espaços, utilizamos o tag ‘pre’. Exemplo:

<pre>
nome……..n1……n2……média<enter>
José……….4,0…..5,0….4,5
</pre>

Desta maneira iria funcionar conforme o esperado. Isso é, com os espaços e retorno de linha apresentados.

Sobrescrito e Subscrito

Para textos subscritos (subscribed) e sobrescritos (supercribed), temos respectivamente os tags ‘sub’ e ‘sup’:

H<sub>2</sub>SO<sub>4</sub> : H2S04.
a<sup>2</sup>= b<sup>2</sup>+c<sup>2</sup> : a2=b2+c2

Por hoje é só. Na próxima aula vamos lidar com links, tabelas e blocos, e por incrível que pareça iremos terminar XHTML. Formulários vai ficar para um momento mais adequado do curso. (quando vermos javascript).

Quero lembrar que o curso não tem intenção de esgotar o assunto com todos os detalhes, mas dar o pontapé inicial, e indicar material para aprofundamento. Fazer o básico bem feito, para conseguir acompanhar o vasto material disponível na net, esta é a visão.

Exercitando

  • Para exercitar a matéria apresentada, vamos treinar a codificação copiando todo o conteúdo deste artigo para um editor de texto comum e montando uma página Xhtml. Esqueça por enquanto os links. Validar no validator do W3C.
  • Se você tem algum site de sua autoria, refaça uma das páginas utilizando unicamente os tags apresentados nesta aula, e outros definidos nos dois links apresentados em aprofundando. Valide.

Aprofundando

Estudar o padrão do W3c:

Cuidado: não considerar os tags e atributos marcados como DEPRECATED.

Dúvidas? vá para o fórum.

Procure os mais baratos Livros sobre a Web, Livros sobre Java, Livros HTML ou Livros JSP nas melhores lojas do Brasil.

1

Segunda Aula: Página mínima XHTML

segunda-feira, 11 de junho de 2007
.!.

Sejam bem vindos, esta é a segunda aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web
O conteúdo da Web precisa estar codificado segundo um padrão. A partir da aula de hoje vamos estudar o padrão mais atual para codificação Web: o XHTML.

killshot divx

Este é um documento mínimo codificado em Xhtml 1.0 padrão:

<!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
  <head>
  <title>Um título</title>
 <meta http-equiv="Content-Type"  content="text/html; charset=iso-8859-1" />
  </head>
  <body>
 </body>
 </html>

Vamos analisar as partes importantes:

1, 2, 3 doctype: indica a versão do padrão que estará utilizando. Existem várias possibilidades como Html4.1 transactional, strict e frameset, Xhtml1.0 transactional, strict e frameset e outros. No nosso caso usaremos o padrão Xhtml Strict 1.0. Teremos uma aula só para conhecer os outros padrões.

4 e 11 html: download toy story marcador (tag) que indica o início efetivo da página html. As propriedades xml:lang e lang indicam a língua em que o documento está escrito. Use “pt-br” para português do Brasil. “en” para inglês.

5 e 8 head: bloco de cabeçalho. Dentro deste bloco iremos colocar as informações importantes sobre a página. Estes dados ajudarão os navegadores montarem o conteúdo de maneira que foi planejada pelo programador. E os motores de busca do google e outros obter informações para posicionar sua página corretamente. Os conteúdos colocados aqui não serão mostrados diretamente na página do navegador.

6 title: títudo da página. Texto que será colocada na barra de título do navegador e usada pelos motores dos buscadores para nomear o conteúdo de sua página.

7 meta content-type: indica detalhes de codificação de caracter para o navegador.

9 e 10 body: corpo ou conteúdo da página. Tudo que você quizer mostrar na área principal do navegador estará dentro deste bloco.

Todos os ítens apresentados são obrigatórios em uma página Xhtml padrão.

Exemplo Prático

Vamos fazer um exemplo prático que realmente funciona?
Para isso utilize um editor de texto simples: gedit, kedit, bloco de notas, vi, etc. No exemplo falta preencher alguma coisa dentro do bloco body:

... (todo o cabeçalho igual ao exemplo acima)
<body>
<p>Olá Mundo! Esta é minha primeira página XHTML padronizada e funcional.</p>
</body>
</html>

Salve o documento com extensão *.html. E pronto.
-Tag <p> delimita um parágrafo do documento. Cada um dos parágrafos devem ser delimitados individualmente.

Para ver como ficou sua primeira página abrir o arquivo com os navegadores Firefox e Ie:

Ie:

Arquivo/Abrir/Procurar…
Localizar o arquivo criado e clicar Abrir.

Firefox:

Arquivo/Abrir Arquivo…
Localizar o arquivo criado e clicar Abrir.

Para ambos existe um atalho de teclado: CTRL+O. (que funciona melhor no Firefox)

Você deverá ver no navegador o texto digitado entre os tags <p> e </p>. Nossos exercícios em xhtml serão todos testados desta maneira.

Para verificar se você seguiu corretamente o padrão, existe uma ferramenta online que faz o teste de conformidade. Entre em validator.w3.org selecione o seu arquivo e clique em “Check”. Se tudo estiver certo verá a mensagem “Congratulations”. No caso de erro o sistema apresenta o que você fez de errado. Corrija o que ele pediu e tente novamente.
Guarde o endereço do “Validator” no seu favoritos. Será necessário durante todo o curso.

Algumas regras para conseguir a validação:
- Os caracteres maiúsculos e minúsculos são obrigatoriamente como apresentados. (HTML <> html)
- Cuidado com o final do tag meta: …harset=iso-8859-1″ /> Observe que depois das aspas usamos espaço, barra e maior. O espaço é obrigatório.
- Cuidado ao usar o Ctrl+c e Ctrl+v do navegador: verifique que todas as aspas ” estão trocadas por aspas inglesas. Apague e use a aspa dupla que fica próxima ao número 1 do teclado. Recomendo pelo menos uma vez você mesmo digitar todo o código para se acostumar. Isso ajuda muito na memorização.
- Todo o resto é obrigatório.

Dúvidas até aqui? Corra para o fórum. (eu estarei lá somente terça, mas tem os moderadores)

Mais dados no cabeçalho.

No cabeçalho ou Head podemos colocar uma série de informações sobre o documento. Com estes dados o navegador e os sistemas de busca podem entender melhor o conteúdo do documento. O título do documento é a principal informação do cabeçalho. Porém com o tag meta podemos definir uma série de outras informações úteis:

<meta name=”author” content=”Prof. Luís Eduardo” /> O autor do documento.
<meta name=”copyright” content=”© 1996 Indústria Ltda ” /> Questões de copyright
<meta name=”keywords” content=”trabalho,mudanças,java” /> Importantíssimo: palavras chave para o motor de busca do Google e Yahoo.
<meta name=”date” content=”1994-11-06T08:49:37+00:00″ /> Data de criação formatada conforme orientador [RFC2616 sessão 3.3]

<meta name=”description” content=”Roteiro da Aula número 2″ /> Descrição do conteúdo da página
… você utiliza outra meta que julga importante? divulgue no fórum.

>>> Corrigido: a meta keywords é no plural.

Exercícios:

  • Monte uma página completa e validada no W3.org com o conteúdo pedido na última aula.
  • Caso tenha alguma página html de sua autoria que esteja fora do padrão Xhtml, identifique os problemas usando o validador e corrija o cabeçalho. (Apague o conteúdo todo antes de tentar validar. Corrigir o conteúdo fica para outra aula, ok?)
  • Faça o mesmo com uma página de algum site famoso. (que tal o Tecnoclasta?)

Aprofundando:

Para a próxima aula:

  • Planeje um texto bem completo com títulos, tabelas, listas. Vamos fazer tudo isso semana que vem. Ainda não escreva código html. Faremos após a próxima aula.

Procure os mais baratos Livros sobre a Web, Livros sobre Java, Livros HTML ou Livros JSP nas melhores lojas do Brasil.