来自Python,我可以启动iPython测试一小段代码,我在Visual Studio中寻找相同的代码.创建项目和类只是为了测试一个小想法,感觉非常麻烦.
我正试图集中使用supervisord及其进程的输出supervisor-stdout
.但是有了这个supervisord配置:
#supervisord.conf
[supervisord]
nodaemon = true
[program:nginx]
command = /usr/sbin/nginx
stdout_events_enabled = true
stderr_events_enabled = true
[eventlistener:stdout]
command = supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler
Run Code Online (Sandbox Code Playgroud)
(请注意,supervisor-stoud的配置部分与supervisor-stoud网站上的示例完全相同).
...和这个Dockerfile:
#Dockerfile
FROM python:3-onbuild
RUN apt-get update && apt-get install -y nginx supervisor
# Setup supervisord
RUN pip install supervisor-stdout
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY nginx.conf /etc/nginx/nginx.conf
# restart nginx to load the config
RUN service nginx stop
# Start processes …
Run Code Online (Sandbox Code Playgroud) Python 后端读取二进制文件,对其进行 base64 编码,将其插入 JSON 文档并将其发送到 JavaScript 前端:
#Python
with open('some_binary_file', 'rb') as in_file:
return base64.b64encode(in_file.read()).decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
JavaScript 前端从 JSON 文档中获取 base64 编码的字符串并将其转换为二进制 blob:
#JavaScript
b64_string = response['b64_string'];
decoded_file = atob(b64_string);
blob = new Blob([decoded_file], {type: 'application/octet-stream'});
Run Code Online (Sandbox Code Playgroud)
不幸的是,在下载 blob 时,编码似乎是错误的,但我不确定问题出在哪里。例如,它是一个我无法再打开的 Excel 文件。在 Python 部分,我尝试了不同的解码器('ascii'、'latin1'),但这并没有什么区别。我的代码有问题吗?
在 python/C#/C/Go/... 生成的代码中,可以从 JSON 创建一个 proto 消息实例。例如在 Python 中,你可以只做google.protobuf.json_format.Parse(json, message)
. 我希望 [JavaScript 生成的代码(此处和此处)提供相同的内容,但不幸的是,情况并非如此。
我目前正在发送我的 JSONStruct
并收到相同的回复。所以现在我想把它打包Struct
并取回消息。但我不知道怎么做。
pdfmake
使用npm 安装后:
npm install pdfmake --save-dev
Run Code Online (Sandbox Code Playgroud)
并webpack
在运行时与我捆绑在一起时出现错误:
pdfmake = require 'pdfmake'
pdfmake.createPdf(doc_definition).download('test.pdf')
Run Code Online (Sandbox Code Playgroud)
说:
pdfmake.createPdf is not a function
Run Code Online (Sandbox Code Playgroud)
我已经阅读了此建议,安装了脚本加载器并将需求更改为:
pdfmake = require 'script!pdfmake'
Run Code Online (Sandbox Code Playgroud)
但这带来了更多的错误。此外,我不知道需要什么脚本加载器。有什么建议么?
编辑
如上所述这里它好像NPM安装的节点(服务器端)版本pdfmake
,而不是browserside版本,两者具有完全不同的API。对于浏览器而言,这应该是正确的流程:
npm install pdfmake --save-dev
pdfmake = require 'pdfmake'
pdfmake.createPdf(doc_definition).download('test.pdf')
Run Code Online (Sandbox Code Playgroud) 在 MacOS Catalina macbook pro 上,我有多个 iTerm2 窗口分布在多个桌面上(在双显示器设置上)。每当我将 MacBook 从睡眠状态中唤醒时,所有桌面上的所有 iTerm2 窗口都会移至桌面 1(我的 MacBook 本身的桌面)。要求我手动将所有 iTerm2 窗口移回各自的桌面。每次我的 MacBook 进入睡眠状态(这种情况相当频繁)时,都会做一件烦人的事情。有没有办法阻止这种行为?
我的aiohttp
网络服务器使用随时间变化的全局变量:
from aiohttp import web
shared_item = 'bla'
async def handle(request):
if items['test'] == 'val':
shared_item = 'doeda'
print(shared_item)
app = web.Application()
app.router.add_get('/', handle)
web.run_app(app, host='somewhere.com', port=8181)
Run Code Online (Sandbox Code Playgroud)
结果是:
UnboundLocalError:赋值前引用的局部变量'shared_item'
我如何正确使用共享变量shared_item
?
我不确定如何在我的项目中包含html5sortable。我已经使用 npm 安装了它:
npm install html5sortable --save
在 webpack 打包后,我按如下方式导入它:
require 'html5sortable'
但是当我调用时(正如文档所说):
sortable('.sortable');
我得到:
sortable is not a function
或者 sortable is not defined
我还尝试了以下变体(Livescript):
html5sortable = require 'html5sortable'
sortable = require 'html5sortable'
{sortable} = require 'html5sortable'
Run Code Online (Sandbox Code Playgroud)
正如文档所说,“从 dist/ 目录加载您需要的文件,例如 dist/html.sortable.min.js ”。我正在使用 webpack,但我不知道该怎么做,但我已经尝试过(在 webpack.config 中(在 livescript 中,但它应该足够可读)):
resolve:
modules:
'node_modules'
alias:
'html5sortable': 'html5sortable/dist/html5sortable.min.js'
Run Code Online (Sandbox Code Playgroud)
不起作用。
使用 SQLAlchemy 我对复合键(?)、uniqueconstraint、primarykeyconstraint 等有点困惑。如何创建一个在 2 列上唯一的类,并引用该唯一组合?说每个人通过和User
的组合都是独一无二的:name
email
class User(Base):
__tablename__ = 'user'
name = Column(String)
email = Column(String)
Run Code Online (Sandbox Code Playgroud)
我应该使用吗UniqueConstraint
?:
class User(Base):
__tablename__ = 'user'
name = Column(String)
email = Column(String)
__table_args__ = (UniqueConstraint(name, email), )
Run Code Online (Sandbox Code Playgroud)
但是我如何引用另一个类中的特定用户呢?
我有点卡住寻找正确的方法来做以下事情.我有一个包含两个子组件的父组件(请参阅下面的简化代码).我想知道ChildA
按下按钮时"调用" 的正确方法ChildB
.他们应该通过父母沟通,但他们应该通过他们的控制器进行沟通吗?在这种情况下,父母必须将其控制器传递给孩子的控制者.
Parent = {
view: function () {
m.component(ChildA);
m.component(ChildB);
}
}
ChildA = {
view: function () {
m('button')
}
}
ChildB = {
view: function () {
}
}
Run Code Online (Sandbox Code Playgroud) 我的webpack配置指定了要构建的许多节点模块vendors.js
.所有模块都安装npm
在父文件夹中并驻留在父文件夹中node_modules
.
文件夹结构:
app/scripts/a.js
node_modules/bootstrap-multiselect
webpack.config.js
Run Code Online (Sandbox Code Playgroud)
来自webpack.config.js的片段:
entry: {
vendors: ['jquery', 'bootstrap', 'bootstrap-multiselect']
}
Run Code Online (Sandbox Code Playgroud)
这适用于'jquery'和'bootstrap',但不适用于'bootstrap-multiselect':
ERROR in multi vendors
Module not found: Error: Cannot resolve module 'bootstrap-multiselect'
in /home/user/app
Run Code Online (Sandbox Code Playgroud)
似乎webpack正在查找错误的node_modules文件夹.它看起来似乎是应用程序文件夹的根目录,但那为什么它仍然会找到其他模块?所以我添加了resolve
和的每个变体resolveLoader
,
resolveLoader: {root: path.join(__dirname, 'node_modules')};
resolve: {root: [path.join __dirname, 'node_modules']};
Run Code Online (Sandbox Code Playgroud)
仍然没有运气......
javascript ×3
python ×2
webpack ×2
aiohttp ×1
async-await ×1
c# ×1
docker ×1
encoding ×1
grpc-web ×1
iterm2 ×1
json ×1
mithril.js ×1
pdfmake ×1
python-3.x ×1
sqlalchemy ×1
supervisord ×1