Archive for September, 2008

Conversão de HTML para PDF - o jeito fácil

Publicado por Marcos Dell Antonio em 30/09/2008 | .NET

“Não tem que ser difícil,” já dizia Ramon Durães. Não me canso de repetir esta frase, e parece que o pessoal da Winnovative Software Solutions conhece ela também.

Eles vendem um conjunto de componentes para trabalhar com arquivos PDF. As funcionalidades vão desde a conversão de HTML para PDF até um SDK completo para trabalhar com este formato de arquivo.

O que mais impressiona, no entanto, não são as funcionalidades do componente, mas sim a abordagem que utilizaram para construir o tal. Depois de feito o download e adicionada uma referência no projeto, com duas linhas de código eu criei um objeto PdfConverter e em seguida gerei um arquivo PDF com base em um HTML. Simples assim:

É assim que as coisas têm que ser. KISS!

Até +.

Seja o primeiro a comentar este post

Desenvolvedor web tem que saber JavaScript. Ponto.

Publicado por Marcos Dell Antonio em 30/09/2008 | .NET, Cotidiano

Dia após dia me deparo com situações inusitadas. A última delas foi um desenvolvedor web dizendo o seguinte: “eu não conheço javascript, quero programar só em c#”.

Meu caro, minha cara, lamento informar que o javascript está para a web tal como a crise está para os Estados Unidos (se você não acompanha economia, alô, estamos em meio a uma grande crise). Foram feitos um para o outro.

A linguagem dos browsers é o javascript. Não adianta fugir disto, ou você estará na contra mão de todo mundo, e isso inclui os big players.

Na teoria

Javascript é uma linguagem client-side, ou seja, é interpretada e executada no lado do cliente, portanto executa no navegador do usuário.

O grande diferencial dela é justamente este: processar dados lá do outro lado, no computador do usuário. Isso evita uma série de round trips entre o cliente e o servidor, e a consequência disso é um site muito mais amigável, rápido e eficiente.

Na prática

Exemplos práticos para o uso do javascript são as validações de dados. Verificar se um campo está preenchido, se o formato está de acordo, enfim, fazer uma validação básica dos dados antes de submetê-los ao servidor para serem validados novamente (não esqueça disto) e processados de acordo com a situação.

Além disso, é possível dar muito mais vida ao website com alguns trechos de código javascript. Já vi diversos exemplos muito interessantes, tais como: controles de pesquisa, manipulação de divs, redimensionamento, etc. O GMail é um ótimo exemplo de como uma boa aplicação de javascript pode gerar um resultado excelente.

Aos rebeldes

Estudem javascript. Se você não conhece é porque está no passado. Aproveite todo o suporte do Visual Studio 2008 para ir a fundo no uso dessa linguagem. Não ache que o C# por si só é o suficiente para desenvolver um site profissional.

Aos que ainda preferem escrever só código C#, pelo menos façam o favor de estudar uma biblioteca no estilo do Script#. Mas não venham chorar pitangas quando o erro acontecer no cliente e vocês não souberem interpretar visualmente algumas poucas linhas de código javascript.

Até +!

1 comentário - clique aqui para fazer o seu

4 verbos que todo bom funcionário deveria saber conjugar

Publicado por Marcos Dell Antonio em 24/09/2008 | Cotidiano

Eu não sou daquele tipo de gente fresca. Muito menos fico o tempo todo reparando nos outros. Mas uma coisa é fato: existem atitudes que todos percebem e que podem arruinar a imagem de qualquer um dentro de uma empresa.

Boas maneiras para evitar este tipo de problema estão descritas abaixo. Leia, garanto que funcionam!

1 - Cumprimentar

Olá Pedro. Bom dia Paulo. Boa tarde Maria. Boa noite José. Como vai Raul? Tudo bem João?

Essas palavras mágicas contam diversos pontos na avaliação que cada colaborador faz dos seus colegas. Além disso, quem chega na empresa carregado de cumprimentos logo antes do dia começar, demonstra total disposição com a vida, e isso reflete diretamente no relacionamento com os colegas.

2 - Comunicar

“Estou com um erro!”. Escuto essa frase várias vezes por dia. De que me adianta? Nada, absolutamente nada. Se alguém precisa de ajuda deve ser claro. Se alguém precisa dizer alguma coisa deve organizar as idéias e direcionar a fala com um único objetivo: explicar a sua necessidade.

Comunicar algo abstrato só gera confusão e interpretações contrárias ao pretendido. Nestas horas o cidadão tem que agir claramente: “Estou com erro para acessar o sistema quanto utilizo o Firefox. O botão para entrar não aparece depois que fiz a última atualização”.

3 - Agradecer

Dizer um obrigado quando alguém oferece ajuda não torna a pessoa imortal, mas esquecer do agradecimento transforma ela em mal educada. Quem ajuda não faz pensando no salário que recebe no final do mês, portanto isso não serve como agradecimento.

4 - Tolerar

Poucas pessoas dentro de uma empresa cometem erros propositalmente. Aquelas que o fazem estão com os dias contados. Os erros das outras devem ser tolerados.

Chamar a atenção é sempre bom, mas não deve ser na frente de todos e muito menos com o intuito de rebaixar ou desmerecer o trabalho do próximo. O ideal é ser sutil, usar um pouco de politicagem para dizer que o outro está errado sem usar estas palavras.

Por hoje é só.

Até +!

6 comentários - clique aqui para fazer o seu

Chrome e o Google

Publicado por Marcos Dell Antonio em 11/09/2008 | Tecnologia

O Alexandre Fugita do TechBits publicou um post muito interessante sobre o Chrome, Google, sistemas operacionais (SO) e onde vai parar tudo isto junto.

Segundo ele, o SO é só um acessório para o Chrome, pois a única necessidade dos usuários deverá ser a janela do browser. E isso basta!

Concordo com ele, mas acho que há algo mais junto com estes lançamentos.

O Google demonstra sábio conhecimento de que não pode bater de frente com o sistema operacional da Microsoft, portanto resolveu dispensá-lo. É isso mesmo. A idéia por trás de tudo isto é levar as aplicações para a web, dispensando o SO.

Em paralelo a Microsoft responde da seguinte forma: se é para usar um browser e não um SO, será o nosso (Internet Explorer 8).

A briga está só no começo. Os números da Microsoft ainda são muito expressivos, mas concorrência é sempre boa, pois quem leva a melhor é o usuário final.

Até +.

1 comentário - clique aqui para fazer o seu

Backup dos dados hospedados na DreamHost

Publicado por Marcos Dell Antonio em 10/09/2008 | Cotidiano

Update (10/09/2008): logo depois de escrever o post encontrei na wiki da DreamHost a informação de que a opção Backup your account foi lançada em julho deste ano. Por isso que eu não encontrei da outra vez. :)

Há uns três meses comecei a escrever um post gigante sobre como realizar backup dos dados que estão nos servidores da DreamHost.

Eu desisti de publicar porque o tamanho do post ficou astronômico, pra não dizer ridículo. Cheguei nesta conclusão sem mesmo saber que existia uma ferramenta para fazer todo o trabalho com alguns clicks. Simplesmente pensei: não pode ser tão difícil.

No painel de controle existe uma opção chamada Backup your account. Sem muito esforço é possível gerar um backup tanto dos arquivos quanto do banco de dados. Leva um certo tempo para finalizar o processo, mas assim que ele termina a DreamHost envia um e-mail confirmando o backup e um link para baixar os arquivos.

Por hoje é só.

Até +.

Seja o primeiro a comentar este post

Dica rápida: AppendDataBoundItems

Publicado por Marcos Dell Antonio em 03/09/2008 | .NET

O controle DropDownList possui uma propriedade chamada AppendDataBoundItems. O valor padrão dela é false, e isto significa que todos os itens do controle serão removidos antes de fazer o bind dos dados.

Até aqui nada de novo. O interessante é que quando o valor for true, ao invés de remover os itens já existentes é feito um append deles à lista.

Essa é mais uma daquelas que a gente só aprende com o tempo, pois até então para manter os itens antigos na lista, eu fazia o bind e depois inseria os itens novamente.

Por hoje é só.

Até +.

1 comentário - clique aqui para fazer o seu

Livros brasileiros

Publicado por Marcos Dell Antonio em 02/09/2008 | .NET, Livros

Há muito tempo eu procuro e não acho um livro sequer sobre .NET 3.0 ou 3.5 escrito em português do Brasil. Aliás, não é só sobre .NET que estamos comendo poeira, mas também em diversos outros assuntos, tais como: SQL Server, VSTS, Frameworks em geral, etc.

A pergunta é: onde estão os autores brasileiros?

Talvez eu esteja um pouco enganado e todos os profissionais da nossa área dominam muito bem o inglês e por isso compram direto da fonte (EUA). Mas sinceramente acho que a situação é outra.

Gostaria de encontrar respostas para as perguntas abaixo:

  1. Todo mundo sabe inglês e por isso não precisamos de literatura nacional?
  2. As novas tecnologias só serão estudadas quando o mercado exigir?
  3. Não temos tempo para estudar o futuro, somente para viver o presente?
  4. Profissionais da área técnica não são bons escritores?
  5. Somos preguiçosos e achamos que o Google responde tudo o que precisamos?
  6. É muito burocrático escrever um livro no Brasil?

Eu não sou um mestre em língua portuguesa mas consigo expressar o que penso. Pausa para reflexão.

Neste momento alguém deve ter pensado: “ué, então por que esse cara não escreve um livro?”. A resposta, antes que me perguntem, está aqui: tentei contato com quatro editoras e até agora uma delas respondeu dizendo que em breve me ligará (!).

Voltando à linha de pensamento do post, é fácil ficar preocupado com o futuro do .NET no Brasil, pois enquanto a Amazon possui mais de 10 obras publicadas sobre o assunto a Submarino ainda vende livros sobre .NET 1.1 na primeira página de obras sobre .NET.

Como não posso ficar sem comer, continuo vendendo os livros de .NET 2.0 aqui no blog. Mas ficaria muito feliz se alguém me indicasse obras sobre a versão 3.5 ou até mesmo outras tecnologias novas.

Até +.

4 comentários - clique aqui para fazer o seu

Coisas que todos desenvolvedores deveriam saber

Publicado por Marcos Dell Antonio em 01/09/2008 | .NET

Se você pretende fazer carreira como desenvolvedor .NET trate de aprender o significado e objetivo de cada um dos termos listados abaixo. A lista completa vai muito além desta, mas esses itens eu considero básicos para qualquer tipo de desenvolvedor.

É claro que o cidadão não precisa ser um especialista em cada um destes assuntos, basta conhecer bem o conceito e saber de uma maneira bem geral como aplicá-lo. Exemplo disto é o XSLT. Em muitos casos não é um recursos utilizado no dia-a-dia, mas o desenvolvedor precisa saber que ele existe para tomar decisões importantes na arquitetura do projeto.

Framework .NET

  • Framework
  • .NET
  • CLR
  • Garbage Collector
  • GAC

Linguagem C#

  • Tipos de dados
  • Palavras reservadas
  • Reflection

WEB

  • ASP.NET
  • ASPX
  • AJAX
  • Web.Config
  • ViewState
  • Cookies
  • Sessions
  • Cache
  • GET
  • POST
  • Web Form
  • Postaback
  • User Controls
  • ASP.NET Folders
  • Publish

Windows

  • Windows Forms
  • Windows Services
  • Class Library

Web Services

  • ASMX
  • SOAP

Controles de interface

  • Label
  • TextBox
  • Button
  • GridView/DataGrid
  • Validators

ADO.NET

  • Connection String
  • DataSet
  • XSD
  • DataTable
  • DataRow
  • Command

Orientação a Objetos

  • Classes
  • Métodos
  • Propriedades
  • Herança
  • Interface

Visual Studio

  • Solução
  • Projeto
  • Web Site
  • Intellisense
  • Code highlight
  • ToolBox
  • Solution Explorer
  • Server Explorer
  • Output Window
  • Refatoração
  • Debugging

Controle de versão

  • Team Explorer
  • Check in
  • Check out
  • Undo
  • Work Items

Banco de dados

  • SQL
  • Tabelas
  • Tipos de campos
  • Relacionamentos
  • SQL Server
  • T-SQL
  • Oracle
  • PL/SQL

XML

  • Estrutura
  • XLST
  • XPath

IIS

  • Web Site
  • Application Pool
  • Application
  • Diretório Virtual
  • URL Rewriting

Design Patterns

  • Singleton
  • Factory

Novas tecnologias

  • WCF
  • WPF
  • WWF
  • WCS
  • LINQ
  • MVC

Outros

  • SDK
  • RTM
  • RTW
  • CTP

E para finalizar: “o ótimo é inimigo do bom”, portanto foco no que deve ser feito e YAGNI!

Até +.

Seja o primeiro a comentar este post

Anúncios

Anúncio provido pelo BuscaPé