19
2012
Códigos de Programas Open Source da Nasa.

A Nasa tem vários projetos open source, e eles disponibilizaram um site para que as pessoas que quiserem possam ter acesso ao código fonte desses projetos. Essa é uma oportunidade muito boa de conhecer a fundo o trabalho que Nasa realiza com o software livre, principalmente para estudos desses códigos. Segue abaixo o link para acesso:
Espero que possam fazer bom uso da dica para seus estudos, e porque não matar a curiosidade também né!
28
2011
Upload de Arquivos com JSP.

Estou fazendo um sistema de teste para aprender mais sobre o JSP, para implantar servlets e tudo o que precisa para fazer um sistema simples, e cheguei no momento que precisaria de fazer upload de arquivos para o servidor. Encontrei na internet vários exemplos de upload, mas nenhum que funcionasse, até que encontrei um código (comentado) que funcionou perfeitamente para mim. Segue abaixo o código:
form.html
<HTML> <HEAD> <TITLE>Form</TITLE> <BODY> <form action="upload.jsp" method="post" enctype="multipart/form-data"> <input type="file" name="arquivo" /><br> <input type="submit" value="Enviar" /> </form> </BODY> </HTML>
upload.jsp
<%@page import="java.io.RandomAccessFile"%>
<%@page import="java.io.ByteArrayOutputStream"%>
<%@page import="java.io.FileOutputStream"%>
<%@page import="java.io.DataInputStream"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String savePath = "CAMINHO QUE SERÁ SALVO O ARQUIVO"; // o diretório onde os arquivos carregados serão salvos
String filename = "";
ServletInputStream in = request.getInputStream(); //uma referencia do objeto da solicitaçao http onde tem o conteudo do arquivo carregado
//o inicio do arquivo carregado e separado pelo limite e uma sequencia de caracteres
//de carros de retorno-alimentador de linha ledo o HttpServeltRequest linha a linha
byte[] line = new byte[128]; // define um array de byte chamado line
int i = in.readLine(line, 0, 128); //usar o metodo readLine de ServeltInputStream para ler a 1a linha do conteudo do objeto http
int boundaryLength = i - 2; //o comprimeto atual da linha -2 do que o num de bytes retornado do metodo readLine
String boundary = new String(line, 0, boundaryLength); //Descarta os 2 ultimos caracteres da linha
//tendo recuperado o limite, entao pode iniciar a extraçao do elemento de valor de formulario, lendo o conteudo do objeto
// http linha por linha, usando a loop while, ate q ela atinja o final, qdo o medoto readLine retorna -1
while (i != -1) {
String newLine = new String(line, 0, i);
if (newLine.startsWith("Content-Disposition: form-data; name=\"")) {
String s = new String(line, 0, i-2);//agora pode conseguir o nome de arquivo a partir da string de leitura
int pos = s.indexOf("filename=\"");
if (pos != -1) {
String filepath = s.substring(pos+10, s.length()-1);
// navegadores do Windows incluem o caminho completo do cliente,
// mas Unix / Linux e navegadores de Mac só enviar o arquivo de teste
// se este é de um navegador para Windows
pos = filepath.lastIndexOf("\\");
if (pos != -1)
filename = filepath.substring(pos + 1);
else
filename = filepath;
}
//este é o conteúdo do arquivo
i = in.readLine(line, 0, 128); //depois de conseguir o nome de arquivo, notara os dois pares de caracteres
i = in.readLine(line, 0, 128); //carro de retorno-alimentador de linha antes do inico do conteudo do arquivo carregado
// blank line //pois isto chama o metodo readLine duas vezes
i = in.readLine(line, 0, 128);
ByteArrayOutputStream buffer = new //depois inicia o conteudo atual do arquivo, que e armazenado em um ByteArrayOutputStream
ByteArrayOutputStream();
newLine = new String(line, 0, i); // que continua lendo a linha ate encontrar um outro limite
while (i != -1 && !newLine.startsWith(boundary)) {
// o problema é a última linha do conteúdo do arquivo contém o caractere nova linha.
// Então, nós precisamos verificar se a linha atual é a última linha
buffer.write(line, 0, i);
i = in.readLine(line, 0, 128);
newLine = new String(line, 0, i);
}
try {
// salvar o arquivo carregado //o limite sinaliza o final do arquivo carregado
RandomAccessFile f = new RandomAccessFile( //sendo sua etapa e salvar o buffer em um arquivo
savePath + filename, "rw");
byte[] bytes = buffer.toByteArray();
f.write(bytes, 0, bytes.length - 2);
f.close();
}
catch (Exception e) {}
}
i = in.readLine(line, 0, 128);
} // fim do while
%>
Esse código, funcionou comigo! Infelizmente não me lembro a página que consegui, procurei novamente mas não consegui depois. Espero que possa ajudar outros que estejam estudando essa linguagem de programação também.
22
2011
Cursos Gratuitos para Ambiente Moodle da Serpro.

A Serpro (Serviço Federal de Processamento de Dados) disponibilizou 15 cursos para download para serem utilizados em ambiente Moodle, tendo a sua licença sobre a Creative Commons.
Muitos dos cursos são sobre software livre, como Ubuntu, BrOffice, entre outros sobre linguagem de programação como PHP e Java.
Para fazer a download dos cursos, basta clicar aqui.
24
2011
Enviando E-mail com SMTP Autenticado – PHP.

Estava precisando implementar em um sistema o envio de e-mail cada vez que o usuário fizesse um novo cadastro. Estava usando a função mail() do PHP, mas me deparei com o problema do SMTP autenticado, pois você configura no arquivo php.ini o SMTP que você quer usar, mas se esse SMTP requirir autenticação fica um pouco mais complicado corrigir e será dará erro.
Então me lembrei do projeto PHPMailer que poderia resolver o meu problema, pois é um projeto que envia e-mail e lhe disponibiliza maiores opções para o envio. Abaixo segue uma demonstração de como usá-lo:
require("phpmailer/class.phpmailer.php"); //inclui a página class.phpmailer.php
$mail = new PHPMailer(); //instancia o objeto PHPMailer
$mail->IsSMTP(); //informa que foi trabalhar com SMTP
$mail->Host = "smtp.seuservidor.com.br"; //o endereço do meu servidor smtp
$mail->SMTPAuth = true; //informo que o servidor SMTP requer autenticação
$mail->Username = "usuario"; //informo o usuário para autenticação no SMTP
$mail->Password= "senha"; //informo a senha do usuário para autenticação no SMTP
$mail->From = "email@seusite.com.br; //informo o e-mail Remetente
$mail->FromName = "Seu Nome"; //o nome do que irá aparecer para a pessoa que vai receber o e-mail
$mail->AddAddress("destinatario@email.com.br"); //e-mail do destinatário
$mail->WordWrap = 50; //informo a quebra de linha no e-mail (isso é opcional)
$mail->IsHTML(true); //informo que o e-mail é em HTML (opcional)
$mail->Subject = "Assunto"; //informo o assunto do e-mail
$mail->Body = "<html><body>O Texto do e-mail aqui!</body></html>"; //aqui vai o corpo do e-mail em HTML
$mail->Send(); //Enfim, envio o e-mail.
Junto com o projeto existem vários outros exemplos de como você pode usar o PHPMailer, basta fazer o download clicando aqui.
Até a próxima.
14
2011
Morre Dennis MacAlistair Ritchie.

Faleceu no dia 13/10/2011 o criador da linguagem C e co-criador do Unix, Dennis MacAlistair Ritchie, um gênio que é praticamente o pai da maioria das linguagens de programação hoje em dia. Uma grande perda para o mundo da tecnologia.
http://pt.wikipedia.org/wiki/Dennis_Ritchie
http://www.hardware.com.br/noticias/2011-10/falecimneto-dennis-ritchie.html
5
2011
Morre Steve Jobs

Morre hoje, dia 05/10/2011 o um dos fundadores da Apple, e um dos homens mais criativos e mestre da comunicação e martketing e fundador da Pixar estúdio de animação.
Steve estava lutando contra um câncer desde 2004, e hoje a luta acabou.
Para saber mais sobre a trajetória de Steve Jobs, veja a matéria da Globo.com
30
2011
Comandos Linux em uma Página.

Sempre é bom ter um guia de consulta rápida para coisas que não nos lembramos as vezes, como comandos, seja na programação quanto no linux. Esse arquivo contém alguns comandos no linux para consulta e também para que possamos aprender alguns comandos que nos conhecíamos.
Para o download, basta clicar no botão abaixo:
5
2011
Curso de HTML5 e CSS3.
Com as atualizações dos browsers para o suporte ao HTML5, essa linguagem de marcação de texto esta se tornando cada vez mais usada, pois nos facilita muito a vida para programar com suas novas tags e o modo de tratar formulários por exemplo. E em conjunto com o HTML5 tem a versão 3 do CSS, que existe algumas alterações também para simplificar ainda mais o uso dessa linguagem de estilo.
O Escritório no Brasil da W3C fez um curso explicando funciona essas novas versões do HTML e do CSS. Para fazer o download basta clicar nos links abaixo:
Parceiros
- A Casa do Linux Escola que oferece excelentes cursos na área de software livre.
- C# Brasil Blog com muitas dicas interessantes sobre C#, ASP.NET, WinForm, WebForm, AJAX e muito mais.
- Epidemic GNU/Linux Website da distribuição linux baseada no Debian testing.
- Projetos e TI Site com informações, dicas, tutorias sobre vários aspectos no ramo da TI.
- Sempre Update Blog com diversas informações sobre o mundo do software livre.
- SUD.tvieira.net Blog com conteúdo sobre A Igreja de Jesus Cristo dos Santos dos Últimos Dias.
Feedburner
Arquivos
- janeiro 2012
- novembro 2011
- outubro 2011
- setembro 2011
- agosto 2011
- julho 2011
- junho 2011
- maio 2011
- abril 2011
- março 2011
- fevereiro 2011
- janeiro 2011
- dezembro 2010
- novembro 2010
- outubro 2010
- setembro 2010
- agosto 2010
- julho 2010
- junho 2010
- maio 2010
- abril 2010
- março 2010
- fevereiro 2010
- janeiro 2010
- dezembro 2009
- outubro 2009
- setembro 2009
- agosto 2009
- julho 2009
- junho 2009
- maio 2009
- abril 2009
- março 2009
- fevereiro 2009
Lista de Links
- Br-Linux Blog sobre o que rola no mundo do software livre.
- Dicas-L Site com várias dicas sobre linux.
- Distrowatch Site com informações de várias distribuições linux e com o rank de distribuições mais conhecido no mundo linux.
- Notícias Linux Site com notícias sobre o mundo linux.
- Viva o Linux Site com muitas informações como dicas e tutoriais sobre linux.

Publicado por