8 = 2³
Posts tagged dev
Utilizar a API do bit.ly para gerar um url curto em C#
Abr 24th
Hoje andei a dar uma olhadela à API do serviço bit.ly. Para utilizarmos basta mesmo criar uma conta, e com a key que gera para utilizarmos a API rapidamente fazemos qualquer brincadeira.
Segue um exemplo rápido de como gerar um link curto a partir da URL inserida.
string username = "username";
string api = "your_api_key";
using (WebClient w = new WebClient())
{
string LongUrl = "http://oito.geracaohd.com";
string bitLyUrl =string.Format("http://api.bit.ly/v3/shorten?login={0}&apiKey={1}&uri={2}&format=txt",username,api,LongUrl);
string ShortUrl = w.DownloadString(bitLyUrl);
Console.Write(ShortUrl);
Console.Read();
}
E temos algo como isto:

Livro ASP.NET 4.0
Abr 22nd

Já está disponivel para compra, o ultimo livro do Luis Abreu e João Paulo Carreiro.
Os temas abordados são os seguintes:
- Arquitectura de aplicações ASP.NET, Formulários Web e Controlos ASP.NET;
- Controlos data source e Controlos data bound;
- Serviços, segurança e perfis de utilizadores;
- Manutenção de estado;
- Validação de dados e scripts no lado cliente;
- Configuração de aplicações e tratamento de erros;
- User controls, master pages, themes e skins;
- Localização de aplicações;
- Handlers e módulos;
- ASP.NET AJAX no lado servidor;
- A nova livraria ASP.NET AJAX no lado cliente;
- Projectos e Aplicações, Construção de portais e Ciclo de vida de uma página.
T-SQL: CSV para Linhas (UDF e XML)
Abr 10th
Esta semana precisei de fazer exactamente o que o titulo do post indica, ou seja, retornar todas as linhas de uma tabela mas ao mesmo tempo separar os valores numa das colunas em cada linha.
Para testar, criei a seguinte tabela:
CREATE TABLE [dbo].[Agentes](
[Codigo] [varchar](50) NULL,
[Nome] [varchar](50) NULL,
[Emails] [varchar](100) NULL
)
Inseri alguns dados com o mesmo formato da tabela real que iria depois utilizar:
INSERT INTO Agentes
VALUES('C12345','Agente 1','agente1@xpto.pt;agente1.loja@xpto.pt')
INSERT INTO Agentes
VALUES('C12346','Agente 2','agente2@xpto.pt;agente2.loja@xpto.pt')
Como já podem perceber, o campo “Emails” precisa de ser retornado com apenas um email, ou seja, preciso de passar uma listagem como esta

para uma como esta

Para isso precisei de fazer uma função que me separasse cada um emails de forma a poder retornar um por cada linha.
CREATE FUNCTION dbo.SplitEmails(@separador char(1), @emails varchar(512))
RETURNS table
AS
RETURN (
WITH Emails(pn, start, stop) AS (
SELECT 1, 1, CHARINDEX(@separador, @emails)
UNION ALL
SELECT pn + 1, stop + 1, CHARINDEX(@separador, @emails,
stop + 1)
FROM Emails
WHERE stop > 0
)
SELECT SUBSTRING(@emails, start, CASE WHEN stop > 0 THEN
stop-start ELSE 512 END) AS email
FROM Emails
)
Por fim, para ter a listagem com o formato pretendido, bastou fazer o CROSS APPLY com a minha tabela de agentes, e está o trabalho feito.
SELECT a.Codigo,a.Nome,c.email FROM Agentes a
CROSS APPLY SplitEmails(';',a.Emails) c

Outra forma de retornar esta listagem, indicada pelo @Caio, era recorrendo ao XML e evitava assim criar uma função para fazer o split dos emails.
WITH Consulta AS
(
SELECT Codigo, Nome,
CAST('<email>' +
REPLACE(Emails, ';', '</email><email>') +
'</email>' AS XML)
AS EmailXml
FROM Agentes
)
SELECT Codigo, Nome,
r.value('.', 'varchar(255)') AS Email
FROM
Consulta
CROSS APPLY
consulta.EmailXml.nodes('email') AS x(r)
Visual Studio 2010 and .NET Framework 4 Training Course
Nov 3rd
The Visual Studio 2010 and .NET Framework 4 Training Course includes videos and hands-on-labs designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including: C# 4.0, Visual Basic 10, F#, Parallel Computing Platform, WCF, WF, WPF, ASP.NET AJAX 4.0, ASP.NET MVC Dynamic Data.
Units in this course:
- Overview
- Managed Languages
- ASP.NET 4
- Data Platform
- Windows Communication Foundation and Workflow
- Parallel Computing
- Application Lifecycle Management
- Summary
Ciclo de Seminários sobre desenvolvimento de software
Set 28th
Vai-se realizar um ciclo de seminários pela FCT da Universidade de Coimbra, no ambito da parceria com a Universidade Carnegie Mellon, sobre desenvolvimento de software.
Serão 4 seminários, realizados em Lisboa e no Porto, com o seguintes temas e datas:
- 10 de Outubro – Gestão de Risco em Projectos de Software
- 31 de Outubro – Desenvolvimento Ágil de Software com SCRUM
- 21 de Novembro – Dinâmica de Equipas e Grupos
- 12 de Dezembro – Metodologias de Desenvolvimento de Software
Cada seminário terá um valor de 25€ ou poderão fazer o registo para todos pelo valor de 70€.
Para mais informações visitem http://mse.dei.uc.pt/workshop/
Free AJAX and Silverlight Automated Testing by Telerik
Set 17th
WebAii Testing Framework helps developers build automated unit tests, functional tests and end to end scenario tests for both AJAX- and Silverlight-powered applications. From automating complex UI actions, waiting on DOM changes to imitating the complete list of UI XAML elements in Silverlight – it’s all in here for free!
Website: WebAii Testing Framework
ReMix 09 PT
Set 2nd
O ReMIX traz-lhe as tendência e a inovação Web: o futuro das tecnologias como o Silverlight, o Internet Explorer, Expression, ASP.NET e Windows Azure.
Um dia completo, com três tracks, 13 sessões e os melhores Oradores. Terá ainda a oportunidade de partilhar as melhores práticas com a Comunidade Web.
Inscreva-se Já! Número de lugares limitado. 50€, com IVA incluído. (tirado do site)
SQL Server 2008 Deep Dive
Ago 12th
Vai-se realizar dia 10 e 15 de Setembro, em Lisboa e no Porto respectivamente, um evento que aborda principalmente as novas funcionalidades presentes no SQL Server 2008.
Resource Governor, Partitioning, Auditing, X-Events são alguns dos temas que irão ser abordados neste evento, mas o programa completo pode ser visto aqui.
Podem fazer a inscrição nos seguintes links:
Lisboa – 10 de Setembro no Auditório Microsoft (TagusPark)
Porto – 15 de Setembro na Fundação Dr. António Cupertino de Miranda
Data Source Configuration Wizard não lista os datasources disponiveis
Jul 22nd
Há uns tempos atrás tive um problema com o meu Visual Studio que, devido ao tempo disponivel para solucionar o problema ter-se esgotado, levou-me a formatar a máquina para voltar tudo à normalidade.
Ao utilizar o Wizard para criar um Data Source, a listagem dos tipos que teria disponiveis não me estava a aparecer
Pelos vistos apareceu mais alguem com o mesmo problema e conseguiu resolver sem a trabalheira de formatar e instalar tudo novamente como podem ver aqui.
SQL Server 2008 Resource Governor
Jul 21st
O Resource Governor é uma funcionalidade adicionado ao SQL Server 2008 que permite-nos gerir a carga e os recursos que irão ser usados em determinada base de dados.
Muitas vezes, devido a querys mal construidas ou até mesmo por se tratar de operações bastante pesadas, pretendiamos que apenas utiliza-se uma percentagem dos recursos do servidor e deixasse os restantes recursos para outras operações que fossem solicitadas.
Esta funcionalidade veio resolver isto mesmo, ou seja, podemos agora definir que determinada operação irá apenas usar X% dos recursos e até mesmo indicar quais serão as querys prioritárias.
Para perceberem melhor como funciona e como configurar, deixo os seguintes links:


![data-source-config-wizard-dialog[1] data-source-config-wizard-dialog[1]](http://oito.files.wordpress.com/2009/07/data-source-config-wizard-dialog1.jpg)

Twitter
LinkedIn
Facebook
FriendFeed
Google Profile
Delicious


