Criando aplicação Web com ASP.NET Core MVC – Parte 2

Resumo

Na primeira parte dessa série de artigos, iniciamos explicando o significado da sigla MVC e sobre o ASP.NET Core para depois abordamos sobre as caracteristicas do nosso projeto e dar início ao desenvolvimento.

Você vai ver ainda ao logo dessa série assuntos variados para que possamos enriquecer nosso projeto com funcionalidades bem úteis. Ainda poderemos fazer uma breve abordagem sobre segurança e testes unitários.

Então, vamos ao que interessa.

Leia mais… »

Criando aplicação Web com ASP.NET Core MVC – Parte 1

Introdução

Como de costume, estou trazendo mais uma série de artigos e dessa vez falaremos sobre como criar aplicação web com ASP.NET Core MVC. Nesse artigo foi realizar o passo a passo para que você tenha conhecimento para explorar esse mais novo recurso. Sendo assim, esse série tem como principal foco o desenvolvimento de uma aplicação web utilizando-se da tecnologia mais comentada do momento e seguindo um dos padrões mais populares quando o assunto é desenvolvimento Web.

Esse artigo é para todos aqueles que tenha um conhecimento prévio de desenvolvimento web com HTML, CSS e JavaScript, além de também conhecimento em C# e banco de dados. Se você não tiver conhecimento em C#, aconselho ler meu artigo Aprender a programar em C#.

Então vamos ao que interessa.

Leia mais… »

Testando seu código JavaScript com Jasmine

O que é o Jasmine?

Nos dias atuais, no âmbito do desenvolvimento de software, muito fala-se em qualidade de desenvolvimento e de entrega. Com isso, novos conceitos vão surgindo, automações de processos são aplicados e novas ferramentas são necessárias para facilitar e agilizar essas entregas.

Para garantir que o que está sendo solicitado pelo nosso cliente está sendo realmente entregue com qualidade é importante que nossa aplicação seja testada. Mas imagina que antes de cada nova entrega nossa aplicação tenha que ser testada. Para uma aplicação pequena como um site institucional por exemplo é até fácil, agora imagine uma aplicação com diversos cadastros, como garantir que tudo está funcionando bem, com qualidade e o mais importante, que a aplicação não tenha quebrado com algum novo desenvolvimento ou até mesmo uma refatoração de código.

Para aplicações desenvolvidas utilizando JavaScript, é possível garantir que tudo que foi desenvolvido possa estar 100% funcionando utilizando o Jasmine.

Jasmine

Veja algumas das caracteristicas do Jasmine?

  • É um Framework utilizado para criar testes em JavaScript
  • Utiliza o conceito BDD, ou seja, testes guiados por comportamento
  • Possui sintaxe simples e de fácil leitura
  • Executa os testes no navegador ou por linha de comando
  • É independente de qualquer outro Framework
  • Pode ser usado em projetos NodeJs, Ruby ou Python
Leia mais… »

Conhecendo e usando o LiteDb

O LiteDb é um banco de dados NoSql desenvolvido e mantido pelo Mauricio David. Você pode conhecer mais sobre acessando a página do projeto.
Mas o que o LiteDb tem de diferença que os outros banco de dados NoSql não tem?

  • Não necessita de um servidor de documentos NoSql
  • Possui uma API simples muito semelhante ao do MongoDb
  • Pequena biblioteca desenvolvida 100% em código C# NET 3.5 / NETStandard 1.4
  • Suporte para Portable UWP/PCL
  • Recuperação de dados após falha de gravação
  • Criptografia de arquivo de dados usando criptografia DES (AES)
  • Transações ACID (atomicidade, consistência, isolamento e durabilidade)
  • Recuperação de dados após falha de gravação (journal mode)
  • Mapeie suas classes POCO para o BsonDocument usando atributos ou usando Fluent Mapper API
  • Armazenar arquivos e dados de fluxo (como GridFS no MongoDB)
  • Armazenamento de arquivos de dados simples (como SQLite)
  • Indexação de campos dos documentos para pesquisa rápida (até 16 índices por coleção)
  • Suporte a consultas LINQ
  • Shell de comando
  • Código-fonte aberto e gratuito, inclusive para uso comercial
  • Pode ser instalado via NuGet

Para demonstrar o uso do LiteDb, vamos criar uma aplicação de cadastro simples, realizando as operações básicas como Consulta, Inclusão, Exclusão e Atualização.
Leia mais… »

Criando Web Api com ASP.NET Core – Parte 1

Daremos inicio a série de artigos Criando Web Api com ASP.NET Core. Antes disso, o que você precisa saber sobre o ASP.NET Core:

  • Nova geração do ASP.NET
  • Desenvolvido pela Microsoft e pela Comunidade
  • Open-source
  • Cross-Plataform
  • Modular

Para saber mais, acesse o site da fundação .NET Foundation

Para iniciar o projeto é necessário ter instalado o .NET Core e o Visual Studio 2017 ou mais recente. Caso não tenha instalado, leia o artigo Instalando o .NET Core será necessário baixar e instalar para prosseguir.

Leia mais… »

Instalando o .NET Core

Para iniciar o desenvolvimento de projetos usando o .NET Core, é necessário ter instalado as versões mais recentes do Framework e do Visual Studio.

Caso não tenha, faça o download do Visual Studio 2017 ou superior.

Após ter instalado o Visual Studio, terá também a versão mais recente do .NET Core.

Leia mais… »

Configurando proxy no Visual Studio Code

Darei hoje uma dica bem simples e de suma importancia para que utilza ferramentas de desenvolvimento com suporte a instalação de complementos. No caso, a dica é valida para a configuração do proxy no Visual Studio Code.

É muito comum em grandes corporações encontrarmos o uso de proxy e em alguns casos (pelo menos no meu) é preciso configurar a ferramenta para que ela utilize as configurações do proxy.

No meu caso, a configuração do proxy é feito de forma automatica por meio de scripts com extensão pac, porem algumas ferramentas que utilizo não utilizam dessa configurações de forma automatica. Para resolver isso, vamos aos passos:

Abra o Visual Studio Code:

Visual Studio
Leia mais… »

Aprender a programar em C# – Parte 4

No parte anterior dessa série de artigos que abordamos como Aprender a Programar em C#, você viu um pouco sobre a linguagem C# (C-Sharp) de como ela surgiu, tipos de dados, sintaxes, variáveis, operadores, controle de fluxo e laços de repetição, também pode ver um pouco sobre o desenvolvimento de uma aplicação e a compilação por linha de comando e também viu o desenvolvimento utilizando o Visual Studio.

Nessa nova parte, iremos abordar o desenvolvimento de uma aplicação C# utilizando o Visual Studio, porém essa aplicação irá utilizar banco de dados SQL Server, ou seja, criaremos uma simples aplicação que realizar CRUD (Create, Read, Update e Delete) em um banco de dados. Se você não conhece nada de banco de dados, é uma oportunidade para começar a aprender.

Imaginando que você conhece banco de dados, em especial o SQL Server, que também sabe utilizar o SQL Server Manager e já tenha uma instancia do SQL Server ou SQL Server Express instalado, vamos criar a tabela de clientes.

Leia mais… »

Sobre o fórum e mudanças do C# Brasil

Se você chegou até aqui é porque estava em busca do antigo fórum do C# Brasil. Acontece que a alguns anos tentei enriquecer o blog disponibilizando um fórum para que todos pudessem ter um canal de comunicação e permitir alem de tirar dúvidas, resolver problemas. Porém acabou que não deu muito certo e criei problemas para mim. Talvez por falta de dedicação minha o fórum, acabou que ficou abandonado e causando somente dores de cabeça com usuários sem resposta e spammers.

O que acontece é que sempre tentei manter o blog C# Brasil sozinho e com o minimo de publicidade possivel. Alguns colaboradores que passaram por aqui até tentaram ajudar, outros somente tinha o objetivo de realizar publicidade de seus próprios sites ou blog e outro nem isso faziam. Pensando em todos esses problemas e com o crescimento dos grupos nas redes sociais, simplesmente me motivou a abandonar de vez o fórum e renovar totalmente o blog.

A ideia do C# Brasil era compartilhar soluções para problemas do cotidiano ou trazer assuntos voltados a tecnologias Microsoft. Apesar de o C# Brasil não mais existir não faz com que o pensamento que eu tinha também deixa de existir. Foi pensando nisso que resolver mudar e além de trazer assuntos que realmente você procura sobre as tecnologias da Microsoft, irei trazer para você assuntos variados acerca do desenvolvimento fullstack abordando assuntos como NodeJS, AngularJS, Azure, Amazon Web Service, ou seja, tudo que você pensar sobre tecnologias e desenvolvimento poderemos e iremos abordar.

O blog ainda vai contar com o formulário de contato para que você possa enviar sugestões de artigos para que possamos publicar.

Fique a vontade para entrar em contato ou deixar um comentário.

Abraço

Assuma o comando da sua atitude. Não deixe que outra pessoa a escolha por você.
Paul Koch

Construindo aplicações com NodeJS – Editora Novatec

Capa do livro Construindo aplicações com NodeJS

A Editora Novatec está trazendo mais um lançamento, agora dessa vez o livro Construindo aplicações com NodeJS de William Bruno Moraes.

William Bruno Moraes é desenvolvedor web apaixonado por boas práticas e design patterns. Iniciou com programação web em 2008 com PHP e JavaScript. Participante ativo do Fórum iMasters, escreve artigos para seu blog pessoal e alguns outros canais. Atualmente, trabalha no Walmart.com com NodeJS.

Sobre o livro

O NodeJS é uma poderosa plataforma para construir de forma rápida e fácil aplicações de rede escaláveis. Utiliza um modelo de single thread, faz I/O não bloqueante e por isso trabalha sempre de forma assíncrona.

Construindo aplicações com NodeJS abrange:

  • O que é o NodeJS e o que pode ser feito com essa plataforma.
  • Conceitos de bancos de dados relacionais como modelagem e formas normais.
  • Conceitos de REST e boas práticas para um bom design de API.
  • Como construir, testar e documentar uma API RESTful com NodeJS.

Você aprenderá a construir uma API RESTful funcional, com testes unitários e documentação dos endpoints, que estará pronta para ser publicada seguindo boas práticas e otimizações. Será utilizada uma estrutura robusta, testável e expansível, que poderá servir como base para implementar outras aplicações HTTP com NodeJS.

Leia mais… »

Criando e consumindo Web API – Parte 2

Dando continuidade a série de artigo Criando e consumindo Web API, onde na primeira parte fiz uma abordagem superficial do que é uma Web API e como cria-la. Nessa segunda parte, abordaremos o uso de conexão com banco de dados para efetuar o CRUD (Create, Read, Update, Delete). Para isso, não irei utilizar o Entity Framework de inicio. Isso ficará para uma nova parte dessa série. A principio a ideia é mostrar o funcionamento de uma Web API.

Então para dar inicio, faça o download do fonte do artigo disponivel no Github se já não fez pois iremos utiliza-lo como base para o desenvolvimento dessa segunda parte.
Somente para rever o que foi feito na primeira parte, nós criamos no projeto anterior 3 métodos, sendo um para retornar a data e hora do servidor, outro para realizar o filtro de clientes pelo código e outro para realizar o envio de dados de um cliente.

Vamos descartar esses métodos que criamos e vamos criar alguns outros métodos novos e definir as suas rotas. Para esse exemplo utilizaremos SQL Server. Não irei me aprofundar em como criar o banco, simplesmente vou deixar aqui meu script para criar a tabela de clientes.

Abra seu SQL Manager e crie a tabela utilizando o script sql abaixo.

Leia mais… »

Criando e consumindo Web API – Parte 1

Antes de iniciar o desenvolvimento de uma Web API é importante entender o que é, qual a sua finalidade e a forma como ela funciona.

Para quem não conhece, uma Web API é um conjunto definido de mensagens de requisição e resposta HTTP, geralmente expressado nos formatos XML ou JSON.

Todos nós já tivemos contato de alguma forma com um serviço desse tipo, seja algum site que utilize no dia-a-dia, ou em um dos nossos aplicativos favoritos instalados no smartphone ou tablet. Um exemplo desses aplicativos são o Facebook, Twitter, Linkedin e até jogos utilizam-se de Web API. Então, se está planejando criar algum projeto novo, talvez esse seja um caminho a se analisar.

Para que você entenda melhor o funcionamento de uma Web API, vamos descrever de forma simples um cenário de funcionamento de Web API, como por exemplo a utilizada pelo seu aplicativo do Facebook. Considerando que ele está instalado em seu smartphone:

  • Você informa seus dados de login
  • O aplicativo grava localmente os dados e envia-os a um servidor de autenticação para geração do Token
  • Caso os dados sejam validos, é retornado o token para o aplicativo
  • Para realizar a consulta dos post de sua linha, o aplicativo requisita as informações ao servidor utilizando o token para validação

Leia mais… »

Desenvolvendo Web Components – Editora Novatec

Capa do livro Desenvolvendo Web Components

Publicado pela Editora Novatec, o livro Desenvolvendo Web Components é uma obra dos autores Jarrod Overson e Jason Strimpel.

Sobre os autores

Jarrod Overson é desenvolvedor na Web há mais de 15 anos, tanto em empresas iniciantes quanto em empresas globais. Atualmente na Shape Security, Jarrod é proponente e colaborador ativo de iniciativas open source e ferramentas para a linguagem JavaScript; ele criou o Plato e muitas outras ferramentas e bibliotecas

Jason Strimpel é engenheiro de software com mais de 15 anos de experiência no desenvolvimento de aplicações web. Atualmente, trabalha na WalmartLabs, onde escreve software para dar suporte ao desenvolvimento de aplicações de UI. Jason também é membro ativo da comunidade open source, e gerencia projetos como LazoJS.

Sobre o livro

O livro visa oferecer uma introdução de um modo geral sobre o desenvolvimento de Web Components.

Embora os Web Components ainda estejam na vanguarda absoluta – com muito pouco suporte nos browsers modernos –, a tecnologia também está se movendo com extrema rapidez. Este guia prático o fará ganhar velocidade com os conceitos por trás do padrão emergente do W3C e mostrará como criar Web Components customizados e reutilizáveis para HTML5.

Leia mais… »

Aprender a programar em C# – Parte 3

Você viu nos artigos anteriores a abordagem sobre a linguagem C# (C-Sharp) de como ela surgiu, tipos de dados, sintaxes, variáveis, operadores, controle de fluxo e laços de repetição, também pode ver o desenvolvimento de uma aplicação simples e compilação por linha de comando.

Nessa nova parte iremos abordar o desenvolvimento de uma aplicação simples utilizando o Visual Studio para que nós possamos nos familiarizar com a ferramente. Portanto, é importante que já tenha o Visual Studio instalado. Sugiro o uso do Visual Studio Community 2013. Acesse o link www.visualstudio.com e faça o download e instalação, é fácil.

Tela do Visual Studio Community 2013

Leia mais… »

Testes de Invasão – Editora Novatec

Capa do livro Testes de Invasão

Testes de Invasão é a mais nova publicação realizada pela Editora Novatec e uma excelente obra da autora Georgia Weidman.

Georgia Weidman é pentester e pesquisadora, bem como a fundadora do Bulb Security, uma empresa de consultoria na área de segurança. Faz apresentações em conferências pelo mundo todo, incluindo o Black Hat, o ShmooCon e o DerbyCon, além de dar aulas sobre assuntos como testes de invasão, hacking de dispositivos móveis e desenvolvimento de exploits. Ela recebeu fundos do Cyber Fast Track da DARPA para continuar seus trabalhos na área de segurança de dispositivos móveis.

Os pentesters simulam ciberataques para descobrir vulnerabilidades de segurança em redes, em sistemas operacionais e em aplicações. Os especialistas em segurança da informação no mundo todo utilizam técnicas de testes de invasão para avaliar as defesas de uma empresa.

Em Testes de invasão, a especialista em segurança, pesquisadora e instrutora Georgia Weidman apresenta as principais habilidades e técnicas necessárias a todo pentester. Ao usar um laboratório baseado em máquinas virtuais que inclui o Kali Linux e sistemas operacionais vulneráveis, você verá uma série de lições práticas usando ferramentas como o Wireshark, o Nmap e o Burp Suite. À medida que acompanhar as lições usando o laboratório e realizando ataques, você vivenciará as fases fundamentais de uma avaliação de verdade – que incluem a coleta de informações, a descoberta de vulnerabilidades passíveis de exploração, a obtenção de acesso aos sistemas, a pós-exploração de falhas, além de outras atividades.

Leia mais… »