Assista a gravação do Workshop de ASP.NET CORE 1.1 + SQL SERVER LINUX/WIN + DOCKER + CIRCLECI + AZURE

Foi um sucesso. Quase 400 pessoas de toda parte do Brasil, de norte a sul, acompanharam na semana passada 5 noites de puro conhecimento em que eu e o super Rafael Santos promovemos pelo Youtube. Foi incrível.

Como prometido, as gravações estão disponíveis no meu canal do YouTube. São quase 10 horas de treinamento FREE para você dar aquele ramp-up na carreira. Espero que façam bom proveito e agradecemos qualquer comentário ou like que você puder contribuir.

Para acompanhar, faça o clone do repositório que trabalhamos durante a semana: https://github.com/rsantosdev/workshop-aspnetcore-circleci-azure


Em tempos, tivemos centenas e centenas de feebacks no Twitter. Um deles reporto abaixo. Teve gente que assistiu até do ônibus para não perder nenhum momento


Clique aqui para assistir a série completa e salve no seu favoritos


Se você gostou do workshop e realmente foi útil a você, curta os videos e ajude-nos a divulgar. Não deixe de me seguir no facebook e no twitter, além do canal no YouTube para não ficar de fora dos próximos.

Abraço e até a próxima!

Incrível! Google no projeto .NET, Microsoft na Linux Foundation, Visual Studio no Mac, .NET nas TVs Samsung, e muito mais. Um pouco do primeiro dia do Microsoft Connect(); //2016

<post longo – sim, foram muitas novidades>

Microsoft Conncect(); // 2016

image

O evento dos maiores anúncios deste ano para desenvolvedores de software. O primeiro dia foi realmente fantástico. Quem não estava acompanhando nestes últimos dias ou não acompanhou até ontem, pode ficar bem espantado com todas as novidades, que por sinal, são sensacionais!

A comunidade inteira está bem animada, o pipeline de trabalho toma outra forma e prevemos um rampup dos .net developers. Salve salve..

SQL Server no Linux

Eu jamais acharia que ia ver isto. Mas está lá! O SQL Server Linux foi disponibilizado ontem para todo o planeta usar.

sqlserverlçinux

image
https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux

Se quiser já testar pelo Docker, no Linux (claro), basta puxar a imagem do docker

sudo docker pull microsoft/mssql-server-linux

Depois rodar com as credenciais

docker run –e 'ACCEPT_EULA=Y' –e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -d microsoft/mssql-server-linux

Mais detalhes nesse tutorial abaixo bem simples que ajuda você nesse início
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker

Ou veja no link abaixo como testar direto no Ubuntu:
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-ubuntu

Anúncio do Visual Studio 2017 RC, Visual Studio for Mac (Preview)

O Visual Studio está se tornando uma suite muito mais completa do que imaginávamos.

Visual Studio 2017 RC

Muito esperado por todos durante esse ano, veio de presente pro natal. Hehe..  O VS 2017 está ainda na versão RC, mas já dá pra irmos testando e fazendo o reconhecimento de campo. Pra baixar basta acessar esse link. E veio muita coisa boa no Visual Studio 2017. Veja aqui e veja esse video.

Visual Studio for Mac (Preview)

Não é o Visual Studio Code que já tínhamos no Mac. Além dele, agora temos um Visual Studio nativo em Mac. Ainda é preview, mas vem com as features que já conhecemos do Windows, com build, debug etc. O legal de ter uma suite dessa direta no Mac, além da liberdade de poder desenvolver pro ASP.NET Core, é poder trabalhar nos projetos Xamarin direto no Mac com a melhor experiência que o Visual Studio já oferece.

image

Pra baixar o VS for Mac vá para este link.

Visual Studio Code

O Code foi para versão 1.7. Ele que está presente no Linux há muito tempo, também está para Mac e Windows. O legal do Code é a quantidade de extensões boas e interessantes que estão surgindo a cada dia. Tenho usado muito no desenvolvimento web. Para saber mais do Visual Studio Code veja esse video e para o Visual Studio for Mac veja esse video.

3

Anúncio do .NET Core 1.1 RTM

Disponibilizado também ontem, a versão 1.1 do .NET Core. Nesta versão ainda adicionado para mais uma série de distros Linux e uma série de outros OS. Veja o update no release notes.

ASP.NET Core é o Framework mais rápido da atualidade

O ASP.NET Core tem se mostrado rápido desde sua criação. Só que isso vem melhorando cada vez mais. No último test framework que a TechEmpower fez, o ASP.NET Core é atualmente o framework web mais rápido que existe!! A melhoria é surpreendente. Na medição passada (#11) o framework fazia 2.120 requisições por segundo. O que foi muito comemorado! Neste de agora estamos fazendo 1.822.366 requisições por segundo. É uma melhoria de 85.900%. HAHAHA!! Incrível, incrivel… Como eles mesmo disseram no post, isto não é um erro de digitação, ele está 859 vezes mais rápido. Wowww…

O asp.net core ocupa a #10 posição na frente de todos os frameworks, a primeira nos frameworks web e bem na frente do NodeJs que está na #41.

image
https://www.techempower.com/blog/2016/11/16/framework-benchmarks-round-13/

Google agora faz parte do projeto .NET Foundation

Pode não parecer, mas o Google é um dos maiores colaboradores no projeto .NET fora da Microsoft. Eles estão ajudando na padronização do ECMA para o C#. Ontem mesmo o Google lançou uma nota da sua participação no .NET Foundation.

image

image
Anúncio ontem durante o Microsoft Connect

image
Vejam só como está o universo .NET. Que maravilha isso.

Microsoft é Platinum Member da Linux Foundation e fortalece ainda mais seu compromisso com Open Source.

image

Também parece mentira. Mas não é. A Microsoft agora faz parte da Linux Foundation. Com isso dá pra ver o quanto o termo Open Source está sendo levado a sério pela Microsoft. E pra onde se está caminhando com integrações e união dos dois mundos. É algo fantástico e que quebrou muitos paradigmas. Leia mais sobre o anúncio feito pela Linux Foundation.

.NET Core agora vai rodar na sua TV Samsung

Isso foi bacana. .NET Core anunciado pela Samsung com suporte no Tizen, que está  em mais de 50 milhões de devices no planeta! Tizen é um sistema operacional Open Source baseado em Linux que é executado em TVs e outros dispositivos.

Não é só nós que ficamos felizes com isto. O anúncio saiu no NewsRoom da Samsung hoje. Veja aqui. E já tem uma área developer especialmente para isto no site de desenvolvimento do Tizen.

image

image
.NET Core rodando em uma TV

Azure Cognitive Services

image

Gostei demais disso também. Existe um API de que eles chamam de interação contextual natural baseada em inteligência de máquina. É um serviço do Azure que possui uns algoritmos muito poderosos para realizar a inteligência artificial para a visão, fala, idiomas e áreas de conhecimento.

Foi apresentado um demo que fizeram com o Uber. Para o aplicativo do carro reconhecer se o motorista que está dirigindo é realmente o motorista cadastrados. Ou se a pessoa que solicitou é aquela mesmo. Justamente por segurança. A API consegue determinar até mesmo a idade, gênero, humor e outras reações da pessoa pelo aplicativo. Também foi feito outra demo com o reconhecimento de voz e rosto para realizar compras. Ainda está lá como Preview, mas já da pra ter uma noção do que isto vai trazer pro mercado.

Outros anúncios

Teve muita coisa e realmente é bem difícil acompanhar tudo. Creio que muita gente dormiu pouco de ontem pra hoje testando e se atualizando. Além disso tudo teve anúncio do novo TFS 2017, traduções do Microsoft Translator baseado em redes neurais para todos os idiomas, novidades do C# 7, Unity, do Microsoft Graph, do Xamarin, Windows Apps Bridge e uma série de outras coisas que continuam ainda hoje, 17/11/2016, dia 02.

Muitas outras pessoas da comunidade blogaram ou fizeram hangouts sobre veja abaixo alguns links de complemento:

Ufa! Para acompanhar o evento ao vivo acesse o site do Connect.

Abraço e sucesso a todos!

[PROMO] Contribua para o guia base do desenvolvedor dotnet e concorra um casaco do Visual Studio

Imagem1

Chegou a hora de fazer a diferença!
No ASP.NET Brasil Conference eu anunciei no final da minha palestra uma promoção para podermos turbinar o nosso repositório do #começandodozero que criamos há um tempo atrás.

Se não conhece a iniciativa, leia este post.

Pois bem, o objetivo é fazermos pequenos videos (de 2 ou 3 minutos) para agregar a cada item do nosso “guia de primeiros passos”.

Por exemplo: um video ensinando a baixar o visual studio e criar um projeto. Outro video dizendo como configura o bower e como usa. Outro video mostrando sobre CSS3, outro sobre o sql server + sql server management + fazendo uma consulta simples… etc.

#PROMO VALE ATÉ DIA 04 DE AGOSTO DE 2016

Lembrando que o objetivo é “tirar as pedras” e ser objetivo e direto para que as pessoas consigam absorver esses passos iniciais e consiga voar conosco!

Como forma de incentivo, eu vou enviar para a casa da pessoa que fizer o maior número de videos até o dia 04 de agosto, um casaco do Visual Studio (esse da foto abaixo).

IMG_7179  IMG_7177  IMG_7180
obs.: o casaco é do tamanho XL (extra large), caso precise de um menor recomendo ajustar em uma costureira. Isto é simples, quase uma refatoração do casaco. kkkk =)

 

Dicas:

  • Faça o upload do video no youtube com a hashtag #comecandodozero (sem o ç)
  • Embede o video na área respectiva no repositório do github e faça o seu Pull Request.
  • Será válido os videos com assuntos relacionados à grade que está no repositório

Creio que isto vai ajudar muita gente.
Estamos juntos nessa?

Contem comigo.
Abraço!

[UPDATED]

Fazendo aquele trocadilho infame “mata a cobra e mostra o pau”, abaixo está o casaco já com o ganhador, na sua mesa de trabalho. Foi divertido!
O projeto não pode parar, vamos nessa pessoal. Contribua!

Multiplataforma e código aberto na Microsoft? Entenda e tire proveitos

É isso mesmo que você leu e eu não estou louco. Mas se eu tivesse escrito isto há alguns anos atrás sim, eu poderia estar louco. Nesses últimos 2 anos tivemos a mudança de um novo CEO, Satya Nadella, que de fato está inovando bastante e trazendo uma visão jamais vista antes.

Eu não sei por onde começo. Mas se você é um cara antenado, provavelmente já deve ter lido em algum blog (como o do Scott Hanselman) ou assistido os keynotes do Connect(); que uma das palavras mais falada na Microsoft nesses últimos meses foram Cross-platform e Open Source.

Só pra vocês terem uma ideia, o código do .NET está no GitHub (http://github.com/dotnet), além do código que já havia sido aberto. Agora você pode acompanhar todas as novas implementações ou sugerir algo via pull request. Irei falar disso tudo mais abaixo.

Para visualizarmos toda essa nova fase da Microsoft para o mercado eu separei em pequenos tópicos abaixo:

Mercado de consumer

Mobile marketAplicações como Office Mobile, OneDrive, Outlook.com, OneNote, Lync, Skype e outros já estão disponíveis em Android, iOS, assim como no Windows/Windows Phone também. Um fato é que a Microsoft, agora, está onde seus usuários estão. Se você usa Android ou iPhone, sim você poderá usar o OneDrive, falar no Skype ou por exemplo usar o word para editar seus documentos.

Você também pode ter tudo isso na plataforma web caso você tenha um e-mail @outlook ou @hotmail. Aposente o seu pen drive, você não precisa carregar esses arquivos no seu bolso.

Microsoft Azure

Microsoft AzureA plataforma de nuvem da Microsoft possui uma série de serviços de computação, armazenamento de dados, rede entre outras que ajudam a turbinar as aplicações e ao mesmo tempo economizar dinheiro, justamente porque você vai pagar somente pelo que usar. E nesse ambiente em nuvem se formos criar uma Virtual Machine vamos nos deparar com a opções de SO como Ubuntu, CentOS, Suse, etc.

Criando uma VM no Azure

Isto ocorre também quando se cria um novo site no Azure e nos deparamos com Web Apps não-Microsoft como o famoso “Apache TomCat”.

Azure Apps

Com o Azure você pode ter vários ambientes para testar e rodar suas aplicações e pagar apenas pelo o que usar.

Windows Server e Docker

DockerDocker é um aplataforma aberta para desenvolvedores e administradores de sistemas que ajuda a construir, entregar e executar aplicações distribuídas. Se você não conhece, assista o vídeo que o Giovanni Bassi fez a respeito.

O motor do Docker é Linux e para rodar no Windows você precisa de criar uma VM Linux (pode ser no Azure). Mas isto não vai ser mais preciso, pois no mês de outubro deste ano a Microsoft anunciou uma parceria com Docker para dar suporte nativo na futura versão do Windows Server.

Visual Studio 2015

VS 2015Aqui existem muita novidade. Mas vamos nos atentar para as duas grandes novidades.

 

#1 – Agora você pode usar o Visual Studio 2015 para criar aplicativos para as plataforms iOS e Android.

  • Visual Studio Tools for Apache Cordova: poder criar aplicativos multi plataforms utilizando HTML, CSS e JS. Isto vale a pena demais. Dê uma olhada no Cordova e leia mais clicando aqui.
  • Debugging: debugar apps Android e iOS.
  • Visual Studio Emulator para Android: um novo emulador, leia mais.
  • Xamarin: parceria forte para incluir na versão gratuita do VS o Xamarin Starter Edition e ai sim criar aplicativos para iPhone, iPad, Android utilizando C#. #notbad

#2Visual Studio 2015 Community Edition. Ou seja, um VS na versão FREE.

Esta edição é semelhante à edição Professional anterior, e agora é livre para os desenvolvedores independentes. (As empresas devem ainda licenciar Visual Studio para uso comercial). Esta é uma edição muito mais útil do que as edições anteriores Express: você pode construir web sites, aplicações móveis e aplicações do Windows, todos com a mesma edição. Você não está limitado a apenas um estilo de aplicação. Além disso, esta nova edição Community suporta plug-ins e extensões.

Git

GitPor vários anos a Microsoft forneceu um sistema de controle de versão próprio, que atualmente é representada pelo Team Foundation Server e Visual Studio Online. Cerca de dois anos atrás, a Microsoft anunciou que iria começar a oferecer repositórios baseados em Git. E assim está!

Visual Studio Online

VS OnlineDe forma geral são os recursos do Team Foundation Server (TFS) mais os serviços de nuvem para gerenciar projetos de desenvolvimento.
Vendo que o TFS é executado somente em Windows, o Visual Studio Online podem atender clientes que executam qualquer sistema operacional.

Por exemplo, se você desenvolve uma aplicação para Linux e usa o Eclipse para criar aplicações Java, você pode usar o Visual Studio Online para a controle de versão (usando Git, por exemplo), acompanhamento atividades e itens de trabalho (Scrum), automatização de builds e muito mais. E a boa notícia é que para até os cinco primeiros usuários o uso é grátis!

Application Insights

Application InsightsÉ uma ferramenta da Microsoft para detectar e resolver problemas para ajudar a melhorar continuamente suas aplicações. Basicamente te dá uma visão de como sua aplicação está se comportando e como ela está sendo utilizada pelos usuários. Atualmente suportando aplicações ASP.NET, serviços WCF, Windows Phone e Windows Store apps.

E o que isso tem a ver com o desenvolvimento multi-plataforma? Bom, na semana passada a Microsoft anunciou a compra da HockeyApp que vai dar o suporte de mobile apps para o Application Insights, tais como Android, iOS, Linux, Java, Azure, Windows Phone e outros dispositivos do Windows.

.NET Core

.NET FoundationTambém no evento Connect();, a Microsoft anunciou de fato a entrega do .NET Core como o open source, ou seja o núcleo do .NET agora tem o código aberto.

E o que isto significa? Bom, se você quer criar um website usando ASP.NET você já pode usar Mac ou Linux ou Windows. Codificar dentro do Sublime, por exemplo usando o Omnisharp.

É claro que isto atinge muitas outras tecnologias da plataforma .NET, como o novo compilador do C# (Roslyn) e outros que você pode ver a lista completa no site do projeto .NET Foundation, já citado aqui em outro post.


O futuro do ecossistema .NET ficará mais forte e vai crescer ainda mais. Novos desenvolvedores virão para a plataforma, novos projetos serão aderidos e para quem já trabalha com .NET vocês conseguem imaginar o quanto de boas oportunidades vem por ai?

A Microsoft tem mudado bastante nesses últimos anos e estas novidades irá trazer bons efeitos. Agora tire um tempo e vai se divertir com isto tudo.

Existem outras iniciativas que sou incapaz de citar aqui, fique a vontade para completar nos comentários.

Bem vindo à nova era.
Falow.. Valeu!  #dotnetcrossplaform

10 Coisas que todo desenvolvedor .NET deveria saber

Algumas pessoas sempre me perguntam o que é preciso saber para ser um desenvolvedor .NET. Confesso que não gosto de falar aquela resposta padrão: “basta ter lógica de programação”, mas também acabo não respondendo com exatidão e então resolvi criar um artigo para que toda vez que me perguntarem eu direcionar para este post.

A lista abaixo é simples e básica. Mas são perguntas que geralmente são feitas em entrevistas de emprego e que nem sempre são respondidas como devem ser.

Para alinharmos, levantei alguns tópicos que são essenciais. Assim como um jogador de futebol tem que chutar e cabecear para ser um jogador, um desenvolvedor .NET* precisa saber no mínimo os dez itens abaixo (* estou abstraindo o skill de software developer, que está contido aqui, mas é um pouco maior). Vamos lá:

#1 Conceitos de Orientação a Objetos (OOP)

Sim. Os conceitos. O desenvolvedor .NET deve pelo menos ser capaz de explicar os principais conceitos de OOP em uma maneira muito simples. Estas são habilidades básicas e se tiver alguma dificuldade é bom parar por aqui, reforçar e consolidar esta fase. No site da MSDN tem um conteúdo legal.

#2 Princípios SOLID

Os princípios do SOLID, criado pelo Robert Martin (Uncle Bob), são diretrizes que podem ser aplicadas ao codificar para evitar ou refatorar o que o Martin Fowler chama de code smell. Ou seja, algo que indica que tem um problema ou não está legal no código.

SOLID exige que você seja bem resolvido com o #1 que acabamos de falar.

O Shivprasad Koirala, MVP da Índia, escreveu o artigo SOLID architecture principles using simple C# que deixa explica bem cada letra do acrônimo SOLID utilizando C#.

#3 JavaScript, jQuery, C# e ASP.NET

Estes quatro itens estão no eixo principal do conhecimento do desenvolvedor .NET (exceto em algumas exceções (neste ponto) onde o ASP.NET não está incluso, como no desenvolvimento de aplicações Windows Client, Phone Apps, Games, Serviços entre outros)

Os desenvolvedores não podem saber apenas C# e SQL. Só isto já não mais basta. Hoje é exigido bem mais, como trivial HTML e CSS e outras linguagens e frameworks como AngularJS, RequiredJs, NodeJs, KnockoutJS, etc. E para javaScript, em questão, é preciso saber basicamente a escrever o código JS que os patterns como Module e Closure vão te ajudar demais.

#4 Garbage Collector e IDisposable

Uma das melhores características de desenvolvimento .NET é a falta de esforço e preocupação para destruir instâncias de objetos, cancelar assinatura de eventos, fechar fluxos, etc. Geralmente você deixa isto para o Garbage Collector, que “tudo fica bem”. Muitos developers não se preocupam, ou nunca analisaram o 1º,2º ou 3º ciclo de coleta do gen. Atitudes como podem gerar catastrofes no seu código como o conhecido Memory leaks. Parece que a preocupação com o controle de memória praticamente não há com desenvolvedor atual. É importante saber como funciona.

Uma maneira útil de garantir que os recursos gerenciados estão corretamente limpo em tempo hábil é implementar a interface IDisposable em seus objetos. Entenda mais e veja como controlar isto nos links abaixo:

#5 Box e UnBoxing

Ainda falando sobre memória e performance, este é um problema tratado deste o .NET 2.0 e que até hoje vários desenvolvedores não entendem box e unboxing e acabam afetando o desempenho e uso de memória do software.

#6 Tipo por referência e tipos por valor

Quando um recrutador lhe pede para explicar este problema de box/unboxing, eles também podem te pedir para explicar a diferença entre os reference types e os value types. O tipo de valor pode ser considerado como o valor real de um objeto, enquanto um tipo de referência, tipicamente, contém o endereço do valor real, ou nulo.

#7 Diferença entre MVC e WebForms

Também é um passo base. É importante saber a diferença, benefícios e contras que cada um possui mesmo que o resultado possa ser “semelhante” a princípio. O que na verdade não é!

O webforms tem uma maneira bem direta e simples no desenvolvimento, mas é bem difícil controlar a interface como é possível obter usando MVC utilizando JavaScript e o CSS. E isto é fundamental quando está desenvolvendo aplicações ricas e inteligentes.

Rolou uma discussão boa desse assunto no Programmers Stack Exchange e você pode acompanhar um pouco lá.

Vale também entender o ASP.NET SPA no meio disso tudo também.

#8 Banco de Dados SQL, Oracle e No-SQL

SQL Server e Oracle são essenciais, mas não são os “fazem tudo” de qualquer cenário. É hora de acordar e observar que vários outros cenários podem ser atendidos com bancos No-SQL.

Os bancos de dados No-SQL estão ganhando força enorme por causa de sua velocidade geral, facilidade de uso e benefícios de escalabilidade. Existem vários. Mas os mais conhecidos são:

#9 Visual Studio IDE

Atalhos, Plugins de terceiros, NuGet, etc. Conhecer as teclas de atalho faz toda diferença, pois você imageganha velocidade na execução das tarefas. Trabalhar com plugins certos como o PowerTools, TestDriven, Web Essentials, entre outros.

imageHá vários apaixonados pelo ReSharper, tanto que se desinstalar da máquina já não consegue fazer mais nada. Por isto eu recomendo instalar este plugin apenas depois que estiver bem seguro ou familiarizado com o desenvolvimento C#.

#10 Reference Source – O código fonte do .NET Framework

Bom, o reference source é o código fonte do .NET Framework disponível para consulta. Dai você pode falar: “mas pra que eu preciso do código fonte?”.

A resposta é que você pode aprender muito mais do .NET vendo como o código foi escrito, como ele funciona e como ele se comporta. Esta curiosidade de ver o código precisa ser uma constante.

Pode ser acessado pelo endereço http://referencesource.microsoft.com


O Scott Hanselman escreveu uma lista em 2005 (claro que está obsoleta), mas tem algumas coisas relevantes que não citei como por exemplo Reflection, diferença entre Orientação a Interface x Orientação a Objetos x Orientação a Aspectos. Atualizando, poderia citar muitas outras coisas como o próprio LINQ, Delegates, Generics, usar o Nuget, fazer deploy em nuvem. entre outras coisas de base.

Particularmente, eu posso dizer que se você se sentiu pouco seguro em alguns dos tópicos acima reserve um tempo na sua agenda e corra atrás para estudar, tirar dúvidas e treinar. Principalmente se você pretende trabalhar em boas empresas ou nos USA onde os processos seletivos exigem bem esta base sólida.

Para encerrarmos por aqui, deixo uma boa dica de leitura para complementar o conteúdo: The 4 Most Important Skills for a Software Developer.

Quer completar? Ficou algo de fora?
Vamos lá.. Nos ajude a completar…

Abraço!