有一个2个集装箱的项目。一方面有数据库mysql
,另一方面部署应用程序。如何才能在构建应用程序映像Dockerfile
或docker-compose.yml
启动容器时,等待数据库完全启动,然后才完全启动服务?
DGDays's questions
注意到这个奇怪的事情:
>>> a = [3]
>>> a += (1,2)
>>> print(a)
[3, 1, 2]
>>> (1,2) + [3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "list") to tuple
>>> [3] + (1,2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "tuple") to list
有人可以解释为什么他们的加法如此奇怪吗?-_-
有一个程序keyboard.wait()
阻塞了主线程。按 Ctrl + Q 时我需要退出主线程。如何实施?
import keyboard
import sys
def quit_prog():
sys.exit()
keyboard.add_hotkey('Ctrl + Q', quit_prog)
keyboard.wait()
这是代码本身。我试图通过按 Ctrl + Q 完全退出程序,但这并没有给出任何结果,因为。keyboard.wait()
完全阻塞了主线程
如本视频所示设置 OpenVPN 。我也在服务器push "redirect-gateway def1 bypass-dhcp"
上注册了将客户端的ip地址更改为服务器,但是什么都没有出来...
更具体地说,我刚刚在我的客户端上丢失了 Internet,仅此而已。如何解决这个问题?
服务器:
dev-node "ServerVPN"
mode server
port 12345
proto tcp4-server
dev tun
tls-server
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ServerVPN.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ServerVPN.key"
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh2048.pem"
server 10.10.10.0 255.255.255.0
client-to-client
keepalive 10 120
cipher AES-128-CBC
comp-lzo
persist-key
persist-tun
client-config-dir "C:\\Program Files\\OpenVPN\\config"
verb 3
route-delay 5
route-method exe
push "route 192.168.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
route 192.168.182.0 255.255.255.0
客户:
remote 192.168.1.1 ip для примера
client
port 12345
proto tcp4-client
dev tun
tls-client
tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1
remote-cert-tls server
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\ClientVPN.crt"
key "C:\\Program Files\\OpenVPN\\config\\ClientVPN.key"
cipher AES-128-CBC
comp-lzo
persist-key
persist-tun
verb 3
mute 20
更新
路线打印:
连接后:
===========================================================================
Список интерфейсов
15...00 ff cb c6 07 3a ......TAP-Windows Adapter V9
14...d8 f2 ca c4 2e 9a ......Microsoft Wi-Fi Direct Virtual Adapter
2...da f2 ca c4 2e 99 ......Microsoft Wi-Fi Direct Virtual Adapter #2
10...d8 f2 ca c4 2e 99 ......Intel(R) Wireless-AC 9560 160MHz
18...d8 f2 ca c4 2e 9d ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.122 35
0.0.0.0 128.0.0.0 10.10.10.5 10.10.10.6 281
10.10.10.0 255.255.255.0 10.10.10.5 10.10.10.6 281
10.10.10.4 255.255.255.252 On-link 10.10.10.6 281
10.10.10.6 255.255.255.255 On-link 10.10.10.6 281
10.10.10.7 255.255.255.255 On-link 10.10.10.6 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
128.0.0.0 128.0.0.0 10.10.10.5 10.10.10.6 281
178.44.196.105 255.255.255.255 192.168.1.1 192.168.1.122 291
192.168.0.0 255.255.255.0 10.10.10.5 10.10.10.6 281
192.168.1.0 255.255.255.0 On-link 192.168.1.122 291
192.168.1.122 255.255.255.255 On-link 192.168.1.122 291
192.168.1.255 255.255.255.255 On-link 192.168.1.122 291
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 10.10.10.6 281
224.0.0.0 240.0.0.0 On-link 192.168.1.122 291
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 10.10.10.6 281
255.255.255.255 255.255.255.255 On-link 192.168.1.122 291
===========================================================================
Постоянные маршруты:
Отсутствует
IPv6 таблица маршрута
===========================================================================
Активные маршруты:
Метрика Сетевой адрес Шлюз
1 331 ::1/128 On-link
15 281 fe80::/64 On-link
10 291 fe80::/64 On-link
15 281 fe80::5105:7c9d:a5c0:c8dc/128
On-link
10 291 fe80::e1e3:a6c6:ab15:60c8/128
On-link
1 331 ff00::/8 On-link
15 281 ff00::/8 On-link
10 291 ff00::/8 On-link
===========================================================================
Постоянные маршруты:
Отсутствует
连接前:
===========================================================================
Список интерфейсов
15...00 ff cb c6 07 3a ......TAP-Windows Adapter V9
14...d8 f2 ca c4 2e 9a ......Microsoft Wi-Fi Direct Virtual Adapter
2...da f2 ca c4 2e 99 ......Microsoft Wi-Fi Direct Virtual Adapter #2
10...d8 f2 ca c4 2e 99 ......Intel(R) Wireless-AC 9560 160MHz
18...d8 f2 ca c4 2e 9d ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.122 35
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.1.0 255.255.255.0 On-link 192.168.1.122 291
192.168.1.122 255.255.255.255 On-link 192.168.1.122 291
192.168.1.255 255.255.255.255 On-link 192.168.1.122 291
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.1.122 291
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.1.122 291
===========================================================================
Постоянные маршруты:
Отсутствует
IPv6 таблица маршрута
===========================================================================
Активные маршруты:
Метрика Сетевой адрес Шлюз
1 331 ::1/128 On-link
10 291 fe80::/64 On-link
10 291 fe80::e1e3:a6c6:ab15:60c8/128
On-link
1 331 ff00::/8 On-link
10 291 ff00::/8 On-link
===========================================================================
Постоянные маршруты:
Отсутствует
它把 Windows 7 作为一个虚拟机。起初一切都很好,网络接口安静地耕作,路由器在本地看到机器。重新启动 PC 后,网络接口停止工作。我试图删除并创建新的,但都无济于事。如果我通过 NAT 连接,则一切正常,但路由器看不到机器...
怎么修?
- 主要操作系统:Kali Linux
- 虚拟机:Oracle VM VirtualBox
有一个服务器(我的工作 PC)与MySQL
. 我无法从外部连接到它ip
。他们建议我需要做端口转发,但是怎么做呢?
路由器:Keenetic Viva
操作系统:Windows 10
MySQL版本:8.0.11
我正在尝试将 Python 与 Electron 结合起来。但是这个错误不断弹出:
npm ERR! code 1
npm ERR! path /home/dgdays/electron-python
npm ERR! command failed
npm ERR! command sh -c electron .
npm ERR! A complete log of this run can be found in:
npm ERR! /home/dgdays/.npm/_logs/2020-12-29T17_09_35_105Z-debug.log
同时,如果我拿一个朋友写的程序去做npm start
,那么一切都会平静下来。
请告诉我,这该怎么办?
PS 这是我正在做的教程的链接。
以下是日志中的完整错误代码:
0 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
1 info using npm@7.3.0
2 info using node@v12.19.0
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/usr/share/nodejs/npm/npmrc Completed in 2ms
5 timing config:load:builtin Completed in 2ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/home/dgdays/electron-python/.npmrc Completed in 1ms
9 timing config:load:project Completed in 2ms
10 timing config:load:file:/home/dgdays/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 8ms
19 verbose npm-session f3d337b65f0eb897
20 timing npm:load Completed in 16ms
21 timing command:run-script Completed in 116ms
22 timing command:start Completed in 118ms
23 verbose stack Error: command failed
23 verbose stack at ChildProcess.<anonymous> (/usr/share/nodejs/@npmcli/promise-spawn/index.js:64:27)
23 verbose stack at ChildProcess.emit (events.js:314:20)
23 verbose stack at maybeClose (internal/child_process.js:1021:16)
23 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
24 verbose pkgid electron-python@1.0.0
25 verbose cwd /home/dgdays/electron-python
26 verbose Linux 5.9.0-kali5-amd64
27 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
28 verbose node v12.19.0
29 verbose npm v7.3.0
30 error code 1
31 error path /home/dgdays/electron-python
32 error command failed
33 error command sh -c electron .
34 verbose exit 1
不管听起来多么有趣,但我在回答问题时遇到了问题XD
元素的背景图像和文本的颜色需要在 1 秒后发生变化。但即使我改变id
它也不会发生。我究竟做错了什么?-_-
function toogleBackground(){
let element = document.getElementsByClassName("toogleParagraph");
if(element.id == 'gg'){
element.id = 'bg';
}else{
element.id = 'gg';
};
};
setInterval(toogleBackground, 1000);
#gg{
background-image: url(img/1.jpg);
color: chocolate;
width: 100%;
height: 900px;
}
#bg{
background-image: url(img/2.jpg);
color: chartreuse;
width: 100%;
height: 900px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Это моя программа</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div>
<p class='toogleParagraph' id='gg'>Вот туты должна меняться картинка</p>
</div>
<script src='script.js'></script>
</body>
</html>
PS 100% 的错误是尽可能的愚蠢,我只是瞎了XD
你能告诉我如何运行Python
通过解释器Pypy
编写的代码VS Code
吗?
行数n
也来自输入。n-ое
字符串由英文字母表中的字母序列组成。任务是选择这样一个序列,使每一行的开头与另一行的结尾重合(取 3 个字符来检查)。答案应显示在一行上,指明以什么顺序输出初始行序列。
如何实施?
我只是想出了如何接受这些行:
n = int(input())
spis = []
for i in range(0,n):
c = input()
spis.append(c)
但我不能再进一步了。不知道(
用标准方法写Python
这就是我获得兼容列表的方式,而不是:
a = int(input())
spis = []
res = ""
good = {}
bad = {}
for i in range(0,a):
c = input()
spis.append(c)
for i in spis:
for c in range(0,len(spis)):
if (i[:3] == spis[c][-3:]) and (i!=spis[c]):
good.update({spis[c]:i})
else:
bad.update({spis[c]:i})
现在如何从这里显示适当的字符串并形成所需的字符串?
有这个代码:
a = int(input())
spis = [1]
while len(spis) < a:
b = a - len(spis)
prom = spis[:b]
for i in prom:
spis.append(i*2)
if len(spis) >= a:
break
prom = []
print(max(spis[:a]))
它在长度列表中查找最大数量a
,但未通过内存大小测试,如何减少使用的内存量?
Tux,堆栈中的大人物,我正在向你寻求帮助。
有一个包含大量数字的列表。示例:[1,3,2,1,2,3,1,2,3,3,2,1,1,2]
。问题是你需要从这个列表中获得重复n-ое
次数更快的数字。也就是说,n = 3
您需要找到重复速度比其他数字快 3 倍的数字。在给定的数组中,它将是1
. 我不知道该怎么做,请告诉我
在原始 django 文档中,该示例创建了一个投票 Web 应用程序。一开始它说你可以设置时区。默认情况下,它设置为"UTC"
,但我需要它UTC +05
,但是如果我这样指定它,那么它会告诉我时区的格式不正确。
请帮助理解!
有这个页面:
function getCookie(name) {
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
};
var theme = getCookie("theme");
document.getElementById("cookie").innerHTML = theme;
<!DOCTYPE html>
<html>
<body>
<p id="cookie"></p>
<script src="/assets/js/cookies.js"></script>
</body>
</html>
这只是一个学习如何从 html 解析数据的页面。一切都解析得很好,但是有一个但是!应该有value
cookie 从 js 传递到页面,但我没有看到它们。
如何获取已输入 cookie 的页面?
requests
我以这种方式解析页面:res = requests.get("http://localhost/cookie.py")
解析时,我只得到这个:
<!DOCTYPE html>
<html>
<body>
<p id="cookie"></p>
<script src="/assets/js/cookies.js"></script>
</body>
</html>
虽然<p id="cookie"></p>
必须有数据。该怎么办?
PS我意识到requests
它不适合这个,因为。不等待页面完成加载。如何等待页面加载结束并已经解析数据?
你需要从python中执行js,获取js执行后会给出的数据。我看到有PyV8
,但它只是为了python2
。python3
在所有 OC 下都有类似的东西吗?
刚刚学习如何使用python
. 我决定用俄语制作一个页面,但 krakozyabry 出来了:
我知道问题出在编码上(很可能),但我只是不明白在哪里以及如何解决它......
编码:
#!/Python380/python
print("Content-type: text / html")
print(
"""
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Проба с Python</title>
</head>
<body>
<h1><b>Привет</b></h1>
</body>
</html>
"""
)
python文件编码:
我想从input
使用 python 的页面中获取一个值,但是无论你在哪里 - 他们使用Django
或无处不在Jinja2
。有没有可能以某种方式没有它们?