对于在Angular2中具有身份验证的网站,我想在主应用程序组件中使用身份验证子模块的组件.但是,我不断收到以下错误:
app/app.component.ts(3,10): error TS2305: Module '"<dir>/app/auth/auth.module"' has no exported member 'SigninComponent'.
甚至在导出SigninComponent之后.
项目文件夹结构如下所示:
应用/认证/ auth.module.ts:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RegisterComponent } from './components/register.component';
import { SigninComponent } from './components/signin.component';
import { HomeComponent } from './components/home.component';
import { AuthService } from './services/auth.service';
import { AuthHttp } from './services/auth-http';
@NgModule({
imports: [
CommonModule,
FormsModule
],
declarations: [
RegisterComponent,
SigninComponent,
HomeComponent
],
providers: [
AuthService,
AuthHttp
], …Run Code Online (Sandbox Code Playgroud) 我想为我信任的来源创建一个 grpc 通道,但我缺少其证书。使用默认凭据设置安全通道失败:
import gprc
ssh_channel = grpc.secure_channel(<gprc url>, grpc.ssl_channel_credentials())
grpc.channel_ready_future(ssh_channel).result()
Run Code Online (Sandbox Code Playgroud)
结果是:
E1017 10:05:15.783011100 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.
E1017 10:05:16.846366639 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.
E1017 10:05:18.688887874 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.
E1017 10:05:21.557399186 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.
Run Code Online (Sandbox Code Playgroud)
我知道这是可能的,因为例如在 Java 中,会执行以下操作:
import io.grpc.netty.GrpcSslContexts;
import io.grpc.netty.NettyChannelBuilder;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
...
sslContext = GrpcSslContexts.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();
channel = NettyChannelBuilder.forAddress(<gprc url>, 443).sslContext(sslContext).build(); …Run Code Online (Sandbox Code Playgroud) Docker Desktop for Mac 开始osxfs用于在 MacOS 上支持卷安装。根据他们的页面,这样的命令应该将~/Desktop目录挂载到 docker 容器:
docker run -it -v ~/Desktop:/Desktop r-base bash
Run Code Online (Sandbox Code Playgroud)
虽然我确实Desktop按预期看到了一个目录,但它的内容是空的:
root@80cb534e4eeb:/# ls
bin boot Desktop dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@80cb534e4eeb:/# ls Desktop/
root@80cb534e4eeb:/# exit
exit
Run Code Online (Sandbox Code Playgroud)
虽然Desktop本地目录中肯定有文件
Users-MacBook-Pro:~ user$ ls Desktop/
Screen Shot 2019-03-25 at 10.34.58.png Screen Shot 2019-03-25 at 22.26.10.png Screen Shot 2019-03-27 at 07.34.55.png
Screen Shot 2019-03-25 at 10.35.59.png …Run Code Online (Sandbox Code Playgroud) 我想创建一个使用aiohttp进行API调用的调度程序类。我尝试了这个:
import asyncio
import aiohttp
class MySession:
def __init__(self):
self.session = None
async def __aenter__(self):
async with aiohttp.ClientSession() as session:
self.session = session
return self
async def __aexit__(self, exc_type, exc_val, exc_tb):
if self.session:
await self.session.close()
async def method1():
async with MySession() as s:
async with s.session.get("https://www.google.com") as resp:
if resp.status == 200:
print("successful call!")
loop = asyncio.get_event_loop()
loop.run_until_complete(method1())
loop.close()
Run Code Online (Sandbox Code Playgroud)
但这只会导致错误:RuntimeError: Session is closed。该__aenter__功能的第二种方法:
async def __aenter__(self):
self.session = aiohttp.ClientSession()
return self
Run Code Online (Sandbox Code Playgroud)
效果很好。这是一个好结构吗?它不遵循如何使用aiohttp的示例。还想知道为什么第一种方法不起作用?
python ×2
aiohttp ×1
angular ×1
docker ×1
grpc ×1
javascript ×1
macos ×1
mount ×1
ssl ×1
typescript ×1