Feeds:
Artigos
Comentários

Como criar e carregar um dump (ficheiro .sql) para o mysql ??? Esquece o phpmyqdmin… quando os ficheiros começam a ficar muito grandes esta deixa de ser uma opção… a linha de comandos é a solução mais fiável e rápida.

Para Criar um Dump (Backup) Start -> Run:

$ mysqldump <database-name> -u<username> -p >> somedatabasetable.sql

Para Carregar um Dump (Backup) Start -> Run:
$ mysql -u<username> -p

mysql> use `somedb`
mysql> source c:\somedatabasetable.sql

Se ajudou comenta ;)

Fica uma dica rápida… para criar alertas javascript dentro de UpdatePanel no ASP.NET (<asp:UpdatePanel )

ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), “alert(‘Mensagem!’);”, true);

Para quem precisar de usar frequentemente este tipo de alertas (em popup), fica o código de uma classe que disponibiliza metodos para chamar dentro e fora de um updatepanel ;)

public class MessageBox
{
public MessageBox()
{
//
// TODO: Add constructor logic here
//
}

public void criarAlertaDentroDeUpdatePanel(string _strMessage)
{
Page pg = (Page)HttpContext.Current.Handler;
ScriptManager.RegisterStartupScript(pg, pg.GetType(), Guid.NewGuid().ToString(), “alert(‘” + _strMessage + “‘);”, true);
}

public void criarAlertaForadeUpdatePanel(string _strMessage)
{
Page pg = (Page)HttpContext.Current.Handler;
pg.ClientScript.RegisterStartupScript(pg.GetType(), Guid.NewGuid().ToString(), “alert(‘” + _strMessage + “‘);”, true);
}
}

Por diversas vezes senti a necessidade de executar código de uma determinada página mais do que uma vez por dia ou por intervalos de tempo de forma automática (de 10 em 10 minutos ou de hora a hora). A zona de Scheduled tasks do plesk é uma boa opção, mas não corre páginas aspx ou php directamente, apenas comandos internos, batch files ou executáveis. Por isso parti para a pesquisa e aqui está a solução:

O objectivo é criar um mini browser em vbscript que aceite como parametro a página que queremos correr. Para quem nunca pegou em vbscript não precisa de se preocupar porque o código vem já já a seguir:

Abra um ficheiro de texto e grave-o com o nome “browser.vbs” colocando-o com o seguinte código:

Option Explicit
On Error Resume Next

' Declarar as nossas variaveis
Dim objWinHttp, strURL

' Vai buscar o endereço para correr aos argumentos passados.
strURL = WScript.Arguments(0)

' Se desejarem podem colocar directamente o endereço a correr...
'strURL = "http://localhost/ScheduleMe.asp"

Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5")
objWinHttp.Open "GET", strURL
objWinHttp.Send

' Verifica se a resposta foi 200
' que é a esperada para um request de uma página bem sucedido
' http://www.asp101.com/resources/httpcodes.asp
If objWinHttp.Status <> 200 Then
	' Se não for 200 é porque foi mal sucedido... E poderá ser verificado
	Err.Raise 1, "HttpRequester", "Invalid HTTP Response Code"
End If

Muito bem… agora é só fazer o upload deste script para o servidor e adicionar uma nova tarefa no plesk, indicando o caminho para o nosso vbscript C:\inetpub\vhosts\endereço.pt\httpdocs\caminho\browser.vbs e passar por argumento o endereço da página que queremos correr http://programatu.wordpress.com/

Se este artigo foi util, comenta.

Bem… não tem muito a ver com programação, mas certamente que dá um “jeitaço” quando tentamos cancelar uma impressão e a tarefa fica bloqueada no estado “A eliminar”… é irritante porque depois essa tarefa fica a bloquear todas as outras que sejam enviadas e por vezes nem com o reiniciar a query é limpa…

Aqui fica a solução para estas situações:

1) Abram a linha de comandos (Iniciar -> Run)
2) Escrevam “net stop spooler” <- Este comando termina o serviço print spooler.
3) Depois de verem a confirmação que o serviço print spooler foi terminado, escrevam o comando “net start spooler” <- Este comando reinicia o serviço print spooler.

Voilá… a tarefa que estava a engasgar… foi cuspida fora :D
Se este Artigo foi útil, comenta ;)

Num dos vários trabalho que tive que desenvolver, um dos desafios que se me colocou foi criar uma animação em flash e depois ter vários links a funcionar em cima dessa mesma animação.

O segredo para resolver este problema está no comando css “z-index”…. mas comecemos pelo inicio… aquilo que é necessário é:

Testado em Firefox 3 e Internet Explorer 7

Colocar o código que carrega a animação flash na seguinta div:

  • <div id=”flashcontent” style=”Z-Index: -1; POSITION: absolute”>
  • <script type=”text/javascript”>
  • var so = new SWFObject(“animacao.swf”, “mymovie”, “766″, “200″, “7″, “#336699″);
  • so.addParam(“wmode”, “opaque”);
  • so.write(“flashcontent”);
  • </script>
  • </div>

Neste caso o ficheiro swf chama-se animacao e está guardado na mesma pasta em que corre o código. Como podemos verificiar é feita uma chamada ao SWFObject e portanto temos que colocar no inicio do nosso body:

  • <script type=”text/javascript” src=”flashobject.js”></script>

Exactamente… estamos a utilizar uma função em javascript… que deverás retirar aqui: Download SWFObject 1.5

Aquilo que estamos a fazer é chamar uma função que devem sacar da net (link em cima) e copiar para o vosso site o ficheiro flashobject.js que é o que vão chamar para carregar a animação em flash.

Como estão a carregar a animação dentro de uma div com z-index = -1 ela ficará atrás do que escreverem em zindex = 0 ou superior, tornando assim possivel sobrepor imagens ou texto…

Simples :)

Se este Artigo foi útil, comenta ;)

A Microsoft cortou drasticamente os preços do Windows Vista no mercado chinês onde, a partir de agora, o software passa a custar 60 dólares, ao contrário dos 200 dólares pedidos até aqui. A versão Home Premium do Vista também sofreu uma redução no preço passando a custar metade – 118 dólares.

A medida, anunciada hoje pela empresa, representa uma estratégia de combate à pirataria no país – que se fixa nos 82 por cento – e que tem prejudicado fortemente as vendas de software no mercado, causando prejuízos na ordem dos 29 mil milhões de euros aos fabricantes de todo o mundo.

Por ser o segundo mercado com maior número de utilização de computadores e com um dos mais elevados crescimentos, a China acaba por ser também um dos países com maior taxa de pirataria de produtos informáticos. O custo do software é um dos motivos apontados pelos analistas.

No mês passado, as autoridades chinesas e norte-americanas levaram a cabo uma operação judicial que resultou na detenção de vários piratas informáticos e na apreensão de software pirateado no valor de 1,5 milhões de dólares. Estes produtos tinham como destino a exportação para várias regiões mundiais para futura comercialização.

Fonte: Sapo TEk.

Se este Artigo foi útil, comenta ;)

Evitar os Spam Filters

Como evitar que os provedores cataloguem as suas mensagens como spam ?

Existem alguns cuidados na construção dos emails de marketing (newsletters ou outros) que evitam que os emails caiam nas caixas de spam dos clientes, principalmente quando se tem um titulo longo e o corpo da mensagem é apensar uma imagem.

Para começar, limite o titulo a não mais que 50 caracteres. Evite termos de baixa reputação (promoção, imperdível, crédito, etc), não use acentos gráficos (!, ?) e nunca, nunca use um subject em maiusculas. Dê uma idéia geral em poucas letras. Se for uma promoção, dê o nome da promoção, sem acentos e evite as expressões fiscalizadas pelos programas antispam (divulgue, consulte-nos, frete, grátis) além das já citadas.

Se for uma newsletter, escolha um assunto principal e coloque-o no subject. Os demais, escreva na mensagem, apenas.

Fatie a imagem do template. Insira as Alt Tags, que permitirão que o seu email seja compreendido antes do load das imagens. Mapeie, insira hiperlinks e nos endereços das imagens, não use as palavras marcadas. Uma imagem hospedada numa pasta chamada marketing, promo ou emailmkt vão chamar muito mais à atenção. Por que não nomear as pastas como images ou simplesmente imgs? Fica muito melhor assim, não? E passa despercebido.

Equilibre o template. Use imagens, mas também textos. O ideal é 50% para cada.

Deixe o HTML puro. Nada de CSSs, DIVs, Styles e Javascripts, porque estes são todos são bloqueados nos webmails.

Seguindo estas dicas, terá um “email adequado”, que passa nas regras da maior parte dos filtros dos provedores.

Se este Artigo foi útil, comenta ;)

Já vimos como enviar emails com autenticação em C# Asp.net agora vamos ver como o fazer em PHP…

Para se enviar emails em Php pode-se utilizar a função mail() mas existem alguns casos em que esta função não resolve, e um deles é quando o servidor smtp que utilizamos para enviar o email necessita de autenticação. É aliás de evitar o uso da função mail()

Fica então o código para o envio de emails com autenticação usando PHP PEAR’s Mail

<?php

include(“Mail.php”);

/* Quem vai reseber o email */

$recipients = receber@programatu.wordpress.com;

/* Quem envia o email */

$headers["From"] = “enviar@programatu.wordpress.com;

/* Quem vai reseber o email */

$headers["To"] = receber@programatu.wordpress.com;

/* Titulo do Email */

$headers["Subject"] = “Tutorial ProgramaTU”;

/* Mensagem */

$mailmsg = “Olá, este é o tutorial.”;

/* Dados do servidor nome, porta, user/passwd */

$smtpinfo["host"] = “smtp.servidor.com”;

$smtpinfo["port"] = “25″;

$smtpinfo["auth"] = true;

$smtpinfo["username"] = “smtpusername”;

$smtpinfo["password"] = “smtpPassword”;

/* Criar o Objecto de email usando o metodo Mail::factory*/

$mail_object =& Mail::factory(“smtp”, $smtpinfo);

/* Enviar Email */

$mail_object->send($recipients, $headers, $mailmsg);

?>

Se este Artigo foi útil, comenta ;)

Android – Mobile Open Source

Pois é… parece que a google vai estar forte na corrida dos telemóveis, junto com mais 30 empresas do ramo da tecnologia e telecomunicações (Open Handset Alliance), entre elas, fabricantes, vendedores etc. criaram o Android.

O Android é no fundo uma plataforma para telemoveis, que sendo baseada em linux, é open source e é totalmente destinada ao mobile. A arquitectura do Android foi apresentada pela google e gráficamente seria algo deste género:

Ainda existem poucas informações sobre as caracteristicas desta nova plataforma (disponível a todos os que quiserem criar as suas próprias aplicações), mas sabemos que:

  • A plataforma é adaptada para ambos, dispositivos VGA maiores e os layouts mais tradicionais de smartphones.
  • O Android suporta uma grande variedade de tecnologias de conectividade incluindo Bluetooth, EDGE, 3G, e Wi-Fi.
  • Tanto SMS como MMS são formas disponíveis de envio de mensagens.
  • O web browser disponível no sistema é baseado na Framework de Código aberto conhecido como WebKit.
  • Aplicações escritas em Java são compiladas em bytecodes Dalvik e executadas usando a Máquina virtual Dalvik, que é uma máquina virtual especializada desenvolvida para uso em dispositivos móveis, o que permite que programas sejam distribuídos em formato binário (bytecode) e possam rodar em qualquer dispositivo Android, independente do processador utilizado. Apesar das aplicações Android serem escritas na linguagem Java, ela não é uma máquina virtual Java, já que não roda bytecode JVM.
  • O sistema irá suportar formatos de áudio, vídeo e imagem como: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF.
  • O Android é totalmente capaz de fazer uso de câmaras de vídeo, touchscreen, GPS, acelerômetros, e aceleração de gráficos 3D.
  • Usa o SQlite para armazenamento de dados.
  • A única linguagem aceite por enquanto será mesmo o JAVA.
  • As aplicações correm em paralelo e conseguem trocar dados entre elas e são facilmente migradas para o ambiente Web.

Se considerarmos que existem 3 vezes mais utilizadores mobile (ainda que uma grande parte longe das aplicações mais complexas) do que navegadores Web… chegamos à conclusão que este poderá ser uma aposta forte para os programadores… e se estiverem interessados no mundo mobile, tem a oportunidade de começar agora na linha da frente…

Aqui fica um vídeo demonstrativo:

Para os programadores que ficaram com vontade de começar ficam alguns links úteis:

Android Home Page (Pt-Br)

Documentação e Downloads da Plataforma

Comunidade Programadores Android (En)

Comunidade Programadores Android (PT)

Se este Artigo foi útil, comenta ;)

Uma das funcionalidades mais usadas numa página Web é o envio de emails… quer seja para realizar formulários de reservas assincronas quer para simples formulários de contactos. Hoje vamos ver como enviar emails de uma página ASP.net com autenticação.

Código:

public bool enviarMail(string mail, string assunto, string corpo)
{
System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage();
objEmail.From = new System.Net.Mail.MailAddress(“Cliente <”+ mail +”>”);
objEmail.To.Add(mail);
objEmail.Priority = System.Net.Mail.MailPriority.Normal;
objEmail.IsBodyHtml = true;
objEmail.Subject = assunto;
objEmail.Body = corpo;
objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding(“ISO-8859-1″);
objEmail.BodyEncoding = System.Text.Encoding.GetEncoding(“ISO-8859-1″);
System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient();
System.Net.NetworkCredential autenticao = new System.Net.NetworkCredential();
autenticao.UserName = “programatu@gmail.com”;
autenticao.Password = “password”;
objSmtp.Host = “mail.gmail.pt”;
objSmtp.UseDefaultCredentials = false;
objSmtp.Credentials = autenticao;
try
{
objSmtp.Send(objEmail);
}
catch (Exception ex)
{
return false;
}
objEmail.Dispose();
return true;
}

Como podemos ver, a função é bastante simples, como quase tudo em ASP.net :D As únicas linhas que é preciso adaptar são os dados de autenticação: autenticao.UserName , autenticao.Password e objSmtp.Host para os vossos dados, neste caso o servidor era o da gmail que é o mail.gmail.com, se fosse telepac por exemplo seria mail.telepac.com
Depois é só chamar a função e passar o email para onde vai, a assunto (titulo) e o corpo (mensagem). Ela devolve “False” caso haja um erro no envio… fica o desafio de alterar para que devolva a própria excepção (string)…

Se este Artigo foi útil, comenta ;)

Mensagens Antigas »

Seguir

Get every new post delivered to your Inbox.