小编rde*_*ges的帖子

如何使用模型架构创建环回远程方法?

我目前正在构建一个环回应用程序,它只有一个名为的模型Phone.这是我的common/models/phone.js代码:

module.exports = function(Phone) {

  // Return a random phone's data.
  Phone.random = function(callback) {
    return callback(null, {
      id: '12345',
      number: '+18182179222',
      name: 'Randall Degges'
    });
  };

  Phone.remoteMethod('random', {
    description: 'Return a random phone.',
    accepts: [],
    returns: [
      //{ type: 'object', root: true, description: 'return value' },
      { arg: 'id', type: 'string', description: 'phone id', required: true, root: true },
      { arg: 'number', type: 'string', description: 'phone number', required: true, root: true },
      { arg: 'name', …
Run Code Online (Sandbox Code Playgroud)

node.js loopbackjs

13
推荐指数
1
解决办法
7045
查看次数

Python SSH/SFTP模块?

我一直在寻找一个模块,它允许我在python中执行SSH/SFTP功能,而不使用POPEN手动完成.有这样的事吗?我还没有找到任何真实的信息,谢谢!

python ssh sftp

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

什么是最优雅的方式来结束一天(日期时间)?

更新:我已经在这个问题的底部添加了一个解决方案.

我目前正在撰写一些报告代码,允许用户选择指定日期范围.它的工作方式(简化)是:

  • 用户(可选)指定年份.
  • 用户(可选)指定月份.
  • 用户(可选)指定一天.

这里有一个代码片段,有评论描述我会沿着什么喜欢做的事:

from datetime import datetime, timedelta

# ...

now = datetime.now()
start_time = now.replace(hour=0, minute=0, second=0, microsecond=0)
stop_time = now
# If the user enters no year, month, or day--then we'll simply run a
# report that only spans the current day (from the start of today to now).

if options['year']:
    start_time = start_time.replace(year=options['year'], month=0, day=0)
    stop_time = stop_time.replace(year=options['year'])
    # If the user specifies a year value, we should set stop_time to the …
Run Code Online (Sandbox Code Playgroud)

python

10
推荐指数
4
解决办法
6967
查看次数

Redshift:表上的可序列化隔离违规

我有一个非常大的Redshift数据库,其中包含数十亿行HTTP请求数据.

我有一个表requests有一些重要的字段:

  • ip_address
  • city
  • state
  • country

我有一个每天运行一次的Python进程,它抓取所有尚未进行地理编码的不同行(没有任何城市/州/国家/地区信息),然后尝试通过Google的地理编码API对每个IP地址进行地理编码.

这个过程(伪代码)看起来像这样:

for ip_address in ips_to_geocode:
    country, state, city = geocode_ip_address(ip_address)
    execute_transaction('''
        UPDATE requests
        SET ip_country = %s, ip_state = %s, ip_city = %s
        WHERE ip_address = %s
    ''')
Run Code Online (Sandbox Code Playgroud)

运行此代码时,我经常会收到如下错误:

psycopg2.InternalError: 1023
DETAIL:  Serializable isolation violation on table - 108263, transactions forming the cycle are: 647671, 647682 (pid:23880)
Run Code Online (Sandbox Code Playgroud)

我假设这是因为我有其他进程不断地将HTTP请求记录到我的表中,所以当我尝试执行我的UPDATE语句时,它无法选择所有具有我要更新的IP地址的行.

我的问题是:我能做些什么才能以理智的方式更新这些记录,以便经常停止失败?

sql amazon-redshift

9
推荐指数
2
解决办法
6426
查看次数

django-compressor是否可以使用模板继承?

我正在使用django-compressor来压缩我网站的静态CSS和Javascript文件.由于我通过Amazon S3提供我网站的静态资产,我还使用django-storage将我的文件上传到S3.

这是我的问题:我正在尝试创建一个干净的base.html模板,我的网站的所有其他模板都可以继承和扩展.这是目前的样子:

{% load compress %}

<html>
 <head>
  <!-- test -->
  {% compress css %}
   <link rel="stylesheet" type="text/css" media="screen" href="{{ STATIC_URL }}css/styles.css" />
  {% endcompress %}

  {% compress css %}
  {% block css %}{% endblock %}
  {% endcompress %}

  {% compress js %}
  {% block js %}{% endblock %}
  {% endcompress %}
 </head>
 <body>
  {% block body %}{% endblock %}
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我在这里尝试做的是允许继承此模板的模板覆盖cssjs块,因此他们可以定义自己的css和javascript进行压缩.不幸的是,这不是发生的事情.

当我运行python manage.py compress …

compression django django-compressor

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

将日期时间约束添加到PostgreSQL多列部分索引

我有一个名为PostgreSQL的表queries_query,它有很多列.

其中两个列createduser_sid我的应用程序经常在SQL查询中一起使用,以确定给定用户在过去30天内完成了多少查询.在最近30天之前的任何时间查询这些统计数据是非常非常罕见的.

这是我的问题:

我目前通过运行以下方法在这两列上创建了我的多列索引:

CREATE INDEX CONCURRENTLY some_index_name ON queries_query (user_sid, created)
Run Code Online (Sandbox Code Playgroud)

但我想进一步限制索引只关心创建日期在过去30天内的查询.我尝试过以下方法:

CREATE INDEX CONCURRENTLY some_index_name ON queries_query (user_sid, created)
WHERE created >= NOW() - '30 days'::INTERVAL`
Run Code Online (Sandbox Code Playgroud)

但这引发了一个异常,说明我的函数必须是不可变的.

我很乐意让这个工作,以便我可以优化我的索引,并削减Postgres需要执行这些重复查询的资源.

postgresql indexing timestamp postgresql-performance

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

无法使用API​​ Explorer执行Graph用户搜索

当我手动使用Graph API Explorer为我的应用程序生成访问令牌时,我遇到了使图搜索工作的问题.

我创建了一个应用程序,将沙盒模式设置为"关闭",然后手动将我的用户帐户权限授予我的应用程序.为安全起见,我在生成访问令牌之前包含了图API浏览器中可用的所有权限.

当我点击我的访问令牌时,我发现它仍然有效,并且列出了所有权限,但是,当我执行以下搜索时:

/search?q=myphonenumber&type=user

我收到一个错误说:

{
  "error": {
    "message": "(#200) Must have a valid access_token to access this endpoint", 
    "type": "OAuthException", 
    "code": 200
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道上面的搜索代码是有效的,因为我几天前能够让它工作,我似乎无法弄清楚改变了什么.我错过了一个允许我使用访问令牌进行API搜索的权限吗?

更新:我还应该提到普通/me查询工作正常,似乎只是不允许的搜索.

search facebook-graph-api

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

如何有效地"最大化"并发HTTP请求?

我目前正在尝试使用Go进行一些实验.这是我正在尝试做的事情:

我已经运行了一个REST API服务,并且我想在尽可能多的Goroutines中反复查询特定的URL,以查看这些响应的性能(通过查看我的REST API服务器日志).我想在退出程序之前发送总共100万个HTTP请求 - 执行与我的计算机允许的同时多个.

我知道有一些工具可以做到这一点,但我主要感兴趣的是如何在Go with goroutines中最大化我的HTTP并发性.

这是我的代码:

package main

import (
    "fmt"
    "net/http"
    "runtime"
    "time"
)

func main() {
    runtime.GOMAXPROCS(runtime.NumCPU())
    transport := &http.Transport{}

    for i := 0; i < 1000000; i++ {
        go func() {
            req, _ := http.NewRequest("GET", "http://myapi.com", nil)
            req.Header.Set("User-Agent", "custom-agent")
            req.SetBasicAuth("xxx", "xxx")
            resp, err := transport.RoundTrip(req)
            if err != nil {
                panic("HTTP request failed.")
            }
            defer resp.Body.Close()

            if resp.StatusCode != 302 {
                panic("Unexpected response returned.")
            }

            location := resp.Header.Get("Location")
            if location == "" { …
Run Code Online (Sandbox Code Playgroud)

concurrency http go

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

如何使用ManyToMany字段填充默认表单数据?

好的,我现在已经抓取了谷歌和Django文档超过2个小时(以及freenode上的IRC频道),并且无法解决这个问题.

基本上,我有一个名为的模型Room,如下所示:

class Room(models.Model):
    """
    A `Partyline` room. Rooms on the `Partyline`s are like mini-chatrooms. Each
    room has a variable amount of `Caller`s, and usually a moderator of some
    sort. Each `Partyline` has many rooms, and it is common for `Caller`s to
    join multiple rooms over the duration of their call.
    """
    LIVE = 0
    PRIVATE = 1
    ONE_ON_ONE = 2
    UNCENSORED = 3
    BULLETIN_BOARD = 4
    CHILL = 5
    PHONE_BOOTH = 6
    TYPE_CHOICES = (
        ('LR', 'Live …
Run Code Online (Sandbox Code Playgroud)

python django django-forms

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

如何使用 pyinstaller 将包转换为 exe?

我有一个开源的 python 命令行程序,可以在 Python 2.7、Python3+ 上运行,并且是跨平台的。

我正在尝试更轻松地将它打包为我的 Windows 用户的可执行文件。这个包的源代码在 Github 上:https : //github.com/stormpath/stormpath-cli

我正在尝试使用pyinstaller打包我的 Python 程序,但遇到了问题。

我正在从 Windows 8 框中运行以下命令:

$ pyinstaller --onefile setup.py
Run Code Online (Sandbox Code Playgroud)

这成功地为我生成了一个 EXE 文件,但是当我去运行它时,我收到以下错误:

$ pyinstaller --onefile setup.py
Run Code Online (Sandbox Code Playgroud)

出于测试目的,为了帮助缩小问题范围,我创建了一个test.py包含以下代码的脚本:

print('hello, world!')
Run Code Online (Sandbox Code Playgroud)

然后也打包成一个exe:

$ pyinstaller --onefile test.py
Run Code Online (Sandbox Code Playgroud)

当我运行这个生成的 exe 时,一切正常!Hello world 按预期输出。

我相信正在发生的事情是我没有告诉 pyinstaller 如何正确“检测”我的项目是一个 python 包,而不是单个文件脚本。

我已经阅读了很多文档,并在谷歌上搜索了很多,但还没有找到一种方法来指定一个包供 pyinstaller 分析。

我错过了什么?

python windows pyinstaller software-packaging python-2.7

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

如何下载所有域 WHOIS 数据?

我正在编写一些分析注册域名并寻找趋势的软件。我正在尝试一些机器学习,以帮助根据正在注册的域类型来预测未来将购买哪些域名。

我一直在寻找一种方法来下载“所有”存在的已注册域,但我一直找不到这样做的方法。

我很容易使用whois命令行工具查询单个域名,例如:

$ whois google.com
   Domain Name: GOOGLE.COM
   Registry Domain ID: 2138514_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.markmonitor.com
   Registrar URL: http://www.markmonitor.com
   Updated Date: 2018-02-21T18:36:40Z
   Creation Date: 1997-09-15T04:00:00Z
   Registry Expiry Date: 2020-09-14T04:00:00Z
   Registrar: MarkMonitor Inc.
   Registrar IANA ID: 292
   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
   Registrar Abuse Contact Phone: +1.2083895740
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
   Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
   Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name …
Run Code Online (Sandbox Code Playgroud)

dns

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

如何在 Django 管理中允许仅对特定对象进行对象编辑?

我目前正在编写一个网站,它使用django-guardian来分配在整个网站中使用的对象级权限。

这是所需的功能:

我希望用户有权编辑单个对象(或多个对象)。例如,如果有一个名为“Joe”的用户和一个名为“Partyline”的模型,我可以为“Joe”授予 3 个特定“Partyline”对象的“change_partyline”特定权限。

当 Joe 登录 Django 管理面板时,我希望他只能编辑他的 3 个特定的“Partyline”对象,因为这些是他唯一有权编辑的内容。

这是当前的功能:

我可以将 Joe Change_partyline 权限分配给 3 个 Partyline 对象——没问题。乔可以正常登录管理面板。问题是,由于 Joe 没有更改所有派对线的“全局”权限,因此管理面板表示他没有任何权限,并且不允许他编辑任何内容。我想找到一种方法让管理员认识到 Joe 仅具有编辑 3 个特定对象的权限,并让他仅查看和编辑他有权处理的那些对象。

我很想找到一种方法来完成这项工作。我现在广泛使用管理员来让用户管理事务,如果必须将某些功能从管理员中移至网站上的其他区域,确实会破坏演示效果。

如果您有任何建议,请让我知道!

作为参考,以下是一些 shell 输出,证明用户对 Partyline 对象具有 Change_partyline 权限:

>>> from django.contrib.auth.models import User
>>> u = User.objects.get(id=2)
>>> from apps.partylines.models import Partyline
>>> p = Partyline.objects.get(id=3)
>>> u.has_perm('partylines.change_partyline', p)
True
Run Code Online (Sandbox Code Playgroud)

这是我的partylines.admin模块(它显示了 Partyline 模块如何在管理中填充):

from django.contrib import admin
from guardian.admin import GuardedModelAdmin
from apps.partylines.models import Partyline


class PartylineAdmin(GuardedModelAdmin):
    list_display …
Run Code Online (Sandbox Code Playgroud)

python django django-admin django-authentication

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