Postagens

Mostrando postagens de janeiro, 2011

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

Desbloqueio de Samsung Galaxy S

Update na parte de cima porque tem gente que não sabe ler:  Recebo uma quantidade absurda de mimimi de gente que não sabe usar um celular e vem desesperado me perguntar o que fazer, então, atenção para algumas regrinhas básicas: 1) Esse procedimento necessita de um reset de fábrica , ou factory reset no seu celular. 2) Todos os seus dados , videos, arquivos e bugigangas serão apagados irrecuperavelmente . 3) Não me responsabilizo por danos causados no seu aparelho. 4) Se não se sentir seguro ou não tiver conhecimento técnico suficiente, ou não entendeu alguma palavra do que eu disse, NÃO FAÇA O PROCEDIMENTO. 5) Isso é um blog, não um fórum. 6) Isso é um blog, E NÃO UM FÓRUM POW!. 7) O procedimento foi realizado com um Samsung Galaxy S, versão 2.1 do Android, modelo GT-I9000B, kernel 2.6.29, n° de compilação ECLAIR.VJJG9. Nunca fiz o procedimento em outro aparelho, nunca nem vi outro. Portanto se o seu aparelho for UM MILÍMETRO, UMA LETRINHA, diferente desse, NÃO ME PERGUNTE,

Dicas e códigos para celulares

Código para ver se a rede está bloqueada (faça no teclado numérico do discador) *#7465625# Com isso aparecerá uma lista de opções e se cada uma delas está bloqueada ou não. Código para resetar a rede (no discador) *2767*3855# (isso dará um factory reset no celular, apagando suas configurações e apps salvas) Código para mudar o pin do seu chip: * * 04 * pin atual * pin novo * pin novo# Obtendo o IMEI: Para bloquear o celular em caso de roubo: O imei vem anotado em um código barras abaixo da bateria, na parte de dentro, mas você pode discar *#06# que o imei aparecerá. Anote esse número. Caso seu celular seja roubado, ligue na operadora ou na anatel e peça para bloquear esse imei. O ladrão não vai poder usar esse celular nem trocando o chip. http://www.baixaki.com.br/tecnologia/3544-imei-aprenda-a-bloquear-o-aparelho-celular-em-caso-de-roubo.htm Códigos padrões de pins de operadoras TIM - 1010 Claro - 3636 OI - 8888 BrT GSM - 1414 Amaz/Telemig - 1414 CTBC - 1212 VIVO -

Existem 1001 maneiras de preparar SINGLETON - parte2

No último post desta série mostramos como preparar um singleton que funciona tanto em Delphi como em Lazarus. Neste post veremos como criar um singleton mais elegante que funcione sem métodos ou variáveis estáticas. Usaremos class vars e class methods para isso. Porém a lógica será a mesma do exemplo anterior. Objeto Único: unit uSingleton; interface uses DateUtils, SysUtils, Windows, dialogs; type TObjetoUnico = class private FDataHora: string; class var FObjetoUnico: TObjetoUnico; class var FContador: Integer; class function GetObjetoUnico: TObjetoUnico; static; class function GetContador: integer; static; public constructor Create; destructor Destroy; override; function GetDataHora: string; virtual; class property ObjetoUnico: TObjetoUnico read GetObjetoUnico; class property Contador: integer read GetContador; property DataHora: string read GetDataHora write FDataHora; end; procedure VerificaObjetoUnicoCriado;

O santo graal da memória não volátil

Imagem
Caminhava eu para a praça Silvio Romero a fim de  resolver minha pugna minha com a receita federal e, precavido que sou, levei minha declaração do imposto de renda E a retificação da dita cuja em duas cópias, uma em DVD e uma em pendrive. O porque da peleja? não consigo transmitir minha maldita declaração do IR. Recebo essa mensagem de erro: É esta a mensagem de erro Optei por essas mídias porque ligando no 146, de Brasília, fui informado de que poderia ser em pendrive. Ao chegar lá, após pegar a senha de pré - atendimento, peguei a de ATENDIMENTO. Foi o tempo de passar 21 telas do angrybirds. Minha senha era AMF XX, AMF de Auxílio Malha Fina. Chegando lá, a gentil e capacitada funcionária pública da receita disse que eu deveria trazer a declaração para ser transmitida por lá.  Saquei a declaração do bolso, e então ela disse que eu deveria pegar uma senha e um formulário para a retransmissão da declaração. Peguei novamente duas senhas. Ao ser atendido novamente (milhares

Revista Clube Delphi 125

Imagem
A revista Clube Delphi 125 já está disponível aos assinantes e no site. Essa revista tem uma introdução muito interessante ao desenvolvimento de aplicações para iPhone utilizando MonoDevelop, MonoTouch e a SDK do iPhone. Desenvolver aplicações para iPhone não é fácil se comparado ao desenvolvimento Win32/Windows Forms com técnicas RAD, mas a matéria explica quais são as diferenças e introduz bem o tema. Há também um artigo sobre o Firebird 2.5. Eu já usava o 2.1 mas nem imaginava que ele tinha alguns recursos avançados, desses que você pode encontrar no MS SQL. O artigo de capa fala sobre o Codesite. Se quer aprender a rastrear e corrigir bugs leia-o. E há um artigo meu sobre criação de experts (plugins) para a IDE do Delphi. É um mundo totalmente novo para quem nunca viu. Há a possibilidade de interagir com units, formulários e componentes em tempo de design e automatizar tarefas, ou apresentar formulários que, se preenchidos, criam arquivos de configuração, units etc. Vale a pe

O glorioso retorno do bom senso

Bom, desde minha volda das férias esse é o meu primeiro post técnico, ou quase. Bom senso  está relacionado à razoabilidade. E vale para tudo, de saúde à tecnologia. Ando vendo por aí muitas pessoas preocupadas demais com o monte de buzzwords do mercado, são as metodologias e certificações de qualidade (ITIL, PMBOK, RUP, Open UP, XP, Scrum, laranja, abacaxi, batatinha) outras relacionadas a linguagens de programação (Java, Python, C#, Ruby) e cada linguagem de programação se desdobrando em infinitos frameworks para os mais diversos assuntos (Hibernate, Fluent, Linq, velocity, rails, django, makumba , spring). Para complicar há ainda diversos sistemas operacionais, de windows a bada. E por falar em bada, diversos tipos de mobile (android, symbian, windows 7, bada, iOS, McDonalds, China in Box ). E as ferramentas para documentação de código ou criação de diagramas? ArgoUML, Poseidon, Model Maker... Nós, que lidamos com tecnologia, somos curiosos por natureza. Mas a curiosidade

A alma do programador

Certa vez, no curso de pós graduação da FATEC-SP, um professor que eu admiro muito, ao ser interrogado sobre quando teria uma janela para reposição de uma aula, sacou seu smartphone para conferir sua agenda e disse: " - Deixe-me primeiro consultar minha prótese cognitiva." Interessante, ele considerava o seu celular como uma prótese cognitiva. Não sabia em que lugar ir ou quando ir se não fosse por ele, o celular. Isso não é de todo ruim se você levar em consideração a filosofia geral que permeava a classe dos Samurais (Saburau ou Bushi) no Japão Feudal dos anos 1200 aproximadamente até 18xx (aproximadamente). Eles tinham um extenso e complexo código de ética/conduta verbal. Era o Bushido, ou caminho do Servidor. Os Samurais eram, em sua maioria, militares de alta patente, guarda costas, juízes e executores. A maioria deles era muito bem versado nas artes marciais, mas também na poesia e na caligrafia. Todos eram guerreiros no sentido mais amplo da palavra, mas nem todos est

De volta das férias, e desperdiçando energia

Boa noite a todos. Depois de umas merecidas férias em Natal (uma vez a cada 5 anos precisa mesmo) estou de volta (fotos em breve) e  VIVO. Vivo mas com uma baita úlcera. A causa primária de minha úlcera por incrível que pareça não é a comida forte porém deliciosamente bem temperada de Natal. A causa-mor de minhas dores é a famigerada Telefonica e aquilo que eles chamam de conexão. Cheguei de viajem dia 23/01/2011 e hoje já é dia 10/01/2011 e eu estou quase sem conexão à internet. Digo quase porque as vezes a conexão vem, mas fica funcionando apenas por alguns minutos e aí eu tenho que fazer todo o circo de liga desliga parafernalha para ver se volta. Por causa disso criei um blog para fazer um protesto contra esse abuso.  http://manifestoderepudioatelefonica.blogspot.com/ São três anos lutando e desperdiçando dinheiro, por uma conexão de 300 k, um pouco melhor que a discada, e que quando funciona fica apenas alguns minutos no ar. Sabe, não gosto de aparecer, e nesses 12 anos de

Vamos lá....O correio entrega hoje?

Tomara, Deus te ouça, e oxalá não façam isso: http://colunistas.ig.com.br/obutecodanet/2011/01/03/por-que-as-vezes-sua-encomenda-chega-com-algum-probleminha / Ask me anything

formspring.me

Ask me anything http://formspring.me/vitorrubio

hey how did you survive the holiday season. you got a new years resolution?

I just survived. I got a new years resolution: dont't tell my resolutions in formspring :p Ask me anything