这是我的字符串:
public string EmptyViewText { get; set; } = "Please input a bin id first!*";
Run Code Online (Sandbox Code Playgroud)
我有一个简单的命令:
public async Task Entry(string barcode)
{
MainThread.BeginInvokeOnMainThread(() =>
{
EmptyViewText = "Loading data...*";
OnPropertyChanged();
});
}
Run Code Online (Sandbox Code Playgroud)
这是触发的。
这是我的课:
public partial class BinViewModel : ObservableObject
Run Code Online (Sandbox Code Playgroud)
绑定本身有效,正如我确实看到我的价值观一样。但是当我更改代码中的值时,什么也没有发生。
绑定非常简单:
<Label Text="{Binding EmptyViewText}" />
Run Code Online (Sandbox Code Playgroud)
然而,如果我禁用该字符串并重新启用它(重新渲染它),它确实会显示新的和更正的文本。
这里有什么问题?
我试图在打字时让文本适合一个圆圈,如下所示:
我尝试遵循Mike Bostock 的将文本调整为圆形教程,但到目前为止失败了,这是我可怜的尝试:
import React, { useEffect, useRef, useState } from "react";
export const TwoPI = 2 * Math.PI;
export function setupGridWidthHeightAndScale(
width: number,
height: number,
canvas: HTMLCanvasElement
) {
canvas.style.width = width + "px";
canvas.style.height = height + "px";
// Otherwise we get blurry lines
// Referenece: [Stack Overflow - Canvas drawings, like lines, are blurry](/sf/answers/4140044961/)
const scale = window.devicePixelRatio;
canvas.width = width * scale;
canvas.height = height * scale;
const canvasCtx = canvas.getContext("2d")!; …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个 Spring Boot 应用程序,但是我无法运行我的测试。看起来他们因为我的 build.gradle 而失败了,但是在尝试修复它 2 天后,我想我可能会尝试询问这里是否有人可以提供帮助。\n https://scans.gradle.com/s/m7diapblkqpxk/弃用
\n构建.gradle:
\nplugins {\n id \'org.springframework.boot\' version \'3.2.0\'\n id \'io.spring.dependency-management\' version \'1.1.4\'\n id \'java\'\n}\n\ngroup = \'com.fitnessforge\'\nversion = \'0.0.1-SNAPSHOT\'\n\njava {\n sourceCompatibility = \'20\'\n}\n\nconfigurations {\n compileOnly {\n extendsFrom annotationProcessor\n }\n}\n\nrepositories {\n mavenCentral()\n}\n\ndependencies {\n implementation \'org.springframework.boot:spring-boot-starter-data-jpa:3.1.2\'\n implementation \'org.springframework.boot:spring-boot-starter-security\'\n implementation \'org.springframework.boot:spring-boot-starter-web\'\n implementation \'com.mysql:mysql-connector-j:8.2.0\'\n implementation \'javax.persistence:javax.persistence-api:2.2\'\n compileOnly \'org.projectlombok:lombok\'\n developmentOnly \'org.springframework.boot:spring-boot-devtools\'\n annotationProcessor \'org.projectlombok:lombok\'\n testImplementation(\'org.springframework.boot:spring-boot-starter-test:2.7.14\') {\n exclude group: \'junit\'\n }\n testImplementation \'org.junit.jupiter:junit-jupiter-api\'\n testRuntimeOnly \'org.junit.jupiter:junit-jupiter-engine\'\n testImplementation \'org.springframework.security:spring-security-test:6.1.2\'\n}\n\ntasks.named(\'bootBuildImage\') {\n builder = \'paketobuildpacks/builder-jammy-base:latest\'\n}\n\ntest {\n useJUnitPlatform()\n testFramework {\n useJUnit()\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n … 我有两个列表,都包含表示为字符串的整数。large_list很大,最多可达数十个数千个元素。small_list更小,最多可达数百个元素。我正在用较小的过滤掉较大的。我很想知道哪个更有效率:
(A)
for element in small_list:
if element in large_list:
(do something)
Run Code Online (Sandbox Code Playgroud)
(二)
for element in large_list:
if element in small_list:
(do something)
Run Code Online (Sandbox Code Playgroud)
对于选项 (a),迭代计数受 的长度限制small_list,但对于每一个,都必须在完整的 上执行搜索large_list。对于选项 (b),迭代会遍历整个过程large_list,但每次搜索都会在 上执行small_list。
我知道集合是散列的,所以这里最好的选择应该是采用large_set = set(large_list),迭代small_list,并在 上进行每次搜索large_set。但如果我们从方程中去掉集合,是选项(a)更有效,还是选项(b)更有效?
我有一个小组件,带有一些文本。
在useEffect中,我只是将元素的顶部设置为一些值。
CSS:
.box {
display: flex;
flex-direction: column;
position: relative;
top: 0;
transition: top 0 ease-in;
}
useEffect(() => {
setTimeout(()=> { // with this it is working.
const elems = document.getElementsByClassName("box");
[...elems].forEach(function (e) {
e.style.top =`-200px`; // without settimeout transition is not working
});
});
}, []);
Run Code Online (Sandbox Code Playgroud)
我的标记:
<div className='progress'>
<div className='box' />
<div className='box' />
<div className='box' />
</div>
Run Code Online (Sandbox Code Playgroud)
现在,当我频繁刷新时,我会看到转换发生了几次,但不是每次都发生。
但是当我将代码包装在 setTimeout 中时,我每次都会看到一个转换。
我不知道为什么会发生这种情况。
我使用了https://developers.google.com/apps-script/samples/automations/vacation-calendar上的“填充团队假期日历”示例来构建一个 Apps 脚本,以将所有外出事件拉入共享日历。该脚本几个月来一直运行良好。如果不对脚本进行任何更改,现在调用时Calendar.Events.import(event, TEAM_CALENDAR_ID);出现错误:
GoogleJsonResponseException:对 calendar.events.import 的 API 调用失败并出现错误:错误请求
我已经在调试器中运行了该脚本,并且该错误并没有提供任何有关错误实际内容的信息,除了 400 错误请求之外。还有很多与日期/时间格式相关的其他问答,但event我导入的变量来自之前的调用,Calendar.Events.list(...)因此它已经是 api 本身生成的 JS 事件对象。
这是一个最小的可重现示例:
let TEAM_CALENDAR_ID = '<calendar id goes here>';
function testImport() {
const now = new Date();
let user = Session.getActiveUser();
// Fetch next 10 events
let events = Calendar.Events.list(user.getEmail(), {
timeMin: now.toISOString(),
singleEvents: true,
orderBy: 'startTime',
maxResults: 10
});
if (events.items.length === 0) {
console.error('No events found');
return;
}
// Use next upcoming event for this user …Run Code Online (Sandbox Code Playgroud) google-calendar-api bad-request google-apps-script http-status-code-400
[0, 2, 6, 12, 20, 30, 42, 56, 72, 90]我可以使用以下代码生成列表:
x = []
y = 0
for i in range(2,21,2):
x.append(y)
y += i
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何将其转换为以下形式的列表理解语法
[可迭代 if 条件中的值表达式]
我在网上搜索了一个简单的教程,但我似乎找不到这个确切的场景。
我有以下项目:
WebApi
这是一个带有个人帐户身份验证的标准 .NET 8.0 Web API。我已经使用 microsoft 默认值创建了所有内容,并且正在使用app.MapGroup("/account").MapIdentityApi(). 这工作正常,我可以使用邮递员/招摇登录和注册
API客户端
这是一个类库,用于处理对 WebApi 的所有调用,包括登录、注册等。如果需要身份验证,此 ApiClient 库有一个方法可以在调用实际方法之前设置访问令牌。这也工作正常
现在,我现在想做的是创建一个 Blazor 服务器应用程序(我是 Blazor 的新人),它将为我提供一个用于登录的 UI(例如),当用户输入用户名/密码时,它将调用 apiClient .Login(...) 方法,包含用户名和密码。然后我需要做的是检查我是否获得了正确的令牌,如果是,则将其存储在 blazor 端的某个位置并告诉 blazor 我已通过身份验证。因此,当我转到 blazor 中的 [Authorized] 页面并且它要求我调用 api 时,它将传递登录时存储的访问令牌并调用我想要的 apiClient 方法。
所有在线示例要么使用不同的身份验证 JWT 令牌、AAD 等,要么简单地显示在 Blazor 服务器端创建数据库和身份验证层。这不是我需要的。我需要一个使用新 IdentityUI 端点的独立 API 以及一种从 blazor 连接到该 API 并保持登录状态的方法等。
我想我需要创建一个自定义的 AuthenticationStateProvider 但我仍然不明白如何处理这个问题。我是否在 blazor 中使用基于 cookie 的身份验证?我是否仅依靠 api 来知道我已登录?blazor 中的 AuthorizedViews 如何知道我已通过身份验证。我假设我必须使用从 API 等获得的声明在 HttpContext.User 中手动设置用户。
另一件事是 2FA 身份验证。生成的用于登录的身份 UI 端点的工作方式如下:使用用户名/密码登录,收到包含详细信息“TwoFactorRequired”的 401 错误,然后需要使用用户/通行证和 2fa 代码调用相同的登录端点。这意味着在 blazor …
当我试图找出一种简单的方法来使变量作为参数传递给被调用子例程中不可变的子例程时,我发现了一个显示以下内容的网页:
Run Code Online (Sandbox Code Playgroud)#!/usr/bin/perl # Function Definition sub Func(Int $variable) { # Operation to be performed $variable /= 2; } # Defining a local variable my $value = 20; # Function Call with local variable print Func($value);输出:
Run Code Online (Sandbox Code Playgroud)Error: Cannot assign to an immutable value
谁能告诉我它所说的 Perl 版本是什么?它讨论了可以设置为可变或不可变的命名参数,这是我正在寻找的东西,但给出的示例对我来说根本不起作用。我正在使用 Perl 5.26.3。
我计划改用 Fish 作为我的默认 shell,但遇到了一些问题。
在重写我的所有脚本之前,我想使用带有“-c”选项的 bash 重用旧脚本。
例子:
bash -c "cat <<'EOF' | tee filename >/dev/null
$SHELL
$TERM
EOF"
Run Code Online (Sandbox Code Playgroud)
即使使用'EOF',我总是得到:
/bin/fish
xterm
如果可能的话,我想避免\$SHELL在脚本中的每个变量中使用反斜杠。
c# ×2
javascript ×2
python ×2
reactjs ×2
.net-8.0 ×1
animation ×1
asp.net ×1
bad-request ×1
blazor ×1
data-binding ×1
expansion ×1
fish ×1
gradle ×1
html ×1
html5-canvas ×1
java ×1
list ×1
maui ×1
performance ×1
perl ×1
sequence ×1
set ×1
shell ×1
spring-boot ×1
svg ×1
variables ×1