You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python é largamente utilizado em aplicações Web e em APIs de
1181
1181
apoio a aplicações para computação móvel no servidor. Como o Google, o YouTube,
1182
1182
o Dropbox, o Instagram, o Quora, e o Reddit—entre outros—conseguiram desenvolver
@@ -1300,11 +1300,11 @@ _uWSGI_.]
1300
1300
1301
1301
Lançado em 2018, o _NGINX Unit_ é um novo produto dos desenvolvedores do conhecido servidor HTTP e proxy reverso _NGINX_.
1302
1302
1303
-
O _mod_wsgi_ e o _Gunicorn_ só suportam apps web Python,
1303
+
O _mod_wsgi_ e o _Gunicorn_ só suportam aplicações Web Python,
1304
1304
enquanto o _uWSGI_ e o _NGINX Unit_ funcionam também com outras linguagens.
1305
1305
Para saber mais, consulte a documentação de cada um deles.
1306
1306
1307
-
O ponto principal: todos esses servidores de aplicação podem, potencialmente, utilizar todos os núcleos de CPU no servidor, criando múltiplos processos Python para executar apps web tradicionais escritas no bom e velho código sequencial em _Django_, _Flask_, _Pyramid_, etc.
1307
+
O ponto principal: todos esses servidores de aplicação podem, potencialmente, utilizar todos os núcleos de CPU no servidor, criando múltiplos processos Python para executar aplicações Web tradicionais escritas no bom e velho código sequencial em _Django_, _Flask_, _Pyramid_, etc.
1308
1308
Isso explica porque tem sido possível ganhar a vida como desenvolvedor Python sem nunca ter estudado os módulos `threading`, `multiprocessing`, ou `asyncio`:
1309
1309
o servidor de aplicação lida de forma transparente com a concorrência.
1310
1310
@@ -1316,7 +1316,7 @@ A WSGI((("Asynchronous Server Gateway Interface (ASGI)")))((("servers",
1316
1316
"Asynchronous Server Gateway Interface (ASGI)"))) é uma API síncrona.
1317
1317
Ela não suporta corrotinas com `async/await`, que são a forma mais eficiente de implementar WebSockets em Python.
1318
1318
A https://fpy.li/19-46[especificação da ASGI] é a sucessora assíncrona da WSGI,
1319
-
projetada para frameworks Python assíncronos para programação web, como _aiohttp_, _Sanic_, _FastAPI_, etc.,
1319
+
projetada para frameworks Python assíncronos para programação Web, como _aiohttp_, _Sanic_, _FastAPI_, etc.,
1320
1320
bem como _Django_ e _Flask_, que estão gradualmente incorporando mais funcionalidades assíncronas.
1321
1321
====
1322
1322
@@ -1358,8 +1358,8 @@ Citando diretamente o https://fpy.li/19-49[FAQ] da Celery, eis alguns casos de u
1358
1358
[quote]
1359
1359
____
1360
1360
1361
-
* Executar algo em segundo plano. Por exemplo, para encerrar uma requisição web o mais rápido possível, e então atualizar a página do usuário de forma incremental. Isso dá ao usuário a impressão de um bom desempenho e de "vivacidade", ainda que o trabalho real possa na verdade demorar um pouco mais.
1362
-
* Executar algo após a requisição web ter terminado.
1361
+
* Executar algo em segundo plano. Por exemplo, para encerrar uma requisição Web o mais rápido possível, e então atualizar a página do usuário de forma incremental. Isso dá ao usuário a impressão de um bom desempenho e de "vivacidade", ainda que o trabalho real possa na verdade demorar um pouco mais.
1362
+
* Executar algo após a requisição Web ter terminado.
1363
1363
* Se assegurar que algo seja feito, através de uma execução assíncrona, repetindo tentativas quando necessário.
1364
1364
* Agendar tarefas periódicas.
1365
1365
@@ -1529,7 +1529,7 @@ O https://fpy.li/19-73[_Python, Performance, and GPUs_] de Matthew Rocklin é um
1529
1529
atualização do status do uso de aceleradores GPU com Python, publicado em junho
1530
1530
de 2019.
1531
1531
1532
-
"O Instagram hoje representa a maior instalação do mundo do framework web _Django_, que é escrito inteiramente em Python."
1532
+
"O Instagram hoje representa a maior instalação do mundo do framework Web _Django_, que é escrito inteiramente em Python."
1533
1533
Essa é a linha de abertura do post
1534
1534
https://fpy.li/19-74[_Web Service Efficiency at Instagram with Python_], escrito
1535
1535
por Min Ni, da engenharia do Instagram. O post descreve as métricas e
Copy file name to clipboardExpand all lines: online/cap20.adoc
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,16 +56,16 @@ Por fim, movi a maior parte da teoria para o <<ch_concurrency_models>>,
56
56
_Modelos de concorrência em Python_.
57
57
58
58
[[ex_web_downloads_sec]]
59
-
=== Downloads concorrentes da web
59
+
=== Downloads concorrentes da Web
60
60
61
61
A((("network I/O", "essential role of concurrency in",
62
-
id="IOconcur20")))((("concurrent executors", "concurrent web downloads",
62
+
id="IOconcur20")))((("concurrent executors", "concurrent Web downloads",
63
63
id="CEwebdown20"))) concorrência é essencial para uma comunicação eficiente via
64
64
rede: em vez de esperar de braços cruzados por respostas de máquinas remotas, a
65
65
aplicação pode fazer outra coisa enquanto a resposta não
66
66
chega.
67
67
68
-
Para demonstrar, escrevi três programas simples que baixam da web imagens de 20 bandeiras de países.
68
+
Para demonstrar, escrevi três programas simples que baixam da Web imagens de 20 bandeiras de países.
69
69
O primeiro, _flags.py_, roda sequencialmente:
70
70
ele só requisita a imagem seguinte quando a anterior foi baixada e salva localmente.
71
71
Os outros dois scripts fazem downloads concorrentes:
@@ -135,7 +135,7 @@ os scripts concorrentes podem superar o código sequencial por um fator de 20 ou
135
135
[WARNING]
136
136
====
137
137
138
-
Ao testar clientes HTTP concorrentes usando servidores web públicos, você pode
138
+
Ao testar clientes HTTP concorrentes usando servidores Web públicos, você pode
139
139
acidentalmente lançar um ataque de negação de serviço (DoS, _Denial of Service_,
140
140
negação de serviço),
141
141
ou se tornar suspeito de tentar um ataque. No caso do
@@ -807,7 +807,7 @@ flags2_asyncio.py:: Mesma funcionalidade do exemplo anterior, mas implementado c
807
807
[WARNING]
808
808
.Tenha cuidado ao testar clientes concorrentes
809
809
====
810
-
Ao testar clientes HTTP concorrentes em servidores web públicos, você pode gerar muitas requisições por segundo, e é assim que ataques de negação de serviço (DoS, _denial-of-service_) são feitos.
810
+
Ao testar clientes HTTP concorrentes em servidores Web públicos, você pode gerar muitas requisições por segundo, e é assim que ataques de negação de serviço (DoS, _denial-of-service_) são feitos.
811
811
Monitore cuidadosamente seus clientes quando for usar servidores públicos.
812
812
Para testar, configure um servidor HTTP local. Veja instruções após o <<flags2_help_demo>>.
0 commit comments