小编Rom*_*man的帖子

Heroku pgAdmin4隐藏了我不允许访问的数据库

正如标题所述,如果我通过pgAdmin4连接到我的heroku posgresql数据库,我会看到许多其他我无法访问的数据库.

我知道某处必须有一个重写DB字段,但我找不到它.

在pgAdmin4中,它不在此处所述的高级选项卡中:

StackOverflow类似问题pgAdmin3

heroku pgadmin-4

24
推荐指数
2
解决办法
1573
查看次数

通过Python从.idx3-ubyte文件或GZIP中提取图像

我使用OpenCV中的facerecognizer创建了一个简单的面部识别功能.它可以很好地处理来自人的图像.

现在我想通过使用手写字符而不是人来进行测试.我遇到了MNIST数据集,但是他们将图像存储在一个我从未见过的奇怪文件中.

我只需从中提取一些图像:

train-images.idx3-ubyte
Run Code Online (Sandbox Code Playgroud)

并将它们保存在文件夹中 .gif

或者我想念这个MNIST的事情.如果是,我在哪里可以获得这样的数据集?

编辑

我也有gzip文件:

train-images-idx3-ubyte.gz
Run Code Online (Sandbox Code Playgroud)

我试图阅读内容,但show()不起作用,如果read()我看到随机符号.

images = gzip.open("train-images-idx3-ubyte.gz", 'rb')
print images.read()
Run Code Online (Sandbox Code Playgroud)

编辑

通过使用以下方式管理以获得一些有用的输出:

with gzip.open('train-images-idx3-ubyte.gz','r') as fin:
    for line in fin:
        print('got line', line)
Run Code Online (Sandbox Code Playgroud)

不知何故,我现在必须将其转换为图像,输出:

在此输入图像描述

python mnist

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

Laravel从php输出缓冲区VS下载文件。私人存储文件夹| 安全

用户可以下载CSV格式的查询结果。该文件很小(几个KB),但是内容很重要。

第一种方法是使用php输出缓冲区php://

$callback = function() use ($result, $columns) {
    $file = fopen('php://output', 'w');
    fputcsv($file, $columns);

    foreach($result as $res) {
        fputcsv($file, array($res->from_user, $res->to_user, $res->message, $res->date_added));
    }
    fclose($file);
};

return response()->stream($callback, 200, $headers);
Run Code Online (Sandbox Code Playgroud)

第二种方法是在laravels存储系统中创建一个新文件夹,并将其设置为private,然后从那里下载文件。下载后,您甚至可以删除文件:

'csv' => [
    'driver' => 'local',
    'root' => storage_path('csv'),
    'visibility' => 'private',
],
Run Code Online (Sandbox Code Playgroud)

这是创建/下载代码:

$file = fopen('../storage/csv/file.csv', 'w');
fputcsv($file, $columns);

foreach($result as $res) {
    fputcsv($file, array($res->from_user, $res->to_user, $res->message, $res->date_added));
}
fclose($file);

return response()->make(Storage::disk('csv')->get('file.csv'), 200, $headers);
Run Code Online (Sandbox Code Playgroud)

下载后,此返回将立即删除文件:

return response()->download(Storage::disk('csv')->path('file.csv'))
->deleteFileAfterSend(true);
Run Code Online (Sandbox Code Playgroud)

有什么会更安全?有什么更好的方法?我目前倾向于使用存储的第二种方法。

php security download laravel

12
推荐指数
2
解决办法
295
查看次数

角 10 | 获取 URL 中的查询参数为 null 或未定义

我有这条带有查询参数的路线lang

http://localhost:4200/?lang=de
Run Code Online (Sandbox Code Playgroud)

以下示例均不起作用,它始终为 null 或未定义

import { ActivatedRoute } from '@angular/router';

constructor(private route: ActivatedRoute) { 
  console.log(this.route.snapshot.params.lang);
  console.log(this.route.snapshot.queryParamMap.get('lang'));
}

ngOnInit(): void {
  this.route.queryParams.subscribe(params => {
    let lang = params['lang'];  
    console.log(lang);
  });
  console.log(this.route.snapshot.queryParamMap.get('lang'));
  console.log(this.route.snapshot.params.lang);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我现在已经阅读了几本指南,甚至有一些关于 Angular 10 的指南。每个指南都显示了上述示例,但我仍然无法获取 的值lang

typescript angular

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

Python 3 flask在heroku上安装wkhtmltopdf

我有问题在我的heroku python app(flask)上安装wkhtmltopdf二进制文件.

一年前(python 2)我已经有了一个问题,但我能够通过首先添加wkhtmltopdf-pack到需求并将其安装在heroku上然后将config var设置为来解决它WKHTMLTOPDF_BINARY=wkhtmltopdf-pack.这是我的旧帖子

现在问题:

我试图对python 3使用相同的方法,但没有版本的wkhtmltopdf-pack工作,每次推送被拒绝,我无法安装它.

我在要求中尝试了这些版本:

wkhtmltopdf-pack==0.12.5

wkhtmltopdf-pack==0.12.4

wkhtmltopdf-pack==0.12.3

wkhtmltopdf-pack==0.12.3.0.post1

wkhtmltopdf-pack==0.12.2.4
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

No matching distribution
Run Code Online (Sandbox Code Playgroud)

要么

error: can't copy 'bin/wkhtmltopdf-pack': doesn't exist or not a regular file
Run Code Online (Sandbox Code Playgroud)

我记得有一次它告诉我有一个SyntaxError它无法解码的东西.

替代方法:

看来也可以使用buildpack,所以我尝试添加一个buildpack:

heroku buildpacks:add https://github.com/dscout/wkhtmltopdf-buildpack.git
Run Code Online (Sandbox Code Playgroud)

我看到已经添加了buildpack,但是没有安装,并且wkhtmltopdf也没有配置var.我不明白如何触发安装,在buildpacks的所有文档中都写了"添加buildpack并准备好了".

试图创建PDF在这里给我一个服务器错误:

OSError: No wkhtmltopdf executable found: "b''"
Run Code Online (Sandbox Code Playgroud)

编辑:

我设法安装buildpack:

在此输入图像描述

推送成功,但没有创建配置变量,我不知道二进制的路径是什么.

编辑

我能够通过heroku bash找到这些文件:

app bin dev等lib lib64 lost + found proc sbin sys tmp usr var

/ $ cd app
~ $ cd vendor
~/vendor …
Run Code Online (Sandbox Code Playgroud)

python heroku wkhtmltopdf python-3.x

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

Python烧瓶ajax获取图像 - 最后编辑是问题

从昨天开始,我试图了解如何在其他视图中使用特定视图中的编码base64图像.

我需要用form.company_logo_image_path.data调整大小的新图像替换原来的图像.新调整大小的图像通过AJAX发送到新视图.

这是我的AJAX:

var dataurl = canvas.toDataURL("image/png");

$.ajax({
  type: "POST",
  url: "/profil/unternehmen-bearbeiten/resize-image",
  data:{
    a: dataurl
  }
}).done(function() {
  console.log('sent');
});
Run Code Online (Sandbox Code Playgroud)

我创建了一个新视图,其中图像被解码并存储在body变量中:

@app.route('/profil/unternehmen-bearbeiten/resize-image', methods=["POST"])
def resize_image():
    data_url = request.values['a']  
    content = data_url.split(';')[1]
    image_encoded = content.split(',')[1]
    body = base64.decodestring(image_encoded.encode('utf-8'))
    return body
Run Code Online (Sandbox Code Playgroud)

我通过将图像保存到本地计算机上的文件夹来测试它,并且它可以正常工作,因此body变量可以正确存储调整大小的图像.

现在我需要将此图像发送到其他视图,然后将其上传到AWS3,我将使用此图像而不是form.company_logo_image_path.data:

@app.route('/profil/unternehmen-bearbeiten', methods=["GET", "POST"])
@login_required
@check_confirmed
def edit_company():
    the_company = Company.query.filter_by(users_id=current_user.id).first()

    form = EditCompanyForm(obj=the_company)
    used_file = the_company.company_logo_image_path

    if form.validate_on_submit():

        form.populate_obj(the_company)    

        imagedata = resize_image()
        print "The", imagedata

        if form.company_logo_image_path.data:           
            upload_image_to_aws('baubedarf', "userimages/", form.company_logo_image_path, the_company,'company_logo_image_path', the_company.company_name)

# …
Run Code Online (Sandbox Code Playgroud)

python ajax image flask

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

Python SQLalchemy 无需创建模型即可访问海量数据库数据

我正在使用 Flaks python 和 sqlalchemy 连接到一个巨大的数据库,其中保存了很多统计信息。我需要使用这些统计数据创建一些有用的见解,因此我只需要读取/获取数据而无需修改。

我现在遇到的问题如下:

在访问表之前,我需要在模型文件中复制该表。例如,我Login_Data在数据库中看到该表。所以我进入我的模型并重新创建完全相同的表。

class Login_Data(Base):
    __tablename__ = 'login_data'
    id = Column(Integer, primary_key=True)
    date = Column(Date, nullable=False)
    new_users = Column(Integer, nullable=True)

    def __init__(self, date=None, new_users=None):
        self.date = date
        self.new_users = new_users

    def get(self, id):
        if self.id == id:
            return self
        else:
            return None

    def __repr__(self):
        return '<%s(%r, %r, %r)>' % (self.__class__.__name__, self.id, self.date, self.new_users)
Run Code Online (Sandbox Code Playgroud)

我这样做是因为否则我无法使用以下方式查询它:

some_data = Login_Data.query.limit(10)
Run Code Online (Sandbox Code Playgroud)

但这感觉没有必要,一定有更好的办法。如果模型已经定义了,那么重新创建模型还有什么意义呢?我在这里应该使用什么:

some_data = [SOMETHING HERE SO I DONT NEED TO RECREATE THE TABLE].query.limit(10)
Run Code Online (Sandbox Code Playgroud)

简单的问题,但我还没有找到解决方案。

python sqlalchemy

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

Python Selenium保持浏览器打开

出于营销原因,我正在使用硒打开一些浏览器窗口。我只是打开我的营销渠道,通过硒登录并开始工作。

问题是,在执行代码后,硒将关闭窗口。

到目前为止,所有解决方案都没有帮助。

我有13个浏览器窗口atm。,如下所示:

def open_instagram():    
    try:
        # Connect
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument("--incognito")
        browser = webdriver.Chrome('drivers/chromedriver.exe', chrome_options=chrome_options)
        browser.set_window_size(1800, 900)
        browser.get("https://www.instagram.com/accounts/login/?hl=de")
        browser.find_element(By.NAME, 'username').send_keys('MYEMAIL', Keys.TAB, 'MYPW', Keys.ENTER)
    except Exception as e:
        print (e, 'Instagram')

open_instagram()
Run Code Online (Sandbox Code Playgroud)

我找到的最接近的解决方案是在脚本的末尾添加此内容,但是不知何故,它只会保持5个窗口打开,而不是关闭5个窗口并打开接下来的5个新窗口:

while True:
    pass
Run Code Online (Sandbox Code Playgroud)

我只希望硒使所有浏览器窗口保持打开状态,直到我手动关闭它们为止。

python selenium

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

为什么 TextMeshPro 在设置文本后不更新 textBounds?

我在悬停时实现了一个工具提示系统。为此,我使用 textmeshpro 文本和图像。该图像应该是一个简单的背景,具体取决于文本的长度,而文本的长度总是不同的。

如果我将鼠标悬停在某个元素上,textmeshpro 文本将被替换。背景图像被移动到元素上,并且大小将根据文本的长度而变化:

// Hover over slot in
public void OnPointerEnter(PointerEventData eventData) {
    if (currentItem != null) {
        Debug.Log("hover over slot item in");
        GamePlay.EnableCanvas(GamePlay.GetHoverCanvas());

        TextMeshProUGUI txtMeshPro = GamePlay.GetHoverCanvas().GetComponentInChildren<TextMeshProUGUI>();

        Debug.Log(currentItem.GetItemDescription(currentItem));
        txtMeshPro.text = currentItem.GetItemDescription(currentItem);

        var hoverCanvasText = txtMeshPro.GetComponent<RectTransform>();
        var hoverCanvasTextBG = GamePlay.GetHoverCanvas().GetComponentInChildren<Image>().GetComponent<RectTransform>();

        hoverCanvasText.position = new Vector3(this.GetComponent<RectTransform>().position.x, this.GetComponent<RectTransform>().position.y + 50, 0);

        hoverCanvasTextBG.position = new Vector3(this.GetComponent<RectTransform>().position.x, this.GetComponent<RectTransform>().position.y + 50, 0);
        hoverCanvasTextBG.sizeDelta = new Vector2(txtMeshPro.textBounds.size.x + 15, txtMeshPro.textBounds.size.y + 15);
        // No clue why image is not resized properly on first hover
    } …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

Coturn stun 服务器返回代码为 701 的错误

我有自己的 ubuntu 19 服务器。

注意:我需要一个用于视频聊天 Web 应用程序的眩晕/转弯服务器。如果两个设备都在同一个网络中,它已经可以工作了。

我已经成功安装并配置了 coturn。我可以通过运行成功启动turnserver: turnservernohup turnserver &在终端中。

注意:我SSH连接到我的服务器。

我还确保必要的端口已打开并使用netstat -tulpn.

我在测试时也重新启动了 coturn 几次sudo service coturn restart

我在以下配置中使用这些配置turnserver.conf

# Also tried 80
listening-port=3478
# Also tried 443
tls-listening-port=5349
listening-ip=<MY-IP4>
listening-ip=<MY-IP6>
relay-ip=<MY-IP4>
external-ip=<MY-IP4>
oauth
user=root:<password>
userdb=/var/lib/turn/turndb
no-stdout-log
Run Code Online (Sandbox Code Playgroud)

这是我在 js 中的 iceServers 配置,我相信它应该可以工作(我已经完成了很多其他组合)。

var pcConfig = {
  'iceServers': [
    {
      'urls': 'stun:<MY-IP4>:80'
    },
    {
      'urls': 'turn:<MY-IP4>:80',
      'credential': '<PASSWORD>',
      'username': 'root'
    }
  ]
};
Run Code Online (Sandbox Code Playgroud)

我已经完成了大量不同的眩晕/转弯服务器组合,例如:

  • 我使用了谷歌的 stun 服务器:stun.l.google.com:19302、stun2.l.google.com:19302 …

ubuntu webrtc server coturn

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