当前位置: 首页 > news >正文

POSIX线程(二)

目录

一、前言

二、Thread Attributes

1、Setting the Detached State Attribute(thread5.c)

2、Thread Attributes Scheduling 

(1)Scheduling(thread6.c)

三、Canceling a Thread

1、Canceling a Thread(thread7.c)

四、Threads in Abundance

1、Many Threads(thread8.c)


一、前言

在上一板块“进程与信号”中,我们了解了如何在 Linux ( 以及 UNIX ) 中处理进程。这些多处理特性一直是类 unix 操作系统的一个特性。有时,让一个程序同时做两件事可能非常有用,或者至少看起来是这样做的,或者我们可能希望两件或更多的事情以紧密耦合的方式同时发生,但考虑到使用 fork 创建新进程的开销太大。对于这些情况,我们可以使用线程,它允许单个进程执行多任务。

下面我们将学习到:

❑ Creating new threads within a process

❑ Synchronizing data access between threads in a single process

❑ Modifying the attributes of a thread

❑ Controlling one thread from another in the same process

二、Thread Attributes

当我们第一次讨论线程时,我们没有讨论线程属性这个更高级的主题。既然我们已经讨论了同步线程的关键主题,那么我们可以回过头来看看线程本身的这些更高级的特性。线程有相当多的属性可以控制,在这里,我们只看那些你最有可能需要的。你可以在手册页面中找到其他的详细信息。

在前面的所有示例中,在允许程序退出之前,必须使用 pthread_join 重新同步线程。如果希望允许一个线程将数据返回给创建数据的线程,则需要这样做。有时,你既不需要第二个线程向主线程返回信息,也不希望主线程等待它。

假设在主线程继续为用户服务的同时,你创建了第二个线程来脱机正在编辑的数据文件的备份副本。备份完成后,第二个线程就可以终止了。它不需要重新连接主线程。

你可以创建这样的线程。它们被称为分离线程,可以通过修改线程属性或调用 pthread_detach 来创建它们。因为我们想要演示属性,所以我们在这里使用前一种方法。

你需要的最重要的函数是 pthread_attr_init,它初始化线程属性对象。

同样,成功时返回 0,失败时返回错误代码。 

还有一个 destroy 函数:pthread_attr_destroy。它的目的是允许清除属性对象。一旦对象被销毁,它就不能再被使用,直到它被重新初始化。

初始化线程属性对象后,可以调用许多附加函数来设置不同的属性行为。我们在这里列出了主要的函数 (也可以在手册页中找到完整的列表,通常在 pthread.h 下面的条目),但只仔细看两个,detachedstate 和 schedpolicy:

正如你所看到的,有相当多的属性可以使用,但幸运的是,你通常不需要使用其中的大多数属性。

❑ detachedstate:此属性允许你避免需要重新连接线程。与大多数 these_set 函数一样,它接受一个指向属性的指针和一个标志来确定所需的状态。pthread_attr_setdetachstate 的两个可能标志值是 PTHREAD_CREATE_JOINABLE 和 PTHREAD_CREATE_DETACHED。默认情况下,该属性的值为 PTHREAD_CREATE_JOINABLE,这样你就可以允许两个线程连接。如果状态设置为 PTHREAD_CREATE_DETACHED,则不能调用 pthread_join 来恢复另一个线程的退出状态。

❑ schedpolicy:它控制如何调度线程。选项包括 SCHED_OTHER、SCHED_RP 和 SCHED_FIFO。默认情况下,该属性为 SCHED_OTHER。另外两种调度类型仅对具有超级用户权限的进程可用,因为它们都具有实时调度,但行为略有不同。SCHED_RR 使用 roundrobin 调度方案,SCHED_FIFO 使用“先进先出”策略。

❑ schedparam:这是 schedpolicy 的一部分,允许控制使用调度策略 SCHED_OTHER 运行的线程的调度。在后面我们会看到一个这样的例子。

❑ inheritsched:该属性有两个可能的值:PTHREAD_EXPLICIT_SCHED 和 PTHREAD_INHERIT_SCHED。默认情况下,该值是 PTHREAD_EXPLICIT_SCHED,这意味着调度是由属性显式设置的。通过将其设置为 PTHREAD_INHERIT_SCHED,新线程将使用其创建线程正在使用的参数。

❑ scope:此属性控制如何计算线程的调度。因为 Linux 目前只支持值 PTHREAD_SCOPE_SYSTEM,我们在这里不再深入讨论。

❑ stacksize:该属性控制线程创建堆栈的大小,以字节为单位设置。这是规范“可选”部分的一部分,仅在定义了 POSIX THREAD_ATTR_STACKSIZE 的实现中得到支持。Linux 在默认情况下实现了具有大量堆栈的线程,因此该特性在 Linux 上通常是多余的。

1、Setting the Detached State Attribute(thread5.c)

对于分离线程示例 thread5.c,你创建一个线程属性,将其设置为分离,然后使用该属性创建一个线程。现在,当子线程完成时,它以正常的方式调用 pthread_exit 。然而,这一次,初始线程不再等待它创建的线程重新加入。在本例中,你使用一个简单的 thread_finished 标志来允许主线程检测子进程是否已经完成,并显示线程仍然在共享变量。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>void *thread_function(void *arg);char message[] = "Hello World";
int thread_finished = 0;int main() {int res;pthread_t a_thread;void *thread_result;pthread_attr_t thread_attr;res = pthread_attr_init(&thread_attr);if (res != 0) {perror("Attribute creation failed");exit(EXIT_FAILURE);}res = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);if (res != 0) {perror("Setting detached attribute failed");exit(EXIT_FAILURE);}res = pthread_create(&a_thread, &thread_attr, thread_function, (void *)message);if (res != 0) {perror("Thread creation failed");exit(EXIT_FAILURE);}(void)pthread_attr_destroy(&thread_attr);while(!thread_finished) {printf("Waiting for thread to say it's finished...\n");sleep(1);}printf("Other thread finished, bye!\n");exit(EXIT_SUCCESS);
}void *thread_function(void *arg) {printf("thread_function is running. Argument was %s\n", (char *)arg);sleep(4);printf("Second thread setting finished flag, and exiting now\n");thread_finished = 1;pthread_exit(NULL);
}

可以看到,设置分离状态允许次要线程独立完成,而不需要初始线程等待它。

How It Works:

代码的两个重要部分是:

声明一个线程属性并初始化它,同时:

它将属性值设置为具有分离状态。 

其他细微的区别是创建线程,传递属性的地址,

并且,为了完整性,当你使用了属性时,销毁它们: 

2、Thread Attributes Scheduling 

让我们看看你可能希望更改的第二个线程属性:调度。更改调度属性非常类似于设置分离状态,但是还有两个函数可以用于查找可用的优先级级别,即 sched_get priority_max 和 sched_get priority_min。

(1)Scheduling(thread6.c)

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>void *thread_function(void *arg);char message[] = "Hello World";
int thread_finished = 0;int main() {int res;pthread_t a_thread;void *thread_result;pthread_attr_t thread_attr;int max_priority;int min_priority;struct sched_param scheduling_value;res = pthread_attr_init(&thread_attr);if (res != 0) {perror("Attribute creation failed");exit(EXIT_FAILURE);}res = pthread_attr_setschedpolicy(&thread_attr, SCHED_OTHER);if (res != 0) {perror("Setting schedpolicy failed");exit(EXIT_FAILURE);}res = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);if (res != 0) {perror("Setting detached attribute failed");exit(EXIT_FAILURE);}res = pthread_create(&a_thread, &thread_attr, thread_function, (void *)message);if (res != 0) {perror("Thread creation failed");exit(EXIT_FAILURE);}max_priority = sched_get_priority_max(SCHED_OTHER);min_priority = sched_get_priority_min(SCHED_OTHER);scheduling_value.sched_priority = min_priority;res = pthread_attr_setschedparam(&thread_attr, &scheduling_value);if (res != 0) {perror("Setting schedpolicy failed");exit(EXIT_FAILURE);}(void)pthread_attr_destroy(&thread_attr);while(!thread_finished) {printf("Waiting for thread to say it's finished...\n");sleep(1);}printf("Other thread finished, bye!\n");exit(EXIT_SUCCESS);
}void *thread_function(void *arg) {printf("thread_function is running. Argument was %s\n", (char *)arg);sleep(4);printf("Second thread setting finished flag, and exiting now\n");thread_finished = 1;pthread_exit(NULL);
}

How It Works:

这与设置分离状态属性非常相似,不同之处在于你设置的是调度策略。

三、Canceling a Thread

有时,你希望一个线程能够请求另一个线程终止,就像向它发送信号一样。对于线程,有一种方法可以做到这一点,并且与信号处理并行,线程可以在被要求终止时修改它们的行为。

让我们首先看一下请求线程终止的函数:

这非常简单:给定一个线程标识符,你可以请求取消它。在取消请求的接收端,情况稍微复杂一些,但也不是很多。线程可以使用 pthread_setcancelstate 设置其取消状态。

第一个参数是 PTHREAD_CANCEL_ENABLE,它允许它接收取消请求,或者 PTHREAD_CANCEL _DISABLE,它导致它们被忽略。oldstate 指针允许检索以前的状态。如果不感兴趣,可以简单地传递 NULL。如果接受取消请求,则线程可以获得第二级控制,即取消类型,该类型通过 pthread_setcanceltype 设置。 

该类型可以接受两个值中的一个:PTHREAD_CANCEL_ASYNCHRONOUS,它使取消请求立即被处理;PTHREAD_CANCEL_DEFERRED,它使取消请求等待,直到线程执行以下函数之一:pthread_join、pthread_cond_wait、pthread_cond_timedwait、pthread_testcancel、sem_wait或sigwait。 

我们没有涵盖所有这些调用,因为并非所有调用都是通常需要的。与以往一样,可以在手册页中找到更多的细节。

根据 POSIX 标准,其他可能阻塞的系统调用 (如读取、等待等) 也应该是取消点。在撰写本文时,Linux 中对此的支持似乎还不完全。然而,一些实验确实表明,一些被屏蔽的电话,如睡眠,确实允许取消发生。为了安全起见,你可能需要在您希望取消的代码中添加一些 pthread_testcancel 调用。

同样,oldtype 允许检索以前的状态,如果你对知道以前的状态不感兴趣,则可以传递 NULL。默认情况下,线程以取消状态PTHREAD_CANCEL_ENABLE和取消类型 PTHREAD_CANCEL_DEFERRED 开始。

1、Canceling a Thread(thread7.c)

程序 thread7.c 同样派生自 thread1.c。这一次,主线程向它所创建的线程发送一个取消请求。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>void *thread_function(void *arg);int main() {int res;pthread_t a_thread;void *thread_result;res = pthread_create(&a_thread, NULL, thread_function, NULL);if (res != 0) {perror("Thread creation failed");exit(EXIT_FAILURE);}sleep(3);printf("Canceling thread...\n");res = pthread_cancel(a_thread);if (res != 0) {perror("Thread cancelation failed");exit(EXIT_FAILURE);}printf("Waiting for thread to finish...\n");res = pthread_join(a_thread, &thread_result);if (res != 0) {perror("Thread join failed");exit(EXIT_FAILURE);}exit(EXIT_SUCCESS);
}void *thread_function(void *arg) {int i, res, j;res = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);if (res != 0) {perror("Thread pthread_setcancelstate failed");exit(EXIT_FAILURE);}res = pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);if (res != 0) {perror("Thread pthread_setcanceltype failed");exit(EXIT_FAILURE);}printf("thread_function is running\n");for(i = 0; i < 10; i++) {printf("Thread is still running (%d)...\n", i);sleep(1);}pthread_exit(0);
}

How It Works:

在以通常的方式创建新线程之后,主线程休眠 (给新线程一些时间启动),然后发出一个取消请求:

在创建的线程中,首先设置 cancel 状态允许取消:

然后你设置取消类型为延迟:

最后,线程等待被取消:

四、Threads in Abundance

到目前为止,我们总是让程序执行的正常线程只创建另一个线程。但是,我们不希望你认为只能创建一个额外的线程。

1、Many Threads(thread8.c)

下面看最后一个例子thread8.c,我们将展示如何在同一个程序中创建几个线程,然后以不同于它们开始时的顺序再次收集它们。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>#define NUM_THREADS 6void *thread_function(void *arg);int main() {int res;pthread_t a_thread[NUM_THREADS];void *thread_result;int lots_of_threads;for(lots_of_threads = 0; lots_of_threads < NUM_THREADS; lots_of_threads++) {res = pthread_create(&(a_thread[lots_of_threads]), NULL, thread_function, (void *)&lots_of_threads);if (res != 0) {perror("Thread creation failed");exit(EXIT_FAILURE);}sleep(1);}printf("Waiting for threads to finish...\n");for(lots_of_threads = NUM_THREADS - 1; lots_of_threads >= 0; lots_of_threads--) {res = pthread_join(a_thread[lots_of_threads], &thread_result);if (res == 0) {printf("Picked up a thread\n");}else {perror("pthread_join failed");}}printf("All done\n");exit(EXIT_SUCCESS);
}void *thread_function(void *arg) {int my_number = *(int *)arg;int rand_num;printf("thread_function is running. Argument was %d\n", my_number);rand_num=1+(int)(9.0*rand()/(RAND_MAX+1.0));sleep(rand_num);printf("Bye from %d\n", my_number);pthread_exit(NULL);
}

如你所见,你创建了许多线程,并允许它们不按顺序完成。这个程序中有一个微妙的错误,如果从启动线程的循环中删除对 sleep 的调用,这个错误就会很明显。我们将它包含进来是为了向你展示在编写使用线程的程序时需要多么小心。我们将在下面解释。

这次你创建了一个线程 id 数组:

循环创建几个线程:

线程本身在退出前等待一个随机的时间:

而在主线程 (原始) 中,你等待取它们,但不是按照你创建它们的顺序: 

如果你试图在没有睡眠的情况下运行程序,可能会看到一些奇怪的效果,包括一些线程以相同的参数启动;例如,你可能会看到类似这样的输出:

你知道为什么会发生这种情况吗?线程使用局部变量作为线程函数的参数启动。这个变量在循环中更新。违规的行是:

如果主线程运行得足够快,它可能会改变某些线程的参数 (lots_of_threads)。当对共享变量和多个执行路径不够注意时,就会出现这样的行为。编程线程需要在设计时格外注意!要纠正这个问题,你需要像这样直接传递值:

当然还要改变thread_function:

这在程序 thread8a.c 中显示,并突出显示了更改:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>#define NUM_THREADS 6void *thread_function(void *arg);int main() {int res;pthread_t a_thread[NUM_THREADS];void *thread_result;int lots_of_threads;for(lots_of_threads = 0; lots_of_threads < NUM_THREADS; lots_of_threads++) {/*modify*/res = pthread_create(&(a_thread[lots_of_threads]), NULL, thread_function, (void *)lots_of_threads);if (res != 0) {perror("Thread creation failed");exit(EXIT_FAILURE);}/*modify*//*    sleep(1); */}printf("Waiting for threads to finish...\n");for(lots_of_threads = NUM_THREADS - 1; lots_of_threads >= 0; lots_of_threads--) {res = pthread_join(a_thread[lots_of_threads], &thread_result);if (res == 0) {printf("Picked up a thread\n");} else {perror("pthread_join failed");}}printf("All done\n");exit(EXIT_SUCCESS);
}/*modify*/
void *thread_function(void *arg) {int my_number = (int)arg;
/*modify*/int rand_num;printf("thread_function is running. Argument was %d\n", my_number);rand_num=1+(int)(9.0*rand()/(RAND_MAX+1.0));sleep(rand_num);printf("Bye from %d\n", my_number);pthread_exit(NULL);
}

POSIX线程到此我们学习了如何在一个进程中创建多个执行线程,其中每个线程共享文件作用域变量。了解了线程可以使用信号量和互斥锁控制对关键代码和数据的访问的两种方式。接下来,了解了如何控制线程的属性,特别是如何将它们与主线程分离,以便主线程不再需要等待它创建的线程完成。在快速查看了一个线程如何请求另一个线程完成任务以及接收线程如何管理这些请求之后,我们给出了一个同时执行多个线程的程序示例。我们没有足够的篇幅来介绍所有与线程相关的函数调用和细微差别,但是我现在应该已经充分了解如何开始使用线程编写自己的程序,并通过阅读手册来研究线程更深奥的方面。

以上,POSIX线程(二)

祝好

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3828203.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

❗HTML引入CSS的三种常用方式汇总❗

引言 CSS对于HTML来说就像是女生的化妆品&#xff0c;通过CSS的修饰后&#xff0c;网页元素会更加丰富美观&#xff0c;但是使用CSS之前的首要需求就是如何在HTML代码中加入CSS代码&#xff0c;这里就简单列举一下三种常用方法&#xff1b; ps&#xff1a;由于作者规划以后往…...

c语言数组下标为负数

c语言中数组的下标可以是负号&#xff0c;在代码运行前不会对数组是否下标越界、溢出等异常进行警告或处理&#xff0c;因此需人为干预。 测试代码&#xff1a; #include<stdio.h> #include <stdlib.h>int main(int argc, char *argv[]) {int array[]{1,2,3,4,5,6…...

面试向:SpringBoot如何一键启动多个微服务?如何一键部署多个微服务?

我们知道 Springboot是负责创建服务的 有的时候 我们不区分 都混杂在一起。有的时候 我们会对服务进行细分&#xff0c;然后就是微服务 这一个springboot project可能含有很多个微服务。 springboot的启动方式有三个&#xff1a; main-mvn spring-boot run-pack with maven cle…...

C语言 实现16进制 转换10进制

程序说明&#xff1a;输入一个16进制的数&#xff0c;输出一个10进制的数 原理&#xff1a;2、8或16进制转换成10进制都是用对应的进制数从后向前&#xff08;从个位向前&#xff09;依次乘以对应进制数的增长幂数然后求和。 例如16进制转10进制 &#xff1a; ABC10*16^211* …...

html5css如何引用,html如何调用外部css

调用方法&#xff1a;1、使用“”语句调用&#xff1b;2、在style标签中使用“import url(CSS文件路径地址)”语句调用。本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、Dell G3电脑。html调用外部css有两种方法链接式--使用标签导入式--使用import规则标签1…...

leetcode2/3/4数之和的解法比较python_哈希和双指针(sort的时空复杂度)

1. 两数之和题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。你可以按…...

html页面中引入css样式的3种方式

1.行内样式&#xff1a;直接在html的元素上使用style的属性编写CSS&#xff0c;如下&#xff1a; <span style"color:#00FF00 ;font-size:100px;">学无止境&#xff0c;不忘初心</span> 2.内部样式&#xff1a;在html的<head>标签中使用<style&…...

HashMap之数组下标计算

HashMap之数组下标计算前提loadFactorcapacitythresholdput时&#xff0c;数组下标计算hash函数putVal函数核心计算扩容时&#xff0c;下标的重置计算前提 HashMap是有数组链表组成的&#xff0c;其中使用的算法有&#xff1a;hash&#xff08;java8又使用了红黑树&#xff09…...

关于web项目html引用外部css失效问题(望各位大佬帮忙解决!!!)

在测试的时候发现一个简单的登录页面导入外部css时失效&#xff0c;下面附上代码&#xff1a; <head><meta charset"UTF-8"><title></title><!-- <script src"js/denglu.js" type"text/javascript" charset"…...

html怎么引入本地css文件路径,html如何引入css文件

引入方法&#xff1a;1、使用link标签引入&#xff0c;语法“”&#xff1b;2、在stylet标签中&#xff0c;使用“import”规则引入&#xff0c;语法“import url(css文件地址)”。本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、Dell G3电脑。html引入css文…...

16进制转换为10进制

问题描述 从键盘输入一个不超过8位的正的十六进制数字符串&#xff0c;将它转换为正的十进制数后输出。   注&#xff1a;十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 import java.util.Scanner;public class wuxueme…...

ps手机计算机图标教程,PS手机图标绘制教程:手绘时尚大方的扁平化风格手机APP图标。PS-站长资讯中心...

PS手机图标绘制教程&#xff1a;手绘时尚大方的扁平化风格手机APP图标。初稿步骤 02 制作时钟底盘2.1 新建540*540px的圆&#xff0c;命名为【圆-1】并为其添加图层样式。2.2 新建460*460px的圆&#xff0c;命名为【圆-2】并为其添加渐变叠加。2.3 新建442*442px的圆&#xff0…...

ps制作html图标素材,PS按钮图标制作

PS按钮图标制作教程&#xff1a;设计简洁风格的半透明科技感按钮图标素材。3、拉两条参照线。按Ctrl R 调出标尺&#xff0c;然后用移动工具分别拉一条水平和垂直的参照线&#xff0c;如下图。4、在工具箱选择“椭圆选框工具”。5、以参照线交点为起点&#xff0c;按住Alt Sh…...

通俗理解隐马尔可夫模型(HMM)

HMM&#xff08;隐马尔可夫模型&#xff09; 对于一个观测序列&#xff0c;我们认为这个观测序列是由另一个状态序列输出的&#xff0c;而这个状态序列我们称之为隐马尔可夫链 隐马尔可夫链每次可以输出一个观测值&#xff0c;但是一个观测值一次只能被一个状态输出&#xff…...

Web前端 | HTML引入CSS样式的三种方式

✅作者简介&#xff1a;一位材料转码农的选手&#xff0c;希望一起努力&#xff0c;一起进步&#xff01; &#x1f4c3;个人主页&#xff1a;每天都要敲代码的个人主页 &#x1f525;系列专栏&#xff1a;Web前端 &#x1f4ac;推荐一款模拟面试、刷题神器&#xff0c;从基础到…...

5G/NR 标识详解之5G-GUTI

目录 1. 概述 2. 5G-GUTI分配场景 3. 5G-GUTI的组成 4. 5G-GUTI与GUTI的映射 1. 概述 5G全球唯一临时标识(5G Globally Unique Temporary Identifier&#xff0c;简称5G-GUTI)由接入和移动管理功能(Access and Mobility Management Function, 简称AMF)给UE分配的标识&#…...

深入理解蓝牙BLE之“扩展广播”

目录 前言&#xff1a; 4.2版本广播&#xff1a; 5.0版本广播&#xff1a; 实现原理&#xff1a; 格式定义&#xff1a; 广播事件类型&#xff1a; 扩展广播&#xff1a; 周期广播&#xff1a; 广播集&#xff1a; HCI接口定义&#xff1a; 4.2版本&#xff1a; 5.…...

【MM小贴士】采购订单当中自动带出PO抬头文本

【日常吐槽】这个项目做的我真的是一言难尽&#xff0c;唉。 【他人所谓得重新思考&#xff0c;无非是重新整理自己的偏见罢了。】 【业务背景】今天练习一个下功能&#xff0c;就是做采购订单的时候&#xff0c;订单是由抬头的&#xff0c;抬头会有一些文本&#xff0c;可以…...

中国白帽黑客调查

黑客&#xff0c;可能大家们的第一印象是聪明&#xff0c;多金&#xff0c;在虚拟世界无所不能——电影里不都这么演嘛!但是现实中的黑客是什么样子的呢&#xff1f;近日&#xff0c;由智能生活安全社区GeekPwn主导&#xff0c;联合腾讯科技和FREEBUF两家媒体平台完成的中国首份…...

Siggraph2018

1,SIGGRAPH 2018 papers on the web...

uni-app在ios手机上如何关闭侧滑返回功能

单个窗口锁定 方法一 // #ifdef APP-PLUS var page this.$mp.page.$getAppWebview(); page.setStyle({ popGesture: none }); // #endif方法二 // #ifdef APP-PLUS plus.webview.currentWebview().setStyle({popGesture: none }); // #endif方法三 在pages.json该页面加入&qu…...

佘太地纯的前世今生

佘太地纯的前世今生 &#xff08;一&#xff09;. 酒的诞生&#xff0c;被先祖视为对神明的供品 自古以来&#xff0c;我们的祖先就有“酒是天上酒星所造”的说法&#xff0c;据专家们考证&#xff0c;阴山岩刻中有凹型圆坑&#xff0c;这是古先人群用来盛酒祭天所为。这些约…...

SIGGRAPH 2022--岩鸽彩虹色羽毛渲染阅读笔记:Rendering Iridescent Rock Dove Neck Feathers

目录 介绍&#xff1a; 相关工作&#xff1a; 几何&#xff1a; 渲染&#xff1a; 度量&#xff1a; 背景 羽毛的几何形状&#xff1a; 鸟的羽毛的颜色&#xff1a; 岩鸽颈部羽毛羽小枝颜色 薄膜的物理学&#xff1a; 用成像散射计进行测量&#xff1a; 模型&#…...

Whois查询结果中不同域名状态的含义

通过WHOIS工具可以查看域名详细信息&#xff0c;其中不同的域名状态代表不同的含义&#xff0c;通过解读域名状态我们可以更清楚了解域名当前运行情况&#xff0c;帮助我们了解域名安全情况和域名无法正常使用的原因等&#xff0c;以便我们能够采取及时的应对措施。下面中科三方…...

gitHub不能用密码推送了,必须要使用令牌

有一段时间没使用github去push项目了&#xff0c;今天push之后&#xff0c;根据提示输入账号密码&#xff0c;但是失败了&#xff0c;报错如下&#xff1a; support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com…...

Python中常用的格式化字符串方法

下面写了下我所了解的三种格式化字符串方法&#xff0c;推荐第三种 第一种方式&#xff1a; 常用‘%s’、‘%f’、‘%d’。 符号描述%s格式化为字符串&#xff0c;采用 str() 显示%r格式化为字符串&#xff0c;采用 repr() 显示%d/%i格式化为十进制整数&#xff0c;仅适用于数…...

步入Screeps

1.开始创建一个工作的creep Game.spawns[Spawn1].spawnCreep( [WORK, CARRY, MOVE], Harvester1 ); 2.开始让工作的creep去进行采矿 module.exports.loop function () { var creep Game.creeps[Harvester1]; var sources creep.room.find(FIND_SOURCES); if(…...

Docker笔记

容器相关 查看在运行的容器 docker ps -a启动容器&#xff08;运行交互式的容器&#xff09; // 让docker运行的容器实现“对话”的能力 // t:在新容器内指定一个伪终端或终端 // i:允许你对容器内的标准输入&#xff08;STDIN&#xff09;进行交互。 docker run -i -t ubun…...

告警:线上慎用 BigDecimal ,坑的差点被开了

Java在java.math包中提供的API类BigDecimal&#xff0c;用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数&#xff0c;但在实际应用中&#xff0c;可能需要对更大或者更小的数进行运算和处理。 一般情况下&#xff0c;对于那些不需要准确计…...

用PS制作旋转按钮图标,UI设计教程

每天一篇设计教程分享给你&#xff0c;与你一起成长。 所用软件为&#xff1a;PSCC2018版本&#xff0c;还没有这个软件的小伙伴们可以给我留言&#xff01; 喜欢的小伙伴记得关注噢。...

彻底理解Java并发:乐观锁与CAS

本篇内容包括&#xff1a;悲观锁与乐观锁的概述、CAS&#xff08;Compare And Swap&#xff09;比较并交换的介绍、非阻塞算法与ABA问题&#xff0c;以及对 Java 中 CAS 的实现解读&#xff08;AtomicInteger 对 CAS 的实现&#xff0c;Unsafe 类简介&#xff09;。 一、悲观锁…...

关于原型设计的工具——AXURE

一、简介 Axure RP是一款专业的快速原型设计工具&#xff0c;作为专业的原型设计工具&#xff0c;它能快速、高效的创建原型&#xff0c;同时支持多人协作设计和版本控制管理。使用者主要包括商业分析师、信息架构师、产品经理、IT咨询师、用户体验设计师、交互设计师、UI设计师…...

关于Java架构,框架,各种相关类的整体整理

关于java架构&#xff0c;框架&#xff0c;各种类的整理1&#xff0c;Java应用有哪几种架构&#xff1f;1.1 B/S和C/S的区别1.1.1 C/S系统架构1.1.2 B/S系统架构1.2 B/S架构详细说明2&#xff0c;三层架构和MVC2.1 三层架构2.2 MVC2.3 三层架构和MVC的区别3&#xff0c;SSM&…...

C语言算法的特性

C语言算法有如下特性&#xff1a; 有穷性&#xff1a;一个算法应包含有限的操作步骤而不能是无限的。 确定性&#xff1a;算法中每一个步骤应当是确定的&#xff0c;而不能应当是含糊的、模棱两可的。 有零个或多个输入。 有一个或多个输出。 有效性&#xff1a;算法中每一个步…...

深入浅出学习CAN系列-了解CAPL编程语言

前言 上一篇文章介绍了如何创建CANoe工程&#xff0c;需要先阅读这篇文章&#xff0c;才能对整个工程有所了解&#xff0c;包括节点、报文、信号等关键信息。 本文的重点是分析该工程中各个节点CAPL语言是怎么编写的&#xff0c;主要目的在于理解整个工程的实现&#xff0c;具体…...

Android应用安全常见问题及解决方案灵魂拷问

导语 你想做安卓开发&#xff0c;怎么系统学习&#xff1f;你只需要看完这一篇就够了&#xff01;&#xff01;为什么只看这一篇就够了&#xff1f;现在CSDN、知乎、掘金、GitHub上各路大佬层出不穷&#xff0c;他们深耕Android开发多年&#xff0c;总结出满满的学习干货。但同…...

总结:软件评测师上午试题分析与解答

做个总结 总分75分&#xff0c;及格线45分 选择题一般涉及各个方面&#xff0c;题型如下 2014年软件评测师上午试题 1、计算机系统 2、程序语言 3、防火墙 4、拒绝服务攻击 5、计算机病毒 6、操作系统PV操作 7、操作系统页式存储管理 8、数据库系统 9、考察关系代数运算与SQ…...

2022年数维杯数学建模B题 大规模新型冠状病毒疫情最优应对策略研究求解全过程文档及程序

2022年数维杯数学建模 A题 大规模新型冠状病毒疫情最优应对策略研究 原题再现&#xff1a; 无论是 2022 年 3 月初在吉林省长春市大规模爆发的新型冠状病毒疫情&#xff08;COVID-19&#xff09;&#xff0c;还是 4 月初在上海及 5 月初在北京大规模爆发的疫情&#xff0c;均…...

数字IC设计 -02- 使用VCS逻辑仿真工具

准备工作 新建一个文件夹&#xff0c;将需要编译仿真的代码放到该文件夹内&#xff0c;这里在linux环境下创建了相关文件夹&#xff0c;并将全加器代码编写导入。 全加器代码&#xff1a; module adder_full(dina,dinb,c,ci,dout);input dina;input dinb;input c;output reg …...

java 小波变换_小波变换教程(八)

连续小波变换的计算对上面公式的解释将在本节中进行详细说明。以x(t)作为被分析的信号。选用的小波作为信号处理中用到的所有窗函数的原型。应用的所有窗都是母小波的放大(或缩小)和平移版本。有很多函数可以满足这个条件。Morlet小波和墨西哥帽小波(Mexican hat)是其中最有代表…...

AI+医疗:使用神经网络进行医学影像识别分析 ⛵

U-Net是一种卷积网络架构,用于快速、精确地分割生物医学图像。本文讲解使用 U-Net 进行肺部影像分割的案例全过程:工具库&环境准备、数据读取、数据切分、TensorFlow IO准备、U-Net 网络构建、评估准则&损失函数、超参数设置&模型编译、回调函数&模型训练、模…...

NameAID-文档批量更名

工作中总会遇到一大批文件需要改名的情况&#xff0c;各种各样的规则限制下&#xff0c;手动操作是一个费事费力的活 比如说统一在原来的文件名前面或后面加字符&#xff0c;更改文件名大小写&#xff0c;替换或删除某个词等&#xff0c;这些都是令人头疼的工作 交给NameAID轻…...

LSTM+CNN模型厄尔尼诺事件预测

Background 一、什么是ENSO现象 ENSO&#xff08;El Nio-Southern Oscillation&#xff09;是发生于赤道东太平洋地区的风场和海面温度震荡。ENSO是低纬度的海-气相互作用现象&#xff0c;在海洋方面表现为厄尔尼诺-拉尼娜的转变&#xff0c;在大气方面表现为南方涛动。 二、…...

QT 窗口全屏与还原

1.顶级窗口 1&#xff09;全屏 this->showFullScreen(); 2) 还原 this->showNormal(); 3&#xff09;应用 void Widget::mouseDoubleClickEvent(QMouseEvent *mouseEvent) { //showFlag为标志位if(showFlag){this->showFullScreen();showFlagfalse;}else{this-&…...

【项目管理/PMP/PMBOK第六版/新考纲】纯干货!敏捷型/Stacey矩阵/vuca/敏捷宣言/冲刺/产品负责人/敏捷团队/敏捷教练/待办事项列表/迭代任务列表/可交付产品增量

系列文章目录 一篇文章看懂PMP的2021新考纲重点(建议收藏)项目发展史/项目定义/项目集/项目组合/十五至尊图商业论证/效益管理计划/项目运行环境/组织过程资产/环境事业因素/组织系统 项目生命周期-敏捷型 产品目标、范围、需求都是不明确的&#xff0c;只有通过持续不断的迭…...

34k*16 薪,3年自动化测试历经3轮面试成功拿下字节Offer....

前言 转眼过去&#xff0c;距离读书的时候已经这么久了吗&#xff1f;&#xff0c;从18年5月本科毕业入职了一家小公司&#xff0c;到现在快4年了&#xff0c;前段时间社招想着找一个新的工作&#xff0c;前前后后花了一个多月的时间复习以及面试&#xff0c;前几天拿到了字节…...

微信小程序 界面禁止下拉 左右滑动_微信 iOS 版更新,带来了这些新功能

果粉俱乐部让科技更好的服务生活点击上方「蓝字」加入我们iOS 13 正式版系统即将到来&#xff0c;第三方应用已经开始陆续更新适配&#xff0c;微信在 9 月 17 号也推出了新的 iOS 版 7.0.7 版本更新。微信新版本的更新说明只有简单几个字&#xff0c;「解决了一些已知问题」&a…...

黑马程序员MyBatis总结(二、配置文件完成增删改查以及参数传递)

本文为自我学习使用&#xff0c;如转载需本人同意 文章只记录用过的技术和插件等 目录MyBatisX插件单元测试unitunit依赖创建测试类解决实体封装不上&#xff0c;映射对应不上问题解决方法1&#xff1a;起别名解决方法2&#xff1a;resultMap条件查询说明条件查询参数条件查询实…...

excel透视

Excel–如何让数据透视表按数据源顺序排序&#xff1f;|数据透视表 https://jingyan.baidu.com/article/eb9f7b6dd77a1ec69364e880.html 更新透视 右键刷新即可 表头变了重新拉一下 【Excle数据透视表】如何让字段标题不显示“求和项” - OLIVER_QIN - 博客园 直接编辑&am…...

java代码在图片上画框

有时候对于一些截图需要通过画框重点显示&#xff0c;用java代码在图片上画框的代码如下&#xff1a; package imagetest; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; i…...

JavaWeb之Servlet

Servlet Servlet是Java编写的服务器端程序&#xff0c;可以交互式地浏览和生成数据&#xff0c;生成动态Web内容。一般来说&#xff0c;Servlet是指任何实现了这个Servlet接口的类。 Servlet可在web.xml中配置 <servlet><servlet-name>demo1</servlet-name&g…...

16 | 磁盘管理

1 常用命令 Linux 磁盘管理常用三个命令为 df、du 和 fdisk。 df&#xff08;英文全称&#xff1a;disk free&#xff09;&#xff1a;列出文件系统的整体磁盘使用量du&#xff08;英文全称&#xff1a;disk used&#xff09;&#xff1a;检查磁盘空间使用量fdisk&#xff1a;用…...

Mysql基础(上)

##本单元目标 一、为什么要学习数据库 二、数据库的相关概念 DBMS、DB、SQL 三、数据库存储数据的特点 四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条…...

网络延迟及故障分析与排查实战

一、Wireshark中的辅助工具 我们在安装完Wireshark时&#xff0c;会发现系统中还多了一些程序&#xff0c;例如Tshark等。这些程序都采用了命令行的工作方式&#xff0c;虽然体积都很小&#xff0c;但是功能却十分强大。 1、Wireshark命令行工具 开Wireshark的安装目录&…...

图片画框和标注案例

实例分享,真实可用 import os.pathimport cv2 def image_rectangle_putText(result_list, src_images_path, out_images_path, confidence_threshold=0.5, type=0):"""把识别结果result 标注到图片上:param result_list: 识别结果,格式为[{name: video, loca…...

原型设计工具Axure

关键词:Axure&#xff0c;原型设计 授课老师&#xff1a;张森鹏 一、什么是原型设计 产品原型可以概括的说是整个产品面市之前的一个框架设计。以网站注册作为例子,整个前期的交互设计流程图之后,就是原形开发的设计阶段,简单的来说是将页面的模块、元素、人机交互的形式&#…...

Python-OpenCV API

参考资料 视频 这些博客就是搭配上面那个视频使用的...

干货|史上最全HR必备招聘执行全流程 建议收藏

今天为大家带来的是HR必备招聘执行流程SOP 帮助HR快速梳理流程 提高招聘效率、节约培训成本、减少出错率 做HR&#xff0c;有它就够啦&#xff01;下面我们就来一起看下吧 Step1. 需求对齐 需求对齐是用人部门和HR部门的必不可少的过程&#xff0c;事关是否能快速招到人和…...

centos 7 修改 limits.conf 导致 ssh 连接失败

问题描述 由于项目性能测试需要上百万 tcp 连接&#xff0c;程序报错&#xff1a; too many open files查阅资料发现是系统参数 最大文件打开数 file-max 限制 于是根据网上资料修改 /etc/security/limits.conf # 在文件末尾添加以下两行 * soft nofile 2000000 * …...

vue过滤动画

目录 1 自带过渡动画 2 animate.css实现过渡动画 1自带过渡动画 vue中给我们提供了一些类名&#xff0c;共有六个—— .v-enter、.v-enter-active、.v-enter-to .v-leave、.v-leave-active、.v-leave-to 这六个类名可以用来设置vue中元素进行切换的过渡动画 /*我们只需要在c…...

RecyclerView的基础使用 +点击添加列表数据 +下拉刷新、上拉加载更多

一、RecyclerView的基础使用。 第一步&#xff1a;添加recyclerview控件。 第二步&#xff1a;创建布局文件&#xff08;xml&#xff09; 单独的类控制布局里面的控件&#xff08;MyViewHolder&#xff09;。 第三步&#xff1a;创建一个适配器 MyAdapter&#xff0c;将布局文…...

A Bug‘s Life(权值并查集)

A Bug’s Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 53799 Accepted: 17292 Description Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and th...

poj2492 A Bug's Life (并查集拓展)

C - A Bugs LifeCrawling in process... Crawling failed Time Limit:10000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Practice POJ 2492 Appoint description: CSUST_11 (2013-04-14) System Crawler (2016-05-13) Description Bac...

Maven Failsafe 插件

maven FailSafe插件是用来执行集成测试的&#xff0c;Surefire插件则是用来执行单元测试的。说到这里&#xff0c;笔者觉得有必要提一下maven的生命周期与集成测试相关的四个阶段&#xff1a; 1.pre-integration-test&#xff1a;该阶段用来准备集成测试环境&#xff0c;类似于…...

加密交易员:若2010年7月投资1万美元BTC,现在价值18.6亿美元

加密交易员Bitcoin Macro发推表示&#xff0c;2010年7月&#xff0c;BTC交易价为0.05美元。如果当时投资了1万美元&#xff0c;今天价值将达到18.6亿美元。 更多内容&#xff1a;https://www.tuoluocaijing.cn...

3.23BTC价格跌破重要支撑,日内坚决做空

市场永远是对的&#xff0c;顺势而为的法则不可逆&#xff0c;当我们兴奋BTC价格一再创新高的时候&#xff0c;其实这也是我们最需要警惕的时刻&#xff0c;因为BTC价格已经悄然下跌&#xff0c;接受现实顺者昌&#xff0c;逆者亡。   很多人特别喜欢研究消息面&#xff0c;说…...

TokenGazer:BTC价格逼近5000美元,仍处于合理估值区间

2019年4月2日&#xff0c;BTC价格出现暴涨&#xff0c;TokenGazer官网显示BTC市值仍处于合理区间。当前TokenGazer往期的项目评级报告、深度研究报告、加密货币月报等均已收录在官方网站&#xff1a;www.tokengazer.com。4月2日&#xff0c;比特币价格在短短一个小时的时间里&a…...

BTC高位横盘已成

【笔者简一投资寄语】 每当面对行情的时候&#xff0c;有人害怕恐惧&#xff0c;有人欣喜若狂&#xff0c;门内门外&#xff0c;两片天地。有人数钱抽筋&#xff0c;有人债台高筑。门是界限&#xff0c;可以穿过,但别过界。 【行情回顾】 昨日比特币在早间价格触及11100附近位…...

ETF会成为BTC突破1万美元的关键吗?

本文授权转载自&#xff1a;Mars火星区块链(Mars_Blockchain)&#xff0c;作者文刀5月27日凌晨&#xff0c;比特币又出现了一波拉升&#xff0c;最高点突破8900美元&#xff0c;直逼1万美元关口。对于整个加密货币行业来说&#xff0c;2019年有两个明确可以期待的利好&#xff…...

BTC和BCH 区别和联系?

在比特币刚刚出现的时期&#xff0c;中本聪对区块的大小限制在1M。这种限制既保障性能较弱的个人电脑能够参与其中&#xff0c;同时也起到了防止攻击者让比特币网络超载的风险发生&#xff0c;毕竟那时系统还很脆弱。在1M的限制下&#xff0c;10分钟一个区块最多能够容纳2000笔…...

链视界|4月9日 BTC行情分析(含ETH)

行情分析 | 4月9日BTC分析&#xff08;含ETH&#xff09;从BTC 1 hour来看&#xff0c;暂时也是快速逃离6500小底部区域。 前期下跌途中&#xff0c;反复在6500区域进行2次盘整&#xff0c;横盘10几个小时。一直未破。 低点 1h 的共振&#xff0c;在昨日迅速拉升。但因为上方压…...

BTC:ETH从本质上有取代BTC的潜能

自周日以来&#xff0c;通过包装比特币进行标记的比特币数量比比特币矿工实际创造的比特币数量多了1043枚&#xff0c;基于以太的分散金融(DeFi)热潮没有减弱的迹象。 1、考虑到目前每块6.25个比特币的发行率和目标10分钟的区块时间&#xff0c;每天大约开采900个比特币。 2、根…...

BTC再一次开启牛市的价格将会是多少?

来源&#xff1a;道说区块链近日外网一篇文章分析了比特币历史上出现的一些“永不回头”的价格。文章把这些价格绘成图表&#xff0c;给大家呈现了一幅很有趣的场景&#xff0c;在此我和大家分享一下。首先我们看看文章中所谓的“永不回头”的价格是什么意思。“永不回头”的价…...

为什么2020年的BTC,并没有2017那么疯狂?

作者&#xff1a;TVB为什么不在少数的币友认为本轮牛市已经结束了呢&#xff1f;最直观的感觉就是&#xff0c;2020年的BTC走势实在太像2017年了。第一&#xff0c;2017年和2020年&#xff0c;都是在年底开启了疯狂的上涨&#xff1b;第二&#xff0c;并且分别在2018年1月和202…...

《合约星期五》OKEx BTC季度合约 0726周报

行情回顾&#xff1a; 7月19日交割后&#xff0c;OKEx BTC季度合约从10500usd附近开始上行&#xff0c;7月21日到达11249usd高点&#xff0c;随后震荡下跌&#xff0c;7月25日到达短线低点9618usd。当前价格在9800usd附近。&#xff08;采集数据时间段为&#xff1a;0719 16:1…...

用最新技术优化深度学习BTC交易机器人

本文翻译自Adam King的《Optimizing deep learning trading bots using state-of-the-art techniques》&#xff0c;英语好的建议读原文&#xff0c;本译本只是学习记录&#xff0c;翻译水平有限&#xff0c;如果专业术语错误还望指正。 教会我们的机器人用特征工程和Bayes优化…...

区块链学习笔记10——BTC问答

区块链学习笔记10——BTC问答 学习视频&#xff1a;北京大学肖臻老师《区块链技术与应用》 笔记参考&#xff1a;北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页 转账交易时候&#xff0c;如果接收者不在线(没有连在比特币网络上)怎么办&#xff1f; 转账交…...

速评 | BTC减半影响几何?

前言BTC预计于2020年5月12日正式减半。随着减半日期的临近&#xff0c;关于BTC减半的各种理论以及分析层出不穷&#xff0c;链塔智库就对其中一些的理论以及影响进行简要的探讨。链塔智库认为BTC减半是一个响亮口号&#xff0c;伴随着BTC减半的是BTC大涨&#xff0c;财富自由&a…...

详解设计模式:模版方法模式

模板方法模式&#xff08;Template Method Pattern&#xff09;也被称为模板模式&#xff08;Template Pattern&#xff09;&#xff0c;是在 GoF 23 种设计模式中定义了的行为型模式。 模板方法模式 定义一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使…...

币须知道|数据盾(DSC)捉内贼,发生人事任免变动;逾80%投资者认为BTC价格已见底...

您的转发和吐槽是我们前进的动力今日要闻行情速递市值排行第一位&#xff0c;BTC&#xff0c;全球均价9310.24美元&#xff0c;24小时涨幅&#xfe62;0.4%。市值排行第二位&#xff0c;ETH&#xff0c;全球均价637.7美元&#xff0c;24小时跌幅&#xfe63;6.87%。市值Top100&…...

BTC总量和四年减半是如何计算出来的

比特币产生方式是挖矿&#xff0c;也就是矿工通过解答加密学问题争夺记账权&#xff0c;完成记账的矿工将得到系统给予的比特币奖励。 格林尼治时间2009年1月3日18点15分05秒&#xff0c;中本聪挖出了比特币网络的第一个区块&#xff0c;也就是编号为0的创世区块。 从创世区块…...

BTC为何重要

价值投资的程式化观点通常会导致较低的会计倍数&#xff0c;但在我们追求以低于其内在价值的价格进行资产交易时&#xff0c;我们会尝试对“价值”进行更广泛的定义。我们的方法是一种概率方法&#xff0c;这意味着我们试图考虑未来可能影响资产价值的各种潜在状态。然后&#…...

如何看待BTC价格的反弹?

据CoinDesk的数据显示&#xff0c;在加密货币行业经历了数周的痛苦下跌之后&#xff0c;比特币的价格在周三飙涨了10%&#xff0c;涨到了3929.10美元。12月19日的表现让比特币在过去三天中的涨幅超过22%。 BTC自09年诞生以来&#xff0c;已经被宣告300多次死亡&#xff0c;而今…...

尽管BTC价格下跌30%,但分析师依然看涨

本文来自 Cointelegraph 原文作者 | Horus Hughes译者 | 秦晓峰出品 | Odaily星球日报&#xff08;ID&#xff1a;o-daily&#xff09;近期&#xff0c;比特币&#xff08;BTC&#xff09;价格一直萎靡不振。据Hold行情显示&#xff0c;BTC 价格暂报 9535 美元&#xff0c;相较…...

缺失值填充2——python 热卡填充(Hot deck imputation)、冷卡填充(Cold deck imputation)

基本概念 热卡填充&#xff1a;在完整数据中找到一个与它最相似的对象&#xff0c;用最相似的值填充当前值 冷卡填充&#xff1a;通过其他途径找到能填充缺失部分的值 热卡填充其实就是使用KNN去预测的一种特殊形式&#xff0c;KNN是参考K个&#xff0c;而热卡填充是参考最近…...

调包实现Multiple imputation by chained equations(MICE)

Public functions — imputena documentationhttps://imputena.readthedocs.io/en/latest/functions.html#multiple-imputation-by-chained-equations https://github.com/macarro/imputena/blob/master/test/multiple_imputation/test_mice.pyhttps://github.com/macarro/impu...

Efficient and Effective Data Imputation with Influence Functions

为了解决数据缺失问题,数据imputation得到了广泛的研究。急剧增加的缺失数据量使得imputation模型的训练在现实生活场景中难以计算。本文提出了一种高效、有效的影响函数数据插补系统EDIT,该系统在保证插补精度的前提下,快速训练出具有代表性样本的参数插补模型。EDIT主要由…...

imputation-文献:False signals induced by single-cell imputation(scRNA-seq插补引入的假阳性问题)

文章题目 False signals induced by single-cell imputation 中文名&#xff1a; 单细胞插补引起的假信号 文章地址&#xff1a; https://f1000research.com/articles/7-1740/v2 评价插补方法&#xff1a; SAVER,DrImpute,scImpute,DCA,MAGIC,knn-smooth 上述方法基于原…...

Paper Reading: CollaGAN : Collaborative GAN for Missing Image Data Imputation

Paper Reading Note 【说明文字均在图片下方】 URL: https://arxiv.org/pdf/1901.09764.pdf TL;DR cvpr2019的一篇文章&#xff0c;提出了一种新型的GAN结构CollaGAN&#xff0c;可以从多角度图像协同提取信息用GAN生成未知角度的图像。相较于点到点的StarGAN和CycleGAN具有…...

论文笔记:Missing Value Imputation for Multi-view UrbanStatistical Data via Spatial Correlation Learning

TKDE 2021(Apr&#xff09; 0 摘要 作为城市化的发展趋势&#xff0c;海量的多视角&#xff08;如人口和经济视角&#xff09;的城市统计数据被越来越多地收集并受益于不同领域&#xff0c;包括交通服务、区域分析等。 划分为细粒度区域的数据在获取和存储过程中通常会遇到缺失…...

GAIN: Missing Data Imputation using Generative Adversarial Nets(基于生成对抗网络的缺失数据填补)论文详解

目录 一、背景分析1.1 缺失数据1.2 填补算法二、GAIN2.1 GAIN网络架构2.2 符号描述(Symbol Description)2.3 生成器模型2.4 判别器模型2.5 提示向量Hint三、算法流程四、总结我们一直被缺失的数据包围着。长期以来,统计分析中因数据缺失而产生的问题一直被掩盖着。这些时代现…...

Michigan Imputation Server:基因型填充的在线工具

欢迎关注”生信修炼手册”!得益于分析软件运行速度的不断提高&#xff0c;硬件资源消耗的不断优化&#xff0c;基因型填充这一计算量巨大的任务也出现了web服务&#xff0c;Michigan Imputation Server就是其中之一&#xff0c;网址如下https://imputationserver.sph.umich.edu…...

UPC10728:Imputation

时间限制: 1 Sec 内存限制: 128 MB提交: 31 解决: 12[提交] [状态] [命题人:admin]题目描述 Leila is a Bioinformatician, interested in studying Bacterial evolution. In one experiment on a special type of Bacteria,she started from a single bacterium, put it on …...

python缺失数据处理_python 缺失值处理的方法(Imputation)

一、缺失值的处理方法由于各种各样的原因&#xff0c;真实世界中的许多数据集都包含缺失数据&#xff0c;这些数据经常被编码成空格、nans或者是其他的占位符。但是这样的数据集并不能被scikit - learn算法兼容&#xff0c;因为大多数的学习算法都会默认数组中的元素都是数值&a…...

UPC Imputation 树型dp

问题 F: Imputation 时间限制: 1 Sec 内存限制: 128 MB 提交: 32 解决: 13 [提交] [状态] [命题人:admin] 题目描述 Leila is a Bioinformatician, interested in studying Bacterial evolution. In one experiment on a special type of Bacteria,she started from a sin…...

BRITS: Bidirectional Recurrent Imputation for Time Series(时间序列的双向递归填补)论文详解

原始论文:BRITS: Bidirectional Recurrent Imputation for Time Series,参考链接:https://arxiv.org/pdf/1805.10572.pdf。 目录 Abstract一、Introduction二、Related Work三、Preliminary四、BRITS4.1 Unidirectional Uncorrelated Recurrent Imputation4.1.1 Algorithm4.…...

NAOMI: Non-Autoregressive MultiresolutionSequence Imputation(非自回归多分辨率序列填补)论文详解

原始论文:NAOMI: Non-Autoregressive Multiresolution Sequence Imputation,参考链接:https://arxiv.org/pdf/1901.10946.pdf。 目录 Abstract一、Introduction二、Related Work三、Non-Autoregressive Multiresolution Sequence Imputation3.1 NAOMI Architecture and Imp…...

缺失值处理(Imputation)

‘’’ sklearn类提供了缺失值处理的基本策略&#xff0c;比如使用缺失值数值所在行或者列的均值&#xff0c;中位数&#xff0c;众数来替换缺失值&#xff0c;该类也兼容不同额缺失值编码 ‘’’ import numpy as np from sklearn.preprocessing import Imputermissing_value…...

论文笔记:FILLING THE G AP S: MULTIVARIATE TIME SERIES IMPUTATION BY GRAPH NEURAL NETWORKS

0 abstract & introduction 之前的补全方法并不能很好地捕获/利用 不同sensor之间的非线性时间/空间依赖关系高效的时间序列补全方法&#xff0c;不仅应该考虑过去&#xff08;或者未来&#xff09;的数值&#xff0c;还应该同时考虑空间上邻近的点的测量值&#xff08;这…...

论文笔记:SAITS: SELF-ATTENTION-BASED IMPUTATION FOR TIMESERIES

对time-series 使用self-attention来进行补全 1 introduction 传统的处理缺失数据的方式一般有两个分类 直接删去只有部分观测值的样本使用数据补全&#xff0c;将合适的数据填入直接删去的不足 直接删去会导致偏差&#xff1b;合适的数据补全是无偏的部分观测样本也是有一定…...

论文笔记:Mind the Gap An Experimental Evaluation of Imputation ofMissing Values Techniques in TimeSeries

pVLDB 2020 1 abstract & intro 这篇论文横向比较了12种 time-series imputation的方法。作者声称这是第一篇深入讨论这些模型的准确度、效率和参数化。 由于不同的方法使用的编程语言不同&#xff0c;作者用C 重新写了这些方法eXascaleInfolab/bench-vldb20 (github.com)…...

filling the g ap s: multivariate time series imputation by graph neural networks

filling the g ap s: multivariate time series imputation by graph neural networks 在处理来自真实应用程序的数据时&#xff0c;处理缺失的值和不完整的时间序列是一项劳动密集型、乏味且不可避免的任务。有效的时空表征将允许imputation方法通过利用来自不同位置传感器的…...

[论]【DSTGCN】Dynamic SpatiotemporalGraph Convolutional Neural Networks for Traffic Data Imputation

Dynamic Spatiotemporal Graph Convolutional Neural Networks for Traffic Data Imputation with Complex Missing Patterns 期刊&#xff1a; 关键字&#xff1a;交通数据归因时空相关性缺失模式图卷积神经网络循环神经网络 提示&#xff1a;该文章是应对缺失数据的动态图神…...

HTML5期末大作业:基于html+css+javascript+jquery实现藏族文化15页【学生网页设计作业源码】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…...

论文解读:Missing data imputation with adversarially-trained graph convolutional network

标题&#xff1a; Missing data imputation with adversarially-trained graph convolutional networks 用对抗训练图卷积网络实现缺失数据填充 基本信息&#xff1a; Received 6 May 2019, Revised 25 May 2020, Accepted 4 June 2020, Available online 13 June 2020. Neura…...

论文笔记:NAOMI: Non-Autoregressive MultiresolutionSequence Imputation

2019 NIPS 0 abstract 缺失值插补是时空建模中的一个基本问题&#xff0c;从运动跟踪到物理系统的动力学。深度自回归模型受到错误传播的影响&#xff0c;这对于输入远程序列来说是灾难性的。在本文中&#xff0c;我们采用非自回归方法并提出了一种新颖的深度生成模型&#x…...

imputation-综述文章:关于网络推理的scRNA序列插补工具基准突出了高稀疏性水平下的性能缺陷

文章题目&#xff1a; Benchmarking scRNA-seq imputation tools with respect to network inference highlights 中文题目&#xff1a; 关于网络推理的scRNA序列插补工具基准突出了高稀疏性水平下的性能缺陷 说明 这是一篇关于插补后scRNA-seq数据是否带来假阳性的讨论性…...

double类型的输入与输出

scanf()用%lf 来接受double类型 printf()用 %f 输出double 类型 原因&#xff1a; printf的% f 说明符的确可以输出float类型也可以 输出double 类型 。根据“ 默认参数提升” 规则&#xff0c;float 型会被提升为double 类型。 对于scanf &#xff0c;它接受指针&#xff0c;…...

qt之double类型判断

一、前言 double类型不能判断相等&#xff0c;那么如何判断等于呢&#xff0c;见下文&#xff0c;脑瓜子疼啊&#xff0c;以为时bug&#xff0c;结果还是基础犯了错误。。 二、环境 windows10 qt57 三、正文 double类型的浮点数&#xff0c;保留一位之后&#xff0c;用变…...

double小数点后最多几位_double类型,小数点后的位数

展开全部double类型是双精度浮点数&#xff0c;占用e5a48de588b632313133353236313431303231363533313333656634618字节(Byte)即64位(bit)&#xff0c;其精度是由32个bit的二进制尾数来确定的&#xff0c;因此准确精度是二进制精度而不是十进制精度&#xff0c;通常可以保证十进…...

c语言double类型printf问题

背景&#xff1a;今天在用c语言写程序时遇到了一个问题&#xff1a;printf("%lf",double(r))&#xff1b;竟然输出乱码&#xff08;0.000000&#xff09;&#xff0c;浏览了几十个网页之后&#xff0c;大致找到了问题原因。 结论&#xff1a;在c语言中&#xff0c;d…...

Double类型出现的nan问题

最近在调查问题的时候&#xff0c;发现了一个double类型在打印时出现nan。在解决完后随手记下笔记。 1、什么是nan nan的意思是“Not a Number”&#xff0c;不是一个数值&#xff0c;或者无法表示的数值。 2、为什么会出现nan 主要有一下几点&#xff1a; a. 对负数开方 …...

java double 出现e_JAVA中double类型运算结果异常的解决

问题&#xff1a;对两个double类型的值进行运算&#xff0c;有时会出现结果值异常的问题。比如&#xff1a;1 System.out.println(19.9920);2 System.out.println(1.0-0.66);3 System.out.println(0.033*100);4 System.out.println(12.3/100);输出&#xff1a;39.9899999999999…...

java double相加_解决java中两个double类型的值相加

代码&#xff1a;/*** 提供精确的加法运算* param v1 被加数* param v2 加数* return 两个参数的和*/public static double add(double v1, double v2){BigDecimal b1 new BigDecimal(Double.toString(v1));BigDecimal b2 new BigDecimal(Double.toString(v2));return b1.add…...

Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

BigDecimal在用double做入参的时候&#xff0c;二进制无法精确地表示十进制小数&#xff0c;编译器读到字符串"0.0000002"和“1.0000002”之后&#xff0c;必须把它转成8个字节的double值&#xff0c;也就是1.0000001999999998947288304407265968620777130126953125类…...

java double 转string_double转string java中double类型如何转换为String类型

double转string java中double类型如何转换为String类型在我们做的项目中&#xff0c;有一个字符串的生成&#xff0c;我们需要double去拼接&#xff0c;结果发现了&#xff0c;拼接后的字符串&#xff0c;那个double值用科学计数法表示了&#xff0c;有用int试了一下&#xff0…...

float和double类型介绍

写在前面&#xff1a;在实习公司写了一个传感器的驱动程序&#xff0c;传感器数据有时会出现异常值&#xff0c;有时正常。把计算过程的临时变量由整形定义为double类型后异常值不再出现。后来定位到出错原因&#xff0c;是因为整形&#xff08;32位&#xff09;临时变量溢出&a…...

C语言double数据加减,double类型数据的加减乘除

import java.math.BigDecimal;/*** 由于Java的简单类型不能够精确的对浮点数进行运算&#xff0c;这个工具类提供精 确的浮点数运算&#xff0c;包括加减乘除和四舍五入。*/public class DoubleUtils{private static final int DEF_DIV_SCALE 2;/*** Description 两个Double数…...

mysql double 转string类型转换_double类型转化成string

public static void main(String[] args) {double priceWithFreight 1200.5698d;System.out.println(priceWithFreight);//double转string 超过1000小数点会变成逗号的bug, 不要用这个方法NumberFormat nf NumberFormat.getInstance();nf.setRoundingMode(RoundingMode.HALF_…...

c语言使用double时 %,c语言double类型的输入

c语言double类型数据四舍五入借助math库的round函数 #include double ext_round(double data, int precision) { , precision); ...c语言中double类型数据的输入和输出double a;scanf("%f",&a); //应用scanf("%lf",&a);执行上面语句时,发现doubl…...

机试_3_数据结构(一)

本章学习基本的线性数据结构&#xff0c;包括向量、队列和栈。这些基础的数据结构是后续很多高级内容的基础。 一、向量 数组作为一种基本的数据类型&#xff0c;它是有限个类型相同的变量的线性集合&#xff0c;组成数组的各个变量称为数组的元素。每个元素对应一个下标&…...

axios使用fordata上传文件

文章目录一、FormData的作用&#xff1f;二、使用步骤1.获取file文件数据2.读入数据FormData对象的相关常用方法一、FormData的作用&#xff1f; FormData提供一种表示表单数据的键值对的构造方式&#xff0c;实现表单数据的序列化&#xff0c;从而减少表单元素的拼接&#xff…...

Java基础集合上篇

本篇博文目录:一.集合框架二.List1. ArrayList &#xff08;数组&#xff09;2.Vector &#xff08; 数组实现、线程同步&#xff09;3.LinkList&#xff08;链表&#xff09;三.Set1.HashSet&#xff08;Hash 表&#xff09;2.LinkedHashSet&#xff08; HashSetLinkedHashMap…...

共聚焦显微镜能做什么

共聚焦显微镜主要采用3D捕获的成像技术&#xff0c;它通过数码相机针孔的高强度激光来实现数字成像&#xff0c;具有很强的纵向深度的分辨能力。 共聚焦显微镜成像原理 共焦显微镜装置是在被测对象焦平面的共轭面上放置两个小孔&#xff0c;其中一个放在光源前面&#xff0c;…...

分享五款小伙伴们私信推荐最多的功能软件

最近陆陆续续收到好多小伙伴的私信&#xff0c;这边也是抓紧时间整理出几个好用的软件&#xff0c;希望可以帮到大家。 1.浏览器下载插件——FVD Downloader FVD Downloader是一款非常知名的浏览器插件&#xff0c;能够帮助你在任何网页上下载视频、音频文件。众所周知&#…...

快速测温医疗级电子体温计方案开发

电子体温计开发方案由单片机SIC8833型号&#xff0c;通过单片机程序开发而成&#xff1b;它与以往的水银体温计不同&#xff0c;是通过电子元器件来代替水银&#xff0c;测量后体温度数还可以一数字显示到小显示屏上。一、电子体温计方案规格简介&#xff1a;温度部&#xff1a…...

TimeSeries时间序列函数-移动平均法

简单移动平均法clc, cleary [533.8 574.6 606.9 649.8 705.1 772.0 816.4 892.7 963.9 1015.1 1102.7];m length(y);n [4,5]; % n位移动平均的项数&#xff0c;选取4和5分别做一次运算for i 1:length(n)for j 1:m-n(i)1yhat{i}(j) sum(y(j:jn(i)-1))/n(i);endy_predict(i…...

MMDetection3D:数据加载简析

目录数据加载流程create datadatasetpipelinedataloader参考资料数据加载流程create data从数据集的原始数据文件中读取数据&#xff0c;并且按指定的格式组织成 pickle 文件保存&#xff0c;在 data_converter 里有具体的各个数据集的转换方式。如果想用于训练\测试的数据内容…...

QT实现自定义控件之控件代理--comboboxDelegate

QT实现了MVC&#xff0c;那么QT在操作控件的时候也就三板斧了&#xff0c;显示自然是View&#xff0c;Model提供数据&#xff08;访问数据都靠其中的索引QModelIndex&#xff09;,控制自然就是代理了&#xff0c;而且关键是代理&#xff0c;因为代理的作用是在数据模型和显示vi…...

代码随想录day23

669. 修剪二叉搜索树 https://leetcode.cn/problems/trim-a-binary-search-tree/ 首先分情况&#xff1a;root是null直接返回&#xff1b;root值小于low&#xff0c;root直接变为right&#xff1b;root值大于high&#xff0c;root直接变为left&#xff1b;当前遍历到的结点的左…...

【测试方法】Android 7 及以上系统信任用户自定义证书

一、背景 测试工作经常会启用代理服务来协助测试&#xff08;用于抓包、mock 数据、埋点自动化测试等&#xff09;&#xff0c;而 Android 7 及以上系统版本不再信任用户自己导入的 CA 证书&#xff0c;导致无法在 Android 7 及以上系统的设备上处理 https 协议的请求。 二、操…...

(深度学习快速入门)第四章第六节:重要和常见的卷积神经网络结构

文章目录一&#xff1a;经典网络结构&#xff08;1&#xff09; LeNet-5&#xff08;CNN开山始祖&#xff09;&#xff08;2&#xff09;AlexNetA&#xff1a;简介B&#xff1a;网络结构&#xff08;3&#xff09;VGGNetA&#xff1a;简介B&#xff1a;网路结构二&#xff1a;复…...

数据值中查找数学公式:TuringBot Crack

TuringBot 是一款桌面软件&#xff0c;它使用符号回归从数据值中查找数学公式。 终极回归工具 假设您想从一组输入变量中预测一个数值。到 2023 年&#xff0c;大多数人会采用以下两种方式之一&#xff1a; 对数据拟合直线或多项式。使用一些极其复杂的黑盒方法&#xff08;神经…...

RESA车道线路沿检测

一、当前车道线检测遇到的问题 1、车道标注中固有的稀疏监督信号&#xff0c;使其一直很有挑战性 2、传统卷积不能很有效的提取细长的车道线和路沿(方格内有效特征很少)&#xff0c;没有利用形状先验 3、SCNN提出在行列间传递信息&#xff0c;但是顺序信息传递是耗时的&…...

Java 最接近原点的 K 个点

最接近原点的 K 个点中等给定一个数组 points &#xff0c;其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点&#xff0c;并且是一个整数 k &#xff0c;返回离原点 (0,0) 最近的 k 个点。这里&#xff0c;平面上两点之间的距离是 欧几里德距离&#xff08; √(x1 - x2)2 (y…...

2023年情人节即将到来,跨境卖家们准备好了吗?

再过不久&#xff0c;就是一年一度的2月14日情人节。这不仅是一个浪漫的节日&#xff0c;同时也是一个促销的大好时机。情人节是美国的第四大消费节日&#xff0c;Nox聚星数据显示&#xff0c;2022年美国情人节消费高达239亿美元&#xff0c;同比增长9.6%。 目前情人节相关的热…...

游戏服务器丢包该怎么办

如果游戏玩家用户在多人游戏中遇到延迟和卡顿&#xff0c;尽管所使用的独立服务器提供高速连接&#xff0c;也可能遇到数据包丢失的问题。下面本文将深入探讨什么是丢包&#xff0c;什么不是丢包&#xff0c;并探索一些简单的解决方案。文章后续还将解释有时无法解决丢包问题的…...

【Hadoop】面试

文章目录1.MR流程2. Namenode、Datanode、SecondaryNamenode作用3. Hdfs的介绍与应用场景4. SecondaryNamenode如何恢复数据&#xff08;检查点机制)5. 小文件问题6. Hadoop和Spark的区别1.MR流程 数据输入——Mapper——Shuffle——Reducer——数据输出 数据输入——>Map…...

java不理解this?5分钟彻底弄懂this关键字

注&#xff1a;也可以观看视频&#xff1a;https://www.bilibili.com/video/BV1XM4y1X79jthis &#xff0c;翻译为&#xff1a;这、这个&#xff0c;在java中应该翻译为 “本对象” 或 “对象本身” &#xff0c;指向的是对象自己类似于日常的称呼&#xff0c;比如&#xff0c;…...

C/C++之动态内存申请

前言 在开发中&#xff0c;如果需要在运行时才能确定需要申请的资源类型及内存大小&#xff0c;则需要进行动态内存申请&#xff0c;C提供了mallco/free来进行资源申请,C还提供了new/delete以及new[]/delete[]来申请资源&#xff0c;手动申请资源需要非常谨慎&#xff0c;如果…...

数据结构与算法(1)稀疏数组

当一个数组中大部分元素为 0&#xff0c;或者为同一个值的数组时&#xff0c;可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: ①记录数组一共有几行几列&#xff0c;有多少个不同的值&#xff1b; ②把具有不同值的元素的行列及值记录在一个小规模的数组中&#xff0c;…...

Python入门第二课——Python的变量和简单数据类型

目录前言一、变量变量的命令规则&#xff1a;二、简单的数据类型1.字符串2.整数3.浮点数三、注释总结前言 学习任何计算机语言之前我们都需要了解该语言的变量和简单的数据类型&#xff0c;这部分内容往往很简单&#xff0c;同时也是很多人会忽略的地方&#xff0c;要知道&…...

Redis设计与实现 -- 浅谈Redis持久化

在讲解Redis持久化相关的话题之前&#xff0c;我们需要了解的是Redis为什么这么快&#xff1f;也就是Redis的IO模型 – 多路复用。 我们一句话概括为什么Redis这么快&#xff1a; Redis是单线程的&#xff0c;使用多路复用的IO模型。(当然&#xff0c;这只是很重要的一个方面&…...

SP800_186_OverView

文章目录2. Overview of Elliptic Curves2.1 Non-binary Curves2.1.1 Curves in Short-Weierstrass Form2.1.2 Montgomery Curves2.1.3 Twisted Edwards Curves2.2 Binary Curves3. Recommended Curves for U.S. Federal Government Use3.1 Choice of Underlying Fields3.1.2. …...

全球化安全生产 质量保障体系建设探索

作者&#xff1a;肖刚毅、张俊、李晶磊&#xff08;全球化业务平台团队&#xff09; 全球化电商中的业务、技术及架构和国内技术都有一定差异&#xff0c;从安全生产保障和质量保障角度&#xff0c;这些差异带来了更多的挑战&#xff0c;本文将为大家分享安全生产和质量保障相关…...

手机发射机的功能电路(4)---上变频器、功率放大器

一、发射上变频器 发射上变频器实际上是一个频谱搬移电路,它存在于带发射上变频的发射机电路结构中。在发射上变频器中,发射中频处理电路输出的发射已调中频信号,与RXVCO或UHFVCO、RFVCO)信号进行混频,得到最终发射信号。发射上变频器也是一个混频电路,前面讲混频器时说,混频器…...

记一次 Mockito.mockStatic 泄漏导致的单元测试偶发报错排查过程

相信用 Java 写过单元测试的读者们对 Mockito 不会陌生。至于 Mockito 是什么&#xff0c;为什么要用 Mockito&#xff0c;本文不再赘述。本文记录了一次在 Apache ShardingSphere 项目中&#xff0c;由 Mockito.mockStatic 使用不当导致的单元测试偶发报错排查过程。 文章目录…...

Python学习-----流程控制2.0(循环结构-->while循环、for循环、range()函数)

目录 循环结构 &#xff08;1&#xff09;while循环 &#xff08;2&#xff09;for循环 range()函数 循环的嵌套 ​编辑 上一期我们讲了Python中的选择结构&#xff0c;链接在下面Python学习-----流程控制1.0(选择结构、缩进法则)_守约斯维奇的博客-CSDN博客 这一期&am…...

2022年高职组软件测试赛项赛题及评分标准

任务 考查点 评分标准 评分细则 分值 任务一 环境搭建及系统部署 &#xff08;5分&#xff09; 环境搭建及系统部署包括搭建与配置测试环境&#xff0c;安装与部署应用系统等&#xff0c;对过程和结果进行截图&#xff0c;完成环境搭建及系统部署报告 1.测试环境搭建与…...

不坑盒子:强大的word插件,让工作更高效

不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理&#xff0c;如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件&#xff0c;这是一个非常好用的插件工具&#xff0c;专门应用在Word文档中&#xff0c;支持Office 2010以上的版本&#xff0c;用户可以…...

非标自动化设备ERP系统能够帮助企业解决哪些管理难题?

非标自动化设备产品的多样化和个性化要求企业能够将客户需求、设备结构管理与配置、智能设计、生产协作管理等过程有机地结合在一起&#xff0c;非标自动化设备行业传统的企业管理模式已经不能适应市场需求的个性化变迁。非标自动化设备行业常见的管理难点&#xff1a;信息孤岛…...

20230207英语学习

Startup Plans to Bring the Dodo Back From the Dead 这家公司拟复活已灭绝几百年的渡渡鸟&#xff1f;&#xff01; Billion-dollar startup Colossal Biosciences claims it has come a step closer to reviving the dodo, a flightless bird that has been extinct since …...

学习如何使用GPT2进行文本生成(torch+transformers)

学习如何使用GPT2进行文本生成&#xff08;torchtransformers&#xff09; GPT2是OPen AI发布的一个预训练语言模型&#xff0c;见论文《Language Models are Unsupervised Multitask Learners》&#xff0c;GPT-2利用单向Transformer的优势&#xff0c;做一些BERT使用的双向T…...

基于UEFI的数据传输工具

摘要&#xff1a;由于UEFI框架下没有提供数据传输的模块&#xff0c;使得测试或者调试开发时需要经常对数据文件进行人工拷贝&#xff0c;导致了实现测试自动化或远程调试的不便。采用Socket数据传输方式设计并实现了UEFI下数据传输的工具&#xff0c;通过使用串口线来连接Host…...

Linux 并发与竞争实验

目录 一、原子操作实验 1、利用点灯工程创建模板 ​修改makefile​编辑 2、atomic.c代码添加 ①、定义 atomic_t 的变量 ②初始化变量 atomic_set函数原型 ③判断是否被使用 atomic_read函数原型 atomic_dec函数原型 ④释放原子变量 atomic_inc函数原型 3、atomicAPP.…...

Golang 提取视频中音频,存为WAV格式 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为wav格式&#xff0c;一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装&#xff0c;可以参考我的另一篇文章&#xff1a;windows ffmpeg安装部署_阿良的博…...

145、【动态规划】leetcode ——70. 爬楼梯:暴力法+动态规划(C++版本)

题目描述 原题链接&#xff1a;70. 爬楼梯 解题思路 1、暴力法 递归方式 class Solution { public:int res 0;void traversal(int n) {if(n 0) { // 每遍历出一种情况&#xff0c;就将结果加一res;return ;} else if (n < 0) {return ;}climbStairs(n - 1); // 探…...

【手写 VueRouter 源码】第七篇 - 路由变化触发视图更新

一&#xff0c;前言 上篇&#xff0c;介绍了路由匹配的实现&#xff0c;包括以下几个点&#xff1a; 路由匹配的分析&#xff1b;路由匹配的实现:router.match、matcher.match、createRoute&#xff1b; 本篇&#xff0c;继续介绍路由变化触发视图更新&#xff1b; 二&#…...

机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)

目录1. 朴素贝叶斯原理1.1. 特性1.2. 思路2. 公式推导3. 简单实例3.1. 数据集脱单数据集2.0脱单数据集1.0西瓜数据集3.2. python实现3.3. sklearn实现3.4. 实验结果4. 几个注意点(面试问题)5. 运行&#xff08;可直接食用&#xff09;1. 朴素贝叶斯原理 1.1. 特性 朴素贝叶斯…...

什么样的光源不伤眼睛?精选优秀的全光谱护眼台灯

日光对眼睛最好&#xff0c;所有人造灯都不如日光对眼睛友好&#xff0c;日光指的是全光谱照射&#xff0c;而现在许多护眼灯做到全光谱照射&#xff0c;所以护眼灯成为很多家庭的必备产品之一&#xff0c;晚上学习、工作&#xff0c;有了护眼灯的陪伴&#xff0c;既明亮又不伤…...

复杂因子秒级计算,文谛资产是这样做到的...

上海文谛资产管理有限公司&#xff08;以下简称“文谛资产”&#xff09;秉持理性、务实、高效、专业的投资精神&#xff0c;凭借科学的量化投资战略、先进的量化交易技术和成熟的风险管理能力深耕量化领域&#xff0c;以创造长期稳定收益为投资目标&#xff0c;为国内外投资者…...

投稿计算机SCI期刊,什么是同行评议? - 易智编译EaseEditing

首先&#xff0c;初审论文的可能不是审稿人&#xff0c;有些稿源丰富的相对高端期刊&#xff0c;还会由作为大同行的编辑对稿件的内容本身&#xff0c;尤其是创新性等方面对稿件进行评估。 这个编辑内部初审&#xff0c;对于牛期刊而言也会拒掉许多投稿&#xff0c;这一过程通…...

如何添加 WhatsApp按钮打开Facebook页?SaleSmartly(ss客服)为您解答

关键词&#xff1a;SaleSmartly&#xff08;ss客服&#xff09;&#xff1b;Facebook WhatsApp 按钮想要了解如何添加 WhatsApp 按钮到您的 Facebook 页&#xff1f;您来对地方了。在本文中&#xff0c;我们将概述合并 WhatsApp 按钮 Facebook 页面&#xff0c;并提供有关如何执…...

【CodeFroces】【DP】Maximum White Subtree

CodeForces 1324F Maximum White Subtree 题目传送门 题目大意 给定一棵树&#xff0c;每个节点为白色或黑色&#xff0c;现对每个节点 uuu&#xff0c;选出任意大小的包含该节点的连通图&#xff0c;使得图上白色点数目与黑色的数目的差距最大。 分析 不妨记白点权值为1&…...

RTC直播与RTMP直播

RTC直播与RTMP直播 RTMP传统直播成本低廉&#xff0c;已大规模部署稳定运行&#xff0c;延时较高直播场景。 RTC直播主要用于对延迟要求高实时互动直播场景。 传统直播与RTC直播对比 以下整理了一下传统直播与RTC直播的不同之处&#xff1a; MR直播 MR直播实例(混合现实直播…...

Elasticsearch7.8.0版本入门——集群部署(linux环境-centos7)

目录一、三台服务器信息二、Elasticsearch7.8.0单机部署三、Elasticsearch7.8.0集群部署3.1、分别再三台服务器中都安装Elasticsearch7.8.03.2、修改192.168.136.23服务器中elasticsearch配置文件3.2、修改192.168.136.24服务器中elasticsearch配置文件3.3、修改192.168.136.25…...

STM32开发(五)STM32F103 通信 —— CAN通信编程详解

文章目录一、基础知识点二、开发环境1、硬件开发准备2、软件开发准备三、STM32CubeMX相关配置1、STM32CubeMX基本配置2、STM32CubeMX CAN相关配置四、Vscode代码讲解五、结果演示CAN 内部回环测试CAN 正常模式测试使用ADALM2000分析工具解析CAN时序一、基础知识点 了解CAN通讯…...

VOC/YOLO/COCO数据集格式转换及LabelImg/Labelme/精灵标注助手Colabeler标注工具介绍

数据集格式&#xff1a;VOC(xml)、YOLO(txt)、COCO(json) 本文主要对Label格式&#xff0c;以及LabelImg、Labelme、精灵标注助手Colabeler这常用的三种数据标注软件进行介绍。 1 Label格式 LabelImg是目标检测数据标注工具&#xff0c;可以标注标注两种格式&#xff1a; VOC…...

linux下原子操作指令

目录 原子操作CAS 原子操作 Demo CAS C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 原子操作CAS 原子操作 所谓原子操作是指不会被线程调度机制打断的操作&#xff0c;当某次操作一旦开始&#xff0c;就一直运行到结束&#xff0c;中间不会有任何中…...

Kafka入门(二)

1、Kafka集群工作进程 下面了解一下Kafka的工作流程&#xff0c;Kafka集群会将消息存储在Topic中&#xff0c;每条记录会由一个Key、一个Value和一个Timestamp组成。 Kafka中的消息是以Topic进行分类的&#xff0c;生产者生产消息&#xff0c;消费者消费消息&#xff0c;读取和…...

古月居ros2机器人系列修改图片后如何编译问题

A(我)&#xff1a;你好删掉这两个文件后它出现了learning——node未找到这种错误&#xff1b;不仅如此&#xff0c;我建立了另一个同样的文件&#xff0c;而这次我是先修改了路径再编译的&#xff0c;尽管这次新生成的build是修改后的&#xff0c;并且也并未出现多余的&#xf…...

PTA Advanced 1164 Good in C C++

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 易错测试点 易错点&C知识UP 代码 题目 When your interviewer asks you to write "Hello World" using C, can you do as the following figure shows? ​ Input …...

数学建模练习——非线性规划

...

十、数据库操作

数据库操作 一旦创建 数据模型后&#xff0c;Django 自动给予你一套数据库抽象 API&#xff0c;允许你创建(create)&#xff0c;检索(retrieve)&#xff0c;更新(update)和删除(delete)对象。 为了方便调试我们通过下面的命令进入交互式python命令行&#xff1a; python man…...

Linux -终端中的编辑器vi(2)

4.常用命令4.8缩排和重复执行命令功能>>向右增加缩进<<向左减少缩进.重复上次命令缩排命令 在开发程序时&#xff0c;统一增加代码的缩进比较有用&#xff01;一次性在选中代码前增加4个空格&#xff0c;就叫做增加缩进一次性在选中代码前删除4个空格&#xff0c;就…...

鼎盛合方案——轮胎充气泵方案

轮胎的质量好坏直接影响到备胎上位的时间长短&#xff0c;而在轮胎的使用中如果充气不恰当则是又给了备胎一个摩拳擦掌准备登场的机会。诶、怎么今天老是说备胎备胎的&#xff0c;对象和她的蓝颜知己这几天确实走的近了一些。发展方向有点不对……她们昨天还一起吃饭也没叫我&a…...

Python常见异常类型

开发人员在编写程序时&#xff0c;难免会遇到错误&#xff0c;有的是编写人员疏忽造成的语法错误&#xff0c;有的是程序内部隐含逻辑问题造成的数据错误&#xff0c;还有的是程序运行时与系统的规则冲突造成的系统错误&#xff0c;等等。总的来说&#xff0c;编写程序时遇到的…...

测试工作杂记

1、安卓 测试过程中系统突然卡住不能动了、系统直接&#xff08;Crash&#xff09;崩溃掉了、应用程序无响应&#xff08;ANR&#xff09;&#xff0c;即出现闪退或者异常的情况下 adb logcat -c && adb logcat > d:\logcat.txt 抓包工具android studio (接口、参…...

数据库笔记(三)

havingwhere后面只能写普通字段条件,不能写聚合函数条件having关键字专门用来写聚合函数条件的,并且需要和group by结合使用,写在分组的后面查询每个部门的平均工资,要求平均工资大于2000;select dept_id, avg(sal) a from emp group by dept_id having a>2000;查询每种工作…...

AD硬件电路学习笔记(四)四层板实战(上)之常见模块要求

系列文章目录 AD硬件电路学习笔记&#xff08;一&#xff09;常见的管脚名字以及FPGA、Lora AD硬件电路学习笔记&#xff08;二&#xff09; GND的种类及PCB布线实战 AD硬件电路学习笔记&#xff08;三&#xff09;mos管开关电路学习总结 文章目录系列文章目录常见要点防静电…...