小编ali*_*ind的帖子

为什么我不能启动我的gunicorn服务器?"使用中的连接"

我的gunicorn服务器无法启动的任何想法?

jeffy@originaldjangster:~$ sudo /home/jeffy/django_files/django_test_venv/bin/gunicorn -c /home/jeffy/django_files/django_test_venv/gunicorn_config.py django_test.wsgi
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Can't connect to ('127.0.0.1', 8001)
jeffy@originaldjangster:~$
Run Code Online (Sandbox Code Playgroud)

nginx监听http://104.131.200.120/并传递给gunicorn,后者监听127.0.0.1.我在Ubuntu 14上.

我列出了所有进程,看看gunicorn是否已经在运行:

jeffy@originaldjangster:~$ ps -a
   PID TTY          TIME CMD
  7653 pts/1    00:00:00 ps
 jeffy@originaldjangster:~$ ps
   PID TTY          TIME CMD …
Run Code Online (Sandbox Code Playgroud)

gunicorn ubuntu-14.04

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

算法 - O(n)中二进制搜索树的每两个节点之间的距离之和?

问题是找出BinarySearchTree的每两个节点之间的距离之和,假设每个父子对由单位距离分开.每次插入后都要计算.

例如:

 ->first node is inserted..

      (root)

   total sum=0;

->left and right node are inserted

      (root)
      /    \
  (left)   (right)

   total sum = distance(root,left)+distance(root,right)+distance(left,right);
             =        1           +         1          +         2
             =     4

and so on.....
Run Code Online (Sandbox Code Playgroud)

我提出的解决方案:

  1. 蛮力.脚步:

    1. 执行DFS并跟踪所有节点:O(n).
    2. 选择每两个节点并O(nC2)_times_O(log(n))=O(n2log(n))使用最低公共祖先方法计算它们之间的距离并将它们相加.

    整体复杂性:-O(n2log(n)).

  2. O(nlog(n)).脚步:-

    1. 在插入之前执行DFS并跟踪所有节点:O(n).
    2. 计算插入节点与之间的距离:O(nlog(n)).剩下的节点.
    3. 使用步骤2中计算的总和添加现有总和

    整体复杂性:-O(nlog(n)).

现在的问题是"是否存在任何解决方案O(n)

java algorithm dynamic-programming time-complexity binary-search-tree

10
推荐指数
2
解决办法
3153
查看次数

JDK 1.7允许自定义标记名称*起始*带点.JDK 1.8禁止它吗?

我写了一个自定义的Taglet的图书馆与名称开始以一个点:.codelet,.codelet.and.out,等等.它是用JDK 7编译的.

使用1.7生成JavaDoc时javadoc.exe,它工作正常.但是当使用JDK 8生成它时,它失败了,因为

C:\...\Temp.java:5: error: no tag name after @
 * {@.codelet mypkg.Temp}`
Run Code Online (Sandbox Code Playgroud)

如果我使用 taglet(而不是taglet代码本身)将代码更改为{@codelet mypkg.Temp}:

C:\...\Temp.java:5: error: unknown tag: codelet
 * {@codelet mypkg.Temp}
Note: Custom tags that were not seen:  @.codelet
1 error
Run Code Online (Sandbox Code Playgroud)

更改taglet源代码中的名称cod.elet(code.let因为code已经存在的taglet名称不好),并使用该新名称,它可以工作.

-tag选项的JavaDoc工具文档(在该部分的底部附近)指出:

避免冲突:如果要创建自己的命名空间,则可以使用与包用的类似的点分隔命名约定:com.mycompany.todo.Oracle将继续创建名称不包含点的标准标记.您创建的任何标记都将使用Oracle定义的相同名称覆盖标记的行为.如果创建@todo标记或标记,则它始终具有您定义的相同行为,即使Oracle稍后创建了同名的标准标记.

我在这里错过了一些东西吗?或者这是一个无证的变化,真的很糟糕?因为它需要我的库中有一个很大的变化,如果是这样的话.

仅供参考:Taglet概述文档

java javadoc taglet java-8

9
推荐指数
1
解决办法
417
查看次数

Nginx位置最有效的正则表达式

定义匹配类似的位置指令的最有效方法是什么?

location = /[0-9a-zA-Z_-]{1,6} { content_by_lua_file ....}
Run Code Online (Sandbox Code Playgroud)

换句话说,URI匹配1到6个字符的字符串,带有" - ","_",数字和字母.

或者在我的LUA代码中检查字符串长度是否更快,这将通过使用类似的位置指令生成输出

location  / {content_by_lua_file...}
Run Code Online (Sandbox Code Playgroud)

regex webserver nginx

8
推荐指数
2
解决办法
3423
查看次数

使Bloch的构建器模式成为线程安全的:如果NEVER无效,则需要重新检查封装构造函数吗?

我最近学习了Joshua Bloch的构建器模式,用于创建具有许多可选字段的对象.我多年来一直在使用类似的东西,但是直到布洛赫的书向我提出它之前,我从未使用过内部阶级.我喜欢它.

我知道另一个线程可能会在实际构建(使用build())之前更改bulider的配置,这样可能需要重新验证封闭类的构造函数中的所有值.下面是一个构建器类的示例,可以选择性地重新验证其数据.

所以我的问题是这样的:假设这是一个足够强大的设计,当所有值都有默认值时 - 知道这个类是使用默认值的不好选择 - 并且当每次设置尝试都被验证时,是否需要重新检查?虽然它可能不同,但它永远不会无效.那是对的吗?

(虽然这种设计是可管理的,但重新验证的潜在需求肯定会很复杂.老实说,我从来没有多线程,但我不想让我的库无法使用.)

谢谢你的任何建议.

/**
   <P><CODE>java ReverifyBuilderInEnclosingCnstrXmpl</CODE></P>
 **/
public class ReverifyBuilderInEnclosingCnstrXmpl  {
   public static final void main(String[] igno_red)  {

      //Don't reverify
      ReverifyBuilderInEnclosingCnstrXmpl rvbdx = new ReverifyBuilderInEnclosingCnstrXmpl.Cfg().
         name("Big Bird").age(6).build();

      System.out.println(rvbdx.sName);
      System.out.println(rvbdx.iAge);

      //Do reverify
      rvbdx = new ReverifyBuilderInEnclosingCnstrXmpl.Cfg().
         reverifyInEnclosing().
         name("Big Bird").age(6).build();
   }

   public final String sName;
   public final int    iAge;
   /**
      <P>Create a new <CODE>ReverifyBuilderInEnclosingCnstrXmpl</CODE> with defaults.</P>
   **/
   public ReverifyBuilderInEnclosingCnstrXmpl()  {
      //Does not reverify. No need.
      this(new ReverifyBuilderInEnclosingCnstrXmpl.Cfg()); …
Run Code Online (Sandbox Code Playgroud)

java multithreading inner-classes builder-pattern

8
推荐指数
2
解决办法
5139
查看次数

addEventListener无法在javascript中运行

我正在学习addEventListener,我正在测试其中一个例子,但它没有工作.可以有人告诉我我做错了什么

<html>
<head>
<script type="text/javascript">
function click_handler1() { alert("click_handler1"); }
function click_handler2() { alert("click_handler2"); }

    document.getElementById("id1").addEventListener("click", click_handler1, false);
    document.getElementById("id2").addEventListener("click", click_handler2, false);

//window.addEventListener("load", setup, false);
</script>
</head>
<body>
<a id="id1">some stuff</a>
<a id="id2">stuff</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript

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

如何诊断和修复Sublime Text 3中的键绑定冲突?

我粘贴的默认键绑定

{ "keys": ["ctrl+v"], "command": "paste" },
{ "keys": ["ctrl+shift+v"], "command": "paste_and_indent" },
Run Code Online (Sandbox Code Playgroud)

我用我的用户密钥绑定覆盖了它们

{ "keys": ["alt+k"], "command": "paste" },
{ "keys": ["ctrl+k"], "command": "paste_and_indent" },
Run Code Online (Sandbox Code Playgroud)

(我使用Dvorak,这意味着 V我的 K.另外,我想paste_and_indent成为默认.)

ctrl+k执行paste,而不是paste_and_indent.我通过打开控制台中的命令日志来确定这一点

sublime.log_commands(True)
Run Code Online (Sandbox Code Playgroud)

但是,如果我将paste_and_indent命令发送到其他东西,比如ctrl+alt+k或者alt+k,它会正确调用paste_and_indent.

我查看了所有已安装软件包的密钥绑定,并且没有看到任何其他命令使用ctrl+k.除了语法之外,我还禁用了几乎所有的包(我甚至意外地禁用了包控制),但仍然ctrl+k只执行paste.

如何确定并修复此冲突,ctrl+k执行paste_and_indent

sublimetext sublimetext2 sublimetext3

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

在Django logout内置视图中添加extra_context

django/contrib/auth/views.py那里有注销视图的定义:

def logout(request, next_page=None,
       template_name='registration/logged_out.html',
       redirect_field_name=REDIRECT_FIELD_NAME,
       current_app=None, extra_context=None):
Run Code Online (Sandbox Code Playgroud)

我想添加extra_context来摆脱我注销时出现的'Logged out'标题

所以我在我的网址中尝试这个:

(r'^accounts/logout/$', logout(extra_context={'title':'something else'}) ),
Run Code Online (Sandbox Code Playgroud)

但后来我得到这个错误:logout()至少需要1个非关键字参数(0给出)我做错了什么?ps:当我这样做的时候

(r'^accounts/logout/$', logout ),
Run Code Online (Sandbox Code Playgroud)

它有效,但后来我得到了"退出"文字......

谢谢,弗雷德

django logout django-views django-authentication

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

Django makemigrations工作,迁移失败"django.db.utils.IntegrityError:NOT NULL约束失败"

我被卡住了.Django 1.7,SQLite3.

我已经更改了我的模型以添加thumbnail列,如本教程中所示.就是这样:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    pub_date = models.DateTimeField('date published')
    likes = models.IntegerField(default=0)

    def __str__(self):
        return  self.title
Run Code Online (Sandbox Code Playgroud)

现在是这样的:

from django.db import models
from time import time         

def get_upload_file_name(instance, filename):
    return  "uploaded_files/%s_%s" % (str(time()).replace(".", "_"), filename)

class Article(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    pub_date = models.DateTimeField('date published')
    likes = models.IntegerField(default=0) 
    thumbnail = models.FileField(upload_to=get_upload_file_name, null=True)

    def __str__(self):
        return  self.title
Run Code Online (Sandbox Code Playgroud)

我将所有数据备份到json文本文件中

python manage.py dumpdata article --indent=4 > article.json
Run Code Online (Sandbox Code Playgroud)

然后执行 …

python sqlite django

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

如何调试返回值的bash函数,以及如何向变量添加换行符?

我今天正在参加一个bash速成课程.

这是一个bash函数,通过echo 返回一个值:

#!/bin/bash
get_hello_name() {
  echo 'Hello $1!'
}
msg=$(get_hello_name "x")
echo $msg
Run Code Online (Sandbox Code Playgroud)

输出:

$ bash ./initial_script5.sh
Hello $1!
Run Code Online (Sandbox Code Playgroud)

然后我错误地认为最后一个回声被返回(我来自Java和Python),并且试图使用echo来调试函数的其余部分.

然后我想知道为什么尽管我在这个问题中尝试了每一个建议,但我无法在回声中打印掉换行符.

此脚本演示了此问题:

#!/bin/bash
a_function() {
  echo "---In function"

  printf %"s\n" hello world
  printf "Hello\nworld"
  echo $'hello\nworld'
  echo -e 'hello\nworld'
}

echo "---Pre function"
printf %"s\n" hello world
printf "Hello\nworld"
echo $'hello\nworld'
echo -e 'hello\nworld'

x=$(a_function "x")
echo $x

echo "---Post function"
printf %"s\n" hello world
printf "Hello\nworld"
echo $'hello\nworld'
echo -e 'hello\nworld' …
Run Code Online (Sandbox Code Playgroud)

bash scripting ubuntu-14.04

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