___.IaRoSsI.___

Linux,FreeBSD,Segurança,Dicas e noticias sobre tecnologia
No Exemplo Anterior:  Usando cURL com C/C++ tem explicações maiores sobre a biblioteca cURL
segue um exemplo de utilização com linguagem PERL:
use WWW::Curl::Easy;
my $contentQueue = “contentMESSAGE”;
my $lwpcurl = WWW::Curl::Easy->new;
$lwpcurl->setopt(CURLOPT_URL, “http://localhost/restful”);
$lwpcurl->setopt(CURLOPT_USERPWD,”user:password”);
$lwpcurl->setopt(CURLOPT_POSTFIELDS,’auth=BASIC&message=’.$contentQueue);
my $response_body=”;
$lwpcurl->setopt(CURLOPT_WRITEDATA,\$response_body);
my $retcode = $lwpcurl->perform;
$lwpcurl->getinfo(CURLINFO_HTTP_CODE);

Sobre o cURL

curl é uma ferramenta de linha de comando para transferir dados com sintaxe URL, suportando ARQUIVO DICT, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET e TFTP. enrolamento suporta certificados SSL, HTTP POST, HTTP PUT, upload de FTP, HTTP upload baseado em formulário, proxies, cookies, autenticação usuário + senha (Basic, Digest, NTLM, Negotiate, kerberos …), retomar a transferência de arquivos, proxy tunneling e um ônibus cheio de outros truques úteis.

No Exemplo iremos usar somente 4 opções do curl:

CURLOPT_URL
CURLOPT_USERPWD
CURLOPT_POSTFIELDS
CURLOPT_WRITEDATA

Outras opções você encontra na documentação do projeto: http://curl.haxx.se/libcurl/c/options-in-examples.html

C/C++

#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, “http://localhost/Restful/test”);
curl_easy_setopt(curl,CURLOPT_USERPWD ,”user:password”);
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,”auth=BASIC&param1=contentMESSAGE”);
res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
return 0;
}
Pode ser compilado utilizando o compilador GCC ou G++, por uma melhor performance é aconselhavel utilizar sempre C++ (GCC) , porem você pode implementar a função acima em seu programa já pronto em linguagem C++(G++), Lembrando que todo codigo em linguagem C feita em padrão ANSI C irá funcionar perfeitamente em C++(GCC)
$ gcc -lcurl example.c -o example
$ g++ -lcurl example.c -o example
Em minha estação de trabalho tive uma performance de 10.000 requisições por segundo.
Guinha's Gang

Baseado em Fatos Reais

Acesse agora mesmo http://www.guinhasgang.com

Neste exemplo utilizarei um locale criado manualmente, mas ele pode ser apontado para algum já contido no sistema.

Criar estrutura

Na estrutura de seu sistema PHP, crie os diretorios locale/pt_BR/LC_MESSAGES/

$ cd /var/www/

$ mkdir -p locale/pt_BR/LC_MESSAGES/

Setar o locales a ser utilizado

No código PHP você pode criar uma classe que implementa a função abaixo ou colocar no inicio da index
<?php

setlocale(LC_ALL, "pt_BR"); // Aponta pra estrutura locale/pt_BR/…
$domain = 'messages';       // Buscara o po no arquivo locale/pt_BR/LC_MESSAGES/messages
bindtextdomain("messages", "locale/"); // estrutura inicial das traduções
textdomain($domain);

?>

Para adicionar linguagens, basta criar suas respectivas estruturas e apontamento. alterando o pt_BR pra EN no caso de ingles.

Adicionando palavras para serem traduzidas em seu Código PHP

Em seu código php coloque as palavras que receberam tradução sobre a metatag _()  !

exemplo:

echo _(“Word”);

Gerando o Locales com xgettext

Para criar seu arquivo locales existe um comando magico chamado xgettext .

Abaixo estou criando uma tradução de todo sistema dentro de locale/pt_BR/LC_MESSAGES/messages

$ xgettext -n index.php include/*.php –language=php –keyword=_ -j -d locale/pt_BR/LC_MESSAGES/messages

Parametros:

-n = Arquivos que serão traduzidos

–keyword = A tag que será pesquisada no código, no nosso caso é _

–language = linguagem de programacao qual será traduzido, pode ser c++ ,ObjectiveC,C# e outras

-j = junta com os existentes , neste caso você não vai perder traduções já feitas anteriormente

Arquivo locales gerado


[iarossi@web423 ajax]$ cat locale/pt_BR/LC_MESSAGES/messages.po
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-01 09:21-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset"PREENCHER"\n"
"Content-Transfer-Encoding: 8bit\n"

#: index.php:34
msgid "Word"
msgstr ""

Agora você precisa configurar o charset e traduzir a palavra word do msgid pra msgstr ficando:

#: index.php:34
msgid "Word"
msgstr "Palavra"

Compilando o arquivo de PO

Pra finalizar é necessario compilar o arquivo de PO, basta executar o seguinte comando:

$ cd locale/pt_BR/LC_MESSAGES/

$ msgfmt -vo messages.mo messages.po

Pronto, seu sistema já tem suporte multi-lingua

Segue um video que o Bruno Borges gravou ontem explicando alguns dos novos recursos do Emexis-Webmail

E viva o MacOS, Fiz tudo com recursos nativos do sistema, QuickTime + iMovie

Hoje foi publicado no Dicas-L minha dica sobre o emexis-webmail. ficou bem legal. e está bem acessada.

Emexis-Webmail 3.0 – Webmail Gratuito

Colaboração: Denis Iarossi

Emexis-Webmail é baseado no famoso squirrelmail, porém o que ele tem de famoso tem de feio. O querido squirrelmail até teve uma pequena aparição no filme A REDE SOCIAL (FACEBOOK) quando o fundador do napster Sean Parker acessa seus e-mails.

Visando a segurança e credibilidade empregada ao squirrelmail, a BRConnection desenvolveu uma interface amigável com novos recursos. E na versão 3.0 os recursos de AJAX estão em toda parte.

Para ler a dica completa basta acessar:

http://www.dicas-l.com.br/arquivo/emexis-webmail_3.0_webmail_gratuito.php

lembrando o hotsite do projeto http://emexis-webmail.brc.com.br/

ajudem participando do forum de discussão enviando sugestões em : http://groups.google.com/group/emexis-webmail/

Emexis-Webmail é baseado no famoso squirrelmail, porem o que ele tem de famoso ele tem de feio, o querido squirrelmail até teve uma pequena aparição no filme A REDE SOCIAL (FACEBOOK) quando o fundador do napster Sean Parker acessa seus e-mails.

Visando a segurança e credibilidade empregada ao squirrelmail, a BRConnection desenvolveu uma interface amigavel com novos recursos. E na versão 3.0 os recursos de AJAX estão em toda parte.

isso pode ser visto no servidor de demostração: http://webmaildemo.brc.com.br:10005

para baixa a nova versão basta acessar o hotsite do projeto: http://emexis-webmail.brc.com.br/

Hoje foi declarado greve pelo sindpd, diversas empresas de TI vão ter sindicalistas na porta lutando por um aumento digno da classe: www.sindpd.org.br

mas greve me faz lembrar um epsodio muito engraçado do chaves.

A campanha da greve era denominada “União de Trabalhadores Pró Juventude” , o movimento tinha como objetivo pagar um salario digno e o recebimento das gorjetas direto para o chaves.

A tradução das placas ficaram sensacionais:

A.P.D.F = Alfafa Para Dona Florinda

D.N.V.R = Dona Neves Velha Reumática

U.T.P.J = Uma Torta Para Jaiminho

#CHAVESFOREVER

O @dougs1985 fez o cenario aqui uahuauhauha

Detalhe pra Dona florinda brava por causa da greve.


Depois de cansar mais um pouco e ficar sempre com aquela impressão que nunca iria ver meu dinheiro de volta, depois de escutar por 3 meses todos atendentes falando “Seu reembolso foi passado ao setor financeiro, e será feito o mais rápido possível”, abaixo a quantidade de e-mails, chat online e reclamaqui solicitado nos últimos meses, lembrando que estou falando somente do capitulo final sobre a parte que aceitaram me reembolsar.

Reembolso foi feito dia 14/03/2011 – Exatamente 1 ano e 1 dia depois.

A coisa lá é tão bagunçada que hoje recebi resposta do reclameaqui com resposta que o reembolso não havia sido feito ainda devido problema com os bancos, acessei o chat online e foi informado com aquela resposta padrão que seria feito o mais rapido possível e o dinheiro já estava na minha conta liberado. muito estranho, ninguem conversa com ninguem e o sistema deles só servem p/ guardar mensagens padrões e deixar fácil de utilizar.

Agora pouco recebi um e-mail com o comprovante de reembolso scanneado, o negocio é tão sombrio que não utilizam internet e sistemas online de bancos

Mas de qualquer forma, devo ter perdido uns 200 cabelos, envelhecido uns 2 anos e passado um bom stress por causa deles.

deixo aqui a minha insatisfação e o alerta para outras pessoas.

é isso.

FIM

Capitulo de hoje: O Reembolso – Parte 2

No capitulo anterior de Nunca Compre do Site www.compredachina.com Denis estava contente pois parecia que tinha entrado em um acordo e receberia o reembolso da mercadoria. Foi solicitado um simples e-mail com seus dados bancários e o dinheiro estaria em sua conta nos próximos 15 dias uteis.

Mas como nem tudo são flores, eis que mais uma vez fomos surpreendidos. O e-mail tinha como procedimento eu enviar meus dados bancários para xxxxxxx@fenixdooriente.com.br. Enviei o e-mail e pedi por obsequio que me respondessem com um simples “E-mail recebido com sucesso” ou algo do gênero. Coisa que não aconteceu, então enviei um e-mail por dia e entrava no chat pedindo mais informações sobre meu reembolso. E mais uma vez aquela canseira, chat caindo na minha cara, respostas vagas e pouco coerentes.

Até que ontem fui bem atendido e a atendente pediu pra eu enviar com copia para o sac, falei que já tinha enviado e este sac tambem não responde meus e-mails, falando ela que iria avisar a toda equipe para dar atenção ao meu e-

mail, fui eu enviar novamente com cópia para o bendito SAC (sac@compredachina.com) ,  e tive uma resposta falando que agora, só ontem dia 19/01/2011 meus dados bancários foram adicionado ao protocolo.

cc

TO BE CONTINUED

Powered by WordPress sprintrade network © 2012 ___.IaRoSsI.___ sprintrade network