Postagens

Mostrando postagens de Junho, 2010

6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API.Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa().Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarrística de fazer:1) se Ver…

Integrando Form Spring no seu blog

O que tem de mais legal na internet 2.0 hoje é a incrível quantidade de integrações com redes sociais e blogs que você pode fazer. A maioria dos sites ou serviços possui uma api para você integrar com seu site ou  blog. Quem visita o meu blog pode ver que ele é cheio de penduricalhos, muitos deles inúteis.

Criei uma nova tag no Blog chamada Site aos Pedaços onde mostrarei um pouco sobre essas api's (e tirarei algumas que estão sobrecarregando o blog)

Hoje é a vez do formspring.me. Trata-se de um serviço web onde as pessoas fazem perguntas a você e você responde. Simples. Mas para que entrar no site para perguntar se os fóruns existem para isso? Integrando isso no seu blog ele fica um pouco mais "útil".

Para isso  crie uma conta em http://www.formspring.me e depois clique em settings --> widgets para gerar o widget.

Lá será gerado um trecho de código HTML que incorporado no seu blog ficará assim:
http://www.formspring.me//vitorrubio

Artigo sobre Visual Studio na Easy .Net #2

Imagem
Saiu o meu primeiro artigo na revista Easy .Net #2, que pode ser lida no site da  Dev Media.
Trata-se de um overview básico do ambiente do Visual Studio 2008 e uma pequena aplicação prática. 

A revista está disponível no Leitor Digital da editora.

Se você ainda tem pouca familiaridade com programação no ambiente .Net os artigos Primeiros Passos Com a Linguagem de Vladimir Rech e o meu artigo Introdução à Programação com C# na revista .Net Magazine

Espero que seja útil a todos, Have Fun \(^^)/

It is not safe to rely on the system’s timezone settings. :z

Se você recebeu a mensagem It is not safe to rely on the system’s timezone settings. Ao começar a trabalhar com datas no PHP, mude o arquivo pgp.ini, editando o date.timezone.
No meu caso eu coloquei date.timezone = America/Sao_Paulo
Também é possível setar a timezone com o método:

date_default_timezone_set('America/Sao_Paulo');


Have Fun ;)

PHP 5.2.13 ou 5.3 e Apache 2.2.15 no windows

Se você está enfrentando problemas ao instalar o apache + PHP nestas versões isso pode estar ocorrendo por causa de erro em alguma extensão.Li muitos casos na web, posts em foruns e blogs, que algumas versões anteriores também enfrentavam esses problemas.
Problemas:

1) Apache não inicia

2) Mensagens de erro envolvendo a dll php5ts.dll

3) Nenhuma mensagem de erro nos logs do apache. Apenas é mencionado que ele teve de reiniciar

4) Texto do log de eventos Aplicativo com falha php.exe, versão 5.2.13.13, módulo com falha php5ts.dll, versão 5.2.13.13, endereço com falha 0x000f351c.


Para solucionar, tente o seguinte:
1) Certifique-se que o apache funciona sem PHP.

Para isso desisntale o PHP e retire do arquivo httpd.conf do Apache as linhas que configuram o PHP



LoadModule php5_module "C:/Arquivos de programas/PHP/php5apache2_2.dll" AddHandler application/x-httpd-php .php # configure the path to php.ini PHPIniDir "C:/Arquivos de programas/PHP"
2) Certifique-se de que a…

Enviando Tweets via Lazarus + Synapse

Primeiro de tudo você vai precisar da biblioteca Synapse. O legal é que ela não é um componente pra se instalar, então não precisa reconstruir (rebuild) seu Lazarus.

Muitos sites e blogs oferecem uma cópia da biblioteca synapse hospedada no proprio site, sem indicar ou colocar o link para o site original do autor.

O site do outor do synapse é esse: http://www.ararat.cz/synapse/doku.php

Lá você pode baixar a biblioteca original e atualizada dando créditos ao seu autor.

De posse dela, você vai precisar criar um método POST, já que a classe de HTTP da biblioteca não fornece um, mas fornece os meios para que você faça isso. (ela tem get, mas não post, então você terá de fazer o post no dedo, mas é facil).

Coloque dois edits, dois memos e um botão em uma form.


function TForm1.HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean; var HTTP: THTTPSend; begin HTTP := THTTPSend.Create; try //para autenticação http simples, usuario HTTP.UserName := txtLogin.Text; …

Delphi Tour 2010 - Eu Fui ^^ (continuação)

Imagem
Como eu prometi no meu  post anterior, abaixo vão as fotos que eu tirei do evento. Tirei apenas 5 ou 6 fotos.
Desculpem o tamanho desse post, mas ele tem informações importantes sobre o preço do Delphi até dia 25, e o preço da concorrência.

O evento foi pequeno, não tinha muito o que fotografar.


Você pode encontrar essas fotos no meu album do picasa http://picasaweb.google.com/vitorrubio/DelphiTour2010#

Durante o evento tive 6 decepções:
1) Não haverá mais nenhum tipo de versão Express ou Turbo do Delphi. E entrando no site do Turbo Explorer, eu não encontrei a versão 2006 do Turbo Delphi. A embarcadero tirou os links e você é remetido direto para o site da Embarcadero, na página de  produtos free, e não tem mais o Turbo Delphi 2006, apenas o trial do 2010.

2) Fui informado que as versões personal 3 e 4, e o Turbo Delphi 2006, que foram distribuidas gratuitamente nas revistas Geek e internet, respectivamente, podem servir de base para um upgrade, mas apenas até o dia 25/06/2010 (pelo …

Sore Feet Song, para micreiros

Assistindo o anime Mushishi, conheci uma música muito bonita, que eu não conhecia antes, do Ally Kerr

O nome da música é The Sore Feet Song (tradução no vagalume)

Ei-la:

I walked ten thousand miles,
ten thousand miles, too see you
And every gasp of breath,
I grabbed it just to find you
I climbed up every hill too get to you
I wandered ancient lands too hold just you

and every single step of the way
I paid...
Every single night and day
I search for you
through sandstorm and hazy dawn
I reached for you

I stole ten thousand pounds,
ten thousand pounds to see you
I robbed convenience stores
'cause I thought they'd make it easier
I lived of rats and toads and I starved for you
I fought off giant bears and I killed them too

and every single step of the way
I paid...
Every single night and day
I search for you
through sandstorm and hazy dawn
I reached for you

I'm tired and I'm weak, but I'm strong for you
I wanna go home but my love gets me through

lalaalalalaalalalalalal…

Introdução à Programação com C#

Imagem
Todo curso de ciência da computação ou processamento de dados começa com uma introdução à programação (ou introdução à ciência da computação) que no começo a essência é a mesma: introduzir o aluno/leitor ao mundo dos computadores, como eles funcionam por dentro, como números e cálculos se transformam em cores e sons.
Saiu na revista .Net Magazine desse mês o meu primeiro artigo nessa revista: trata-se de uma introdução à programação com C#. Ideal tanto para iniciantes em programação no geral como para iniciantes na linguagem C#.

Página da edição 74 no site da DevMedia 
Edição 74 no leitor digital


Espero que seja de utilidade para todos.

Have Fun   =]

Delphi Tour 2010 - Eu Fui ^^

Ontem foi dia de Delphi Tour 2010, em São Paulo, no Maksoud Plaza Hotel. 


Tirei umas fotos, fiz umas gravações, depois eu posto as fotos aqui.


Dentre os destaques, podemos citar:


Agora a Embarcadero trabalha com o sistema de licenciamento All Access, onde você compra uma licença e tem acesso a todos os produtos da empresa.


Desenvolvimento mobile: Travado por dois motivos: se por um lado o Delphi Prism + MonoTouch  + Mono está de vento em popa, a Apple resolveu atravancar tudo colocando uma cláusula no contrato de desenvolvimento do IPhone (ipod, ipad etc) dizendo que somente os softwares desenvolvidos em objective-c serão permitidos no IPhone. É a mesma briga que ela comprou com a adobe. (não sei porque, os frameworks e vm's que rodam dentro dele já não são feitos em OC ?? Se continuar desse jeito, esquece java para o iphone).

Por outro lado, o novo windows 7 mobile será totalmente baseado em silverlight, mas não se sabe se ele terá suporte a todas as características do .net compact fr…

Artigo sobre ponteiros na Clube Delphi 118

Imagem
Saiu mais um artigo meu na revista Clube Delphi n° 118.
Trata-se de um artigo sobre ponteiros. Um assunto um tanto acadêmico, mas muito esquecido e negligenciado hoje em dia devido a facilidade com que os ambientes modernos, gerenciados, lidam com a alocação de memória e as estruturas de dados e referências.

Ponteiros são essenciais para se manipular estrutura de dados em qualquer linguagem. E no Delphi, um objeto é um ponteiro, tratado de maneira diferente nos bastidores do compilador.

Espero que esse artigo ajude os alunos iniciantes na disciplina de estrutura de dados, nos cursos de Processamento de Dados e Ciência da Computação.

Os programadores mais "veteranos" podem se beneficiar desses artigos ao lidar com integrações diretas com hardware específicos onde, além de um pouco de assembly, temos de manibular bits e endereços de memória "na unha".

O artigo pode ser lido  no leitor digital da editora DevMedia

Have Fun =]

Resolvendo o erro Server Application Unavailable (80070545 )

Último post em abril e maio passou batido. É um a cada 2 meses agora? Q vergonha!

Espero com esse post conseguir uma espécie de "Redenção".

Trata-se de um porblema que já aconterceu duas vezes comigo: Windows XP + .Net Framework 1.1  e o iis que vem junto: Depois de instalar o .Net 2.0 com o VS 2008/ ou o 4.0 com o VS 2010 e por aí vai, as suas aplicações .Net 1.1 podem falhar.

Você pode receber uma mensagem vermelha de "Server Application Unavailable", ou coisa do gênero, juntamente com um erro 500 e uma mensagem para verificar o log de eventos. Lá você encontrará o erro 80070545.

Se o seu log estiver assim:

aspnet_wp.exe could not be started. The error code for the failure is 80070545. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

Para obter mais i…