Jul 13 2008

MSDN Low-bandwidth (loband)

Autor: Marcos Dell Antonio - Categorias: Cotidiano

Um dos maiores problemas do site MSDN é o “peso”. Aquela treeview que a Microsoft usa para mostrar o menu é extremamente pesada, sem contar os outros recursos da página que muitas vezes passamos batidos por não fazerem parte do que estamos procurando.

Para contornar isto foi ao ar uma versão light da MSDN, a chamada MSDN Loband. Qualquer link pode ser alterado para renderizar um conteúdo muito mais enxuto. Para isto, adicione o texto (loband) antes do .aspx no final da url. Exemplo:

Link original: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx

Link alterado: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader(loband).aspx

Simples! Depois de acessar o link com o loband ainda há a opção de definir este modo como padrão através do link Persist low bandwidth view, caso contrário qualquer click levará o usuário de volta ao modo normal.

Até +!

Comentários Faça o seu comentário

Jul 08 2008

Na bolsa deixar de ganhar dinheiro é fácil…

Autor: Marcos Dell Antonio - Categorias: Cotidiano

Não posso dizer que perdi dinheiro, mas sim que deixei de ganhar.

Essa semana aprendi mais uma lição: antes de vender em alta, saiba porque está subindo e tente prever até onde irá subir. Ignorando esta regra, consegui “perder” quase R$ 3,50 por ação da COSAN (CSAN3).

Eu havia comprado por aproximadamente R$ 26,00 e de tanto tempo que ficou abaixo deste valor jurei que venderia assim que empatasse ou subisse ao menos 1%. Fui lá, fiz a venda e menos de uma semana depois o mesmo papel chegou nos R$ 30,00.

Desempenho da COSAN (CSAN3) nos últimos 5 dias
Desempenho da COSAN (CSAN3) nos últimos 5 dias (fonte: Invertia)

De qualquer maneira consegui me desfazer das ações desta empresa, portanto o resultado foi de certa forma positivo. Eu estou reduzindo a minha carteira para no máximo 10 papéis e se tudo der certo pretendo chegar nos 5 até final do ano. Definitivamente acompanhar 20 ações é inviável e contra todas as best pratices (i’m a geek) que li até agora.

Ps: prometo que o próximo post sobre esse assunto já estará em uma categoria específica para ele. ;)

Comentários Faça o seu comentário

Jul 08 2008

Definição do comando var do C# 3.0

Autor: Marcos Dell Antonio - Categorias: .NET

Diretamente do Programmers Heaven, o comando var do C# 3.0 pode ser definido da seguinte maneira:

“I want to declare a variable, but I’m too lazy to write out its type”

Em uma tradução livre: “Eu quero uma variável, mas sou muito preguiçoso para definir o tipo dela”.

Comentários 2 comentários

Jul 03 2008

Warren Buffet e a Bolsa de Valores

Autor: Marcos Dell Antonio - Categorias: Cotidiano

Um dos livros sobre investimentos que estou lendo é O Tao de Warren Buffet. Ele traz, basicamente, diversas frases e pensamentos do Warren Buffet e uma breve explicação sobre eles.

Livro O Tao de Warren Buffet
Confira o preço deste livro na Submarino

“Leia Ben Graham e Phil Fisher, leia relatórios anuais, mas não se meta a resolver equações que contenham letras gregas.”

Ben Graham afirma que uma ação só deve ser comprada quando estiver com um preço baixo em relação ao seu valor no longo prazo. Phil Fisher diz que você só deve comprar ações de empresas de alta qualidade, conservá-las por um longo tempo e deixar o lucro crescer.

Warren utilizou estas duas teorias para criar a sua, que recomenda a compra de ações de empresas de alta qualidade a preços baixos para ficar por um longo prazo.

Eu não sou expert no assunto, mas sou capaz de apostar que os papéis da Vale, Petrobras, BM&F e outros estão dentro desta recomendação do Warren, pois as três empresas são de ótima qualidade e seus papéis estão muito abaixo do valor máximo.

Por hoje é só. Até +.

Comentários 3 comentários

Jun 29 2008

Enviando texto pela query string

Autor: Marcos Dell Antonio - Categorias: .NET

A maneira correta para enviar um texto pela query string é… não enviar.

Passar o código do registro e buscá-lo na página destino é muito mais agradável do que passar um extenso texto através de uma variável na URL. Entretanto nem sempre o mundo é perfeito!

Quando você realmente precisar passar um texto pela query string utilize o método URLEncode antes de concatená-lo à query. Veja:

Método URLEncode
Exemplo de uso do URLEncode

Desta maneira, o texto enviado para o browser será codificado e alguns caracteres especiais serão substituídos, evitando um resultado inesperado (faça um teste sem o encode e usando um texto com o caractere & para entender o problema).

Quando for ler o texto da query string utilize o URLDecode. Veja:

Método URLDecode
Exemplo de uso do URLDecode

Até +!

Comentários Faça o seu comentário

Jun 22 2008

Bolsa de valores

Autor: Marcos Dell Antonio - Categorias: Cotidiano

Desde a última vez que escrevi sobre investimentos na Bolsa de Valores muitas coisas aconteceram. Certamente a principal delas foi o grau de investimento obtido pelo Brasil por duas grandes agências de classificação de risco americanas: Fitch e Standard e Poor’s.

Em poucas palavras, o investment grade significa que o Brasil passa a ser visto como um bom pagador e, conseqüentemente, um ótimo país para fazer investimentos. O melhor de tudo é que muito dinheiro lá de fora chegará à nossa terra e o resultado disto são empresas recebendo mais recursos e as ações na bolsa subindo.

Para os que esperavam uma constante alta dos papéis após este evento com certeza ficaram decepcionados, pois neste exato momento, por exemplo, o IBov não supera nem mesmo 65.000 pontos, lembrando que no dia do anúncio do grau de investimento ele saltou para 70.000.

Entretanto isto não é motivo para desespero, muito pelo contrário: se os papéis estão em baixa e a situação propícia à valorização, a única atitude que vejo para os investidores é comprar!

Um papel que estou acompanhando de perto (e comprando também) é a VALE5, pois está em queda muito forte há aproximadamente um mês. Veja:

Desempenho da VALE5 no último mês
Desempenho da VALE5 no último mês (fonte: Invertia)

A Vale é uma das blue chips da Bovespa, ou seja, aquele tipo de ação excelente para negócio e com risco muito baixo de gerar prejuízo no longo prazo. Portanto sem dúvida alguma agora é um excelente momento para adquirir alguns papéis dela.

Aproveito para deixar uma referência muito boa para todos os interessados em informações sobre o mercado de capitais: o blog Bússola de Finanças, mantido pelo Fabio. Ele escreve de uma maneira bem simples e objetiva sobre os principais acontecimentos desta área. É de lá que pego muitas informações para tomar algumas decisões. Recomendo!

Até +.

Comentários Faça o seu comentário

May 30 2008

Futuro sistema de autenticação dos bancos

Autor: Marcos Dell Antonio - Categorias: Cotidiano

Do jeito que as coisas caminham os passos para autenticar online em um banco serão mais ou menos assim:

  1. Informe o número da conta;
  2. Informe a senha;
  3. Informe a frase;
  4. Informe o código do cartão na posição N;
  5. Informe o seu CPF;
  6. Informe a sua data de nascimento;
  7. Informe quantos carros estão estacionados na rua da sua casa;
  8. Informe o número de títulos da seleção brasileira de futebol;
  9. E por aí vai…

O Bradesco já está no caminho certo. As quatro primeiras etapas ele já “oferece”. Vamos ver até onde vai essa brincadeira.

Ps: só para contextualizar, estou postando essa inutilidade pois recentemente recebi um cartão do Bradesco com uma infinidade de números e na hora do login preciso informar um deles conforme o solicitado. Ou seja, sem cartão, sem login. Já me bastam os cartões de crédito… agora preciso carregar também um cartão de números (!).

Até +.

Comentários Faça o seu comentário

May 30 2008

Erro ao compilar o web site: aspnet_merge.exe exited with code 1

Autor: Marcos Dell Antonio - Categorias: .NET

Quando um erro deste tipo acontecer sugiro que você copie e cole a mensagem no Google (ou outro sistema de busca) para ver se alguém já passou pelo mesmo problema. Em último caso, visite algum fórum e deixe sua dúvida lá.

Quanto ao erro, acontece quando o web site é compilado e provavelmente existem duas classes com o mesmo nome. Mas e aí, como diagnosticar isto?

A melhor maneira é habilitando uma descrição mais detalhada do status do build. Para isto, vá até o menu Tools / Options / Projects and Solutions / Build and Run. Ao clicar neste item aparecerá um combo com a descrição MSBuild project build output verbosity onde você pode selecionar como é que será gerada a saída do build na Output Window. Escolha a opção Detailed.

Outra dica importante é como encontrar o erro na Output Window, pois com a opção Detailed marcada a aparecerão muitas informações. Então para facilitar utilize o search (ctrl+f) e pesquise por “error”.

Mais informações? Faça como eu: search!

Boa noite.

Comentários Faça o seu comentário

May 17 2008

Convert e Parse

Autor: Marcos Dell Antonio - Categorias: .NET

Há um bom tempo já me perguntam qual é a diferença entre os métodos da classe Convert e o método Parse de algumas classes. Confesso que também não sabia a resposta até ontem.

O artigo Conversão de Tipos - Convert x Parse publicado no site Linha de Código pelo Caique Dourado aborda muito bem o assunto, assim como o post int.Parse vs Convert.ToInt32 no blog do Felipe Camilo.

Basicamente funciona assim: se o argumento do método Convert.ToInt32 for null, então o resultado é 0 (zero). Caso contrário, será chamado o método int.Parse para fazer a conversão.

Até +.

Comentários Faça o seu comentário

May 17 2008

Interfaces IComparer e IComparable

Autor: Marcos Dell Antonio - Categorias: .NET

As interfaces IComparer e IComparable muitas vezes confundem a cabeça dos novos programadores pelo fato de terem nomes parecidos. Entretanto, é este nome complicado que facilita o entendimento de cada uma delas.

- Interface IComparer

Qualquer classe que implemente IComparer pode ser chamada de “comparadora” (comparer), ou seja, uma classe que pode fazer comparações entre dois objetos. Portanto, nada mais lógico do que esta interface definir um método chamado Compare e que recebe dois objetos para serem comparados e retorna um inteiro com o resultado. Veja um exemplo:

Classe Produto
Definição da classe Produto

Implementação da interface IComparer
Implementação da interface IComparer

Exemplo de utilização da interface IComparer
Exemplo de utilização da classe que implementa IComparer

É claro que existem outras imeplementações mais otimizadas para os trechos de código acima, mas fiz questão de deixar explícita a lógica para facilitar o entendimento.

Na implementação da interface o retorno do método será -1 quando o valor do produto 1 for menor que o 2, 1 quando for maior e 0 (zero) quando os dois valores forem iguais.

Esta interface também possui uma implementação genérica, a IComparer<T>.

- Interface IComparable

Se uma classe que implementa IComparer é considerada “comparadora”, então uma classe que implementa IComparable pode ser considerada “comparável” (comparable).

O método definido pela interface IComparable é o CompareTo. Ele recebe um objeto por parâmetro e retorna um inteiro com o resultado da comparação. Veja um exemplo:

Implementação da interface IComparable
Implementação da interface IComparable

Exemplo de utilização da classe que implementa IComparable
Exemplo de utilização da classe que implementa IComparable

Da mesma forma que no exemplo anterior, fiz questão de deixar explícita a lógica para facilitar o entendimento e, portanto, deve ficar claro que existem implementações mais otimizadas para esta situação.

A idéia neste exemplo é tão simples quanto a anterior: o retorno do método será -1 quando o valor do produto atual (this) for menor que o comparado, 1 quando for maior e 0 (zero) quando for igual.

Esta interface também possui uma implementação genérica, a IComparable<T>.

É isso ai!

Este post foi elaborado com base na explicação do Ray Hsieh no post IComparable vs IComparer do site byes.com. Gostei da abordagem dele.

E mais uma vez indico o livro Microsoft Visual C# 2005: Passo a passo, que aborda este e vários outros assuntos sobre C# e .NET.

Até +.

Comentários Faça o seu comentário

Próxima página »