小编Jar*_*ler的帖子

Visual Studio Code:按名称对函数进行排序?

是否可以在 Visual Studio Code 中按名称对函数进行排序?我的意思是,使用键盘快捷键甚至扩展程序。

精度:我说的是在面板代码编辑器中对功能进行排序。

visual-studio code-snippets visual-studio-code vscode-snippets

18
推荐指数
3
解决办法
6682
查看次数

Android 旋转文本:我使用 dynamiclayout.draw(canvas) 但它不沿路径设置动画,并且不能使用 canvas.drawTextOnPath(dynamiclayout)

我正在使用我自己的https://github.com/mdg-iitr/RotatingText版本来显示旋转文本小部件。此 GitHub 中提供了一个视频,可让您观看动画。这个想法是设置单词行。行是一行接一行地显示的。整行都在旋转(它的话也是如此)。当前一行的旋转动画结束时,会在前一行之后显示一行。

我的问题

我使用 aDynamicLayout来显示文本行。请记住:行必须旋转。

我的问题是:显然,我不能使用该方法canvas.drawTextOnPath(dynamicLayoutObject)。所以,我做的是:dynamicLayoutObjec.draw(canvas);。但那时没有任何动画。事实上,文本(所以DynamicLayout包含它)必须旋转。

预期结果

DynamicLayout(事实上,它的文本)必须动画(旋转)。旋转可以在这个 SO 问题(https://github.com/mdg-iitr/RotatingText)开头给出的 Github 原始存储库的插图中找到。

我的问题

我不知道如何让我的DynamicLayout(和/或其文本)沿着我的路径旋转。

最小且可测试的示例

我大约在 8 个月前修改了原始 RotatingText 库。为了简化它(更少的类,更少的方法,没有未使用的方法等)。事实上,我只有两个类:

  1. RotatingTextSwitcher,这是 XML 小部件

  2. And Rotatable,其中包含要旋转的字符串数组。

  3. 包含 XML 小部件的 .XML 布局RotatingTextSwitcher以对其进行测试

  4. AFragment膨胀前面提到的布局,设置每个旋转行的单词,并显示它们。

为了测试它,创建一个显示下面给出的片段的活动,它反过来使用上面提供的其他来源。

可旋转类

import android.graphics.Path;
import android.view.animation.Interpolator;

public class Rotatable {

    private final String[] text;
    private final int update_duration;
    private int animation_duration;
    private Path path_in, path_out;
    private …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-layout android-canvas android-view

12
推荐指数
1
解决办法
586
查看次数

异步 Axios 调用未在 Svelte 中执行:尝试使用结果会引发 TypeError: Cannot conversion undefined or null to object ;获取 API 工作

概括

  • 语境

  • 实际行为(问题)

  • 预期行为

  • 最小的、可测试的、可执行的示例

    • 数据

    • 来源

  • 笔记

  • 线索


语境

我正在尝试在 Svelt Web 应用程序中使用 Axios 从 URL 获取 JSON 对象列表http://localhost:1337/restaurants。此调用将在 Svelte 组件初始化时执行,类似于 Svelte 教程: https: //svelte.dev/tutorial/await-blocks

实际行为(问题)

当我打开包含 Svelte 组件的网页时,我在 Chromium 开发工具网络面板中看不到网络调用。

我可以在网页中看到此错误(显然要感谢我的{:catch}):

类型错误:无法将未定义或 null 转换为对象

预期行为

当我打开包含 Svelte 组件的网页时,我应该在 Chromium 开发工具网络面板中看到网络调用,并且它应该在列表项中显示每个 JSON 对象。

当然,绝对不能出现以下错误:

类型错误:无法将未定义或 null 转换为对象

最小的、可测试的、可执行的示例

数据

此示例使用 (Strapi) URL http://localhost:1337/restaurants,它返回以下 JSON 对象数组:

[{"id":1,"name":"Biscotte Restaurant","description":"欢迎光临 Biscotte 餐厅! Biscotte 餐厅提供采用新鲜优质产品烹制的美食,这些产品通常是本地产品,尽可能是有机产品,并且始终由充满激情的制作人。","published_at":"2021-10-02T20:04:26.780Z","created_at":"2021-10-02T19:40:30.378Z","updated_at":"2021-10-02T20: 04:26.816Z","类别":[{"id":2,"name":"早午餐","published_at":"2021-10-02T20:04:03.395Z","created_at":"2021- 10-02T19:41:15.186Z","updated_at":"2021-10-02T20:04:03.437Z"}]}]

来源

<script>
    import axios from 'axios';

    async function getRestaurants() { …
Run Code Online (Sandbox Code Playgroud)

axios svelte svelte-3

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

ASP.NET Core CRUD 工具:未找到命令但实际已安装

我正在学习 ASP.net,所以我正在阅读https://docs.microsoft.com/fr-fr/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-3.0&tabs=visual-studio-代码,并在部分脚手架电影模式,我必须安装并运行CRUD工具(ASP.net核心的dotnet-ASPNET-codegenerator)。我遇到的问题是我无法使用他们的工具,输出错误;但是我可以安装它。以下是详细信息。

所以我按照三步教程来使用这个 CRUD 代码生成器(上面给出的链接)。我引用:

  1. 在项目目录(包含 Program.cs、Startup.cs 和 .csproj 文件的目录)中打开命令窗口。

? 有效。

  1. 安装脚手架工具: dotnet tool install --global dotnet-aspnet-codegenerator

? 它起作用了,现在如果我尝试重新安装它,它会输出它已经安装。

  1. 对于 macOS 和 Linux:运行以下命令: dotnet aspnet-codegenerator razorpage -m Movie -dc RazorPagesMovieContext -udl -outDir Pages/Movies --referenceScriptLibraries

它不起作用。这是输出错误:

无法执行,因为找不到指定的命令或文件。可能的原因包括: * 您拼错了内置的 dotnet 命令。* 您打算执行 .NET Core 程序,但 dotnet-dotnet-aspnet-codegenerator 不存在。* 您打算运行一个全局工具,但在 PATH 中找不到具有此名称的 dotnet 前缀的可执行文件。

问题:如何调试它以使此命令起作用?

c# asp.net code-generation .net-core asp.net-core

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

Svelte:如何处理组件中自定义可写存储的异步初始化承诺?

我有几个 Svelte 组件和一个自定义可写存储。存储有一个init函数,async它用一些 REST API 的数据库表的数据填充存储的值。我的组件都必须使用自动订阅来订阅该商店。订阅时,init必须调用。总体想法是在数据库上实现 CRUD 操作,在存储上实现 CRUD 操作(有助于显示存储的值,数据库的表,具有反应性)。

init原样async,因此返回一个承诺,我需要await在我的组件中使用它。但由于我使用自动订阅(通过在商店名称前加上前缀$),我该怎么做?

例如:(App.svelte组件):

<script>
    import { restaurant_store } from './Restaurant.js'
    export let name
</script>

<main>
    
    <!--- I need to handle the promise and rejection here -->
    {#each $restaurant_store as restaurant}
        <li>
            {restaurant.name}
        </li>
    {/each}
    

</main>
Run Code Online (Sandbox Code Playgroud)

Restaurant.js(商店):

import { writable } from 'svelte/store'

export function createRestaurantsStore() {
    const { subscribe, update } = …
Run Code Online (Sandbox Code Playgroud)

svelte svelte-component svelte-store svelte-3

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

Firestore 规则:如果给定文档不存在但在 get 中使用怎么办?

考虑这段代码:

match /shocking_contents_main_app/{shocking_content_main_app} {  // Do not specify any read/update/delete rules - OK, last check 2019/06/03
    allow create: if request.auth.uid != null && get(/databases/$(database)/documents/users/$(request.auth.uid)).data.can_report_shocking_content == true 
                            && 
                exists(/databases/$(database)/documents/users/$(request.resource.data.reported_account_id))
                && 
                request.resource.data.reported_login == get(/databases/$(database)/documents/users/$(request.resource.data.reported_account_id)).data.login;
}
Run Code Online (Sandbox Code Playgroud)

这些规则是在报告一些令人震惊的内容的背景下设置的。

最后一行检查报告的登录名是否等于报告用户 ID 的登录名。“问题”如下:$(request.resource.data.reported_account_id)路径下的文档/databases/$(database)/documents/users/不存在。如果不存在,Firestore 安全规则是否会拒绝查询(预期行为)?换句话说:我必须使用exists(...)吗?

另一个例子在第一行:我检查登录用户是否可以报告其他人的内容(get(/databases/$(database)/documents/users/$(request.auth.uid)).data.can_report_shocking_content == true)。但我不使用exists(...)

firebase-security google-cloud-firestore

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

Laravel Fortify 不响应 HTTP 代码,而是响应实际路由,即使我将注册请求作为 XHR 发送

语境

使用 Postman,我将以下字段发送到 URL,以便在数据库中注册用户http://mywebsite/register

  • 电子邮件

  • 密码

  • 确认密码

  • 姓名

根据文档https://laravel.com/docs/8.x/fortify#registration(我从中找到了上述字段),Fortify已经定义了路线register,所以我不需要自己定义它。

根据文档,并且根据我的需要,我不需要创建注册表:我直接使用 Postman 将这些注册数据/register作为 XHR POST 请求数据发送到 Laravel Fortify 的路由。此外,我不需要 Fortify 返回视图,因此我禁用了它们(https://laravel.com/docs/8.x/fortify#disabling-views)。事实上,我只是等待 HTTP 代码响应,我将在 Postman 的返回数据中看到该响应(见下文)。

Fortify 应该返回什么

由于我已禁用视图并且由于我发送了 XHR POST 请求(在 Postman 中,我将随注册请求一起发送此 HTTP 标头:)X-Requested-With = XMLHttpRequest

如果注册尝试成功,Fortify 会将用户重定向到通过应用程序的 fortify 配置文件中的 home 配置选项配置的 URI。如果登录请求是 XHR 请求,将返回 200 HTTP 响应。

如果请求不成功,用户将被重定向回注册屏幕,并且验证错误将通过共享的 $errors Blade 模板变量提供给您。或者,对于 XHR 请求,验证错误将通过 422 HTTP 响应返回。

https://laravel.com/docs/8.x/fortify#registration

Fortify 实际返回什么

它正确注册了用户。但我在 Postman 中看到的结果是Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException …

xmlhttprequest laravel postman laravel-authentication laravel-fortify

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

Laravel 8 Tailwind:webpack-cli TypeError:compiler.plugin 不是函数

我想在 Laravel 8 中安装 Tailwind。我已按照文档操作并输入以下内容(未显示错误)。

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
Run Code Online (Sandbox Code Playgroud)

然后我无法成功运行,npm run watch因为安装最新的PostCSS版本v8时出现问题。我查看了一个解决方案,根据Tailwind CSS Laravel Mix Error - Forces PostCSS 8 to beinstalled,我必须升级 Webpack。然后我输入:

npm install laravel-mix@latest
Run Code Online (Sandbox Code Playgroud)

根据文档https://laravel-mix.com/docs/6.0/upgrade ,这包括最新的 Webpack 版本。(没有显示错误)

如果我输入,npm run watch,则会出现以下错误;我不明白,在谷歌中没有找到任何东西......我正在寻求一些帮助:

npm WARN 生命周期 用于脚本的节点二进制文件是 /snap/bin/node,但 npm 使用 /snap/node/3292/bin/node 本身。使用该 --scripts-prepend-node-path选项来包含执行 npm 的节点二进制文件的路径。

@ watch /home/x/Documents/projets/web/site_perso npm 运行开发 -- --watch

npm WARN 生命周期 用于脚本的节点二进制文件是 /snap/bin/node,但 npm 使用 /snap/node/3292/bin/node 本身。使用该 --scripts-prepend-node-path选项来包含执行 npm 的节点二进制文件的路径。

@开发/home/x/Documents/projets/web/site_perso cross-env NODE_ENV=开发node_modules/webpack/bin/webpack.js …

npm laravel webpack laravel-mix tailwind-css

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

Firestore.getInstance():如何使用?

Firebase Firestore提供了getInstance()一种方法,该方法可打开一个套接字(在执行该应用程序的任何时间仅一个套接字)并实例化Firestore客户端。

我想使用或不使用侦听器查询和存储数据(以获取实时更新等)。如果我getInstance在需要查询或存储时立即调用,或者在我的应用启动时将该实例存储在静态类中,然后在需要查询或存储时立即使用此静态类属性:从技术上讲,这两种情况是相同。因为Google使用单例模式(getInstance())。

但是我错过了什么吗?将这个实例存储为静态类属性,并在需要时使用它,实际上安全吗?getInstance在需要时打电话真的安全吗?更明确地说:在两次调用之间getInstance()(或在两次访问静态class属性之间),即:在2个执行时间点之间,存在网络连接,套接字连接,实时侦听器(快照)连接松动的风险。 ?

如果是:如何处理这些问题?

singleton firebase google-cloud-firestore

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

Laravel Sanctum:如何配置令牌的到期日期?

背景和需求

在我的api路由文件中,我按照文档(https://laravel.com/docs/8.x/sanctum#introduction)编写了以下代码:

Route::post('/tokens/create', function (Request $request) {
    $token = $request->user()->createToken($request->token_name);
    return ['token' => $token->plainTextToken];
});
Run Code Online (Sandbox Code Playgroud)

我想设置一个过期延迟,用于将令牌的创建日期与当前检查令牌过期的日期进行比较:令牌的创建日期为x,当前日期为y,并且延迟d会导致令牌过期,如果y > x + d

我做了什么

所以我读了目录中的一些代码vendor/laravel/sanctum,并且找到了该类Guard.php

该类Guard.php包含一个名为 的对象属性$expiration、一个设置该属性的构造函数(以及其他内容)以及__invoke包含以下过期检查的方法:

if (! $accessToken ||
                ($this->expiration &&
                 $accessToken->created_at->lte(now()->subMinutes($this->expiration))) ||
                ! $this->hasValidProvider($accessToken->tokenable)) {
                return;
            }
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它正是我想要的。但是,我不知道如何为该属性设置自己的值$expiration

在同一个文件中,有一些对现有配置文件的暗示,如下所示:config('sanctum.guard', 'web'). 此外,该类SanctumServiceProvider实例化Guard以下值并将其传递给其构造函数:config('sanctum.expiration')。但我不知道如何/在哪里定义这个配置值。也许https://laravel.com/docs/8.x/configuration config(['sanctum.expiration' => '1277126']);?请您确认一下吗?(但是这条线该放在哪里呢?) …

laravel laravel-sanctum

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