Skip to content

siecola/siecola

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Paulo Siécola

Mestre em Ciência da Computação pela Universidade de São Paulo - USP. Desenvolvedor backend e mobile. Instrutor online, professor e autor de livros sobre cloud computing e desenvolvimento mobile

Cursos online:

🔥 Criando serviços em Java com AWS ECS e Fargate 🔥

Crie a infraestrutura das aplicações baseadas em Docker com AWS CDK, interagindo com serviços da AWS como SNS, SQS, RDS, DynamoDB e S3.

aws_course_image

Áudio em Português e legendas em Português e Espanhol

Nesse curso você irá criar duas aplicações utilizando Spring Boot em containers Docker, para interagir com serviços da AWS como:

  • ECS: o Elastic Container Service é o serviço de orquestração de containers da AWS. Com ele é possível gerenciar a execução de aplicações baseados em containers Docker de forma robusta e escalável. E com o AWS Fargate, o Serverless compute for containers da AWS, não é necessário criar instâncias de máquinas EC2, reduzindo o custo de operação de aplicações baseadas em containers;

  • RDS: o Relational Database Service é um recurso que permite a criação de instâncias de banco de dados, com serviços como backups automáticos e diretrizes de segurança de acesso;

  • SNS: o Simple Notification Service é um recurso muito utilizado para criação de mecanismos de notificações para diversas aplicações ou outros serviços;

  • SQS: o Simple Queue Service é um recurso que permite a criação de filas para entrega de mensagens de forma rápida e confiável, possibilitando a criação de um mecanismo assíncrono de comunicação entre aplicações;

  • DynamoDB: esse é um poderoso serviço de banco de dados NoSQL, que permite a criação de tabelas, sem a necessidade de se criar um servidor, com características exclusão automática de dados, escalabilidade e muito mais;

  • S3: o Simple Storage Service permite a criação de buckets para armazenamento seguro de arquivos. Além disso é possível configurar eventos a serem gerados quando esses arquivos são colocados nesses buckets, fazendo com outras aplicações sejam avisadas desses eventos.

Com isso você aprenderá também a utilizar o AWS SDK, que é um conjunto de bibliotecas desenvolvido pela própria AWS para utilizar seus serviços. Esses recursos serão criados na AWS utilizando o AWS Cloud Development Kit - CDK, uma forma moderna de modelamento e provisionamento de infrastrutura na AWS. Você também aprenderá como monitorar os serviços através de gráficos e métricas, além de utilizar o CloudWatch Insights, para visualização e pesquisa de logs das aplicações. Aprenda tudo isso com explicações detalhadas e exercícios práticos, onde você poderá testar suas habilidades e aplicar os conceitos aprendidos. Ao final desse curso, você estará confiante para arquitetar e desenvolver serviços na AWS de forma escalável e robusta.


E-books:

👉 Desenvolvendo aplicações em Java para AWS 👈

book_cover_03_pt

Esse livro é destinado a desenvolvedores de software, com ou sem experiência em cloud computing, que desejam se aprofundar nos serviços oferecidos pela AWS. Também é uma fonte de conhecimento para administradores e operadores de sistemas, para se familiarizarem com as ferramentas de criação e administração de recursos de cloud computing da AWS.

As aplicações ensinadas nesse livro, como forma de exemplificação dos conceitos que serão apresentados, utilizam frameworks e ferramentas modernas, como Spring Boot e Docker. Dessa forma, o leitor aprenderá a trabalhar com tais tecnologias em conjunto com os serviços de cloud computing.

Durante o livro será utilizado o ECS, o Elastic Container Service é o serviço de orquestração de containers da AWS. Com ele é possível gerenciar a execução de aplicações baseados em containers Docker de forma robusta e escalável.

Todos os exemplos possuem código-fonte disponíveis para acesso gratuito. A seguir uma breve descrição de cada um deles:

  • Project01: nesse exemplo será construída uma aplicação com serviços REST para cadastro de produtos de uma loja. Tais produtos serão armazenados em um banco de dados MySQL utilizando o AWS RDS. Em cada operação de cadastro, exclusão ou alteração de um produto, um evento será publicado em um tópico do AWS SNS, permitindo a integração com outras aplicações. Essa aplicação também fará importação de arquivos de notas fiscais através do AWS S3.
  • Project02: esse projeto contará com uma tabela do AWS DynamoDB, para armazenar os eventos gerados pela aplicação de cadastro de produtos, integrado através de uma fila do AWS SQS.
  • Lambda01: esse será um exemplo simples de uma aplicação serverless utilizando funções com o AWS Lambda, demonstrando como agendar a execução de uma função.
  • Lambda02: nesse segundo exemplo, será demonstrado como executar uma função Lambda através de um evento publicado no SNS.
  • Lambda03: aqui será apresentado como criar uma função Lambda para consumir arquivos importados no S3 e gravar seus dados em uma tabela do DynamoDB.

👉 Desenvolvimento Android com Firebase 👈

book_cover_01_pt.png

O público alvo desse livro são desenvolvedores com conhecimento em programação orientada a objetos, que desejam conhecer e desenvolver aplicativos Android utilizando serviços do Google Firebase.

Todos os aplicativos desenvolvidos aqui serão criados utilizando a linguagem Kotlin, criada pela JetBrains. Ter conhecimento nessa linguagem é desejável, mas a estrutura didática do livro considera que o leitor não tem nenhuma experiência prévia. Por isso, alguns conceitos importantes sobre Kotlin serão apresentados ao longo do livro, principalmente aqueles mais utilizados para o desenvolvimento de aplicativos para Android.

Apesar desse livro ser voltado a conceitos e arquiteturas não triviais no âmbito do desenvolvimento de aplicativos para Android, ele não considera como requisito um conhecimento prévio do leitor nesse assunto. O mesmo se aplica ao Google Firebase. Por isso, seu conteúdo passará por assuntos básicos até chegar ao seu propósito final.

Os capítulos são apresentados da seguinte forma:

O capítulo 2 apresenta um pouco sobre o sistema operacional Android e o capítulo 3 mostra conceitos por trás da plataforma Firebase que será utilizada pelos aplicativos desenvolvidos nesse livro.

O capítulo 4 instrui o leitor a preparar seu ambiente de desenvolvimento, no processo de instalação das ferramentas e bibliotecas necessárias, bem como suas configurações.

No capítulo 5 são apresentados alguns conceitos da linguagem Kotlin, focado no que será utilizado para o desenvolvimentos dos aplicativos nesse livro.

No capítulo 6 começa o desenvolvimento de um aplicativo bem simples, somente com o intuito de demonstrar a ferramenta Android Studio, a linguagem Kotlin e a estrutura de um projeto inicial, utilizando ConstraintLayout para a construção da interface gráfica

Ainda com o mesmo aplicativo desenvolvido, o capítulo 7 apresenta alguns desafios do mundo de dispositivos móveis e como resolvê-los com técnicas simples. Aqui, serão apresentados conceitos como Activity, seu ciclo de vida e como lidar com seus estados.

O capítulo 8 inicia um novo aplicativo para consumir serviços REST com OAuth utilizando o framework Retrofit.

O capítulo 9 continua o segundo aplicativo, introduzindo conceitos de listas criadas com o componente RecyclerView, assim como a navegação entre telas utilizando o NavigationController, que permite a utilização de safe args entre fragmentos.

No capítulo 10 um novo aplicativo será criado para receber mensagens através do Firebase Cloud Messaging, dando início a parte do livro que trata sobre a interação de aplicações Android com a plataforma Firebase.

O capítulo 11 inicia um novo aplicativo para utilizar o Firebase Authentication, para autenticação de usuários utilizando a conta do Google, sem a necessidade da criação de infraestruturas complexas. Ainda será apresentado como persistir dados no Firestore, um banco de dados não-relacional hospedado no Firebase, que possibilita atualizações em tempo real.

O capítulo 12 utiliza uma ferramenta extremamente poderosa para o entendimento do comportamento do usuário com um aplicativo: Firebase Analytics. Com ele é possível gerar eventos da utilização de cada parte da aplicação, concentrando em um dashboard analítico.

Finalmente o capítulo 13 introduz o Firebase Remote Config, que possibilita a alteração de partes do aplicativo mediante variáveis de configuração que podem ser alteradas no console do Firebase.


👉 Desenvolvimento iOS com Firebase 👈

book_cover_01_pt

Crie aplicativos para iOS utilizando SwiftUI 2.0 e serviços do Firebase, como Authentication, Firestore, Remote Config e Storage.

O público alvo desse livro são desenvolvedores com conhecimento em programação orientada a objetos, que desejam conhecer e desenvolver aplicativos para iOS utilizando serviços do Google Firebase.

Todos os aplicativos desenvolvidos aqui serão criados utilizando a linguagem Swift, criada pela Apple. Ter conhecimento nessa linguagem é desejável, mas a estrutura didática do livro considera que o leitor não tem nenhuma experiência prévia. Por isso, alguns conceitos importantes sobre Swift serão apresentados ao longo do livro, principalmente aqueles mais utilizados para o desenvolvimento de aplicativos para iOS.

Apesar desse livro ser voltado a conceitos e arquiteturas não triviais no âmbito do desenvolvimento de aplicativos para iOS, ele não considera como requisito um conhecimento prévio do leitor nesse assunto. O mesmo se aplica ao Google Firebase. Por isso, seu conteúdo passará por assuntos básicos até chegar ao seu propósito final.

O capítulo 2 oferece uma visão geral de como o processo de desenvolvimento de um app iOS acontece.

No capítulo 3, o leitor terá uma explicação inicial sobre os serviços do Firebase que serão utilizados nesse livro, para integrar nas aplicações a serem desenvolvidas para iOS.

O capítulo 4 é uma introdução a alguns conceitos da linguagem Swift, principalmente aqueles que serão mais utilizados nos exemplos que serão desenvolvidos nesse livro.

No capítulo 5 é criado o primeiro aplicativo, já utilizando SwiftUI e as facilidades do Xcode Preview. Também são introduzidos conceitos como State e Binding, que facilitam a atualização da interface gráfica através de eventos.

O capítulo 6 inicia um novo projeto onde são apresentadas técnicas modernas para a criação de um aplicativo para consumir serviços REST autenticação OAuth utilizando o Alamofire. Tudo construído com SwiftUI, mostrando o que ele tem de melhor, com a utilização de viewModels para a representação dos dados a serem atualizados na interface gráfica. Esse mesmo projeto será continuado no capítulo 7, onde será introduzida a navegação entre view dentro do app, assim como o consumo de outras operações do serviço REST.

O capítulo 8 apresenta como construir um app para se registrar e receber mensagens do Firebase Cloud Messaging, um serviço capaz de enviar notificações a dispositivos móveis do Google.

No capítulo 9 será mostrado como autenticar usuários com o Firebase Authentication de forma fácil e descomplicada.

A informação do usuário autenticado será utilizada para definir as regras de segurança de acesso aos dados que ele criar no Firestore, um banco de dados não-relacional com sincronismo realtime, como será visto no capítulo 10.

No capítulo 11 será visto outro serviço do Firebase, o Analytics, capaz de coletar eventos das ações do usuário dentro app, para obtenção de dados sobre seu comportamento e utilização de funcionalidades.

O capítulo 12 introduz o Firebase Remote Config, que possibilita a alteração de partes do aplicativo mediante variáveis de configuração que podem ser alteradas no console do Firebase.

Finalmente, no capítulo 13 é apresentado o Firebase Storage, que permite o armazenamento de objetos e arquivos no Firebase, utilizando as mesmas regras de segurança de acesso adotadas no Firestore. Com isso o usuário pode guardar seus arquivos de forma segura.

A implementação utilizando o SDK do Firebase faz com que o trabalho de upload e download das fotos seja bem simples e totalmente aderente à arquitetura adotada no restante das implementações realizadas nesse livro.

About

GitHub profile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published