Arquivo

Arquivo de abril, 2010

Enterprise Library 5.0 release final liberada para download

26 de abril de 2010

Microsoft Enterprise Library é uma coleção de blocos de código desenhados para auxiliar desenvolvedores .NET com tarefas comuns de desenvolvimento.

Esta versão inclui:

  • Caching Block
  • Cryptography Block
  • Data Access Block
  • Exception Handling Block
  • Logging Block
  • Policy Injection Block
  • Security Block
  • Validation Block
  • Unity

A melhor versão da Enterprise Library contém novas características e atualizações que irão deixar os desenvolvedores .NET mais produtivos. Entre elas estão:

  • Refatoração da arquitetura que provê testabilidade e manutenabilidade através de um completo suporte à injeção de dependência
  • Contêiner de injeção de dependência independente (Unity é entregue com Enterprise Library, mas você pode substituí-lo por um outro contêiner de sua preferência)
  • Suporte à configuração programática, incluindo uma interface de configuração fluente e um esquema XSD para permitir IntelliSense
  • Reformulação da ferramenta de configuração
  • Processamento de resultados de consultas de dados mais intuitivo
  • Suporte a acesso de dados assíncrono
  • Atributos de validação entre Validation Application Block e DataAnnotations
  • Integração com mecanismos de validação do Windows Presentation Foundation (WPF)
  • Suporte a cenários de configuração complexos, o que inclui mesclagem de múltiplos arquivos de configuração
  • Liberação de cachê otimizada
  • Melhor performance para operações de log
  • Redução do número de assemblies
  • Suporte ao .NET Framework 4.0 e integração com Visual Studio 2010
  • Melhorias no Unity

Para fazer o download da Enterprise Library 5.0, bem como documentação, detalhes da versão, extensões e vídeos, acesse o link abaixo:
http://msdn.microsoft.com/en-us/library/ff632023.aspx

.NET, Arquitetura , , , , , , ,

Acrônimos que estão na sua cabeça

17 de abril de 2010

Você já parou para pensar a quantidade de acrônimos que existe dentro da cabeça de um desenvolvedor ou profissional de tecnologia?

Esses aqui são alguns que me vieram na mente agora:

  • AD - Active Directory
  • API - Application Programming Interface
  • ASP - Active Server Pages
  • AV - Audio/Video
  • AVI - Audio Video Interleave
  • BDD - Behavior Driven Development
  • BLL - Business Logic Layer
  • BO - Business Object
  • CD - Compact Disc
  • CLR - Common Language Runtime
  • CPU - Central Processing Unit
  • CSS - Cascading Style Sheets
  • CSV - Comma Separated Values
  • DAL - Data Access Layer
  • DAO - Data Access Object
  • DDD - Domain Driven Design
  • DDL - Data Definition Language
  • DHTML - Dynamic HyperText Markup Language
  • DLL - Dynamic Link Library
  • DML - Data Modification Language
  • DNS - Domain Name System
  • DOS - Disk Operating System
  • DTD - Document Type Definition
  • DSN - Data Source Name
  • DTO - Data Transfer Object
  • DTS - Data Transformation Services
  • DVD - Digital Video Disc
  • DVI - Digital Visual Interface
  • FTP - File Transfer Protocol
  • GB - Gibabyte
  • HD - Hard Disk
  • HDMI - High Definition Multimedia Interface
  • HTML - HyperText Markup Language
  • HTTP - HyperText Transfer Protocol
  • HTTPS - HyperText Transfer Protocol Secure
  • IIS - Internet Information Services
  • IO - Input/Output
  • IP - Internet Protocol
  • IRB - Interactive Ruby Shell
  • ISO - International Organization for Standardization
  • JDBC - Java Database Connectivity
  • JIT - Just In Time
  • JSON - JavaScript Object Notation
  • JVM - Java Virtual Machine
  • KB - Kilobyte
  • LCD - Liquid Crystal Display
  • MB - Megabyte
  • MSIL - Microsoft Intermediate Language
  • MVC - Model View Controller
  • MVP - Model View Presentation
  • ODBC - Open Database Connectivity
  • OOP - Object Oriented Programming
  • OS - Operating System
  • PDF - Portable Document Format
  • PHP - Personal Home Page
  • PL/SQL - Procedural Language/Structured Query Language
  • POCO - Plain Old C# Object
  • POJO - Plain Old Java Object
  • SOAP - Simple Object Access Protocol
  • SQL - Structured Query Language
  • SSL - Secure Sockets Layer
  • T-SQL - Transact-Structured Query Language
  • TCP - Transmission Control Protocol
  • TDD - Test Driven Development
  • UML - Unified Modeling Language
  • URI - Uniform Resource Identifier
  • URL - Uniform Resource Locator
  • UI - User Interface
  • USB - Universal Serial Bus
  • VB - Visual Basic
  • VGA - Video Graphics Array
  • WCF - Windows Comunication Foundation
  • WF - Windows Workflow Foundation
  • WMA - Windows Media Audio
  • WMV - Windows Media Video
  • WPF - Windows Presentation Foundation
  • WWW - World Wide Web
  • XHTML - Extensible HyperText Markup Language
  • XML - Extensible Markup Language
  • XSD - XML Schema Definition
  • XSL - Extensible Stylesheet Language
  • YAML - YAML Ain’t Markup Language

E você, quais mais acrônimos estão na sua cabeça?

Geral

XI Meia Maratona Corpore Internacional da Cidade de São Paulo - 5 Km

17 de abril de 2010

No domingo de 11 de abril de 2010 parcitipei dos 5 km da XI Meia Maratona Corpore Internacional da Cidade de São Paulo.

O percurso de 5 Km foi no interior da Cidade Universitária (USP). A corrida foi organizada pela Corpore.

Depois de um mês de molho, consegui fazer somente o primeiro quilômetro em um tempo bom. A partir daí as pernas já começaram a doer e tive até que parar no meio da prova para alongar.

Tempo total: 00:24:45

Tempo médio por km: 04:57

Tempo em cada km:

  1. 04:07
  2. 04:59
  3. 05:52
  4. 04:55
  5. 04:50

Foto de WebRun

Foto de WebRun

Foto de MidiaSport

Foto de MidiaSport

Foto de MidiaSport

Foto de MidiaSport

Foto de WebRun

Foto de WebRun

Esportes , , , ,

“Pretty print” para seus objetos Ruby

8 de abril de 2010

Vira e mexe, seja no irb ou no script/console, temos que exibir o conteúdo de objetos para examinar seus valores. A maneira mais comum para fazer isso é utilizando os método puts ou o método p, como no exemplo abaixo:

Esse tipo de exibição não é muito legível, principalmente se você estiver no script/console visualizando os dados de  um ActiveRecord:

No caso de objetos ActiveRecord, há a opção da exibição em YAML, chamando o método y no script/console:

Agora existe uma gem chamada awesome_print que permite exibir os dados dos objetos com identação e cores de acordo com o tipo de dado.

Primeiro vamos instalá-la:
$ sudo gem install awesome_print

E para exemplificar, vamos usar o script/console para exibir os valores de um hash. Note que é necessário fazer uma referência para o arquivo “ap”. Depois bastar chamar o método ap:

Uma coisa legal é que dependendo do tipo do valor, as cores são diferentes.

Agora veja um exemplo utilizando um ActiveRecord:

Uma ressalva negativa é a não exibição dos valores decimais, como acontece quando se exibe o ActiveRecord em YAML. Talvez para uma próxima versão isso melhore.

Há também algumas opções para customizar a forma como os dados são exibidos pela awesome_print, como por exemplo o tamanho da identação e as cores. Para mais informações, veja a documentação da gem: http://github.com/michaeldv/awesome_print.

Ruby , , , , , ,

Livros técnicos em inglês X Livros técnicos em português

3 de abril de 2010

Não quero criar mais uma polêmica sobre a qualidade dos livros técnicos em português, escassez de publicações originais, traduções problemáticas, dificuldade dos leitores em ler livros em inglês, etc. Diversas opiniões e discussões como essa e essa existem aos montes. Somente quero relatar minhas experiências relacionadas a esse assunto e dar minha singela opinião a respeito.

Quando comecei a programar em 2000, sempre procurava material de estudo em português, seja na Internet ou um livros. O mesmo acontecia quando estava na faculdade e emprestava livros de sua biblioteca. Aliás, em geral eu sempre estava com algum livro emprestado de lá.

Em torno de um ano depois, eu precisava fazer o TCC da pós-graduação e somente havia encontrado material em inglês sobre o assunto que meu grupo escolheu. Isso me obrigou a traduzir uma série de artigos e documentações, o que não foi nada fácil. Mas isso melhorou muito meu “vocabulário técnico” e passei a dar mais atenção em material em inglês, principalmente documentação de referência de linguagens e plataformas.

Ficou claro para mim que era inevitável conhecer inglês para ser um bom desenvolvedor.

Mesmo estudando inglês, nessa época, se houvesse um livro em inglês com tradução em português, eu sempre dava preferência para os livros em português, por esse motivos:

  • Eram mais baratos: o frete e o preço do dólar encarecia os livros importados;
  • Eram mais acessíveis, pois eu os encontrava em qualquer boa livraria sem ter que encomendá-los;
  • Eu os lia mais rápido comparados com livros em inglês;
  • Livros em formato digital não me atendiam, pois grande parte do meu tempo de leitura se dava em viagens de ônibus e/ou metrô;
  • Eu não prezava a qualidade (ou ainda não tinha noção da má qualidade de algumas traduções.

Minha carreira foi evoluindo e com isso a necessidade de se atualizar e de adquirir novos conhecimentos cada vez mais rápido. Não dava para esperar um ou dois anos para alguma editora nacional decidir traduzir um livro. Novamente a necessidade me ajudou, passando a não dar mais preferência para os livros em português.

Lendo livros em inglês e comparando-os com suas versões traduzidas, notei que a maior parte dos livros em português pecam demais em qualidade. São muitos erros, traduções absurdas, traduções ao pé da letra, trechos que não são traduzidos e por aí vai. Eu posso contar nos dedos quantos livros traduzidos que eu li que realmente eram fiéis às suas versões originais.

Atualmente, além de preferir os livros em inglês, também dou preferência para as versões digitais, como em formato PDF. Tenho a possibilidade de lê-los em meu notebook, principalmente nas viagens de ônibus fretado que faço todos os dias. Além disso, considero como uma pequenina contribuição para o meio ambiente.

Com o hábito, você vai aprimorando sua leitura em inglês a cada dia, o que aos poucos vai ser tornando algo natural. No começo pode ser difícil, eu sei, já passei por isso. Mas se você pretende ser mais do que um desenvolvedor medíocre, é um passo inevitável.

Se você ainda não tem a segurança de ler um livro técnico em inglês e precisa estudar sobre um determinado assunto agora, leia a versão em português (se existir uma). Não há nenhum pecado nisso. Mas se esforce para conseguir ler em inglês logo. Estude, invista na sua carreira. Se precisar de uma motivação a mais, leia esse artigo do Fabio Akita.

Caso você seja fluente em inglês ou não tem nenhum problema em ler livros em inglês, é claro que você vai esquecer os livros em português, a não ser que seja uma produção original e não uma tradução. Mas também ajude e incentive seu companheiro de trabalho ou estudo à prática da leitura em inglês, ao invés de discriminá-lo por estar lendo um livro em português ou por ter dificuldades de ler em inglês, algo que eu já vi muito acontecer. Afinal, assim como você, ninguém já nasceu sabendo.

Livros ,