Pré-Requisitos
- Ser usuário comum de serviços digitais, tais como Internet, Email, redes sociais.
- Conhecimentos básicos de redes TCP/IP.
Iniciando com Python
A linguagem Python
De Python 2 para Python 3
Diversos interpretadores e mesma linguagem
Preparando o ambiente
Primeiro passo: abra o interpretador
Primeiras explorações
Próximos passos – Compilação, etc.
Aprendendo Python na prática: números e strings
Números
Como manipular texto em Python
Criando e manipulando texto: strings
Como Python representa strings internamente?
Manipulações básicas
Uma calculadora: o exemplo revisado mais comum
Pegando dados no terminal
Comparações: maior, menor, igual e outras
Condicionais: if, elif & else
Operadores lógicos
Loops com while
Primeira estrutura de dados: lista
Loop pythônico com for e listas
Percorrendo intervalos de zero até n com range()
Enumerando coleções com for e função enumerate
Declarando funções: comando def
Valores padronizados de argumentos
Parâmetros nomeados
Recebendo um número arbitrário de argumentos: packing & unpacking
Usando código já pronto: importando módulos
Primeiro programa: download de dados
Criando uma função para download na web
Primeiro programa completo
Definindo funções main
Realizando o download
Extraindo arquivos de dados e metadados
Validaçãode dados
Montando um modelo conceitual usando estruturas de dados
Dicionários: fundação da linguagem
Montando o dicionário de metadados
Adicionando e removendo elementos em uma lista
Iterando dicionários: vendo valores e chaves
Tuplas: sequências imutáveis
Explorando os dados que coletamos
Importância da estrutura de Dados
Classes e objetos Pythônicos
Expressando o domínio em classes
Definindo classes: primeiro passo
Criando objetos: métodos construtores
Classes documentadas: docstrings
Métodos: adicionando comportamentos ao objeto
Herança simples em Python
Atributos de classes: compartilhados entre todas instâncias
Métodos estáticos e de classe: usando mais as classes
Encapsulamento Pythônico com a função property
Herança múltipla: herdando de várias classes
DuckTyping?
Tratando erros e exceções
Tratando várias possíveis exceções em um mesmo bloco
Exceções e Python 3.3+
Executando código se nenhuma exceção for levantada
Comando raise: levantando exceções
Introdução do Phyton em redes
Usando o Python 3
Melhorias desta edição
Playground da rede
Introdução à rede cliente-servidor
Os alicerces: pilhas e bibliotecas
Camadas de aplicativos
Conversando com um protocolo
Comunicação de rede bruta
Um suportando o outro até o fim
Codificação e decodificação
Internet Protocol
Endereços IP
Roteamento
Fragmentação de pacotes
Aprendendo mais sobre o IP
UDP
Números de porta
Soquetes
Vinculando-se a interfaces
Fragmentação no UDP
Opções dos soquetes
Broadcast
TCP
Como o TCP funciona
Quando usar o TCP
O que são os soquetes TCP
Cliente e servidor TCP simples
Vinculando-se a interfaces
Deadlock
Conexões fechadas, conexões semiabertas
Usando fluxos TCP como arquivos
Nomes de soquete e o DNS
Nomes de host e soquetes
Resolução de endereços moderna
Protocolo DNS
Dados e erros de rede
Bytes e strings
Framing e aspas
Pickles e formatos autodelimitadores
XML e JSON
Compactação
Exceções de rede
TLS/SSL
O que o TLS não protege
O que pode dar errado?
Gerando certificados
Deixando o TLS para terceiros
Contextos padrão de Python 3.4
Codificações escolhidas a dedo e segurança futura perfeita
Suporte dos protocolos ao TLS
Conhecendo detalhes
Arquitetura do servidor
Algumas palavras sobre implantação
Protocolo simples
Servidor de thread única
Servidores com várias threads e processos
Servidores assíncronos
Execução do inetd
Caches e filas de mensagens
Usando o Memcached
Hashing e Sharding
Filas de mensagens
Clientes HTTP
Bibliotecas clientes Python
Portas, criptografia e framing
Métodos
Caminhos e hosts
Códigos de status
Cache e validação
Codificação de conteúdo
Negociação de conteúdo
Tipo de conteúdo
Autenticação HTTP
Cookies
Conexões, sua reutilização e o httplib
Servidores HTTP
WSGI
Frameworks de servidores assíncronos
Proxy de encaminhamento e proxy reverso
Quatro arquiteturas
Plataformas como serviço
Padrões de GET e POST e a questão do REST
WSGI sem um framework
World Wide Web
Hipermídia e URLs
Hypertext Markup Language
Lendo e gravando em um banco de dados
Aplicativo web inadequado (em Flask
Dança dos formulários e métodos HTTP
Aplicativo de pagamentos no Django
Escolhendo um framework web
WebSockets
Web Scraping
Construindo e analisando emails
Formato dos emails
Construindo um email
Adicionando HTML e multimídia
Adicionando conteúdo
Analisando emails
Percorrendo as partes MIME
Codificações de cabeçalhos
Analisando datas
SMTP
Clientes de email versus serviços de webmail
Como o SMTP é usado
Introduzindo a biblioteca SMTP
Manipulação de erros e depuração da comunicação
Obtendo informações a partir de EHLO
Usando o Secure Sockets Layer e o Transport Layer Security
SMTP autenticado
Dicas sobre o SMTP
POP
Compatibilidade do servidor POP
Conexão e autenticação
Obtendo informações da caixa de correio
Baixando e excluindo mensagens
IMAP
Entendendo o IMAP em Python
Telnet e SSH
Automação da linha de comando
Telnet
SSH: o shell seguro
FTP
O que usar em vez do FTP
RPC
Recursos do RPC
© 4Bios
by neritVocê ainda pode se inscrever em nossos cursos e interagir com nossas redes sociais com total segurança.