小编Aha*_*ebi的帖子

FastAPI的应用挂载是如何进行的?

出于某些原因,我们选择了FastAPI,以便将其用作多模块生产的后端层。它吸引人的功能之一是子应用程序,它可以帮助我们分离不同的模块,从而使其更加模块化。但我们担心官方文档中缺少的一些可能的缺陷。有大量的通用事物——例如数据、服务等——我们需要通过插件、中间件和依赖注入在主模块和子模块之间共享它们。问题是:这个功能对于单独的模块来说是否足够好?所以:子应用程序是否继承父应用程序的中间件、插件和依赖注入?

感谢您分享您的经验。

官方文档中的示例代码

from fastapi import FastAPI

app = FastAPI()


@app.get("/app")
def read_main():
    return {"message": "Hello World from main app"}


subapi = FastAPI()


@subapi.get("/sub")
def read_sub():
    return {"message": "Hello World from sub API"}


app.mount("/subapi", subapi)
Run Code Online (Sandbox Code Playgroud)

python plugins middleware starlette fastapi

6
推荐指数
1
解决办法
1万
查看次数

javascript 循环(for 语句)在 21 亿次迭代后变慢了?

我试图对 javascript 和 .net core 进行基准测试,以便选择一个服务器端框架来提供一些需要迭代大型数组(大约 21 亿)的特定 Restful 服务。在处理一个简单的代码时,我意识到 node 在特定的数字迭代后有奇怪的行为。我在多个平台上重复并达到了相同的结果。测试平台为:

  • macOS catalina (nodeJS v.12.18) intel core i9 4ghz 6 core
  • linux centos 7 (nodeJS v.12.18) vm intel core i9 4ghz 2 core
  • 谷歌浏览器版本 84.0.4147.105(官方版本)(64 位)
  • Mozilla Firefox 版本 78.2

运行视频显示出人意料地将处理时间从 300 毫秒增加到 600 毫秒大约两倍

示例代码:

1.节点:

var cnt = 0;
var logPeriod=100000000;
var max=10000000000;
for (let i = 0; i < max; i++) {
  if (i % logPeriod === 0) {
    // var end = Date.now(); …
Run Code Online (Sandbox Code Playgroud)

javascript for-loop v8 slowdown

0
推荐指数
1
解决办法
143
查看次数

标签 统计

fastapi ×1

for-loop ×1

javascript ×1

middleware ×1

plugins ×1

python ×1

slowdown ×1

starlette ×1

v8 ×1