GuguMelon's Blog

今天所做之事勿候明天,自己所做之事勿候他人。

0%

今天玉米问到延河课堂上的视频能不能倍速,想到当时防疫大课堂时的操作,便想直接复现,但是却失败了

于是开始检查网页的代码有什么猫腻

image.png

一开始看到注释中写着Flash添加处,还以为是flash播放器,便去寻找flash倍速的方法,感觉还是很麻烦

接着看代码,发现了好几个video标签,便猜测是不能准确捕获video标签的原因,找到视频对应的真实标签,然后通过ID获取此标签,再调整倍速即可

image.png

如上图,发现所有的视频都是存在ID为”Video2_html5_api”的Video中,使用如下代码即可

1
2
var video= document.getElementById('Video2_html5_api');
video.playbackRate=16

注:播放速率可为0.025~16

第一次更新BigSur,在命令行运行gcc出现了xcrun: error: invalid active developer path, missing xcrun的报错。

经搜索,需要重新安装命令行工具Command Line Tools,是因为更新系统时原来的 Command Line Tools 被自动卸载了,所以重新安装即可。

在终端中执行如下指令即可

1
xcode-select --install

Command Line Tools包含的工具很多,如下所示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
ar
as
asa
bison
BuildStrings
c++
c89
c99
cc
clang
clang++
cmpdylib
codesign_allocate
CpMac
cpp
ctags
ctf_insert
DeRez
dsymutil
dwarfdump
dyldinfo
flex
flex++
g++
gatherheaderdoc
gcc
gcov
GetFileInfo
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
gm4
gnumake
gperf
hdxml2manxml
headerdoc2html
indent
install_name_tool
ld
lex
libtool
lipo
lldb
lorder
m4
make
MergePef
mig
mkdep
MvMac
nasm
ndisasm
nm
nmedit
otool
pagestuff
projectInfo
ranlib
rebase
redo_prebinding
ResMerger
resolveLinks
Rez
RezDet
RezWack
rpcgen
segedit
SetFile
size
SplitForks
strings
strip
svn
svnadmin
svndumpfilter
svnlook
svnrdump
svnserve
svnsync
svnversion
unifdef
unifdefall
UnRezWack
unwinddump
what
xml2man
yacc

均值不等式

均值不等式证明

整数拆分问题

即将一个数$ $拆分为$k$个数,使得$k$个数乘积最大。

由均值不等式易得$k$个数相等时 乘积是最大的,那么这$k$个数应该等于多少呢?

即求$f(x)=x^{\left(\frac{n}{x}\right)}$的最大值

$f(x)=x^{\left(\frac{n}{x}\right)}=e^{\frac{n}{x} \ln x}$

易得$h(x)=\frac{1}{x} \ln x$ 与$f(x)$有相同的单调性

$h^{\prime}(x)=\frac{1-\ln x}{x^{2}}$

可知,x=e时,$f(x)$取得最大值,由于2不是整数,所以可以是2或3.

则将$n$拆分为尽量多的3以及少量2即可。

总结可得

image.png

线性代数性质

$$
\operatorname{tr}(A B)=\operatorname{tr}(B A)
$$

证明:
$$
\operatorname{tr}(A B)=\sum_{i=1}^{m}(A B){i i}=\sum{i=1}^{m} \sum_{j=1}^{n} a_{i j} b_{j i}=\sum_{i=1}^{m} \sum_{j=1}^{n} b_{j i} a_{i j}=\sum_{i=1}^{n}(B A)_{i i}=\operatorname{tr}(B A)
$$

电脑使用定理

  • 不要花时间折腾一些对于使用没什么大影响的东西,要看重内容

  • 不影响使用的bug,如今天遇到的“体系结构 arm64 不受支持”这一C/C++扩展的bug,而且网上也找不到解决方案,不必折腾,让子弹飞一会儿

  • 面对问题,要克制自己的冲动,选择bug最少的解决方案

操作系统课程设计实验二 进程控制

一些基本的东西

C语言获取系统时间的函数
1
2
3
4
5
6
7
8
9
10
11
12
#include<sys/time.h>
int gettimeofday(struct timeval*tv,struct timezone *tz )
//其中,时间会返回到结构体tv中,tv的结构如下
struct timeval{
long tv_sec;/*秒*/
long tv_usec;/*微妙*/
};
//同时,timezone为当前时区的信息,一般第二个参数置为NULL,结构体如下。
struct timezone{
int tz_minuteswest;//和greenwich时间差的分钟数
int tz_dsttime;//夏令时校正
}
Linux系统编程wait()函数

wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接收到了一个指定的信号为止。如果该父进程没有子进程或者它的子进程已经结束,则wait()函数就会立即返回。

Windows进程相关结构体 STARTUPINFO

用于指定新进程的主窗口特性的一个结构。