Impulsionando a Segurança de sua Aplicação Angular 2

   Angular é um dos Frameworks mais populares para desenvolvimento de aplicações SPA, sendo Google então, faz com que sua adoção seja realmente maior do que outros FwKs,  há um monte de informações disponíveis sobre a construção de aplicações, melhorando o desempenho e vários outros tópicos. Mas você sabe como tornar suas aplicações Angulares seguras? Que tipo de recursos de segurança o Angular oferece e quais passos adicionais você pode tomar para realmente aumentar a segurança? Neste vídeo, você aprenderá como a mudança de paradigma de aplicativos do lado do servidor para aplicativos cliente afeta a segurança. Vamos discutir ameaças baseadas em script contra aplicações Angulares, e as defesas concretas Angular oferece para prevenir ou minimizar esses ataques. Além disso, vamos cavar em vários problemas de gerenciamento de sessão em combinação com Angular. Nós investigamos tópicos como Cross-Site Request Forgery (CSRF), Cookies flags, cabeçalhos de autorização e tokens JWT. 

TypeScript

Olá Pessoal,

    
  Já expliquei em outro post o que significa transpilar e o porque esta é uma técnica interessantíssima quando estamos trabalhando com JavaScript, e para quem vai trabalhar com o framework Angular 2, recomendo e muito a utilização do TypeScript nesse sentido.
  TypeScript  nada mais é do que um superset da linguagem JavaScript, basicamente é uma linguagem que fornece a tipagem que falta no JS, além é claro de uma série de outras vantagens. E falando um pouco sobre a minha experiencia nesse campo, confesso que no começo dos meus estudos fiquei me perguntando o porque escrever em uma linguagem que depois de compilada vira JS, parece meio estranho de primeira vista não é não? Fato que passado alguns meses logo se justificou, dado as vantagens em tempo de compilação que você tem de cara, e se você utilizar um Editor ou IDE que suporta TypeScript em poucas horas você vai ver entender o porque programadores C# e Java se dão tão bem com essa linguagem, afinal existe uma semelhança muito grande.
   A linguagem é Open-Source e foi criada pela Microsoft, possui um site excelente e cheio de recursos para quem se interessar em aprender, logo abaixo:
Site Oficial:  www.typescriptlang.org

     Pra quem trabalha com JavaScript, sabe que pelo menos no ES5, versão mais utilizada atualmente e suportada pelos browsers, não possui suporte a classes e interfaces, logo o que vemos na verdade são técnicas que alguns programadores JavaScript utilizam para representam essas estruturas, o que funciona, mas causa bastante estranhismo principalmente de quem vem de uma linguagem orientada a objetos na qual temos as palavras reservadas class, interface, enum e etc, por exemplo, Java e C#. Dito isso então de cara então temos as principais vantagens:

  • TypeScript é Baseada no ES6;
  • Tipagem Estática Opcional;
  • Possui suporte a O.O;
  • Encapsulamento de Código por meio de Classes e Interfaces;
  • Já existem basantes arquivos de tipos definidos em TypeScript;
  • Suporte a Enum.

    Indo para a prática, vejamos o exemplo abaixo, nele estamos criando uma classe chamada Car, que possui um construtor e um método, perceba que não chega a ser nem de perto dificil de entender por um programador Java ou C#, esse código após compilado gerará o código visto a direita, ou seja, um código JavaScript.

Do lado esquerdo o código TypeScript e do lado direito o código gerado em JavaScript

   Irei trazer mais exemplos práticos no futuro, espero que gostem!

Abrcs.
Natanael Fonseca

Visual Studio Code

Ola Pessoal,
    Eis que depois um tempo resolvo falar sobre um produto Microsoft, quem diria hein?  A verdade é que brincadeiras a parte, a MS nos últimos anos tem feito uma grande revolução nas suas estratégias e também nos seus produtos, principalmente naqueles relacionados a desenvolvimento de software. 
    Tenho me dedicado nos últimos meses a estudar Angular 2 e TypeScript e vasculhando a gama de Editores e IDEs que podemos utilizar para trabalhar com essas tecnologias, acabei encontrando o VSCODE, que no primeiro momento assusta por ser tão leve, mas depois surpreende por ter tantos recursos que chega a quase perder o título de “Editor de Texto”.
   Ele pode ser baixado no site https://code.visualstudio.com/  e sua instalação segue o padrão windows de viver, muita moleza e next next next! Mas antes que alguém fale que eu estou apenas citando o windows, saibam que o VSCODE roda no linux, e dica-se de passagem, MUITO BEM!
      Sua interface gráfica é simples e creio que em pouco tempo o programador consegue se habituar e já sair codando rapidamente, como pode ser visto na imagem abaixo, existe o suporte a cores para as mais diversas linguagens e principalmente JavaScript, C#.
  
Visual Studio Code
    Mas o grande barato deste editor de texto, na minha humilde opinião, são os plugins que são chamados de extensions. No momento em que escrevo este post existem uma variedade enorme deles e podem ser baixado diretamente na opção “extensions” que fica no canto esquerdo, como também pelo site:  https://marketplace.visualstudio.com/VSCode.  Logo abaixo uma lista dos que eu mais gostei e estou utilizando em meus projetos pessoais:
Minhas Extensions favoritas
    Fica então essa dica, se forem trabalhar com Angular 2, TypeScript vale muito a pena utiliza-lo, um grande abraço a todos.
Att.
Natanael Fonseca

Projeto no GitHub ( Angular 2 DashBoard )

Olá Pessoal,

   Estou criando um projeto open-source que pode ser utilizado em treinamentos para aprender a desenvolver em Angular 2 com TypeScript, NodeJS e no futuro próximo MongoDB. O projeto foi criado por mim mesmo durante o último curso que ministrei no grupo segurador Banco do Brasil e MAPFRE e atualmente está bem no começo, mas pretendo melhora-lo incluindo suporte a autenticação com OpenID e persistência com MongoDB.
    Quem quiser ficar por dentro, basta seguir o repositório no GitHUb:

   https://github.com/natanaelfonseca/angular2-dashboard

Abrcs.
Natanael Fonseca

Transpilar código para JavaScript

Olá Pessoal,
   Hoje vamos falar sobre uma técnica para geração de código fonte em JavaScript que está sendo bastante utilizada no desenvolvimento de páginas HTML, chamada de “Transpilação”. Mas o que seria Transpilação?
   Transpilar significa converter um código fonte em outro por meio de um processo de compilação, ou seja, o programador escreve o código fonte em uma linguagem que após ser compilada gerará um código equivalente em outra linguagem. Essa técnica não é nova e já é utilizada em diversos cenários na computação, falando especificamente sobre desenvolvimento web e principalmente de JavaScript, acontece que  nos últimos anos vemos um número crescente de linguagens e compiladores que se propõem a gerar código fonte em JavaScript. 
   E por que isso está acontecendo? Apesar de JavaScript ser uma linguagem extremamente boa para o que que se propõe, a resposta está em algumas dificuldades encontradas quando estamos utilizando JavaScript de maneira séria em projetos de grande porte, algumas dessas dificuldades são:

  • O fato da linguagem não ser fortemente tipada;
  • A dificuldade em encontrar IDEs e Editores que alertam sobre erros de codificação, isso em grande parte é devido ao fato de que a linguagem não possui tipos;
  • Pelo menos até o ECMAScript 5,  não existe suporte claro para a criação de classes e interfaces;
  • Dificuldade em encontrar programadores que saibam todos os conceitos da linguagem e saibam utilizar esta em aplicações Enterprise;
    Claro que esses exemplos são simplistas e, é fato que existem no mercado alguns profissionais que possuem domínio de sobre a linguagem, mas acreditem, esses profissionais não são fáceis de encontrar e principalmente não vão vir por um preço baixo. Com relação aos Transpilers  os mais conhecidos são:

  Tenho me dedicado nos últimos meses a aprender este último, chamado de TypeScript, e que me surpreendeu bastante, principalmente porque  se assemelha bastante a linguagens “Enterprise” que já estão consolidadas, como Java e C#.  
    TypeScrpt possui algumas vantagens, que são: 
  • Suporte a criação de classes e interfaces;
  • Suporte a Generics;
  • Suporte a tipos de dados bem definidos(string, number, boolean e etc);
  • Com uma extensa gama de Editores e IDEs que podem ser utilizados.

    E o melhor de tudo isso e que como TypeScript após ser compilado gerará um JavaScript, é possível utiliza-lo também para desenvolver aplicações NodeJS, por falar nisso, é inegável o crescimento de projetos utilizando NodeJS não apenas como VM mas também como Ambiente de desenvolvimento, isso porque já existem uma gama enorme de pacotes e utilitários de linha de comando no repositório oficial, é por esse fato que podemos utilizar o NodeJS para criar nossos códigos em TypeScript.

Abrcs e até logo!
Natanael Fonseca

Tecnologias do dia a dia

Olá pessoal,

    Devido a correria do dia a dia estive um pouco longe do blog, pretendo melhorar as frequências em 2017, essa distancia ocorreu  pelo fato de que estive imerso em muita coisa nova em 2016 e não tive tempo pra digerir isso tudo. Tecnologia costuma ser algo difícil mesmo, mas nem por isso menos prazerosa.

Abrcs.
Natanael Fonseca

Turma Java Básico Indra 2015

Java Básico Indra Company.
Olá Pessoal,
   Hoje foi a primeira aula da turma de Java Básico que estou ministrando pela Indra Company do Brasil, estiveram presentes vários programadores que trabalham para o grupo segurador BB e Mapfre, e basicamente neste curso a ideia é ensinar orientação a objeto e um pouco da linguagem Java. Diferentemente do curso que costumava ministrar pela Globalcode, este tem um formato mais simples e direto, principalmente porque temos apenas 5 dias para apresentar a sintaxe e estruturas fundamentais de um programa Java, além disso, durante o curso iremos trocar bastantes experiencias, especialmente sobre problemas que todos tenham passado em ambiente produtivo.
   Vale mencionar ainda que nesta turma temos a presença de vários programadores VB, então todo cuidado é pouco para não deixar as coisas meio confusas em suas cabeças.    
Vamos em frente que o ano esta apenas começando !
Moving Foward !
Abrcs.
Natanael Fonseca

Agradecimentos e Feliz Ano Novo !!!!

Olá pessoal,
    Claro que não poderia deixar de passar aqui e deixar registrado meu agradecimento a todos os amigos e familiares que estiveram juntos comigo me apoiando nos meus anseios profissionais. Como de costume o último post do ano serve para lembrarmos das coisas boas que aconteceram, lógico que a vida também tem os momentos ruins, mas estes a gente tenta esquecer trancado em uma porta cujo a chave já foi jogada faz tempo. Por isso, é tempo para lembrar das realizações e grandes mudanças que ocorreram.
    Pra começar, meu 2014 começou com um baita desafio, algo que sempre tive vontade de fazer, mas que me faltou coragem, me mudar para uma grande cidade e ficar mais perto da tecnologia e do mercado mais aquecido de TI  do sul e sudeste do país.  Meu bum de 2014 foi minha mudança para SP em Janeiro deste ano, cheguei até a publicar um post mencionando tal feito, claro que ir pra uma cidade grande a passeio é uma coisa e morar longe da família é algo completamente diferente, a saudade simplesmente sufoca, e por mais que digamos que é fácil, eu digo com todas as letras, não é !
    Em SP eu pude viver neste 2014 um pouco da rotina estressante da grande cidade, nada do “Bom dia” do Sr. Zé da padaria, nem do -Oi Natan que sempre costumava escutar na minha cidade, em SP as pessoas são mais reservadas, algo perfeitamente entendível uma vez que os índices de criminalidade misturados a uma rotina de 2h de casa pro trabalho não deixa ninguém de bom humor, e por falar bastante gente, sim galerinha, em SP tem gente pra caralho hahahah !
     Ainda no comecinho do ano eu participei do QCon 2014, um evento muito bacana da área de programação da InfoQ, e também publiquei um artigo na mobile magazine, criei bastante material intelectual na forma de slides que em breve estarei postando no SlideShare e por último pude cuidar mais da minha saúde, pois comecei a fazer jiu jitsu. A partir do dia primeiro estou numa campanha nova chamada “Rumo aos 80kg” o/.
     Voltei a tocar guitarra e violão clássico, e isso aconteceu de forma mágica, foi inspirado em uma amiga minha que me disse:  – Natan, se isso te faz bem, volta !   Como é bom ter musicistas no seu circulo de amizade, isso é sensacional, nunca deixar essa chama da música desaparecer.
     Fiz novos amigos e plantei uma arvore hahahaha, aprendi novos valores e quebrei paradigmas ruins que estavam amarrados na minha pessoa e no fim do ano, pude rir bastante com as vindas para Manaus e os momentos com meus entes queridos.
    Obrigado 2014 por tudo de bom que aconteceu, espero que 2015 Deus possa derramar bençãos, vitórias e novas conquistas. Um Feliz ano Novo pra todo mundo!

Moving Foward!

Att.
Natanael Fonseca