terça-feira, 8 de fevereiro de 2011

Revista Easy .net Magazine 8

A revista Easy .net Magazine, nossa publicação voltada para os desenvolvedores iniciantes na plataforma Microsoft .NET, chega a sua 8a Edição!

ASP.NET
Conheça as diferenças entre os modelos Web Site e Web Application
Rodrigo Araujo

Aplicações Windows Forms, Class Libraries e Arquivos TXT
Crie um utilitário para ler e gravar arquivos no formato texto
Vladimir Rech

XML
Usando as classes do .NET Framework para criar e ler arquivos XML
Vladimir Rech

Visual Studio 2010
Conheça os principais recursos do IDE – Parte 2
Rodrigo Araujo

WebMatrix e ASP.NET Razor
Conheça a nova ferramenta da Microsoft para construção de aplicações Web
Fabrício Lopes Sanchez

Revista .net Magazine 82

Gerenciar transações é fundamental em qualquer tipo de aplicação que utilize bancos de dados relacionais, como o SQL Server. Elas garantem o que chamamos de propriedades ACID: Atomicidade, Consistência, Isolamento e Durabilidade. Atomicidade garante que todas as operações devem ser bem sucedidas ou tudo deverá ser desfeito. Consistência garante que nenhuma informação ficará em estado inconsistente após o término da transação. Isolamento é a propriedade que diz que os dados envolvidos em uma transação devem ser isolados de outras transações. E finalmente, Durabilidade garante que uma vez que a transação foi efetivada seus resultados serão persistidos até mesmo se qualquer tipo de falha ocorrer após a efetivação. O exemplo mais clássico para entender transações são as próprias movimentações bancárias. Não seria nada interessante efetuarmos uma transferência de uma conta corrente para outra sem garantir que o débito seja feito na primeira conta e o crédito de mesmo valor na segunda. Ambas as operações devem ser executadas com sucesso. Ou ambas ou nenhuma, isso é atomicidade. Os frameworks de acesso a dados do .NET, como ADO.NET, oferecem suporte ao gerenciamento de transações. Agora imagine transpor isso para um cenário distribuído, como no caso do WCF - Windows Communication Foundation. Aqui não temos operações SQL, temos métodos. Nesse caso, como garantir propriedades como atomicidade, como nos bancos relacionais? O WCF tem sido utilizado como camada servidora para muitos cenários, por exemplo, onde aplicações RIA – Rich Internet Applications – incluindo AJAX e Silverlight consomem recursos do servidor. Nesse caso temos uma real necessidade de utilização de transações distribuídas no WCF, como você poderá conferir na matéria do Anderson Santos Gusmão.
Ainda nesta edição temos um artigo com uma boa ideia do Vladimir, onde o autor apresenta técnicas para serializar e persistir documentos em um banco de dados do SQL Server. Que tal criar seu próprio sistema de documentos na nuvem?
Na sessão Boas Práticas, o Fabio Gouw apresenta o NuGet, ferramenta indispensável para quem trabalha com pacotes e componentes de terceiros no Visual Studio. O Nelson Bassetto apresentou uma excelente aplicação de padrões de projeto na edição 69 da .net Magazine, exemplo no qual um componente para aplicação de Cache poderia ser facilmente plugável e estendido, com a utilização de AOP (Aspect Oriented Programming). O autor reapresenta o cenário e prova que os Design Patterns aplicados anteriormente realmente valeram a pena, pois o componente criado será estendido sem dificuldades, utilizando-se agora da mais nova tecnologia para Cache disponibilizada pela Microsoft, o módulo AppFabric Caching Services do Windows Server. Temos ainda a continuação da série sobre ASP.NET MVC 3 do Vinicius Quaiato, onde o leitor aprenderá mais recursos poderosos e interessantes dessa nova versão do framework, como validação através de atributos e Web Helpers. Finalizando, o Fábio Meira traz uma excelente matéria na sessão Engenharia de Software, sobre Testes Funcionais em Ambientes Ágeis.

Lista completa de artigos da edição:

Bing Maps e Silverlight
Sidnei Santiago

Suporte transacional com WCF
Mantendo integridade e consistência de informações
Anderson Santos Gusmão

Digitalização de Documentos
Armazenando documentos em um banco de dados
Vladimir Rech

NuGet
Gerenciando referências no Visual Studio 2010
Fabio Gouw

AppFabric Caching Services
Funcionalidades, instalação, configuração e utilização
Nelson Rodrigo Lombardi Bassetto

ASP.NET MVC 3 – Parte 2
Conhecendo as novidades da nova versão do framework MVC para .NET
Vinicius Quaiato

Testes de Software
Elaborando Testes Funcionais em Ambientes Ágeis
Fábio Lúcio Meira

ASP.NET
AJAX Control Toolkit
Fabrício Lopes Sanchez

Vídeos:

PowerShell
Aplicação Web de gerenciamento de documentos
Web.Config
Introdução ao WCF
Silverlight 4 - Novidades do DataBinding
WPF: Calendar e DatePicker

Revista ClubeDelphi 126

Na edição 124 da Revista ClubeDelphi iniciamos nossa cobertura sobre as novidades do Delphi XE, oportunidade em que trouxemos um artigo especial sobre o Subversion, ferramenta agora integrada ao IDE da Embarcadero. Na edição anterior (125) abordamos o CodeSite, a melhor ferramenta de Logging e Debug para Delphi. Esta edição traz a cobertura de mais uma das novidades do novo Delphi XE. O FinalBuilder é a melhor aplicação para automação de Build que existe no mercado, em minha opinião. Em uma situação real, foi o FinalBuilder que reduziu drasticamente o trabalho que tínhamos em um projeto onde existiam mais de 5 mil units e forms. Diariamente o aplicativo compilava centenas de componentes clientes, bibliotecas servidoras DataSnap, formulários, gerava pacotes BPL, os executáveis, enviava tudo para seus devidos lugares (fontes no repositório no StarTeam e aplicações para ambiente de homologação), gerava DOCs atualizados do framework, registrava bibliotecas COM e enviava LOGs de tudo para a equipe. São tarefas rotineiras do dia-a-dia de qualquer desenvolvedor, que podem agora ser totalmente automatizadas. Produtividade na certa para você e sua equipe. Confira um overview da ferramenta na matéria do Daniel Sobrinho.
O Rodrigo Carreiro apresenta um excelente artigo sobre DataSnap, fugindo da tradicional abordagem multicamadas. Aqui são empregadas técnicas avançadas para transferir e persistir objetos em arquiteturas mais modernas, com a utilização de importantes padrões de projeto, como DAO – Data Access Object, além do emprego eficaz de RTTI – Runtime Type Information e Generics. Um excelente guia para criar soluções multicamadas robustas utilizando os mais novos recursos do Delphi XE, da linguagem Delphi e da plataforma DataSnap. Outra novidade do Delphi XE é o suporte nativo a Expressões Regulares, como você vai conferir na matéria do Rodrigo Araujo.
Na sessão Boas Práticas você vai encontrar um artigo do Rafael Stavarengo, abordando o poderoso padrão Strategy, reforçando importantes técnicas da Programação Orientada a Objetos, como Programação para Interfaces, Abstração e Princípio da Responsabilidade Única. O autor utiliza uma das abordagens didáticas mais interessantes já vistas aqui, primeiro apresentará o exemplo com um grande problema de projeto. A seguir, apresenta a solução, afinal, Design Patterns são exatamente isso, soluções prontas para velhos problemas já conhecidos.
Ainda nesta edição, o Vitor Rubio apresenta um artigo Mão na Massa onde cria uma interface Desktop para interagir com o WordPress, um dos principais Content Management System existentes. A solução apresentada é extremamente útil: ajudar a empresa a monitorar feedbacks feitos por clientes da empresa.

Lista completa de artigos da edição:

]Delphi Prism e ADO.NET Entity Framework
Guinther Pauli

WordPress
Crie um aplicativo Delphi para monitoramento de feedback de clientes
Vitor Luiz Rubio

Expressões Regulares
Conheça a nova biblioteca RegEx nativa do Delphi XE
Rodrigo Araujo

DataSnap XE, Generics, RTTI e DAO
Transfira e persista objetos em aplicações multicamadas
Rodrigo Carreiro Mourão

FinalBuilder
Automação de Build no Delphi XE
Daniel Sobrinho Laporte

Padrão Strategy
Encapsule responsabilidades criando grupos de classes especializadas
Rafael Stavarengo

Aplicações com Firebird Embedded – Parte 2
Utilizando o Firebird embarcado, sem necessidade de instalação e configuração
Daniel Sobrinho Laporte

Vídeos:

RegularExpressionValidator
Rodrigo Araujo

Exp. Regulares no Delphi Win32
Rodrigo Araujo

FinalBuilder
Rodrigo Araujo

Delphi Prism – Transações
Guinther Pauli

Delphi Prism – Class Library
Guinther Pauli

quinta-feira, 3 de fevereiro de 2011

Revista .net Magazine 81

Se você desenvolve aplicações Web com o .NET Framework, muito provavelmente faz isso através de Web Forms. O desenvolvimento visual, drag & drop, com controles servidores, separação de layout do código de negócio e funcionalidade foi algo que revolucionou o desenvolvimento Web. Desenvolver uma aplicação Web se tornou tão fácil quanto desenvolver uma aplicação Desktop. Você coloca alguns controles na tela, faz a ligação de dados, se quiser usar boas práticas pode criar uma classe de negócio e trabalha diretamente com eventos (quem não lembra como era difícil trabalhar com requests e actions diretamente, ainda nos tempos do CGI). Recentemente temos ouvido falar sobre um novo padrão para desenvolvimento Web, que une o melhor de dois mundos: o famoso e consagrado padrão MVC (Model-View-Controller) e o ASP.NET. Nasceu o ASP.NET MVC, mais robusto, organizado, baseado em boas práticas e um padrão já consagrado no mercado. Melhor manutenção e melhor separação da aplicação em camadas. O ASP.NET MVC em sua versão 3 vem repleto de novidades, como por exemplo: Razor View Engine, Dependency Injection, Global Action Filters, suporte melhorado a JavaScript, jQuery e JSON. A partir desta edição, na série iniciada por Vinicius Quaiato, você conhecerá na prática todas as novidades, bem como os fundamentos do padrão MVC aplicados ao ASP.NET.
O Alexandre Tadashi traz um artigo sobre o BPOS (Business Productivity Online Standard Suite), um conjunto de ferramentas da Microsoft que roda nas nuvens, com alta disponibilidade, sofisticado sistema de segurança e com um gerenciamento simplificado. Para o leitor expert, o Elemar desvenda a Intermediate Language – IL, mostrando como criar aplicações em .NET que podem gerar diretamente código neste formato. Você entenderá as principais construções da linguagem, conhecendo assim um pouco mais sobre como a plataforma .NET funciona internamente. O Fernando apresenta uma visão geral do Windows Communication Foundation. E no Silverlight, você verá na matéria do Alexandre como usar Behaviors.
Na sessão Boas Práticas o leitor poderá acompanhar mais dois artigos, além do ASP.NET MVC 3 já apresentado. O Vladimir mostra técnicas para o tratamento correto de exceções em aplicações .NET com C#, indo bem além do famoso try catch. O Rodrigo Sendin apresenta um das novidades da plataforma .NET, o recurso de Data Annotations, utilizado para validar entidades. Em seu outro artigo, o mesmo autor faz um excelente comparativo sobre as tecnologias disponíveis para desenvolvimento Web no .NET: ASP.NET Web Forms, ASP.NET MVC e Silverlight.

Protegendo dados em memória
Trabalhando com o objeto SecureString
Anderson Santos Gusmão

BPOS
Introdução ao Microsoft Productivity Online Standard Suite
Alexandre Tadashi Sato

Intermediate Language - IL
Como as coisas funcionam no .NET
Elemar Júnior

WCF
Uma visão geral
Fernando Rodrigues da Silva

Silverlight
Usando Behaviors
Alexandre Tadashi Sato

Tratamento adequado de erros
Indo além do try catch
Vladimir Rech

ASP.NET MVC 3 – Parte 1
Conhecendo as novidades da nova versão do framework MVC para .NET
Vinicius Quaiato

DataAnnotations com WPF
Implementando o Notification Pattern
Rodrigo Sendin

Tecnologias Web no .NET
Quando usar ASP.NET, MVC e Silverlight
Rodrigo Sendin

Visual Studio LightSwitch
Criando pequenas aplicações profissionais em poucos minutos
João Betame de Sá Teixeira

Brindes

.NET 4 – Code Contracts

Silverlight 4 – Suporte a arquivos locais

Vídeo Aulas

Intermediate Language - IL

ASP.NET MVC 3

Tratamento de Erros e Exceções em Aplicações Web com ASP.NET

Revista ClubeDelphi 125

Esta edição continua a nossa cobertura das principais novidades do Delphi XE. Nosso destaque este mês vai para o CodeSite, a melhor ferramenta de Logging e Debug para Delphi. Mas o Delphi já não tem um excelente depurador integrado? Para que eu preciso de outro depurador? O CodeSite pode ser classificado como um eficaz sistema de Logging, ou ainda, de instrumentação de código, também podendo atuar na técnica de Profiling. Imagine que estamos desenvolvendo uma grande aplicação, com milhares de linhas de código, classes de negócio, componentes, acesso a dados, pacotes, interfaces VCL etc. É muito comum nos remetermos ao que chamamos de “depurador” dos pobres quando é preciso inspecionar o próprio comportamento da aplicação em execução. Por exemplo, o envio de informações para a tela ou para um arquivo, sobre consumo de memória, ou tempo de execução de procedimentos, a fim de detectar gargalos, verificar estados de objetos, alcance de pontos de execução do sistema e mais. Isso se torna ainda mais claro em ambientes de produção com servidores DataSnap ou Web, tipicamente aplicações multithread, onde simplesmente não temos como depurar uma aplicação em uma situação real de execução, pois: 1) não é simples depurar um servidor rodando remotamente com o IDE na máquina de desenvolvimento, a saída seria o Remote Debugger 2) é praticamente impossível debugar aplicações multithread, ainda mais se usarem eventos. O CodeSite permite que o desenvolvedor “injete” código de inspeção (vamos chamar de um ShowMessage “tunado”), onde é possível enviar mensagens, objetos e tipos personalizados para um ambiente real de log (“ao vivo”), podendo ainda ser analisado posteriormente. É aqui vai a melhor notícia, o CodeSite que antes era uma ferramenta separada, agora vem junto com o Delphi e é integrado ao IDE, como você vai conferir na matéria do Rodrigo Araujo.
Ainda nesta edição, uma matéria especial sobre o Firebird 2.5, escrita por um dos desenvolvedores do banco, o Adriano. E mais novidades, o Rodrigo Carreiro detalha o uso dos novos recursos para suporte a REST no DataSnap do Delphi XE. Criação de Experts e Plug-ins para estender o IDE do Delphi XE é o tema da matéria do Vitor Rubio. Finalizando, mais boas práticas, com uma matéria sobre Testes do Rafael Stavarengo.

Boa leitura e sucesso com o Delphi XE! Aproveito para desejar a todos os nossos leitores um ótimo ano de 2011.

MonoDevelop e Prism
Criando aplicações para iPhone com Delphi
Sebastian P.R. Gingter - RemObjects Software

Firebird 2.5
Conheça os principais recursos do banco de dados mais utilizado pela comunidade Delphi
Adriano dos Santos Fernandes

DataSnap no Delphi XE
Aplicações distribuídas baseadas em REST e JavaScript
Rodrigo Carreiro Mourão

Estenda seu Delphi XE
Aprenda a criar experts e plug-ins
Vitor Luiz Rubio

CodeSite
Log e depuração avançada no Delphi XE
Rodrigo Araujo

Desenvolvimento ágil
Entenda a relação entre desenvolvimento ágil e testes unitários
Rafael Stavarengo

Aplicações com Firebird Embedded – Parte 1
Utilizando o Firebird embarcado, sem necessidade de instalação e configuração
Daniel Laporte

VÍDEO-AULA - ClientDataSet - Mybase e Briefcase Mode
Guinther Pauli

VÍDEO-AULA - GExperts
Rodrigo Araujo

VÍDEO-AULA - Profiling de Código
Rodrigo Araujo

VÍDEO-AULA - Programação MultiThread com Delphi
Rodrigo Araujo

Brindes

Crystal Reports – Introdução
Crystal Reports– Menu de Ferramentas
Delphi Prism – Criando uma camada de acesso a dados