en   |   pt

Junior Oliveira

Articles

Introdução a Nancy
  |     pt 

Olá pessoal, hoje eu vou falar um pouco sobre Nancy.

O que é?

É um framework leve e simples para construção serviços HTTP usando tecnologia .Net e Mono, e fornece uma Domain Specific Language (DSL) para devolver uma resposta de forma simples.
Foi projetada para rodar em qualquer lugar, já que ela possui seus próprios objetos de solicitação e resposta.
Um dos conceitos fundamentais em Nancy são os hosts. Um host atua como um adaptador para um ambiente de hospedagem, permitindo assim que ela possa ser executada com as tecnologias existentes, como ASP.NET, WCF e Owin, ou integrado em qualquer aplicação.
Nancy é um projeto open source, hospedado no GitHub e está licenciado sob a MIT license.

Read more »
Simple.Data
  |     pt 

Olá pessoal, hoje eu vou falar um pouco sobre Simple.Data.

O que é?

Simple.Data é um micro framework de acesso a banco de dados baseado no ActiveRecord e DataMapper do Ruby.
Ele usa dynamic do .NET 4 para interpretar nomes de método e propriedade em tempo de execução e mapeá-los usando uma abordagem baseada em convenções.

Read more »
Jekyll no Windows 7
  |     pt 

Olá pessoal, neste post eu vou explicar como instalar o Jekyll no Windows 7.

Instalar o Ruby

A versão que estou utilizando neste artigo é a Ruby 2.2.3-x64.
Após baixar o arquivo, instale no caminho c:\Ruby22-x64 e selecione a opção Add Ruby executables to your PATH.
Para verificar se o Ruby foi instalado corretamente, abra o powershell e execute o comando abaixo.

Read more »
NHibernate
  |     pt 

Olá pessoal, depois de um tempo parado, vamos falar um pouco de NHibernate.
Este post estava pronto a bastante tempo pode ser que alguma coisa não seja mais aplicado nas novas versão do NHibernate.

Instalando

A forma mais simples de instalar o NHibernate é usando o NuGet, abaixo o comando para instalar o NHibernate. No exemplo estou usando a versão 3.3.3.4000 para o .NET Framework 4.0.

Read more »
TDD (Test Driven Development)
  |     pt 

Olá pessoal! Hoje vou falar um pouco sobre TDD.

Teoria

TDD (Test Driven Development) é a técnica que consiste em codificar os testes antes de qualquer codificação de melhoria ou nova funcionalidade.

Testes unitários são códigos que executam (testam) uma única unidade de código, verificando se o mesmo foi escrito corretamente. São rápidos de serem executados provendo um resultado quase que imediato e de forma automatizada.

Read more »
Strategy Pattern
  |     pt 

Olá pessoal, vou falar um pouco sobre Strategy Pattern, é um Design Pattern que ficou famoso depois de ser catalogado pelo GoF (Gang Of Four) formado por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides no livro “Design Patterns: Elements of Reusable Object-Oriented Software”.

Segue abaixo a definição de acordo com o livro:

“Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.”

Read more »
TDD: Jokenpo
  |     en  pt 

Hello guys, inspired by a dojo that I had at my work, witch the problem that we choosed to solve was the game Jokenpo, I decided to write my soluction using TDD.

The problem was taken from DojoPuzzles.com - Jokenpo witch by the way is very good and has severals problems to solve.

Read more »
Princípio de Segregação de Interface
  |     pt 

Olá pessoal, vou fazer alguns posts sobre S.O.L.I.D. O primeiro que gostaria de abordar com vocês é:

  S
  O
  L
  ISP - Interface Segregation Principle
  D

A definição basicamente é:

“Clients should not be forced to depend upon interfaces that they do not use.”

Read more »
Registrar Logs no Event Viewer com Delphi
  |     pt 

Pessoal, estudando formas de gravar logs da aplicação, me lembrei do Event Viewer do Windows, tempo atrás utilizava classes do .Net em C# para fazer este logs e não mais em arquivos textos. Resolvi estudar se era possível utilizar a mesma técnica em Delphi XE e descobri que sim achei interessante compartilhar com vocês. Vale lembrar que não é algo novo, funciona em versões anteriores do Delphi.

E para não ficar apenas em um exemplo de como utilizar o Event Viewer com Delphi, desenvolvi toda uma estrutura de logs de mensagens utilizando Interfaces, onde ficará fácil caso queiram mudar a forma de gravação dos logs das aplicações de vocês, e também, estou utilizando neste exemplo uma arquitetura onde será fácil aplicar IoC (Inversão de Controle) e DI (Injeção de Dependências), vou deixar para falar deste dois Padrões em outro post.

Read more »
Consumindo DataSnap Server com C#
  |     pt 

Olá pessoal, mais um post sobre DataSnap com Delphi XE, agora eu vou demonstrar como consumir um método em um servidor DataSnap a partir de um cliente em C#.

Read more »
Garbage Collector no Delphi - Parte II
  |     pt 

Olá pessoal, continuando o post anterior de Garbage Collector, agora vou explorar o uso para objetos que herdam a classe TObject.

Em uma thread na lista de discução lista-delphi o membro Caique vez uma colocação perfeita do Garbage Collector no Delphi e como tinha prometido na thread vou compartilhar com vocês a explicação dele. Segue o link da thread.

O Delphi “não” tem Garbage Collector. Entende-se por Garbage Collector uma forma de destruir qualquer objeto fora de contexto como ocorre em plataformas gerenciadas. O que esta demonstrando no seu exemplo é o uso de interfaces e estas sim por definição destroem o objeto a qual estão associadas quando saem do contexto.

Read more »
Consumindo DataSnap Server com PHP
  |     pt 

Olá pessoal, estava estudando DataSnap com Delphi XE, e agora resolvi postar para vocês o resultado deste estudo. O primeiro post será sobre consumir um método em um servidor DataSnap a partir de um cliente em PHP.

Read more »
Garbage Collector no Delphi - Parte I
  |     pt 

Olá pessoal, depois de algum tempo sem postar venho com uma novidade para vocês, para alguns isto pode não ser novidade, mas tenho certeza que para outros é, pelo menos para mim foi novidade, programo em Delphi desde 2005 mais ou menos e fiquei sabendo que o Delphi tinha Garbage Collector só a dias atrás então resolvi criar uma implementação de exemplo.

Neste primeiro exemplo vou trabalhar apenas com objetos que herdam de uma classe Super Classe.

Read more »
JSON (JavaScript Object Notation) e Generics no Delphi
  |     pt 

Olá pessoal, mais um post sobre Delphi desta vez um demonstrar duas novas tecnologias que está sendo muito melhoradas no Delphi deste a versão 2009 até a ultima versão o Delphi XE.

Generics é uma forma de poder passar parâmetro de tipos para classes e métodos possibilitando assim reutilização de código por exemplo e JSON (JavaScript Object Notation) é uma forma de troca de dados entre aplicações semelhante ao XML porém com uma sintaxe bem mais simples e leve. O Delphi XE como algumas versões anteriores dá suporte a implementação usando JSON, em nosso exemplo vamos criar um método totalmente genêrico que recebe um objeto e um tipo e vamos usar o JSON para formatar este objeto e gravar no disco usando a nova classe de IO (input/output) do Delphi e um método de leitura deste arquivo no formato JSON e retornar o mesmo a um Objeto novamente passando o tipo do objeto e o caminho onde se encontra o arquivo.

Read more »
RTTI e Class Helper no Delphi
  |     pt 

Olá pessoal, mais um post sobre RTTI (Run-Time Type Information) no Delphi porém agora eu explorei um pouco mais das novidades do Delphi XE como as novas classes para trabalhar com RTTI e o que pode ser feito usando Class Helper que já vem desde as versões anteriores.

Sobre RTTI não vou me fala muito pois já fiz um post sobre este assunto e Class Helper é um tipo que serve para extender uma classes adionando-a métodos e propriedades.

Para este exemplo vou usar o mesmo contexto do post anterior sobre RTTI para facilitar o entendimento e fazer uma comparação já que no post anterior trabalhei com a versão do Delphi 7 e neste post vou trabalhar com a versão do Delphi XE.

Read more »
Regras de usabilidade
  |     pt 

Segue algumas regras de usabilidade para aplicações web.

1º. Clareza na arquitetura da informação:

O usuário deve entender estrutura da aplicação.

2º. Facilidade de navegação:

O usuário deve acessar a página desejada com no máximo três cliques.

3º. Simplicidade:

Páginas sem acumulo de informações.

Read more »
RTTI (Run-Time Type Information) no Delphi
  |     pt 

RTTI (Run-Time Type Information) é uma técnica utilizada para identificar tipo de objetos armazenados em memória em tempo de execução.

Abaixo um exemplo de como utilizar RTTI em sua aplicação, este exemplo é apenas uma idéia de como usar RTTI para criar classes e métodos genêricos de acesso a base de dados.

Read more »