Python Levado a Sério

Conselhos de um faixa-preta sobre implantação, escalabilidade, testes e outros assuntos

Python Levado a Sério Indisponível
× Python Levado a Sério

Python Levado a Sério

Compartilhar

Autor: Julien Danjou

ISBN impresso: 978-65-86057-17-1
ISBN ebook: 978-65-86057-18-8
Ano: 2020
Páginas: 256
Preço impresso: R$ 79,00 O ebook deste livro está disponível na Amazon.

3 opiniões | Opine sobre este livro

Descrição do livro

Aperfeiçoe suas habilidades com Python enquanto explora minuciosamente essa linguagem de programação com Python Levado a Sério. Escrito para desenvolvedores e programadores experientes, este livro sintetiza mais de quinze anos de experiência com Python, com o intuito de ensinar você a evitar erros comuns, escrever código de modo mais eficiente e criar melhores programas em menos tempo. Você verá uma série de tópicos avançados como multithreading e memoização, receberá conselhos de especialistas em assuntos como design de APIs e como lidar com bancos de dados, além de conhecer a natureza interna de Python a fim de ter uma compreensão mais profunda sobre a linguagem em si.

Primeiro, aprenderá a iniciar um projeto e se verá diante de assuntos como numeração de versões, estilos de programação e verificações automáticas. Em seguida, aprenderá a definir funções de modo eficiente, escolher as estruturas de dados e as bibliotecas corretas, criar programas à prova de futuro, empacotar seu software para distribuição e otimizar seus programas até o nível de bytecode.

Ver menos ▲

Sumário

  • Sobre o autor
  • Sobre o revisor técnico
  • Agradecimentos
  • Introdução
    • ■ Iniciando o seu projeto
      • Versões de Python
      • Organizando o seu projeto
        • O que você deve fazer
        • O que você não deve fazer
      • Numeração de versões
      • Estilo de programação e verificações automáticas
        • Ferramentas para identificar erros de estilo
        • Ferramentas para identificar erros de código
      • Joshua Harlow fala sobre Python
    • ■ Módulos, bibliotecas e frameworks
      • Sistema de importação
        • Módulo sys
        • Paths de importação
        • Importadores personalizados
        • Meta path finders
      • Bibliotecas-padrões úteis
      • Bibliotecas externas
        • Lista de verificação de segurança para bibliotecas externas
        • Protegendo seu código com um wrapper de API
      • Instalação de pacotes: aproveitando melhor o pip
      • Usando e escolhendo frameworks
        • Documentação e boas práticas para APIs
      • Documentando com o Sphinx
        • Introdução ao Sphinx e ao reST
        • Módulos do Sphinx
        • Escrevendo uma extensão para o Sphinx
        • Administrando mudanças em suas APIs
        • Numeração das versões da API
        • Documentando as mudanças em sua API
        • Marcando funções obsoletas com o módulo warnings
      • Resumo
      • Christophe de Vienne fala sobre o desenvolvimento de APIs
    • ■ Lidando com timestamps e fusos horários
      • Problema da ausência de fusos horários
      • Criando objetos datetime default
      • Timestamps com informação sobre o fuso horário com o dateutil
      • Serializando objetos datetime com informação de fuso horário
      • Resolvendo horários ambíguos
      • Resumo
    • ■ Distribuindo seu software
      • Um pouco da história do setup py
      • Empacotamento com setup cfg
      • Padrão de distribuição do formato Wheel
      • Compartilhando seu trabalho com o mundo
      • Pontos de entrada
        • Visualizando os pontos de entrada
        • Usando scripts de console
        • Usando plugins e drivers
      • Resumo
      • Nick Coghlan fala sobre empacotamento
    • ■ Testes de unidade
      • Básico sobre testes
        • Alguns testes simples
        • Ignorando testes
        • Executando testes específicos
        • Executando testes em paralelo
        • Criando objetos usados nos testes com fixtures
        • Executando cenários de testes
        • Testes controlados usando simulação
  • Sumário
    • Identificando um código não testado com o coverage
    • Ambientes virtuais
      • Configurando um ambiente virtual
      • Usando virtualenv com o tox
      • Recriando um ambiente
      • Usando diferentes versões de Python
      • Integrando outros testes
    • Política de testes
    • Robert Collins fala sobre testes
    • ■ Métodos e decoradores
      • Decoradores e quando usá-los
        • Criando decoradores
        • Escrevendo decoradores
        • Empilhando decoradores
        • Escrevendo decoradores de classe
      • Como os métodos funcionam em Python
      • Métodos estáticos
      • Métodos de classe
      • Métodos abstratos
      • Combinando métodos estáticos, métodos de classe e métodos abstratos
        • Colocando implementações em métodos abstratos
        • A verdade sobre o super
      • Resumo
    • ■ Programação funcionaL
      • Criando funções puras
      • Geradores
        • Criando um gerador
        • Devolvendo e passando valores com yield
        • Inspecionando geradores
      • List comprehensions
      • Funções funcionais em ação
        • Aplicando funções a itens usando map()
        • Filtrando listas com filter()
        • Obtendo índices com enumerate()
        • Ordenando uma lista com sorted()
        • Encontrando itens que satisfaçam condições com any() e all()
        • Combinado listas com zip()
        • Um problema comum resolvido
        • Funções úteis de itertools
      • Resumo
        • Árvore Sintática Abstrata, HY e atributos do tipo LISP
      • Observando a AST
        • Escrevendo um programa usando a AST
        • Objetos AST
        • Percorrendo uma AST
      • Estendendo o flake8 com verificações na AST
        • Escrevendo a classe
        • Ignorando códigos irrelevantes
        • Verificando se há um decorador apropriado
        • Procurando o self
      • Uma introdução rápida ao Hy
      • Resumo
      • Paul Tagliamonte fala sobre a AST e o Hy
        • ■ Desempenho e otimizações
      • Estruturas de dados
      • Entendendo o comportamento usando profiling
        • cProfile
        • Disassembling com o módulo dis
      • Definindo funções de modo eficiente
      • Listas ordenadas e o bisect
      • namedtuple e slots
      • Memoização
      • Python mais rápido com o PyPy
      • Evitando cópias com o protocolo de buffer
      • Resumo
      • Victor Stinner fala sobre otimização
        • ■ Escalabilidade e arquitetura
      • Multithreading em Python e suas limitações
      • Multiprocessamento versus multithreading
      • Arquitetura orientada a eventos
      • Outras opções e o asyncio
      • Arquitetura orientada a serviços
      • Comunicação entre processos com o ZeroMQ
      • Resumo
        • ■ Gerenciando bancos de dados relacionais
      • RDBMSs, ORMs e quando usá-los
      • Backends de bancos de dados
      • Streaming de dados com Flask e PostgreSQL
  • Sumário
    • Escrevendo a aplicação de streaming de dados
    • Criando a aplicação
    • Dimitri Fontaine fala sobre bancos de dados
      • ■ Escreva menos, programe mais
    • Usando o six para suporte a Python 2 e 3
      • Strings e Unicode
      • Lidando com a mudança nos módulos Python
      • Módulo modernize
    • Usando Python como Lisp para criar um dispatcher simples
      • Criando métodos genéricos em Lisp
      • Métodos genéricos com Python
    • Gerenciadores de contexto
    • Menos boilerplate com attr
    • Resumo
Ver sumário completo ▼

Sobre o autor

Julien Danjou

Julien Danjou é engenheiro de software na Red Hat e colaborador do OpenStack, o maior projeto de código aberto existente escrito em Python. É hacker de software livre e de código aberto há quinze anos.… Ver perfil completo ▶

Opinião dos leitores

Gerlandio L

Aborda assuntos avançados da linguagen, muito simples como o conhecimento é transmitido em um livro relativamente curto.

Édio M

Python é uma linguagem de programação simples, completa, acessível, portátil, extensível. Evoluir na linguagem Python com este livro é uma das formas mais simples, acessíveis e gostosas de começar no mundo do desenvolvimento.

Marcelino d S F

Muito bom livro

Ver todas ▼