|
Se faz quack então é pato!!!
|
|
Archive for ‘Java’ Category
No .bash_profile poderá inserir O ENCODING : export LANG=pt_BR.UTF-8 No Server.xml
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8"/>
mai
14
2010
(Ajp13) can’t receive the response message from tomcatFiz um teste de stress em meu tomcat utilizando threads e foi apresentada a seguinte mensagem: (ajp13) Tomcat is down or refused connection. No response has been sent to the client (yet) gerando o famoso erro de bad gateway ao acessar meu ambiente web , a primeira atitude foi reinicializar o tomcat para matar todos os processos ativos e posteriormente setar as seguintes configurações no server.xml /opt/tomcat/conf/server.xml <Connector protocol="AJP/1.3" port="8009" maxThreads="600" minSpareThreads="5" maxSpareThreads="100" acceptCount="500" debug="0" connectionTimeout="60000" enableLookups="false" disableUploadTimeout="true" useURIValidationHack="false" redirectPort="4443" /> Funcionou direitinho , indico esta alteração nas aplicações. Amigos , Mais uma vez enfrentando os desafios do dia-a-dia me deparei com um problema teoricamente simples o envio de mensagens via e-mail , desta vez de forma autenticada ou seja informando usuário senha e conta para identificação do destinatário. Criei a seguinte classe SendMail.java que faz este processo e segue abaixo o código :
//Class SendMail.java
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
public class SendMail {
private static final String SMTP_HOST_NAME = "smtp.dominio";
private static final String SMTP_AUTH_USER = "conta@dominio";
private static final String SMTP_AUTH_PWD = "senha";
private static final String emailMsgTxt = "Teste de Envio com autenticacao em JAVA.";
private static final String emailSubjectTxt = "Mensagem de Teste ";
private static final String emailFromAddress = "conta@dominio";
// Inserir aqui os enderecos onde a mensagem sera entregue
private static final String[] emailList = {"primeiro@dominio", "segundo@dominio", "terceiro@dominio"};
public static void main(String args[]) throws Exception {
SendMail smtpMailSender = new SendMail();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt, emailFromAddress);
System.out.println("Email Enviado para primeiro@dominio e segundo@dominio e terceiro@dominio");
}
public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false;
//Setando o host
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// Criando a mensagem
Message msg = new MimeMessage(session);
// Setando o endereco
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
//Conteudo
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
Para funcionamento desta exemplo é necessário que utilize as jar standard.jar e mail.jar padrões do javamail. Até Mais. Quando criamos nossas aplicacões e precisamos disponibilizá-las em ambiente de producão queremos que o processo de deploy seja o mais rápido possível. Como tornar este processo padronizado dentro de nossa empresa ? O primeiro passo é preparar o ambiente instalando a seguinte ferramenta no sistema operacional DEBIAN: Crie um diretório debian no /home/usuario/debian Baixe o source do software (software.tar.gz) no diretório /home/usuario/debian Descompacte o arquivo tar.gz em seu diretório de debian acima. Entre no diretório gerado pelo arquivo descompactado. Debianizando o projeto com o comando. Este comando irá gerar os arquivos básicos dentro do diretório (debian) para implementacão das configuracões do pacote deb changelog Criando o pacote DEBIAN Instalando o pacote criado : Removendo o pacote instalado mar
27
2010
[OFF-Topic] 21/03/10 Corrida Batavo – ESPN 5 KMEstou estreando uma nova categoria que mostra as minhas aventuras fora do mundo da informática. Pelo menos uma vez por mês participo de uma prova (corrida) de rua em São Paulo normalmente provas de 5 e 10 km. Como prova que estou correndo segue o vídeo da chegada da última prova que fiz em 21/03/2010 eu passei por volta dos 44 minutos e 48 segundos no tempo liquido , de camiseta azul do lado direito. mar
10
2010
gem install mysql :: ERROR: Failed to build gem native extensionAo publicar uma aplicação com mysql me deparei com este problema na instalação da gem mysql necessária para meu site : gem install mysql /usr/bin/ruby extconf.rb Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Trabalhar com ubuntu é uma tarefa árdua estava utilizando a versão 9.04 e por questões de segurança migrei para a versão 9.10 , para variar o gerenciador de atualizações inicializava o processo e desaparecia .. Hum … tive que atualizá-lo na mão seguem os comandos quem sabe pode te safar de problemas no dia a dia. Com usuário root :
HANDY ONE-LINERS FOR RUBY November 16, 2005 Latest version of this file can be found at: http://www.fepus.net/ruby1line.txt Last Updated: Wed Nov 16 08:35:02 CST 2005 FILE SPACING: # double space a file NUMBERING: # number each line of a file (left justified). TEXT CONVERSION AND SUBSTITUTION: # convert DOS newlines (CR/LF) to Unix format (LF) # convert Unix newlines (LF) to DOS format (CR/LF) # delete leading whitespace (spaces/tabs/etc) from beginning of each line # delete trailing whitespace (spaces/tabs/etc) from end of each line # delete BOTH leading and trailing whitespace from each line # insert 5 blank spaces at the beginning of each line (ie. page offset) # align all text flush right on a 79-column width # center all text in middle of 79-column width # substitute (find and replace) "foo" with "bar" on each line # substitute "foo" with "bar" ONLY for lines which contain "baz" # substitute "foo" with "bar" EXCEPT for lines which contain "baz" # substitute "foo" or "bar" or "baz".... with "baq" # reverse order of lines (emulates 'tac') IMPROVE # reverse each character on the line (emulates 'rev') # join pairs of lines side-by-side (like 'paste') # if a line ends with a backslash, append the next line to it # if a line begins with an equal sign, append it to the previous line (Unix) # add a blank line every 5 lines (after lines 5, 10, 15, etc) SELECTIVE PRINTING OF CERTAIN LINES # print first 10 lines of a file (emulate 'head') # print first line of a file (emulate 'head -1') # print the last 10 lines of a file (emulate 'tail'); NOTE reads entire file! # print the last 2 lines of a file (emulate 'tail -2'); NOTE reads entire file! # print the last line of a file (emulates 'tail -1') # print only lines that match a regular expression (emulates 'grep') # print only lines that DO NOT match a regular expression (emulates 'grep') # print the line immediately before a regexp, but not the regex matching line # print the line immediately after a regexp, but not the regex matching line # grep for foo AND bar AND baz (in any order) # grep for foo AND bar AND baz (in order) # grep for foo OR bar OR baz # print paragraph if it contains regexp; blank lines separate paragraphs # print paragraph if it contains foo AND bar AND baz (in any order); blank lines separate paragraphs # print paragraph if it contains foo AND bar AND baz (in order); blank lines separate paragraphs # print paragraph if it contains foo OR bar OR baz; blank lines separate paragraphs # print only lines of 65 characters or greater # print only lines of 65 characters or less # print section of file from regex to end of file # print section of file based on line numbers (eg. lines 2-7 inclusive) # print line number 52 # print every 3rd line starting at line 4 # print section of file between two regular expressions, /foo/ and /bar/ SELECTIVE DELETION OF CERTAIN LINES # print all of file except between two regular expressions, /foo/ and /bar/ # print file and remove duplicate, consecutive lines from a file (emulates 'uniq') # print file and remove duplicate, non-consecutive lines from a file (careful of memory!) # print file except for first 10 lines # print file except for last line # print file except for last 2 lines # print file except for last 10 lines # print file except for every 8th line # print file except for blank lines # delete all consecutive blank lines from a file except the first # delete all consecutive blank lines from a file except for the first 2 # delete all leading blank lines at top of file If you have any additional scripts to contribute or if you find errors David P Thomas Tue Jun 26 18:17:36 CDT 2007 out
14
2009
#RailsSummit 2009 Gregg Pollack – resumo 13/10/2009Palestra Gregg Pollack Dicas para melhorias Rails : >> Utilizar bullet Libraries excelentes 1 – Inserir indices na migration Configurar Controller – Otimizar Scrooge >> Optimize – para melhorar as consultas ao banco de dados , descobrindo os pedacos da pagina e mostra apenas os dados úteis na pagina melhorando a velocidade de execucao. Rack-bug MemoryLogic Oink Rubber >> Vulcanizar especifica os componentes que serao utilizados : script/generate vulvanize complete_passenger_mysql , cria um arquivo chamado rubber que tem as tarefas capistrano e arquivos de configuracao , ao entrar nos diretório de configuracao os arquivos yml são apresentados e outros arq de config tb. >> Após rodar os comandos capistrano.
Para remover a versão do ruby na máquina siga esses passos no terminal : sudo rm /usr/local/bin/{ruby,irb,gem} |