Skip to content

Commit 949d895

Browse files
committed
cap21: estilo WIP
1 parent 852c58b commit 949d895

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

online/cap20.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1020,7 +1020,7 @@ include::../code/20-executors/getflags/flags2_sequential.py[tags=FLAGS2_DOWNLOAD
10201020
----
10211021
====
10221022
<1> Este `Counter` vai registrar os diferentes resultados possíveis dos downloads: `DownloadStatus.OK`, `DownloadStatus.NOT_FOUND`, ou `DownloadStatus.ERROR`.
1023-
<2> `cc_iter` mantém a lista de códigos de país recebidos como argumentos, em ordem alfabética.
1023+
<2> `cc_iter` preserva a lista de códigos de país recebidos como argumentos, em ordem alfabética.
10241024
<3> Se não estamos rodando em modo `verbose`, `cc_iter` é passado para o `tqdm`, que devolve um iterador que produz os itens em `cc_iter` enquanto também anima a barra de progresso.
10251025
<4> Faz chamadas sucessivas a `download_one`.
10261026
<5> As exceções do código de status HTTP ocorridas em `get_flag` e não tratadas por `download_one` são tratadas aqui.

online/cap21.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,7 +1047,7 @@ Agora saímos de scripts clientes para escrever servidores com o `asyncio`.(((""
10471047
startref="exedel21")))((("", startref="APRdelegat21")))
10481048

10491049

1050-
=== Programando servidores asyncio
1050+
=== Programando servidores assíncronos
10511051

10521052
O((("asynchronous programming", "writing asyncio servers", id="APRwrit21")))((("asyncio package", "writing asyncio servers", id="APwrite21")))((("servers", "writing asyncio servers", id="Sasyncio21"))) exemplo clássico de um servidor TCP de brinquedo é um
10531053
https://fpy.li/7g[servidor eco]. Vamos escrever brinquedos um pouco mais interessantes: utilitários de servidor para busca de caracteres Unicode, primeiro usando HTTP com a _FastAPI_, depois usando TCP puro apenas com `asyncio`.
@@ -1180,7 +1180,7 @@ mas isso é o suficiente para o _FastAPI_ e o _pydantic_ validarem meus dados e
11801180
Agora vamos nos concentrar no script _tcp_mojifinder.py_, que responde às consultas, na <<tcp_mojifinder_demo>>.((("", startref="fastapi21")))
11811181

11821182

1183-
==== Um servidor TCP asyncio
1183+
==== Um servidor TCP com `asyncio`
11841184

11851185
O((("TCP servers", id="tcp21")))((("servers", "TCP servers", id="Stcp22"))) programa _tcp_mojifinder.py_ usa TCP puro para se comunicar com um cliente como o Telnet ou o Netcat, então pude escrevê-lo usando `asyncio` sem dependências externas—e sem reinventar o HTTP. O <<tcp_mojifinder_demo>> mostra a interface de texto do usuário.
11861186

@@ -1698,7 +1698,7 @@ Agora vamos discutir um recurso muito importante dos comandos `async`, das expre
16981698
Esses artefatos são muitas vezes usados com o `asyncio` mas, na verdade, eles são independentes da biblioteca.((("", startref="LCasync21")))((("", startref="genexp21")))((("", startref="ITERasync21")))((("", startref="ITasync21")))((("", startref="APRiteration21")))
16991699

17001700

1701-
=== === Sondando domínios com _Curio_
1701+
=== Sondando domínios com _Curio_
17021702

17031703
Os elementos da linguagem((("asynchronous programming", "Curio project", id="APRcurio21")))((("Curio project", id="curio21"))) `async/await` de Python não estão presos a nenhum laço de eventos ou biblioteca específicos.footnote:[Em contraste com o JavaScript, onde `async/await` são atrelados ao laço de eventos que é inseparável do ambiente de runtime, isto é, um navegador, o Node.js ou o Deno.]
17041704
Graças à API extensível fornecida por métodos especiais, qualquer um suficientemente motivado pode escrever seu ambiente de runtime e suo framework assíncronos para acionar corrotinas nativas, geradores assíncronos, etc.

0 commit comments

Comments
 (0)