我在使用 Google Cloud CLI 部署 NodeJS 服务器时遇到问题,希望得到一些指导。这是我遵循的过程:
npm run build,并成功完成。gcloud auth configure-docker。gcloud run deploy。但是,部署失败并出现以下错误:
ERROR: (gcloud.run.deploy) FAILED_PRECONDITION: failed precondition: due to quota restrictions, cannot run builds in this region. Please contact support
Run Code Online (Sandbox Code Playgroud)
以下是有关我的设置的一些详细信息:
europe-west3我怀疑该问题可能与该地区的配额限制有关europe-west3,但我不确定如何确认或解决此问题。我检查了我的账户配额限制,还好,还没达到。有没有其他人遇到过类似的问题,或者有人知道如何解决?
操作系统:ubuntu2204
编译器:gcc 11.2 x86_64
这是一个简单的代码:
#include <cstdlib>
int func(int val) {
if (val == 1) {
} else {
abort();
}
}
int main(int argc, char* argv[]) {
func(argc);
}
Run Code Online (Sandbox Code Playgroud)
当我在没有任何优化的情况下编译它并运行它时,它工作正常。
但是当我用 编译它时g++ tmp.cpp -O3,结果func会忽略输入值,而只调用abort.
当然,我可以通过在 的末尾添加 return 语句来修复它func,但是,为什么呢?
这是objdump -d a.out优化函数的一些输出func:
0000000000001060 <_Z4funci>:
1060: f3 0f 1e fa endbr64
1064: 50 push %rax
1065: 58 pop %rax
1066: 50 push %rax
1067: e8 e4 ff ff ff …Run Code Online (Sandbox Code Playgroud) c++ optimization assembly compiler-optimization undefined-behavior
我有两个钩子。一个叫useLocalStorage,另一个叫useQuery。基于输入道具,我想有条件地使用其中之一。
我简单写一下可以吗const [value, setValue] = localStorage ? useLocalStorage() : useQuery()?
我在运行下面的代码时弄乱了指针和const:
int main()
{
const int test = 10;
int *ptr = &test;
printf("%d\n", test);
*ptr = 1;
printf("%d\n", test);
}
Run Code Online (Sandbox Code Playgroud)
在 Mac 上,结果为:
10
10
Run Code Online (Sandbox Code Playgroud)
在linux机器上:
10
1
Run Code Online (Sandbox Code Playgroud)
为什么更改值在 Mac 上不起作用?两台机器都使用 gcc 编译代码。
我做了两种快速排序的实现:顺序排序和并行排序。第二个是使用 ForkJoinPool 使用 4 个线程编写的(我在下面添加了实现)排序函数与 ArrayList 一起使用:
override fun sort(array: ArrayList<Int>): ArrayList<Int> {
...
}
Run Code Online (Sandbox Code Playgroud)
我在大小为 1e3-1e7 的数组上测试了它们,对于所有大小的并行实现比顺序执行快约 2.5 倍。但从size=1e8 开始,并行算法的运行速度比顺序算法慢约 2 倍。
class ParQuickSort(
private val seqBlockSize:Int = 1000,
nThreads: Int = 4
) : QuickSort {
private val threadPool = ForkJoinPool(nThreads)
override fun sort(array: IntArray): IntArray {
threadPool.invoke(
SortTask(array, 0, array.size - 1, seqBlockSize)
)
return array
}
fun shutdown() {
threadPool.shutdownNow()
}
private class SortTask(
val array: IntArray,
val l: Int,
val r: Int,
val …Run Code Online (Sandbox Code Playgroud) 如何使用转换为自定义数据结构std::ranges::to?
基本上是这样的
struct my_data {
char b;
int foo;
std::string baz;
};
auto text = "v 3 fool|x 56 description|e 123 name"sv;
auto converted = text | std::views::split('|')
| std::views::transform([](auto r) {
return r | std::ranges::to<my_data>();
}) | std::ranges::to<std::vector>();
// converted should be a vector<my_data>
Run Code Online (Sandbox Code Playgroud)
需要什么样的东西my_data才能使用它进行转换std::ranges::to?
对于不可变的常量字符串,我们使用&str. 例如,
let url: &'static str = "yourUrl";
Run Code Online (Sandbox Code Playgroud)
这url是一个常量值,不需要修改。它是对 UTF-8 字节序列的引用,我们只是在这里读取它。
但是,环境变量的String类型为:
use dotenv::dotenv;
use std::env;
dotenv().ok();
let api_key: String =
env::var("Your_api_key").expect("API KEY NOT FOUND");
Run Code Online (Sandbox Code Playgroud)
String是 Rust 中可增长、可变、拥有的类型。它在堆上分配并允许动态修改其内容,但环境变量是常量并在 rust 程序启动时加载。为什么不是类型&str?
我在用Ruff,这是一个用于 Python 代码的格式化程序或 linter 工具。
\n我想忽略一些特定的规则,并将该配置写入pyproject.toml.
我的包结构如下。
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSE\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mypackage/mymodule.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tests\n \xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 doc.md\n \xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test_mymodule.py\nRun Code Online (Sandbox Code Playgroud)\n而且,我想忽略规则pydocstyle (D)tests/。
这是一个示例数据框,用于显示我的问题和我想要实现的目标。这里我有两列x和y,我想从中删除重复项。我还有z包含行的排序排名的列。
x y z
1 A BB 8
2 B BB 7.5
3 B AA 6.2
4 B CC 5
5 C DD 4
6 D CC 3
Run Code Online (Sandbox Code Playgroud)
我试图同时查看两者,每次两列中都有重复项时,然后删除该行并继续x。y
我正在寻找的最终结果是
x y z
1 A BB 8
3 B AA 6.2
5 C DD 4
6 D CC 3
Run Code Online (Sandbox Code Playgroud)
BB列中的第二个y被删除。然后,该B - AA行不会被删除,因为逐行向下,它现在是列B中的第一行x。这是针对大型数据集的,因此不幸的是我无法手动完成。
我并不是想将这两列组合在一起。我也不想一次删除一列的重复项,因为如果这样做的话,就会删除太多的观察结果。
如何才能实现这一目标?
我试图了解声明日期时间转换变量并使用它与直接在 SQL Server 查询中转换日期之间是否存在任何性能差异。
以下是两个示例查询: 查询 1:每次都进行日期时间转换
SELECT *
FROM TestMessages
WHERE CreatedDate > CONVERT(DATETIME, '2023-12-18 00:00:00', 120);
Run Code Online (Sandbox Code Playgroud)
查询 2:声明日期时间转换变量
DECLARE @yourDateString NVARCHAR(19) = '2023-12-18 00:00:00';
DECLARE @ConvertedDate DATETIME = CONVERT(DATETIME, @yourDateString, 120);
SELECT *
FROM TestMessages
WHERE CreatedDate > @ConvertedDate;
Run Code Online (Sandbox Code Playgroud)
这两个查询之间有明显的性能差异吗?声明日期时间转换变量如何影响查询的执行时间?此外,可以使用哪些 SQL Server 工具或技术来分析和衡量这种性能差异?
我一直在 SQL Server 查询中尝试两种不同的方法来进行日期时间转换。在一个查询中,我直接转换日期时间值,在另一个查询中,我使用 DECLARE 创建转换变量。我预计会观察到这两种方法之间潜在的性能差异,但结果并不像我预期的那么清晰。我想了解这些方法对性能的影响以及优化 SQL Server 查询中的日期时间转换的任何推荐实践。
当我检查执行计划时,计划似乎存在差异,但尚不清楚它是否重要。此外,当我查看统计信息时,第一个查询显示“88 行受影响”,而另一个查询显示“1 行受影响”。第一个查询的成本显示为 100% 和 0.000 秒,其中“88 行中的 88 行 (0%) 受到影响”。但是,对于第二个查询,成本也是 100%,但“0.000s 0 of 855 (0%)”行受到影响。这种差异显着吗?
c++ ×2
arraylist ×1
arrays ×1
assembly ×1
c ×1
c++23 ×1
dataframe ×1
dplyr ×1
duplicates ×1
gcc ×1
gcloud ×1
java ×1
javascript ×1
kotlin ×1
linux ×1
macos ×1
optimization ×1
python ×1
r ×1
react-hooks ×1
reactjs ×1
ruff ×1
rust ×1
sql-server ×1
std-ranges ×1
string ×1
t-sql ×1