Tag Archives: programação

Livro: Google Android

Este é o primeiro livro técnico que entra na minha lista de livros “completamente lidos”. Por se tratar de um livro técnico, não tem muito o que explicar sobre ele.

É uma fonte excelente de informações sobre programação para Android, o sistema operacional do Google para celulares. Explica muito bem os conceitos básicos para que o leitor possa iniciar rapidamente a programação para aparelhos com esse sistema, desde que tenha conhecimentos prévios de Java e Orientação a Objetos. Conhecimentos básicos sobre threads com Java também ajudam a entender melhor os exemplos.

Apesar de ser um livro longo (pouco mais de 600 páginas), o autor abriu mão de detalhes que muitas vezes interessam aos programadores – por exemplo, a forma como alguns registros são armazenados no dispositivo – em benefício da cobertura de diversos assuntos diferentes, que vão desde como funciona a estrutura da API do Android até a utilização do GPS ou da câmera do aparelho. Para encontrar esses detalhes que os programadores tanto gostamos (ainda estranho a silepse…), nada melhor que a documentação do sistema.

FlexReport com o Flex4!

Alguns dias atrás eu escrevi este artigo com o título “Uma nota sobre o FlexReport” e configurei o post para que ele fosse ao ar no dia seguinte. Este ERA o conteúdo do artigo:

Há um bom tempo eu escrevi um artigo e gravei um dois screencasts sobre o FlexReport, mostrando como ele funciona(va) e como criar um relatório com ele.

Esses artigos estão entre os mais visualizados do meu blog. Até hoje eu recebo perguntas e comentários sobre como resolver algum problema com o FlexReport, como imprimir em formato paisagem, como adicionar outros formatos de papel, entre outras perguntas.

Pretendo com este post responder a todas essas questões: não usem o FlexReport. A idéia do programa é excelente, mas infelizmente o projeto foi abandonado. A última versão (0.2 RC1, se não me engano) foi lançada no começo de 2008, quando o Flex 3 ainda não tinha tanto tempo de vida. Estamos em 2010, a versão final do Flex 4 já saiu e o FlexReport não mudou nem um pouco.

Eu até pensei em ajudar a tocar o projeto, mas por falta de tempo não pude colaborar da forma que eu gostaria.

Como já estamos usando o Flex 4, vale a pena dar uma olhada nos recursos de impressão que temos disponíveis. Pode ser que ajude em alguma coisa: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf65381-8000.html

Mas quando anoiteceu eu recebi um e-mail do Douglas Marques com uma boa notícia: ele e a equipe da empresa onde trabalha atualizaram a biblioteca do FlexReport para trabalhar com o Flex 4, além de corrigir diversos bugs! Cancelei a publicação do artigo e (felizmente) substituí por este novo artigo.

Eu ainda não testei a biblioteca, mas atendendo ao pedido do Douglas estou publicando ela aqui.

A informação que eu tive é que em breve a empresa disponibilizará o código fonte.

Update @ 08/nov/2010 20h30

Atendendo a solicitações (e resolvendo uma pendência antiga), estou publicando o código-fonte que o Douglas me enviou e dando os créditos apropriadamente: os feras que fizeram a atualização foram Diogo Muller, Douglas, Lucas Zambon, Ivo Marcelo e Marcelo Mello, todos da Lactec.

CRUD com o RestfulX – aplicação funcionando

Há alguns dias eu escrevi dois artigos sobre como realizar as operações de CRUD com o RestfulX – um falando sobre o retrieve e outro sobre o create, update e delete.

Quando escrevi o segundo artigo eu fiquei devendo mostrar para vocês a aplicação de exemplo funcionando. Pois aqui está: veja a aplicação rodando e faça seus testes!

Para ver o código fonte basta clicar com o botão direito na aplicação e escolher “View source”.

CRUD com o RestfulX: Parte 1/2 – Retrieve

Vou criar aqui um exemplo bem simples para mostrar como funcionam as operações básicas em banco de dados, conhecidas através do acrônimo CRUD (Create, Retrieve, Update e Delete), com o RestfulX.

O projeto é simples (outro daqueles que todo mundo já fez na vida): um cadastro de eventos e participantes destes eventos. Este exemplo irá evoluindo conforme for aumentando a complexidade dos artigos.

Leia o restante do artigo

GIT Cheat Sheet

Sempre é bom ter à mão uma pequena “cola” para quando esquecemos aqueles comando básicos, então aí vai um Cheat Sheet do GIT, que é tão útil quanto a lista dos 20 comandos do GIT mais utilizados no dia-a-dia.

git_cheat_sheet

Erro “bad line length character” no Git

Às vezes aparecem uns erros estranhos na vida de um programador, e a solução não é, nem de longe, algo relacionado à mensagem de erro que recebemos.

Um exemplo disso é quando aparece a seguinte mensagem de erro ao tentar executar operações de pull/push/clone em um repositório do git:

fatal: protocol error: bad line length character

A mensagem de erro em si não diz nada. Mas depois de uma rápida busca pela rede encontrei uma explicação para o problema: o número de usuários conectados pelo ssh (e o git usa ssh para trocar dados) excedeu o limite. Bastou desconectar uma das sessões iniciadas (isso aconteceu comigo quando tinha duas sessões ativas) que a operação foi concluída sem problemas.

Precedência dos operadores em Ruby

O Ruby é, sem dúvida, uma linguagem interessante. Tenho observado algumas peculiaridades que não me lembro de ter visto em outras linguagens. Uma dessas peculiaridades é a precedência de operadores, mais especificamente em relação aos operadores lógicos.

O Ruby dispõe duas formas de se fazer uma comparação lógica. Por exemplo, você pode usar && ou and, || ou or e ! ou not. No fundo, as operações são iguais, mas a diferença está na precedência desses operadores. Os operadores &&, || e ! têm maior precedência sobre os operadores and, ou e not. Dessa forma, o bloco a seguir não funcionaria se colocássemos && no lugar de and. Se fizéssemos isso, o Ruby primeiro faria a comparação entre f(x) e b para depois atribuir o resultado a a e não o contrário, como era esperado.

if a = f(x) and b = f(y) and c = f(z) then puts "Resultado" end


Leia o restante do artigo