小编Mas*_*gol的帖子

使用端口80上的runserver在没有Apache的情况下运行Django,并在LAN外部访问

在调试模式下,我可以运行django web,可以通过公共(LAN内部)访问:

python manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)

那么,是否有可能直接在端口80(可能是域)上运行它,就像通常的网络服务器一样?如果是的话,这是一个坏主意吗?我的意思是,使用apache更好mod_wsgi吗?

apache django

7
推荐指数
1
解决办法
4613
查看次数

Qt - 将int转换为文件大小格式(KB,MB或GB)的最简单方法?

int文件大小转换为文件大小格式的字符串的最简单方法是:

2048 to 2 KB
4086 KB to 4 MB
Run Code Online (Sandbox Code Playgroud)

而不是在Qt5中手动计算?

qt

7
推荐指数
2
解决办法
5351
查看次数

别名方法和别名符号有什么区别?

我读了一些像这样的别名方法:

alias :original_method :method
Run Code Online (Sandbox Code Playgroud)

对我来说,这看起来像红宝石中的符号.如果我输入这样的别名有什么区别:

alias original_method method
Run Code Online (Sandbox Code Playgroud)

结果会有所不同吗?

ruby

6
推荐指数
1
解决办法
309
查看次数

是什么使WSGI本质上是同步的?

(如果我弄错了,请纠正我)

WSGI是基于python的Web应用程序的标准接口。但是据说WSGI本质上是同步的。因此,即使类似的东西也Tornado 可以同步处理WSGI应用程序。这意味着,wsgi标准使python Web应用程序同步。

我对异步程序如何在内部工作没有很好的了解。我所知道的是,异步程序不会等到I/O完成其他不涉及I/O任务的任务后再等待任务。

如果正确,那么处理wsgi应用程序的非常基本的python网络服务器将是这样的:

import socket


class Server(object):

    def __init__(self, host, port, app):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.socket.bind((host, port))
        self.socket.listen(5)
        self.app = app

    def serve(self):
        while True:
            client, addr = self.socket.accept()
            request = client.recv()
            response_body = self.handle_app(request)
            client.sendall(response_body)
            client.close()

    def handle_app(self, request):
        # processing request stuff
        environ = self.environ_logic()  # some logics
        start_response = self.start_response_logic()  # some logics
        return self.app(environ, start_response)
Run Code Online (Sandbox Code Playgroud)

那么,什么使WSGI本质上是同步的呢?在该示例中,哪一部分不起作用async?并且,是否有可能创建一个能够异步处理wsgi应用程序的网络服务器(使用python)?

python asynchronous wsgi synchronous

6
推荐指数
1
解决办法
1380
查看次数

处理/解包嵌套Result类型的惯用方法是什么?

我读到使用unwrapon Result在Rust中不是一个好习惯,并且最好使用模式匹配,因此可以适当地处理发生的任何错误.

我明白了这一点,但考虑一下读取目录的片段并打印每个条目的访问时间:

use std::fs;
use std::path::Path;

fn main() {
    let path = Path::new(".");
    match fs::read_dir(&path) {
        Ok(entries) => {
            for entry in entries {
                match entry {
                    Ok(ent) => {
                        match ent.metadata() {
                            Ok(meta) => {
                                match meta.accessed() {
                                    Ok(time) => {
                                        println!("{:?}", time);
                                    },
                                    Err(_) => panic!("will be handled")
                                }
                            },
                            Err(_) => panic!("will be handled")
                        }
                    },
                    Err(_) => panic!("will be handled")
                }
            }
        },
        Err(_) => panic!("will be handled")
    }
}
Run Code Online (Sandbox Code Playgroud)

我想处理上面代码中的每个可能的错误(panic …

coding-style rust

6
推荐指数
1
解决办法
884
查看次数

是否可以在不更改 npm 日志级别配置的情况下禁用 fsevents 警告?

从我使用 nodejs 和 npm 的那一天起,每次我安装一些包时,npm 总是给我一个警告:

fsevents@1.0.17: The platform "linux" is incompatible with this module.
Run Code Online (Sandbox Code Playgroud)

我知道我可以将 npm 设置loglevelerror,我之前这样做过,然后出了问题,因为我错过了另一个包的一些警告。

是否有任何 npm 或 yarn 配置可以将某些特定包的警告列入白名单?

node.js npm

6
推荐指数
0
解决办法
436
查看次数

如何在运行时更改列表框中的选定项文本?

我试过这样的代码:

Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles MyBase.Leave
  ' This way is not working
  ListBox1.SelectedItem = TextBox1.Text
  ' This is not working too
  ListBox1.Items(ListBox1.SelectedIndex) = TextBox1.Text
End Sub
Run Code Online (Sandbox Code Playgroud)

表格如下所示:

在此处输入图片说明

当用户在文本框中键入时,我需要更改该列表文本。可以在运行时做到这一点吗?

vb.net textbox listbox winforms

5
推荐指数
1
解决办法
2万
查看次数

转到项目结构以在单个存储库中生成同名的库和 cli

如何设置项目结构以在单个存储库中生成同名的库和 cli?

假设我的项目名称是project. 我想让它可以用名称导入, projectproject在安装时 具有名称的可执行二进制文件go get。我目前的设置是这样的:

host.com/project/
    project/
        main.go
    core/
        project.go
Run Code Online (Sandbox Code Playgroud)

然后,当安装时:

go get host.com/project/project
Run Code Online (Sandbox Code Playgroud)

它安装project为可执行文件,core作为依赖项。在 core/project.go文件中,包有这个:

package project
Run Code Online (Sandbox Code Playgroud)

问题是它是通过以下方式导入的:

import (
    "host.com/project/core"
)
Run Code Online (Sandbox Code Playgroud)

并且它导出project为名称空间,而不是core违反 go 的约定。我怎样才能做到这一点?

go

5
推荐指数
1
解决办法
966
查看次数

如何对已安装的模块使用本地打字稿声明文件?

当我安装了一个在命名空间下没有发布类型声明的非流行模块时@types,我陷入了困境。我知道如何编写声明文件,但我不知道如何让打字稿编译器意识到它。打字稿文档没有提到如何做到这一点。该文档仅提到搜索类型​​声明,如果找不到,则发布一个新的类型声明,但没有提及如何在不发布的情况下执行此操作。

所以,假设我安装了一个名为的包xyz,并且我知道它公开的公共 api。然后,我编写一个与公开的 api 匹配的类型声明文件。那么,如何让 typescript 编译器意识到这一点呢?

typescript

5
推荐指数
1
解决办法
3913
查看次数

为什么使用联接的查询比使用子查询慢得多?

我很惊讶我使用的查询join比使用子查询慢了大约 350 倍。通常,我更喜欢使用 join,因为它更具可读性。但是,速度上的差距实在是太大了。

这是数据定义。这些表直接从源代码中提取(除了下面注释的那些行)。

-- possible account type for char of accounts below.
create type account_kind as enum (
  'asset',
  'liability',
  'equity',
  'income',
  'expense'
);

-- chart of accounts represented as a tree.
create table account(
  id        integer      not null,
  name      text         not null,
  kind      account_kind not null,
  parent_id integer,

  constraint account_pkey primary key (id),
  constraint account_name_length_check check (length(name) between 1 and 200),
  constraint account_parent_id_fkey foreign key (parent_id) references account(id) on update cascade on delete restrict,
  constraint …
Run Code Online (Sandbox Code Playgroud)

postgresql join subquery query-optimization

5
推荐指数
0
解决办法
61
查看次数