Skip to content

Commit 88f7d6c

Browse files
committed
asyncio: ajuste seletivo na formatação do termo
1 parent fbe502b commit 88f7d6c

File tree

7 files changed

+14
-14
lines changed

7 files changed

+14
-14
lines changed

online/Prefacio.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ Alex Martelli e Anna Ravenscroft foram os primeiros a verem o esquema desse livr
271271
Seus livros me ensinaram Python idiomático e são modelos de clareza, precisão e profundidade em escrita técnica.
272272
Os https://fpy.li/p-7[6,200+ posts de Alex no Stack Overflow] (EN) são uma fonte de boas ideias sobre a linguagem e seu uso apropriado.
273273

274-
Martelli e Ravenscroft foram também revisores técnicos deste livro, juntamente com Lennart Regebro e Leonardo Rochael. Todos nesta proeminente equipe de revisão técnica têm pelo menos 15 anos de experiência com Python, com muitas contribuições a projetos Python de alto impacto, em contato constante com outros desenvolvedores da comunidade. Em conjunto, eles me enviaram centenas de correções, sugestões, questões e opiniões, acrescentando imenso valor ao livro. Victor Stinner gentilmente revisou o <<ch_async>>, trazendo seu conhecimento especializado, como um dos mantenedores do `asyncio`, para a equipe de revisão técnica. Foi um grande privilégio e um prazer colaborar com eles por estes muitos meses.
274+
Martelli e Ravenscroft foram também revisores técnicos deste livro, juntamente com Lennart Regebro e Leonardo Rochael. Todos nesta proeminente equipe de revisão técnica têm pelo menos 15 anos de experiência com Python, com muitas contribuições a projetos Python de alto impacto, em contato constante com outros desenvolvedores da comunidade. Em conjunto, eles me enviaram centenas de correções, sugestões, questões e opiniões, acrescentando imenso valor ao livro. Victor Stinner gentilmente revisou o <<ch_async>>, trazendo seu conhecimento especializado, como um dos mantenedores do _asyncio_, para a equipe de revisão técnica. Foi um grande privilégio e um prazer colaborar com eles por estes muitos meses.
275275

276276
A editora Meghan Blanchette foi uma fantástica mentora, e me ajudou a melhorar a organização e o fluxo do texto do livro, me mostrando que partes estavam monótonas e evitando que eu atrasasse o projeto ainda mais. Brian MacDonald editou os capítulo na <<function_objects_part>> quando Meghan estava ausente. Adorei trabalhar com eles e com todos na O'Reilly, incluindo a equipe de suporte e desenvolvimento do Atlas (Atlas é a plataforma de publicação de livros da O'Reilly, que eu tive a felicidade de usar para escrever esse livro).
277277

online/cap15.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ seguro.
891891

892892
A leitora atenta pode ter notado que `sockets[0]` poderia gerar um `IndexError`
893893
se `sockets` estiver vazio.
894-
Entretanto, até onde entendo o `asyncio`, isso não pode acontecer no
894+
Entretanto, até onde entendo o _asyncio_, isso não pode acontecer no
895895
<<ex_tcp_mojifinder_main>> do <<ch_async>>, pois no momento em que leio o atributo `sockets`, o
896896
`server` já está pronto para aceitar conexões , portanto o atributo não estará
897897
vazio. E, de qualquer forma, `IndexError` ocorre durante a execução. O Mypy não

online/cap17.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2087,7 +2087,7 @@ Geradoras capazes de consumir e devolver valores são corrotinas, nosso próximo
20872087
A https://fpy.li/pep342[PEP 342—Coroutines via Enhanced Generators (_Corrotinas via geradores aprimorados_)] introduziu `.send()` e outros recursos que tornaram possível usar geradores como corrotinas. A PEP 342 usa a palavra "corrotina" (_coroutine_) no mesmo sentido que estou usando aqui.
20882088
É lamentável que a documentação oficial de Python e da biblioteca padrão agora usem uma terminologia inconsistente para se referir a geradores usadas como corrotinas, me obrigando a adotar o qualificador "corrotina clássica", para diferenciar estas últimas com os novos objetos "corrotinas nativas".
20892089
2090-
Após o lançamento de Python 3.5, a tendência é usar "corrotina" como sinônimo de "corrotina nativa". Mas a PEP 342 não está descontinuada, e as corrotinas clássicas ainda funcionam como originalmente projetadas, apesar de não serem mais suportadas por `asyncio`.
2090+
Após o lançamento de Python 3.5, a tendência é usar "corrotina" como sinônimo de "corrotina nativa". Mas a PEP 342 não está descontinuada, e as corrotinas clássicas ainda funcionam como originalmente projetadas, apesar de não serem mais suportadas por _asyncio_.
20912091
====
20922092

20932093
Entender as corrotinas clássicas((("coroutines", "understanding classic"))) no Python é mais confuso porque elas são, na verdade, geradores usadas de uma forma diferente.
@@ -2382,8 +2382,8 @@ Aquele texto inclui pseudo-código similar ao Python detalhando como `yield from
23822382
====
23832383

23842384
Na prática, realizar trabalho produtivo com corrotinas exige o suporte de um framework especializada.
2385-
É isso que `asyncio` oferecia para corrotinas clássicas lá atrás, no Python 3.3.
2386-
Com o advento das corrotinas nativas no Python 3.5, os mantenedores de Python estão gradualmente eliminando o suporte a corrotinas clássicas no `asyncio`.
2385+
É isso que _asyncio_ oferecia para corrotinas clássicas lá atrás, no Python 3.3.
2386+
Com o advento das corrotinas nativas no Python 3.5, os mantenedores de Python estão gradualmente eliminando o suporte a corrotinas clássicas no _asyncio_.
23872387
Mas os mecanismos subjacentes são muito similares.
23882388
A sintaxe `async def` torna a corrotinas nativas mais fáceis de identificar no código,
23892389
um grande benefício por si só.

online/cap19.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ Além da biblioteca padrão, há muito projetos populares baseados em Python par
10111011
ferramentas como o https://fpy.li/19-30[_Ansible_] (EN) e o https://fpy.li/19-31[_Salt_] (EN),
10121012
bem como bibliotecas como a https://fpy.li/19-32[_Fabric_] (EN).
10131013

1014-
Há também um número crescente de bibliotecas para administração de sistemas que suportam corrotinas e `asyncio`.
1014+
Há também um número crescente de bibliotecas para administração de sistemas que suportam corrotinas e _asyncio_.
10151015
Em 2016, a https://fpy.li/19-33[equipe de Engenharia de Produção] (EN) do Facebook relatou:
10161016
"Estamos cada vez mais confiantes no AsyncIO, introduzido no Python 3.4,
10171017
e vendo ganhos de desempenho imensos conforme migramos as bases de código de Python 2."
@@ -1205,7 +1205,7 @@ Ambos suportam o uso do banco de dados NoSQL https://fpy.li/19-50[_Redis_] para
12051205
O _Celery_ também suporta outras filas de mensagens, como o _RabbitMQ_ ou o _Amazon SQS_, bem como outros bancos de dados para armazenamento de resultados.
12061206

12071207
Isso encerra nossa introdução à concorrência em Python.
1208-
Os dois próximos capítulos continuam nesse tema, se concentrando nos pacotes `concurrent.futures` e `asyncio` packages da biblioteca padrão.((("", startref="CMmulti19")))((("", startref="Pmulti19")))
1208+
Os dois próximos capítulos continuam nesse tema, apresentando os pacotes `concurrent.futures` e `asyncio` da biblioteca padrão.((("", startref="CMmulti19")))((("", startref="Pmulti19")))
12091209

12101210

12111211

online/cap21.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,8 +1475,8 @@ A https://fpy.li/21-53[seção "Motivation"](EN) menciona as "creches" (_nurseri
14751475
Outro importante recurso do _Curio_ é um suporte melhor para programar com corrotinas e threads na mesma base de código—uma necessidade de qualquer programa assíncrono não-trivial.
14761476
Iniciar uma thread com `await spawn_thread(func, …)` devolve um objeto `AsyncThread` com uma interface de `Task`. As threads podem chamar corrotinas, graças à função especial https://fpy.li/21-54[`AWAIT(coro)`]—escrita inteiramente com maiúsculas porque `await` agora é uma palavra-chave.
14771477

1478-
O _Curio_ também oferece uma `UniversalQueue` que pode ser usada para coordenar o trabalho entre threads, corrotinas _Curio_ e corrotinas `asyncio`.
1479-
Isso mesmo, o _Curio_ tem recursos que permitem que ele rode em uma thread junto com `asyncio` em outra thread, no mesmo processo, se comunicando através da `UniversalQueue` e de `UniversalEvent`.
1478+
O _Curio_ também oferece uma `UniversalQueue` que pode ser usada para coordenar o trabalho entre threads, corrotinas _Curio_ e corrotinas _asyncio_.
1479+
Isso mesmo, o _Curio_ tem recursos que permitem que ele rode em uma thread junto com _asyncio_ em outra thread, no mesmo processo, se comunicando através da `UniversalQueue` e de `UniversalEvent`.
14801480
A API para essas classes "universais" é a mesma dentro e fora de corrotinas, mas em uma corrotina é preciso preceder as chamadas com `await`.
14811481

14821482
Em outubro de 2021, quando estou escrevendo esse capítulo, a _HTTPX_ é a primeira biblioteca HTTP cliente https://fpy.li/21-55[compatível com o _Curio_],
@@ -1486,8 +1486,8 @@ No repositório do _Curio_ há um conjunto impressionante de https://fpy.li/21-5
14861486
O design do _Curio_ tem tido grande influência.
14871487
o framework https://fpy.li/21-58[_Trio_], iniciada por Nathaniel J. Smith,
14881488
foi muito inspirada pelo _Curio_.
1489-
O _Curio_ pode também ter alertado os contribuidores de Python a melhorarem a usabilidade da API `asyncio`.
1490-
Por exemplo, em suas primeiras versões, os usuários do `asyncio` muitas vezes eram obrigados a obter e ficar passando um objeto `loop`, porque algumas funções essenciais eram ou métodos de `loop` ou exigiam um argumento `loop`.
1489+
O _Curio_ pode também ter alertado os contribuidores de Python a melhorarem a usabilidade da API _asyncio_.
1490+
Por exemplo, em suas primeiras versões, os usuários do _asyncio_ muitas vezes eram obrigados a obter e ficar passando um objeto `loop`, porque algumas funções essenciais eram ou métodos de `loop` ou exigiam um argumento `loop`.
14911491
Em versões mais recentes de Python, acesso direto ao laço não é mais tão necessário e, de fato, várias funções que aceitavam um `loop` opcional estão agora descontinuando aquele argumento.
14921492

14931493
Anotações de tipo para tipos assíncronos é o nosso próximo tópico.((("", startref="APRcurio21")))((("", startref="curio21")))
@@ -1764,7 +1764,7 @@ Entretanto, o post revela que a _uvloop_ é capaz de competir com o desempenho d
17641764
. Que o Go seja configurado para usar uma única thread. Isso faz o runtime do Go se comportar de forma similar ao _asyncio_: a concorrência é alcançada através de múltiplas corrotinas acionadas por um laço de eventos, todos na mesma thread.footnote:[Usar uma única thread era o default até o lançamento do Go 1.5. Anos antes, o Go já tinha ganho uma merecida reputação por permitir a criação de sistemas em rede de alta concorrência. Mais uma evidência que a concorrência não exige múltiplas threads ou múltiplos núcleos de CPU.]
17651765
. Que o código Python 3.5 use a biblioteca https://fpy.li/21-85[_httptools_] além do próprio _uvloop_.
17661766
1767-
Selivanov explica que escreveu _httptools_ após testar o desempenho da _uvloop_ com a https://fpy.li/21-86[_aiohttp_]—uma das primeiras bibliotecas HTTP completas construídas sobre o `asyncio`:
1767+
Selivanov explica que escreveu _httptools_ após testar o desempenho da _uvloop_ com a https://fpy.li/21-86[_aiohttp_]—uma das primeiras bibliotecas HTTP completas construídas sobre o _asyncio_:
17681768
17691769
[quote]
17701770
____

vol1/Prefacio.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ Alex Martelli e Anna Ravenscroft foram os primeiros a ver o esquema desse livro,
374374
Seus livros me ensinaram Python idiomático e são modelos de clareza, precisão e profundidade em escrita técnica.
375375
Os mais de 6.200 posts de «Alex no Stack Overflow» [.small]#&#91;fpy.li/p-7&#93;# são uma fonte de boas ideias sobre a linguagem e seu uso apropriado.
376376

377-
Martelli e Ravenscroft foram também revisores técnicos deste livro, juntamente com Lennart Regebro e Leonardo Rochael. Todos nesta proeminente equipe de revisão técnica têm pelo menos 15 anos de experiência com Python, com muitas contribuições a projetos Python de alto impacto, em contato constante com outros desenvolvedores da comunidade. Em conjunto, eles me enviaram centenas de correções, sugestões, questões e opiniões, acrescentando imenso valor ao livro. Victor Stinner revisou o _{ch_async}_, trazendo seu conhecimento especializado, como um dos mantenedores do `asyncio`, para a equipe de revisão técnica. Foi um grande privilégio e um prazer colaborar com eles por estes muitos meses.
377+
Martelli e Ravenscroft foram também revisores técnicos deste livro, juntamente com Lennart Regebro e Leonardo Rochael. Todos nesta proeminente equipe de revisão técnica têm pelo menos 15 anos de experiência com Python, com muitas contribuições a projetos Python de alto impacto, em contato constante com outros desenvolvedores da comunidade. Em conjunto, eles me enviaram centenas de correções, sugestões, questões e opiniões, acrescentando imenso valor ao livro. Victor Stinner revisou o _{ch_async}_, trazendo seu conhecimento especializado, como um dos mantenedores do _asyncio_, para a equipe de revisão técnica. Foi um grande privilégio e um prazer colaborar com eles por estes muitos meses.
378378

379379
A editora Meghan Blanchette foi uma fantástica mentora, e me ajudou a melhorar a organização e o fluxo do texto do livro, me mostrando que partes estavam monótonas e evitando que eu atrasasse o projeto ainda mais. Brian MacDonald editou os capítulos da _Parte II_ quando Meghan estava ausente. Adorei trabalhar com eles e com todos na O'Reilly, incluindo a equipe de suporte e desenvolvimento do Atlas (Atlas é a plataforma de publicação de livros da O'Reilly, que usei para escrever esse livro).
380380

vol2/cap15.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ seguro.
892892

893893
A leitora atenta pode ter notado que `sockets[0]` poderia gerar um `IndexError`
894894
se `sockets` estiver vazio.
895-
Entretanto, até onde entendo o `asyncio`, isso não pode acontecer no
895+
Entretanto, até onde entendo o _asyncio_, isso não pode acontecer no
896896
https://fpy.li/94[«Exemplo 12 do Capítulo 21»] (vol.3), pois no momento em que leio o atributo `sockets`, o
897897
`server` já está pronto para aceitar conexões , portanto o atributo não estará
898898
vazio. E, de qualquer forma, `IndexError` ocorre durante a execução. O Mypy não

0 commit comments

Comments
 (0)