Saiu o Microsoft Visual Studio Scrum 1.0 uma nova extensão para o Team Foundation Server 2010. O download pode ser feito no Visual Studio Gallery.
O Scrum é uma metodologia àgil para gestão de projectos de software cada vez mais utilizada por equipas experientes, agilizando os processos de gestão em grandes projectos (não só em tempo).
É uma função muito simples embora cause alguma confusão aquando da implementação. Deve-se ter em atenção que não pode ter qualquer código HTML, pois se tiver haverá problema com os headers.
Aqui fica a função:
$id = 1;
mysql_select_db(“docs”) or die(mysql_error());
$query = “SELECT assunto, tipo_ficheiro, size, ficheiro ” .
“FROM documentos WHERE id = ‘$id’”;
$result = mysql_query($query) or die(‘Error, query failed’);
list($assunto, $tipo_ficheiro, $size, $ficheiro) = mysql_fetch_array($result);
header(‘Content-Description: File Transfer’);
header(“Content-length: $size”);
header(“Content-type: $tipo_ficheiro”);
header(“Content-Disposition: attachment; filename=”.$ficheiro);
header(‘Content-Transfer-Encoding: binary’);
header(‘Cache-Control: must-revalidate, post-check=0, pre-check=0′);
header(‘Pragma: public’);
echo $ficheiro;
A função mysql_fetch_assoc() permite recuperar o resultado de uma query (SELECT) como array associativo permitindo assim ir buscar cada uma das colunas de uma tabela pelo nome da query (atributo ou variável).
Por exemplo:
$result = mysql_query(“SELECT * FROM documentos”) or die(mysql_error());
$row_result = mysql_fetch_assoc($result);
$row_result['id'];
$row_result['nome'];
$row_result['data'];
O Linq possibilita a escrita de queries independentemente da linguagem da base de dados ou linguagem de cosulta.
O Linq define um conjunto de operações SQL padrão que podem manusear qualquer fonte de dados. Esse conjunto de operações é fornecido através de extensões disponíveis na arquitectura Linq.
Essas extensões são:
Linq to Objects Disponibiliza consultas com o objecto IEnumerable para fontes de informação do tipo array, collections ou lists;
Linq to XML Disponibiliza meios eficiente e de fácil manipulação de dados em XML e funcionalidades para programação de XPath e XQuery;
Linq to SQL Esta extensão possibilita o acesso a objectos de bases de dados relacionais tal como se acessa a objectos .NET;
Linq to DataSet Facilidades de consulta com o ADO.NET Dataset;
Linq to Entities Fornece capacidades de consulta às entidades ADO.NET.
Um exemplo de uma query simples num array ficará desta forma:
int[] num = { 5, 3, 4, 0, 6, 7, 6, 2, 3 };
var menores = from n in num
where n < 5
select n;
Nesta query temos o from utilizado como um foreach, o operador where utilizado como selecção condicional e o select como selector dos dados, campos do array. A isto se chama Standard Query Operators.
A consulta feita vai devolver um objecto IEnumerable<T> que referencia um objecto em memória com inteiros, em que os valores são menores que 5.
A mesma sintaxe é utilizada quando fazemos consultas em objectos. Neste caso podemos fazer da seguinte forma:
List<Produto> produtos = GetProductList();
var expensiveInStockProdutos =
from p in produtos
where p.UnitsInStock > 0 && p.UnitPreco > 10.00M
select p ;
ArrayList list = new ArrayList();
foreach (var i in expensiveInStockProdutos)
list.Add(i);
ProdutosGrid.AutoGenerateColumns = true;
ProdutosGrid.DataSource = list;
ProducosGrid.DataBind();
Esta consulta utilize o commando where para encontrar todos os produtos em stock e com um preço maior que 10. A variável produtos refere-se ao objecto produtos inicializado com o método GetProductList().
A variável expensiveInStockProdutos é do tipo IEnumerable<produto> que referencia uma colecção de objectos é equivalente ao tipo de produto.
Os produtos no expensiveInStockProdutos são adicionados a uma ArrayList utilizada depois numa tabela onde apresentará os dados, por exemplo numa página aspx.
O ProdutosGrid.AutoGenerateColumns está como True uma vez que permite gerar dinamicamente as colunas com os nomes resultantes da query.
A Portugal Telecom tem um site onde explica o que é o IPv6, o novo protocolo que substituirá o velhinho IPv4 que se aproxima do fim da sua capacidade.
Entre outras curiosidades explica o seu funcionamento, as mudanças, vantagens, etc.
←Older