Prévia do material em texto
Desenvolvimento de Aplicações Web com Tecnologias Avançadas em Python 1. Introdução ao Desenvolvimento Web com Python - O que torna o Python uma escolha popular para desenvolvimento web? - Comparação entre Python e outras linguagens de programação para web. - Frameworks Python para web: Django, Flask, FastAPI, Pyramid, entre outros. - Propósitos e objetivos deste eBook. 2. Python e Django - Preparando o ambiente de desenvolvimento com Python e Django. - Criando um projeto Django: estrutura de diretórios e configuração inicial. - GeoDjango: configurando e manipulando dados espaciais. - Autenticação com certificação digital ICP-Brasil: como configurar e integrar. 3. Tecnologias Geoespaciais - Como o GeoDjango facilita o trabalho com dados espaciais? - Criando mapas interativos com Leaflet: exemplos práticos. - Configuração de servidores de mapas: GeoServer e MapServer. - MapProxy/Mapink: conceitos e vantagens no caching de mapas. - Uso de bibliotecas como GDAL, OGR e Proj4 para processamento geoespacial avançado. 4. Backend e Banco de Dados - PostgreSQL e PostGIS: configuração para suporte geoespacial. - Armazenando dados não estruturados com MongoDB. - Redis: conceitos básicos e integração para caching e filas. - Processamento assíncrono com Celery: arquitetura e exemplos práticos. 5. Integração Contínua e Controle de Versão - Princípios de controle de versão: diferenças entre Git e Subversion. - Configurando pipelines CI/CD com Jenkins: do commit ao deploy. - Uso do GitLab para integração contínua e monitoramento. - Como Maven simplifica o gerenciamento de dependências e builds? 6. Containers e Orquestração - O que são containers e por que são importantes? - Criando imagens Docker para aplicações web. - Introdução ao Kubernetes: componentes essenciais e práticas de orquestração. - Exemplo de aplicação: deploy de uma aplicação Django usando Docker e Kubernetes. 7. Arquitetura de Software e Padrões de Projeto - Introdução aos padrões de projeto: Singleton, Factory, Observer, entre outros. - Como implementar o padrão MVC em Django? - Arquitetura de microsserviços: definição, benefícios e desafios. - Comparação entre arquiteturas monolíticas e baseadas em microsserviços. 8. Metodologias Ágeis - Princípios fundamentais do Scrum: papéis, eventos e artefatos. - Kanban: fluxo contínuo e métricas para melhoria contínua. - Extreme Programming (XP): práticas de desenvolvimento ágil. - Estudos de caso: aplicando metodologias ágeis em equipes de desenvolvimento. 9. Segurança e DevSecOps - Importância da segurança no ciclo de desenvolvimento de software. - DevSecOps: integração de práticas de segurança no DevOps. - Configurando Nginx como proxy reverso e firewall. - Protegendo APIs e dados sensíveis com práticas modernas. 10. GeoNode: uma Ferramenta Completa para Dados Geoespaciais - O que é GeoNode e como ele se destaca em sistemas geoespaciais? - Instalando e configurando o GeoNode com GeoServer. - Personalização do GeoNode: integração com Django. - Estudo de caso: criando uma plataforma para compartilhamento de dados geoespaciais. 11. Estudo de Caso Completo - Definição do problema: necessidade de um sistema de gestão de dados geoespaciais. - Planejamento e escolha de ferramentas: Django, Leaflet, GeoServer e Kubernetes. - Implementação do backend: configurações, processamento geoespacial e integração. - Frontend com mapas interativos: design e implementação. - Pipeline de CI/CD com Jenkins e deploy no Kubernetes. 12. Conclusão e Próximos Passos - Resumo dos conceitos abordados. - Sugestões de materiais para aprofundamento. - Como acompanhar a evolução dessas tecnologias no futuro?