建立连接意味着客户端和服务器已经就某种数据传输格式达成一致,例如 tcp? 这个问题是平庸的,但理解本质很有趣。
Venot's questions
test-and-set 是一条处理器指令,而互斥锁本身是一个正则变量,而 lock 函数在后台使用了这条指令,我理解正确吗?Linux内核中的互斥锁实现?很多人都写过这是关键内存区域的同步原语,但我想了解这是内核或其他地方的常见实现。
我创建了一个镜像,启动了容器,为什么所有的变化都只在顶层?所有的层都会改变,它是什么,容器完成了它的工作并被破坏了,这是必要的,它从图像中启动了另一个。如果从底层删除文件,大小不会改变,文件将被隐藏,所有更改都将复制到顶层,为什么?为什么?
我是否正确理解注解就像一个标记类,元信息,并且通过用我的注解标记一个类,我无法在没有反射的情况下获得这些值。@Retention:注解在哪个代码生命周期中可用(在源代码中、在类文件中或在运行时)
也就是有一些注解是在编译时处理的,比如override。但是如何理解类文件或在运行时,在一种情况下,元信息被添加到类内存中?它在运行时是如何出现的?您可以推荐关于摘要(反思)主题的好文章。
#include <stdlib.h>
int main(int argc, char const *argv[]) {
system("/bin/sh");
return 0;
}
如果你只是运行程序,bash 会打开,如果你创建一个文件 echo "ls" > test 并运行程序
cat test | ./a.out
然后 ls 将起作用并且程序将关闭,为什么会发生这种情况,并且在 bash 中不需要进一步的命令?
如果它像这样工作:
cat test - | ./a.out
你能帮我弄清楚管道逻辑吗?
我看到了如何使用 gdb 设置断点,更改寄存器的值,继续执行,结果发生了变化。也就是说,您可以更改任何程序吗?有哪些好的反汇编程序?
我不懂工作Set<Map.Entry<K, V>> entrySet()
。Map.Entry<K, V>
如果它是一个接口,我们如何创建?我们不能创建接口。您能否更详细地解释并说明这是否适用于其他地方?
如果你输入git init,那么.git会被添加到文件夹中,并且repository会有一个工作目录,如果git init --bare是一样的,但是内容不在.git文件夹中,而是在一个已执行且此存储库没有工作目录,在此存储库中,您可以执行推送、拉取命令。问题是,git 有没有指定工作目录的变量?如果有,那么您可以覆盖它,它会监视另一个目录?还有一个问题,如果 git 文件(blob、tree)被扔到远程裸存储库并且没有文件的工作目录,那么当从 git 对象创建克隆文件时?
我有两个几乎相同的脚本test.sh
,并且updated_pack.sh
在 Linux 上。两者都包含字符串:sudo apt-get upgrade -y >> /var/log/update_script.log
.
该脚本test.sh
重 54 个字节(根据ls -l
)并正常运行。反过来,该脚本update_script.sh
重 55 个字节并且没有启动,从而给出错误:
Permission deniedin 1: /var/log/updated_script.log
两个文件具有相同的权限,包括运行权限。
执行后hexdump
发现两个文件几乎一样,除了最后两个字节。最后那几个角色是什么?
截屏:
处理器,其实一直在执行一些操作,所以从一个进程切换到另一个,但是15%、20%的处理器负载怎么理解。
有点奇怪的问题,我知道你可以覆盖这个数字,但是为什么要运行 6 tty 或更多,一个终端还不够工作吗?
地址转换通过 MMU 进行。原来descriptor number和offset都写入selector,然后在GDT(LDT)表里面就有必要的entry,比如with rights,等等,然后就是内存到物理的page映射。并且,假设我发现了另一个进程的所在位置,并且通过选择器我将发出一个请求,以便它给出那块内存。也许这个或者我不明白这个逻辑中的一些东西,将虚拟地址映射到物理地址和访问权限?
NAME = test
CC = gcc
CFLAGS = -Wall -Wextra -Werror
INC = -I ./include
FILES = test.c main.c
LIBFT = ../ft_printf/libftprintf.a
OBJ = $(addprefix build/, $(FILES:.c=.o))
SRC = $(addprefix src/, $(FILES))
all: $(NAME)
$(NAME): $(OBJ)
@$(CC) -o $(NAME) $(LIBFT) $(OBJ)
build/%.o: src/%.c | build
@$(CC) -c $(CFLAGS) $(INC) $< -o $@
build:
@mkdir build
如果您运行 Make 命令,构建的顺序是什么?我以为 all: $(NAME) 和之后 $(NAME): $(OBJ) 会被执行,但是如何知道 build/%.o: src/%.c | 构建@$(CC) -c $(CFLAGS) $(INC) $< -o $@ build: @mkdir build?
postgreSQL 中的模式是什么?它应该在创建数据库后立即创建吗?这是表格、内容、权限等的逻辑排列。然后可以有很多模式,它们可以共享公用表?
在python中,这是代码,
quares = []
for x in range(5):
squares.append(lambda: x**2)
所以它总是会返回 16
squares[2]()
但我想这样做是有好处的,这怎么可能?
我有一个参数 ($class: 'CascadeChoiceParameter' -----> ptr),它在作业启动时被选中,我希望将此参数分配给环境 {callback = ptr} 中的变量,但是作业给出错误,例如使用引号或函数。如何实施?
class A:
def ptr(self):
self.t = 5
class B:
def ptr2(self):
self.y = 99
def sum(self):
print(self.t + self.y)
class C(A,B):
def __init__(self):
self.ptr()
self.ptr2()
ups = C()
ups.sum()
C继承了A和B,也就是C有这些类的属性(ptr,ptr2,sum),我可以随时参考。在我调用这些方法的构造函数中,t和y被添加到了命名空间中,但是当我调用Sum时为什么它起作用时,ups命名空间是t和y,而B没有t。
小部件QTextEdit
,我添加了文本,它会占用所有空间。我有一个表格类型的字符串,我需要在单词之间留下все пробелы
,但它只留下1
。
如何在主窗口中显示结果?我做出了选择,通过按下按钮,我将函数的结果输出到终端,但是如何输出到这个窗口或让一个新窗口,要创建什么小部件?
import sys
from PyQt5.QtCore import *
from PyQt5 import *
from PyQt5.QtWidgets import *
class stackedExample(QWidget):
def do_leftbar(self):
self.leftlist.insertItem(0, 'Сравнение справочников') # insertItem(позиция в списке, текст)
self.leftlist.insertItem(1, 'Редактирование справочников')
# self.leftlist.insertItem(2, 'Будущий функционал')
def __init__(self):
super().__init__()
self.leftlist = QListWidget()
self.do_leftbar()
self.stack1 = QWidget()
self.stack2 = QWidget()
self.stack1UI()
self.stack2UI()
self.Stack = QStackedWidget(self)
self.Stack.addWidget(self.stack1) # возвращает индекс виджета addWidget
self.Stack.addWidget(self.stack2)
hbox = QHBoxLayout(self) # расположение макета
hbox.addWidget(self.leftlist)
hbox.addWidget(self.Stack)
self.setLayout(hbox)
self.leftlist.currentRowChanged.connect(self.display)
self.button.clicked.connect(self.gooo)
self.setGeometry(100, 100, 500, 500)
self.setWindowTitle('StackedWidget demo')
self.show()
def gooo(self):
if(self.L1.isChecked()):
print("L1 tyt my_function")
elif (self.L2.isChecked()):
print("L2")
elif (self.L3.isChecked()):
print("L3")
else:
print("select")
def stack1UI(self):
layout = QFormLayout()
face = QHBoxLayout()
self.button = QPushButton("GO")
self.L1 = QRadioButton("L1")
self.L2 = QRadioButton("L2")
self.L3 = QRadioButton("L3")
face.addWidget(self.L1)
face.addWidget(self.L2)
face.addWidget(self.L3)
layout.addRow(QLabel("select"), face)
layout.addWidget(self.button)
self.stack1.setLayout(layout)
def stack2UI(self):
layout = QFormLayout()
self.stack2.setLayout(layout)
def display(self,i):
print(i)
self.Stack.setCurrentIndex(i)
class great(QMainWindow, QWidget):
def __init__(self):
super().__init__()
a = stackedExample()
self.setGeometry(100, 100, 1000, 900)
self.setCentralWidget(a)
self.show()
def main():
app = QApplication(sys.argv)
ex = stackedExample()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
我开始熟悉PyQt5QMainWindow
并遇到了一个误解,小部件和小部件有什么区别QWidget
?
还有这样一个问题,我有一个显示的类QWidget
,但是是否可以创建一个类QMainWindow
并在那里放置各种创建的小部件?