___.IaRoSsI.___

Linux,FreeBSD,Segurança,Dicas e noticias sobre tecnologia

O que é um serviço ?

“Um serviço é uma das formas de agregar valor ao cliente, utilizando métricas e meios de obter resultados satisfatórios sem que estes assumam a propriedade dos custos e riscos inerentes.”

Vamos fazer uma analogia com o serviço de entrega que o habibs delivery utilizava até pouco tempo atrás.

Como o valor era agregado:

Diversos concorrentes diretos do sistema de fastfood oferecem produtos até melhores no gosto do cliente final, porem a forma como é feita entrega; deixar o cliente insatisfeito. por meio desta demanda a empresa habibs ofereceu uma melhora em um dos seus serviços agregando valor para o negocio.

Quem assume o risco? O fornecedor, com base em uma ANS/SLA (Acordo de nível de serviço) o cliente fica inerente de riscos.

Serviços Oferecidos pelo habibs delivery:

Ingredientes Cozinheiro transforma ingredientes em pratos Serviço interno embala e adiciona interesso de entrega para moto entrega Moto-Entrega “entrega” serviço ao cliente

O foco principal de um serviço, sejá em TI ou qualquer outra aréa é agregar valor e fazer com que o fornecedor assuma os riscos e o cliente tenha a garantia transparente que será atendido.

Já deve ter acontecido com você também, fazer aquela reunião que dura o dia inteiro, temos ideias bacanas, planos e estratégias bem sucintas; porem… 2 dias após a reunião e nada foi feito, ou só uma pessoa se envolveu no projeto, muitas vezes alguns ficam sobrecarregas e outras acabam nem se envolvendo mesmo sabendo bastante sobre o assunto. Nos últimos anos a palavra mais utilizada para uma equipe de alta performance é ENGAJAMENTO, uma equipe onde todos tem responsabilidade para que um projeto final tenha êxito. Para isto a Matriz de Responsabilidade é bastante útil! Diferentemente de outras técnicas, a matriz de Responsabilidade é muito fácil de fazer e com o tempo ela vai ficando intuitiva. Obs: A matriz de conhecimento agrega muito quando utilizado SCRUM, desta forma o SCRUM Master consegue acompanhar e cobrar de uma forma simples os envolvidos na tarefa.   Segue o Modelo de uma Matriz de Responsabilidade:  
MATRIZ DE RESPONSABILIDADES
PROJETO: TREINAMENTO NOVA METODOLOGIA
Denis Alan Luiz Wagner Frank
1.1 Concepção
1.1.1 Regras 2 3 3 1 3
1.1.2 Roteiro 2 4 3 1 4
1.1.3 Programação 2 4 3 1 4
1.1.4 Contratempos e Perigos 2 4 3 1 4
1.2 Levantamento de requisitos
1.2.1 Hotéis 4 3 2 1 4
1.2.2 Taxí 4 4 4 1 2
1.2.3 Passagem de Avião 4 2 4 1 4

O numero abaixo do envolvido significa o grau de responsabilidade do individuo na tarefa. Variando de 1 a 4. Template: matriz-resposabilidades

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.