我正在尝试使用Python 3 asyncio模块连接到另一方并获得此错误:
36 sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
---> 37 sslcontext.load_cert_chain(cert, keyfile=ca_cert)
38
SSLError: [SSL] PEM lib (_ssl.c:2532)
Run Code Online (Sandbox Code Playgroud)
问题是错误的意思.我的证书是正确的,密钥文件(CA证书)可能不正确.
我使用fig网站上的教程创建了一个postgres容器.我命名了容器db.
容器正在运行,我的应用程序正常连接.我试图运行命令fig run db psql与DB容器中运行,并得到了错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
如何进入psql正在运行的db容器中的接口?
澄清这个问题的原因:
使用两个具有相同名称的模块令人困惑.它们代表什么使它们与众不同?
什么任务可以解决另一个不能,反之亦然?
如何通过我log4j2拥有的其他依赖项(Hibernate,Netty,Mina等)正确地使Spring登录?
我尝试了许多不同的细节和依赖组合.但我要么可以让Spring登录而不是其他任何东西,或者除了Spring之外的其他东西.
所有dependecies正确记录(但Spring)我收到以下错误:
java.lang.NoSuchMethodError: org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSource;)Lorg/apache/logging/log4j/core/config/Configuration;
at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadConfiguration(Log4J2LoggingSystem.java:167)
at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.loadDefaults(Log4J2LoggingSystem.java:150)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:75)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:50)
at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.initialize(Log4J2LoggingSystem.java:140)
at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:277)
at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:255)
at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:224)
at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:200)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121)
at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:111)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:65)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:329)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174)
at com.myproject.MyProject.main(MyProject.java:XX)
Run Code Online (Sandbox Code Playgroud)
build.gradle依赖dependencies {
// FIX engine
compile 'org.quickfixj:quickfixj-all:1.6.2'
compile 'org.apache.mina:mina-core:2.0.16'
// Web API
compile ('org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE') {
// Remove default Spring loggers (where logback takes precedence)
exclude module: 'spring-boot-starter-logging'
}
// Logging …Run Code Online (Sandbox Code Playgroud) 该锈指南指出:
分号通过丢弃其值并返回单位将任何表达式转换为语句.
我以为我得到了这个概念,直到我做了一个实验:
fn print_number(x: i32, y: i32) -> i32 {
if x + y > 20 { return x }
x + y
}
Run Code Online (Sandbox Code Playgroud)
编译好.然后,我在返回行(return x;)的末尾添加了一个分号.据我所知,这将该行转换为语句,返回单位数据类型().
尽管如此,最终结果是一样的.
阅读有关该java.util.concurrent.locks.Condition接口的Java 8文档,给出以下示例:
class BoundedBuffer {
final Lock lock = new ReentrantLock();
final Condition notFull = lock.newCondition();
final Condition notEmpty = lock.newCondition();
final Object[] items = new Object[100];
int putptr, takeptr, count;
public void put(Object x) throws InterruptedException {
lock.lock();
try {
while (count == items.length)
notFull.await();
items[putptr] = x;
if (++putptr == items.length) putptr = 0;
++count;
notEmpty.signal();
} finally {
lock.unlock();
}
}
public Object take() throws InterruptedException {
lock.lock();
try {
while (count == 0)
notEmpty.await(); …Run Code Online (Sandbox Code Playgroud) java concurrency multithreading locking java.util.concurrent
当您创建 Python 3 生成器并立即开始运行时。您会收到如下错误:
TypeError: can't send non-None value to a just-started generator
Run Code Online (Sandbox Code Playgroud)
为了继续(向它发送消息或从它获取某些东西),您首先必须调用__next__它:next(gen)或将 None 传递给它gen.send(None)。
TypeError: can't send non-None value to a just-started generator
Run Code Online (Sandbox Code Playgroud)
两种方式都会产生相同的结果(启动生成器)。
有什么区别,如果有的话,从发电机之间next(gen),而不是gen.send(None)?
如果我在python3解释器上运行此命令:
import asyncio
@asyncio.coroutine
def wait(n):
asyncio.sleep(n)
loop = asyncio.get_event_loop()
fut = asyncio.async(wait(10))
fut.add_done_callback(lambda x: print('Done'))
asyncio.Task.all_tasks()
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
{<Task pending coro=<coro() running at /usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/asyncio/coroutines.py:139> cb=[<lambda>() at <ipython-input-5-c72c2da2ffa4>:1]>}
Run Code Online (Sandbox Code Playgroud)
现在,如果我跑步,fut.cancel()我会True回来的。但是键入会fut返回任务的表示形式,表明它正在取消:
<Task cancelling coro=<coro() running at /usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/asyncio/coroutines.py:139> cb=[<lambda>() at <ipython-input-5-c72c2da2ffa4>:1]>
Run Code Online (Sandbox Code Playgroud)
并且任务从不实际取消(fut.cancelled()从不返回True)
为什么不取消?
我在 IntelliJ 2016.2 上找不到该选项,也无法通过 Google 搜索找到任何内容。
我只是想关闭语法突出显示。是否可以?
我使用以下内容启动了一个 CockroachDB 容器:
docker run -d --name=node1 --hostname=node1 \
--network=db -p 26257:26257 -p 8080:8080 \
-v "${PWD}/sql:/cockroach/sql" \
-v "${PWD}/cockroach-data/node1:/cockroach/cockroach-data" \
cockroachdb/cockroach:v2.0.1 start --insecure
Run Code Online (Sandbox Code Playgroud)
该/sql目录有init.sql,这是一个我希望数据库运行的 SQL 脚本,这是我尝试运行的命令:
docker exec node1 \
"/cockroach/cockroach sql --insecure < /cockroach/sql/init.sql"
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误:
OCI runtime exec failed: exec failed: container_linux.go:348:
starting container process caused
"exec: \"/cockroach/cockroach sql --insecure < /cockroach/sql/init.sql\":
stat /cockroach/cockroach sql --insecure < /cockroach/sql/init.sql:
no such file or directory": unknown
Run Code Online (Sandbox Code Playgroud)
但是,如果我docker exec -ti node1 /bin/bash手动运行相同的命令,它就会起作用。
如何cockroach sql …
python-3.x ×4
python ×3
concurrency ×2
docker ×2
java ×2
cockroachdb ×1
coroutine ×1
expression ×1
fig ×1
locking ×1
log4j2 ×1
logging ×1
module ×1
postgresql ×1
rust ×1
spring-boot ×1
ssl ×1
statements ×1
yield ×1