Performance e o HTTP/2

Performance é um fator vital em nossas aplicações web, falando de performance de front-end, ela é uma das maiores responsáveis pelo tempo que nossas páginas demoram para carregar.

O HTTP/2 é uma nova versão do protocolo de comunicação que utilizamos na web, ele vem com vários benefícios que trazem muitas melhorias para nossas aplicações.

O principal objetivo do HTTP/2 é o de reduzir a latência de comunicação, possibilitando a paralelização de requisições com multiplexing, a diminuição de overheads causados pelo protocolo (utilizando uma compressão eficiente de headers HTTP), o suporte a priorização de requisições e a possibilidade de pushs vindos do servidor.

Continue reading

Docker e Yeoman: generator-docker

O Docker e a tecnologia de containers facilitam muita a padronização de ambientes, a agilidade em provisionar infra-estrutura e ainda, nos ajudam a transformar o ambiente de nossa aplicação em parte do projeto. Já o Yeoman é uma ferramenta que nos ajuda durante a criação de projetos, templates e scaffoldings, como por exemplo criar a estrutura de um projeto com ASP.NET Core sem a necessidade do Visual Studio.

Neste post vou mostrar um generator do Yeoman que utilizei para gerar scripts e arquivos de configurações para o Docker, atualmente ele gera scripts para ASP.NET 5.0, Node.JS e Go. Continue reading

Codificando Night Week 2016 \o/

Na semana passada aconteceu o Codificando Night Week 2016. Uma semana, todas as noites com palestras sobre diversos assuntos como desenvolvimento, testes, banco de dados,  mobile, web e performance.

image

Neste ano já atingimos aproximadamente 115.170 minutos assistidos (+-79 dias), quero agradecer a todos que ajudaram no evento, principalmente ao Angelo Belchior e ao Diego Nogare que participaram da organização, sem eles o evento não teria acontecido, bem como a todos os palestrantes que trouxeram conteúdos excelentes e fizeram apresentações sensacionais.

Abaixo eu tentei organizar e disponibilizar o material que encontrei sobre o evento:

Continue reading

ASP.NET 5 + Kestrel + Nginx e Ubuntu: configurando um ambiente de produção

Uma das grandes mudanças no desenvolvimento do ASP.NET 5 é a de que ele é suportado em múltiplas plataformas (Windows, Linux ou Mac), além de possuir o ambiente de desenvolvimento suportado nestas plataformas, o ambiente de produção também está sendo desenvolvido para que possamos fazer deploy de nossas aplicações em ambientes diferentes, como por exemplo em um Linux.

Montei um ambiente (ASP.NET 5 + Linux) para realizar alguns testes de performance e estabilidade, a ideia deste post é mostrar um pouco o que precisei fazer para configurar e deixar o ambiente ok.

Continue reading

Trilha Codificando.NET – Congresso de Tecnologia da Fatec-SP

Na próxima semana vou participar organizando uma trilha de desenvolvimento no 17º Congresso de Tecnologia da Faculdade de Tecnologia de São Paulo (FATEC-SP). Ele é um evento anual, que reúne diversos profissionais da área de tecnologia (mecânica, construção, tecnologia da informação, etc).

A FATEC-SP é uma faculdade muito conceituada na área de TI, e a ideia de organizar esta trilha é a de trazer conteúdos relacionados ao mercado de tecnologia para dentro da faculdade.

O evento é gratuito e aberto ao publico, possuindo diversas outras palestras e um Simpósio de Iniciação Científica e Tecnológica.

Continue reading

Codificando Night Week: Performance Web com ASP.NET MVC

Performance é uma fator de sucesso ou fracasso para nossas aplicações, seja para melhorar a experiência do usuário ou para diminuir o uso de recursos computacionais ela é muito importante. Veja nesta apresentação os principais fatores e as principais técnicas para melhorar a performance de nossas aplicações web.

 

Evento: https://www.youtube.com/watch?v=TLHvLgdeF3w

Github:

https://github.com/rodolfofadino/DemoFrontEnd

https://github.com/rodolfofadino/DemoIISThread

Visual Studio 2015: integração nativa com npm, Grunt e Bower

Ontem foi disponibilizado para download a nova versão do Visual Studio 2015 Preview, existem diversas novidades incríveis como: .NET Open Source, CrossPlataform e Visual Studio Community. Além de isto ser uma revolução no ecossistema de desenvolvimento web, o time responsável pelas “web tools” do Visual Studio também fez um excelente movimento, trazendo nativamente a integração com as ferramentas padrões de mercado para desenvolvimento web/frontend. A idéia deste post é mostrar um pouco como ficaram estas features, e se você é um desenvolvedor web, e ainda não conhece o npm (Node Package Manager), Grunt e Bower, corra atrás para aprender como elas funcionam, pois estas tecnologias já são o presente do mercado de desenvolvimento web.

Ferramentas envolvidas

image

  • node.js: plataforma JavaScript construída sobre o runtime do Chrome, tem como objetivo o rápido desenvolvimento, performance e escalabilidade.
  • npm (Node Package Manager): o npm é um gerenciado de pacotes, que utiliza o node.js como plataforma para execução, tanto o Bower quanto o Grunt utilizam ele para gerenciar os pacotes que eles instalarão
  • Bower: gerenciador de pacotes para web/frontend, como bibliotecas js e css, notem que o projeto default do ASP.NET MVC 6 deixará de utilizar o NuGet package para pacotes de frontend (jquery por exemplo)
  • Grunt: task runner baseado em JavaScript, é utilizado para automatizar rotinas como geração de .min e outras automatizações (também é possível utilizar o Gump)

Continue reading

Automatizando a criação de NuGet Packages

Criar um NuGet Package é uma excelente maneira de distribuir nossos projetos e bibliotecas entre as diferentes aplicações que irão  consumi-los. Já apresentei um Codificando Livre explicando como criar o seu próprio servidor Nuget (http://live.codificando.net/2013/09/edicao-6-nuget-principais-recursos-e-funcionamento/).

A ideia deste post é mostrar como automatizar o processo de criação de um Nuget Package, utilizando um XMLde configuração, o nuspec file. Para isto, vamos começar entendendo que o NuGet.exe é um utilitário que possui diversos comandos para o gerenciamento de nossos packages, comandos como adicionar um package, listar, remover, etc (http://docs.nuget.org/docs/reference/command-line-reference).

Continue reading

MongoRepository

Recentemente estava desenvolvendo uma aplicação que logava a exibição de certos tipos de publicidade e intervenção para os usuários, como infraestrutura de banco de dado, optei por usar o MongoDB, para aceso a dados, utilizei um projeto que já era utilizado em outras aplicações da empresa, o MongoRepository, que é uma biblioteca que implementa o padrão Repository em cima do driver oficial para C# do MongoDB.

Continue reading

The Developer Conference: Quem derrubou o meu site?

Pessoal, abaixo segue o conteúdo que apresentei com o Alexandre Tarifa no The Developer Conference 2014

“O cenário de aplicações Web apresenta um novo desafio a cada dia… no Brasil já atingimos 100 milhões de usuários com acesso a internet. E se seu projeto vira um sucesso e 1% dessas pessoas resolvem acessar ao mesmo tempo a sua aplicação ASP.NET? Nesta apresentação, mostraremos técnicas e recursos para que sua aplicação suporte um grande volume de usuários e que você também identifique os gargalos e pontos críticos de suas aplicações.” by @AlexandreTarifa Continue reading