Programmer Expert
Programação, Java e Arquitetura
quarta-feira, 22 de agosto de 2012
Engenharia de Software - Apresentação
Apresentação realizada na faculdade UNASP para a turma do 5º Semestre de Ciências da Computação e 4º Semestre Analise de Sistemas
Visão geral de Engenharia de Software, Aula aplicada no dia 27/04/2011
terça-feira, 21 de agosto de 2012
Plataformas Java
JSE
A Plataforma JSE ou Java Standart Edition é a plataforma
padrão para o desenvolvimento, basicamente quem está aprendendo deverá baixar
esta Plataforma.
JEE
A Plataforma JEE ou Java Enterprise Edition é a versão da Plataforma
focado em desenvolvimento “Enterprise”, ou seja Sites, acesso a Banco de Dados,
Gestão de Componentes, normalmente não é
necessário fazer download desta versão, pois normalmente se utiliza este junto
com um servidor de aplicação que sempre possui uma versão do JEE implementad.
JME
A Plataforma focada em dispositivos limitados, aqui você
encontrará as ferramentas necessárias para programar em Celulares, Chips, e
qualquer dispositivo com poucos recursos de memória e processador, normalmente
estes dispositivos possuem uma Virtual Machine executando em sua ROM.
E as J2EE ou J2SE que tanto se falava?
Na verdade são os
mesmos JSE e JEE que falamos hoje, estas porem a partir da versão 5 do Java, ou
foi retirado da nomenclatura o numero 2. Este numero 2 se referia a qualquer
versão do Java posterior a versão 1, pois a versão 1 do Java é muito diferente
das versões posteriores.
Outro detalhe interessante é que não existe versão 2, 3 ou 4
do Java, na verdade o que existiu foram as versões 1.0 e 1.1 que são as versões
1 do Java a partir daí surgiram as versões 1.2, 1.3 e 1.4, estas verões
perduraram por quase 8 anos no mercado, só então surgiu a versão 5 que na
verdade seria a versão 1.5
No momento em que escrevo este post estamos trabalhando na
versão 1.7.6 ou seja versão 7 update 6
O que é o JAVA?
O que é o Java?
Java é uma das mais utilizadas plataforma e linguagem de desenvolvimento
de software
O Java é de que empresa?
O Java foi uma iniciativa da SUN um grande empresa que em um
determinado momento de crise econômica mundial foi comprada pela Oracle, hoje a
Oracle mantêm o desenvolvimento do Java,
porem diferente dos concorrentes o Java tem uma filosofia semi aberta, onde a
comunidade é quem realmente mantem a linguagem.
Para que a Linguagem seja mantida pela comunidade, foi
criado um grupo denominado JCP que nada mais é do que um grupo de especialistas
das maiores empresas (Oracle, IBM, HP) que sugerem as melhorias e validam como
ela será implementada.
Java é de Graça?
Sim o Java é de graça, qualquer um pode fazer download do Java
direto no Site da Oracle. Existem iniciativas de versões do Java open-sources porem
até hoje a melhor versão e mais completa e confiável ainda é a da Oracle.
Java é a Mesa coisa que JavaScript?
Não, Java é uma linguagem multiplataforma compilada e
executada por uma Virtual Machine, em quanto que o Javascript é outra linguagem
que é Interpretada e executada basicamente pelos Navegadores.
O que é uma Virtual Machine?
Uma das vantagens do Java é o fato de ser mult-plataforma,
bem, mas o que é ser multi-plataforma? É simples, você desenvolve um programa
em Java, e ele poderá ser executado no Windows, no Linux, no Mac e em qualquer
plataforma. Mas para que esta mágica funcione, é necessário que seja instalado
na máquina um software chamado Virtual Machine. Que nada mais é do que uma
camada intermediária na arquitetura onde o seu software irá conversar com a
Virtual Machine e a Virtual Machine irá conversar com o Computador.
Java é Lento? A Virtual Machine causa lentidão?
Não, atualmente Java é comparado com a linguagem C, uma das mais rápidas linguagens de
programação, sim a Virtual Machine nas primeiras versões do Java interferia,
porem com a tecnologia atual, esta diferença é praticamente imperceptível, isso
graças a tecnologia de HotSpots que transformam o código Java em código que
máquina, mas em 90% isso será transparente para o programador.
O que é Orientação a Objetos.
Orientação a Objetos é um paradigma da programação, ou seja,
é a estrutura como a programação deve seguir, neste paradigma é possível criar
varias classes representando um mundo real, separando o código em pequenos
trechos, isso auxilia na manutenção, correção e crescimento do software, outras
características da Orientação a Objetos são Herança, Polimorfismo, Encapsulamento,
entre outros, mas isso é assunto para outro tópico.
segunda-feira, 20 de agosto de 2012
Padrão de Texto Mime
Quando estamos lendo e-mail com javamail, se neste e-mail tem acentos ou caracteres especiais é comum se deparar com formatos parecidos com este:
=?UTF-8?arquivo.XLSX?=
este padrão é o padrão Mime para texto com caracteres especiais onde o que estrá entre =? e o primeiro ? é o padrão do encode utilizado.
para reverter este padrão em algo que nós, mortais, conseguimos ler, podemos utilizar uma classe do próprio javamail.
MimeUtility
System.out.println(MimeUtility.decodeText("=?UTF-8?arquivo.XLSX?="));
a linha acima deve imprimir no console
arquivo.XSLX
segunda-feira, 14 de maio de 2012
Enviar EMail do GMAIL com JavaMail
Muitas aplicações hoje em dia
necessitam enviar e-mail, utilizar o gmail é uma alternativa barata para isso,
porem a conexão com gmail é feito atravez de SSL ou seja é feito atravez de uma conexão segura, conexão segura, então para se conectar deve ser utilizado uma conexão segura.
Utilizando JavaMail, o codigo para conexão é o seguinte:
porem a conexão com gmail é feito atravez de SSL ou seja é feito atravez de uma conexão segura, conexão segura, então para se conectar deve ser utilizado uma conexão segura.
Utilizando JavaMail, o codigo para conexão é o seguinte:
private void connect() {
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "465");
session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("contaemail@ gmail.com", "senhanogmail")
}
});
}
- para que o conteudo possa ser um HTML
- para que possa posteriormente enviar anexos no e-mail.
private void enviarMenssagem(String para, String assunto,
String texto) throws Exception{
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(this.usuario));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(para));
message.setSubject(assunto);
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(texto, "text/html; charset=ISO-8859-1");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart );
Transport.send(message);
}
Assinar:
Postagens (Atom)