小编Dij*_*e85的帖子

在四开文档中设置交互式计算(即不渲染)的工作目录

有没有一种方法可以knitr::opts_knit$set(root.dir = '/path/to/dir')直接从 YAML 块重现 from Rmarkdown 的功能(当从块运行时,它也可以在 Quarto 中工作)?就像是:

---
knitr:
  options:
    root.dir: "/path/to/dir"
---
Run Code Online (Sandbox Code Playgroud)

(我已经尝试过,也用 代替optionsopts_knit但无论如何都不起作用。

谢谢你!

r rstudio r-markdown quarto

6
推荐指数
0
解决办法
705
查看次数

在 Julia 中用多个值替换多个字符串

在 Python pandas 中,您可以传递一个字典, df.replace以便将每个匹配的键替换为其相应的值。我经常使用这个功能来替换西班牙语中的单词缩写,这些缩写会弄乱句子标记器。

\n

朱莉娅身上有类似的东西吗?或者甚至更好,以便我(和未来的用户)可以从经验中学习,关于如何用 Julia 漂亮且高性能的语法实现这样的功能有什么想法吗?

\n

谢谢你!

\n

编辑:根据要求添加示例

\n

输入:

\n
julia> DataFrames.DataFrame(Dict("A" => ["This is an ex.", "This is a samp.", "This is a samp. of an ex."]))\n3\xc3\x971 DataFrame\n Row \xe2\x94\x82 A                  \n     \xe2\x94\x82 String             \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n   1 \xe2\x94\x82 This is an ex.\n   2 \xe2\x94\x82 This is a samp.\n   3 \xe2\x94\x82 This is a samp. of an ex.\n
Run Code Online (Sandbox Code Playgroud)\n

期望的输出:

\n
3\xc3\x971 DataFrame\n Row \xe2\x94\x82 A                  \n     \xe2\x94\x82 String             \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n   1 \xe2\x94\x82 This is …
Run Code Online (Sandbox Code Playgroud)

string replace julia dataframes.jl

5
推荐指数
1
解决办法
561
查看次数

如何在单元测试期间禁用 Morgan(请求记录器)?

我使用 Morgan(默认快速生成器请求记录器),并且我试图在单元测试期间禁用它。

目前我正在使用默认配置,它加载摩根 app.js

const logger = require('morgan');
...
const app = express();
...
app.use(logger('dev'));
Run Code Online (Sandbox Code Playgroud)

我尝试将代码移动到bin/www(导入快速应用程序并启动服务器),但它不起作用......有任何想法吗?

javascript unit-testing node.js express jestjs

4
推荐指数
1
解决办法
932
查看次数

FastAPI 项目命名约定/结构

我有一个小型 API 的以下结构(相关部分):

app
 |--main.py
 |-models
   |--base.py
   |--ModelUser.py
   |--ModelCompany.py
   |--ModelUser.py
 |-schemas
   |--SchemaUser.py
   |--SchemaCompany.py
   |--SchemaReview.py
 |-routes
   |--auth_router.py
   |--companies_router.py
   |_users_router.py
 |-utils
   |--crud_company.py
   |--crud_review.py
   |--crud_user.py
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,它可以工作并保持可接受的关注点分离程度(即,UserModel 包含 SQLAlchemy User 模型,SchemaCompany 包含 Pydantic Company 模型等)。问题是,命名空间变得有点过于混乱和多余,因为每个类或函数调用都需要我输入,例如,SchemaReview.ReviewModelUser.Usercrud_company.get_companies(你明白了)。

我更愿意有类似model.User, schema.Companyand的东西crud.get_reviews,但为了实现这一点,我必须将每个模型放在一个model.py文件中,将每个模式放在一个schema.py文件中,等等,这正是我试图避免的模块化代码。

那么,这里最好的方法是什么?我曾考虑过对导入使用别名,但这可能会导致整个过程中出现不一致,我不想陷入其中。所以我认为理想的方法来自目录/文件名约定,这将迫使我保持​​连贯性。

欢迎所有想法。谢谢!

python module directory-structure project naming-conventions

4
推荐指数
1
解决办法
9256
查看次数

Rails 6/Webpack 无法编译生产中从 js.erb 引用的图像?(但正在开发中)

在开发过程中,我bundle exec rails webpacker:install:erb在 Rails 6 中使用 Webpack 运行此代码没有任何问题(运行后):

# app/javascript/raty.js.erb

<% helpers = ActionController::Base.helpers %>

$(document).on("turbolinks:load", () => {
  $('.star-rating').raty({
    starOn: "<%= helpers.asset_pack_path('media/images/star-on.png') %>",
    starOff: "<%= helpers.asset_pack_path('media/images/star-off.png') %>",
    readOnly: true,
    score: function () {
    return $(this).attr('data-score');
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

请记住,我也使用 Webpack 来加载静态资产,因此没有任何链轮(尽管我没有删除它的 gems 或触及与资产管道相关的任何配置;只是暂时忽略它)。这意味着我将所有图像存储在 中app/javascript/images,然后根据文档要求:

# app/javascript/packs/application.js

// Uncomment to copy all static images under ../images to the output folder and reference
// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>) …
Run Code Online (Sandbox Code Playgroud)

javascript ruby-on-rails dev-to-production webpack

3
推荐指数
1
解决办法
1348
查看次数

有条件地设置路由的 FastAPI 响应模型

我试图返回 Company 类型的对象列表,仅包括“已批准”的对象,并且具有或多或少的属性,具体取决于请求列表的用户是超级用户还是普通用户。到目前为止,这是我的代码:

@router.get("/", response_model=List[schema.CompanyRegularUsers])
def get_companies(db: Session = Depends(get_db), is_superuser: bool = Depends(check_is_superuser)):
    """
    If SU, also include sensitive data.
    """
    if is_superuser:
        return crud.get_companies_admin(db=db)
    return crud.get_companies_user(db=db)
#
Run Code Online (Sandbox Code Playgroud)

该函数根据请求正确返回对象(即,仅is_approved=True公司如果是常规请求,并且两者is_approved=True都由is_approved=False超级用户请求。问题是,两种情况都使用schema.CompanyRegularUsers,并且我想schema.CompanySuperusers在 SU 发出请求时使用。

我怎样才能实现这个功能?即,有没有办法有条件地设置response_model装饰器函数的属性?

我尝试过使用JSONResponse和调用 Pydantic's schema.CompanySuperusers.from_orm(),但它不适用于公司列表......

python orm sqlalchemy pydantic fastapi

2
推荐指数
2
解决办法
5632
查看次数