Archive for dezembro, 2009

Desenvolvimento Ágil – Parte 2

sexta-feira, dezembro 4th, 2009

Como colocado no post anterior, vamos falar agora sobre os 12 princípios que foram destacados pelos signatários do Manifesto Ágil.

1 – Nossa maior prioridade é satisfazer o cliente através de entregas rápidas e contínuas de software usual.

Esse princípio coloca de forma muito clara a importância que o Manifesto Ágil dá as entregas rápidas. Por conta desse princípio os agilistas têm que trabalhar de forma muito focada no que importa para o cliente. Releases curtas e software funcionando são melhores que releases longas e de software que por vezes não é funcional.

2 – As mudanças são bem vindas. Os processos ágeis tiram proveito da mudança, não se colocam contra ele.

Os agilistas tem que aceitar que as mudanças são oportunidades para encontrar novas vantagens competitivas no software que estão desenvolvendo. Dado que a realidade do mercado é cada vez mais de mudanças, que o mercado se move cada vez mais velozmente, adotar uma postura enrijecida diante da necessidade de mudanças pode ser um erro fatal. No mínimo ao final do projeto vai-se entregar para o cliente um software inútil.

(mais…)

Um pouco sobre LINQ

quinta-feira, dezembro 3rd, 2009

Olá a todos novamente. Esse post tratará sobre LINQ (que quer dizer Language Integrated Query, ou Linguagem de Consulta Integrada). Você pode usar os nossos conhecidos amigos “select”, “where” e “from” do SQL nativamente no código C# ou VB. Essa poderosa ferramenta permite que você trate objetos da mesma maneira como trataria resultados de uma consulta ao banco.

Um exemplo básico de código:

using System;
using System.Linq;
using System.Collections.Generic;

class LinqTeste {
static void Main() {
string[] nomes = { “Bruno”, “Sérgio”, “Giordano”,
“Eduardo”, “Robson”, “Pablo”,
“Lino”, “Lyanderson” };

IEnumerable query = from s in nomes
where s.Length > 4
orderby s
select s.ToUpper();

foreach (string nome in query)
Console.WriteLine(nome);
}
}

Esse código imprimirá na console todos os nomes cujo tamanho seja maior que 4 (excluindo, portanto, apenas nosso amigo Lino), ordenando-os por ordem alfabética.

Na verdade, a grande sacada do LINQ reside em que podemos abstrair se estamos lidando com um banco ou com objetos – a única diferença é a origem dos dados, não como os tratamos. No caso do exemplo, usamos um array de strings como nossa geratriz de dados, mas isso poderia muito bem ser gerado a partir de uma consulta a um banco.

Além disso, a maioria dos desenvolvedores que já trabalharam com SQL, independente da linguagem em que desenvolvessem, conhecessem os comandos básicos do LINQ. Isso torna mais fácil entender o código, mesmo pra quem não conhece muito bem a sintaxe do C# ou do VB.net.

Espero que tenham gostado desse breve esclarecimento sobre LINQ. Até a próxima!

Qual a diferença entre modo ativo e passivo do FTP? Qual deles devo utilizar?

terça-feira, dezembro 1st, 2009

O FTP possui dois modos de operação: passivo e ativo.

No modo ativo, o cliente requisita o servidor usando uma porta aleatória, por exemplo, a porta 1026, endereçando o pacote à porta 21 do servidor.

O servidor imediatamente contata o cliente de volta, usando a porta seguinte (do cliente) para enviar dados.

Se o cliente usou a porta 1026 para abrir uma conexão, então o servidor enviará os dados na porta 1027.

A questão principal é que o modo ativo não funciona quando o cliente acessa através de uma conexão compartilhada. Ao tentar responder, o servidor cairia na porta 1027 do gateway da rede, sem conseguir chegar ao cliente.

No modo passivo, o cliente também abre a conexão contatando a porta 21 do servidor, entretanto, ao invés de iniciar a conexão imediatamente, o servidor responde avisando que o cliente pode contatá-lo numa segunda porta, escolhida aleatoriamente (a 2026, por exemplo). O cliente inicia, então, uma nova conexão na porta especificada e o servidor responde enviando os dados.

Esta porta fica reservada ao cliente durante o tempo que durar a transferência. Em teoria, isto seria um limite ao número de clientes que poderiam se conectar simultaneamente, mas, na prática, seriam necessárias mais de 64.000 conexões simultâneas ao mesmo servidor FTP para esgotar as portas disponíveis.

Quando o FTP é utilizado em modo ativo em uma rede restritiva, normalmente temos sintomas como:

- conexão de FTP OK, porém não lista os diretórios da hospedagem;
- alguns arquivos/pastas publicados anteriormente não ficam “visíveis” no FTP.