SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Globalcode – Open4education
.NET – Novidades do C# 6
Vinicius Mussak
MSP – MCP
Globalcode – Open4education
Quem sou eu?
Francano
Estudante de Sistemas de Informação
Desenvolvedor de soluções/bugs na EngSolutions
Microsoft Student Partner
Microsoft Certified Professional
Globalcode – Open4education
EngSolutions
Globalcode – Open4education
Agenda
Novidades do Visual
Studio 2015
Debug de expressões
lambda
NuGet package manager
Novidades do C# 6
Using static
Auto-property initializers
Expression-bodied members
Null-conditional operator
String interpolation
Exception filters
Operador nameof
Chamadas assíncronas em
blocos try-catch-finally
Globalcode – Open4education
Visual Studio
Globalcode – Open4education
Expressões lambda
Globalcode – Open4education
NuGet
Globalcode – Open4education
Using static
Sem C# 6 Com C# 6
using System;
Math.Pow(10, 20);
ClasseEstatica.Metodo();
using static System.Math;
Pow(10, 20);
Metodo();
Globalcode – Open4education
Auto-property initializers
Sem C# 6
Com C# 6
public string Cidade { get; set; } = "Porto Alegre";
ConstrutorDaSuaClasse()
{
Cidade = "Porto Alegre";
}
public string Cidade { get; set; }
Globalcode – Open4education
Expression-bodied members
Sem C# 6
Com C# 6
public string NomeCompleto => Nome + " " + Sobrenome;
public string NomeCompleto
{
get { return Nome + " " + Sobrenome; }
}
public string Nome { get; set; }
public string Sobrenome { get; set; }
Globalcode – Open4education
Null-conditional operator
Sem C# 6
Com C# 6
return bairro.Cidade?.Nome;
return bairro.Cidade != null
? bairro.Cidade.Nome
: string.Empty;
public class Bairro
{
public Cidade Cidade { get; set; }
}
Globalcode – Open4education
String interpolation
Sem C# 6
Com C# 6
var x = nome + ", " + idade + " anos";
var y = string.Format("{0:000.000.000-00}", cpf);
long cpf = 18312864326;
string nome = "Zézinho da Silva";
byte idade = 15;
var x = $"{nome}, {idade} anos";
var y = $"CPF: {cpf:000.000.000-00}";
Globalcode – Open4education
Exception filters
Sem C# 6
Com C# 6
catch(Exception ex)
{
if (Debugger.IsAtached)
Console.WriteLine(ex.Message);
else
Console.WriteLine("Ocorreu um erro :(");
}
catch(Exception ex) when (Debugger.IsAtached)
{
Console.WriteLine(ex.Message);
}
catch(Exception)
{
Console.WriteLine("Ocorreu um erro :(");
}
Globalcode – Open4education
Operador nameof
Sem C# 6
Com C# 6
nameof(nomeDaVariavel);
var nomeDaVariavel = "Qualquer coisa";
static string GetName(Expression<Func<T>> expr)
{
return ((MemberExpression)expr.Body).Member.Name;
}
GetName(() => nomeDaVariavel);
Globalcode – Open4education
Chamadas assíncronas em
blocos try-catch-finally
public static async void MetodoQualquer()
{
try
{
throw new Exception();
}
catch (Exception)
{
await TestAsync();
}
finally
{
await TestAsync();
}
}
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Obrigado!
viniciusmussak.net
github.com/vmussak
br.linkedin.com/in/viniciusmussak
twitter.com/viniciusmussak
facebook.com/ViniciusMussak

Mais conteúdo relacionado

Mais procurados

Introdução ao codeigniter
Introdução ao codeigniterIntrodução ao codeigniter
Introdução ao codeigniterPatrick Monteiro
 
Laços de repetição - Aula 2
Laços de repetição - Aula 2Laços de repetição - Aula 2
Laços de repetição - Aula 2profjr
 
Lógica de Programação e a magia de codar em qualquer linguagem
Lógica de Programação e a magia de codar em qualquer linguagemLógica de Programação e a magia de codar em qualquer linguagem
Lógica de Programação e a magia de codar em qualquer linguagemMorganna Giovanelli de Souza
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas
Polly: aplicações .NET resilientes e um melhor tratamento de falhasPolly: aplicações .NET resilientes e um melhor tratamento de falhas
Polly: aplicações .NET resilientes e um melhor tratamento de falhasRenato Groff
 
TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes
TDC Florianópolis 2019. Trilha Java - Arquitetura de TestesTDC Florianópolis 2019. Trilha Java - Arquitetura de Testes
TDC Florianópolis 2019. Trilha Java - Arquitetura de TestesSandro Giacomozzi
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testesSamuel Lucas
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Renato Groff
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareLetticia Nicoli
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...Renato Groff
 
Coding dojo C# com NUnit
Coding dojo C# com NUnitCoding dojo C# com NUnit
Coding dojo C# com NUnitFabricio Panhan
 
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 

Mais procurados (18)

Introdução ao codeigniter
Introdução ao codeigniterIntrodução ao codeigniter
Introdução ao codeigniter
 
Laços de repetição - Aula 2
Laços de repetição - Aula 2Laços de repetição - Aula 2
Laços de repetição - Aula 2
 
Lógica de Programação e a magia de codar em qualquer linguagem
Lógica de Programação e a magia de codar em qualquer linguagemLógica de Programação e a magia de codar em qualquer linguagem
Lógica de Programação e a magia de codar em qualquer linguagem
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas
Polly: aplicações .NET resilientes e um melhor tratamento de falhasPolly: aplicações .NET resilientes e um melhor tratamento de falhas
Polly: aplicações .NET resilientes e um melhor tratamento de falhas
 
TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes
TDC Florianópolis 2019. Trilha Java - Arquitetura de TestesTDC Florianópolis 2019. Trilha Java - Arquitetura de Testes
TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testes
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...
Estendendo as capacidade de seus projetos com Azure Functions e Logic Apps - ...
 
Coding dojo C# com NUnit
Coding dojo C# com NUnitCoding dojo C# com NUnit
Coding dojo C# com NUnit
 
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha DevTest How we figured out we had a SRE team at ...
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
134
134134
134
 

Destaque

Comunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsComunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsVinicius Mussak
 
O que são Kudo Cards e o que isso influencia na nossa organização
O que são Kudo Cards e o que isso influencia na nossa organizaçãoO que são Kudo Cards e o que isso influencia na nossa organização
O que são Kudo Cards e o que isso influencia na nossa organizaçãoVinicius Mussak
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!Vinicius Mussak
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web APIVinicius Mussak
 

Destaque (6)

Comunicação em tempo real com Node.js
Comunicação em tempo real com Node.jsComunicação em tempo real com Node.js
Comunicação em tempo real com Node.js
 
Novidades do C#6
Novidades do C#6 Novidades do C#6
Novidades do C#6
 
O que são Kudo Cards e o que isso influencia na nossa organização
O que são Kudo Cards e o que isso influencia na nossa organizaçãoO que são Kudo Cards e o que isso influencia na nossa organização
O que são Kudo Cards e o que isso influencia na nossa organização
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 

Semelhante a NovC#6

TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7tdc-globalcode
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsRenato Groff
 
Abordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETAbordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETGabriel Schade Cardoso
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...Walter Coan
 
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD....NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...Renato Groffe
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
TDC2018SP | Trilha .Net - Programacao Funcional com C#
TDC2018SP | Trilha .Net - Programacao Funcional com C#TDC2018SP | Trilha .Net - Programacao Funcional com C#
TDC2018SP | Trilha .Net - Programacao Funcional com C#tdc-globalcode
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...Renato Groff
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...tdc-globalcode
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloRenato Groff
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1tdc-globalcode
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeisCristiano Caetano
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...Welington Monteiro
 
Aplicações inteligentes com o Azure Cognitive Services
Aplicações inteligentes com o Azure Cognitive ServicesAplicações inteligentes com o Azure Cognitive Services
Aplicações inteligentes com o Azure Cognitive ServicesGabriel Schade Cardoso
 

Semelhante a NovC#6 (20)

TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
Abordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETAbordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NET
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
 
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD....NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
.NET + Microsserviços: alternativas open source para descomplicar a vida | TD...
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
TDC2018SP | Trilha .Net - Programacao Funcional com C#
TDC2018SP | Trilha .Net - Programacao Funcional com C#TDC2018SP | Trilha .Net - Programacao Funcional com C#
TDC2018SP | Trilha .Net - Programacao Funcional com C#
 
Programação Funcional usando C#
Programação Funcional usando C#Programação Funcional usando C#
Programação Funcional usando C#
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
 
Aplicações inteligentes com o Azure Cognitive Services
Aplicações inteligentes com o Azure Cognitive ServicesAplicações inteligentes com o Azure Cognitive Services
Aplicações inteligentes com o Azure Cognitive Services
 

NovC#6