小编Naf*_*Kay的帖子

在包中定义类

我正在学习Python,我一直在玩包.我想知道在包中定义类的最佳方法.似乎在包中定义类的唯一方法是在该包中定义它们__init__.py.来自Java,我有点想为我的类定义单个文件.这是推荐的做法吗?

我想让我的目录看起来像这样:

recursor/
    __init__.py
    RecursionException.py
    RecursionResult.py
    Recursor.py
Run Code Online (Sandbox Code Playgroud)

所以,我可以请参阅我的班为recursor.Recursor,recursor.RecursionExceptionrecursor.RecursionResult.这是可行的还是推荐的Python?

python module packages class

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

有没有办法自动重新加载Supervisor进程?

我有一个开发服务器,我经常推动代码更改通过Git.每次推送后,我需要手动登录服务器并重新启动管理程序进程.

有没有办法让Supervisor监视文件系统目录以进行更改并重新加载更改过程?

supervisord

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

双向Vagrant Rsync

我已将Vagrant配置为使用Rsync共享文件夹,而不是vboxsf默认情况下由VirtualBox提供的(令人难以置信的SLOW)文件系统:

Vagrant.configure("2") do |config|
    config.vm.synced_folder ".", "/vagrant", type: "rsync",
        rsync__args: ["--verbose", "--archive", "-z"]
end
Run Code Online (Sandbox Code Playgroud)

显然,有更多配置,但我在这里找到了这些说明,它们通常在从主机到访客的同步中工作.

但是,我需要guest才能够同步回主机,因为我的一些构建工具只安装在guest虚拟机上.如何在共享文件夹中双向同步?

rsync virtualbox vagrant

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

在几秒钟内将数字拆分为天,小时,分钟和秒?

我听说使用%大多数编程语言中的模数运算符可以实现这一点.真正的问题是,怎么样?我不熟悉模数是如何工作的,所以我在过去使用它时遇到了困难.鉴于目前的时间是自1970年以来的几秒钟,1307758473.484我怎样才能计算出使用模数的天数,即几小时,即几分钟?

我基本上打算像这样格式化:"5年,10天,12小时,7分钟和18.56秒".我该怎么做?我真的很有兴趣学习这背后的逻辑,对简单的插入式解决方案感兴趣.

theory math logic modulus

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

TemplateSyntaxError'staticfiles'不是有效的标记库'

我试图让staticfilestaglib在我的应用程序中运行时遇到一个非常奇怪的问题.我基本上得到以下错误:

'staticfiles' is not a valid tag library: Template library staticfiles not found, tried django.templatetags.staticfiles,django.contrib.admin.templatetags.staticfiles
Run Code Online (Sandbox Code Playgroud)

这是我的模板,它抛出了这个错误:

{% load staticfiles %}
<html>
    <head>
        {% block stylesheets %}
        <link rel="stylesheet" href="{% static "styles/bootstrap-1.2.0.min.css" %}">
        {% endblock %}
        <title>{% block title %}Tzibor{% endblock %}</title>
    </head>
    <body>
        <h1>It Works!</h1>
        {% block scripts %}
        <script type="text/javascript" src="{% static "scripts/jquery-1.6.2.min.js" %}"></script>
        {% endblock %}
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的settings.py:

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (

)

MANAGERS = ADMINS

DATABASES = …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-staticfiles

10
推荐指数
1
解决办法
9176
查看次数

在Java中实现指数移动平均值

我基本上有一个这样的值数组:

0.25, 0.24, 0.27, 0.26, 0.29, 0.34, 0.32, 0.36, 0.32, 0.28, 0.25, 0.24, 0.25
Run Code Online (Sandbox Code Playgroud)

上面的数组过于简单,我在实际代码中每毫秒收集1个值,我需要处理我编写的算法的输出,以便在某个时间点之前找到最接近的峰值.我的逻辑失败了,因为在我上面的例子中,0.36它是真正的峰值,但我的算法会向后看,并将最后一个数字0.25视为峰值,因为0.24它之前有一个减少.

目标是获取这些值并将算法应用于它们,这将使它们"平滑"一点,以便我有更多的线性值.(即:我希望我的结果是弯曲的,而不是锯齿状的)

我被告知要对我的值应用指数移动平均滤波器.我怎样才能做到这一点?我读取数学方程式真的很难,我对代码的处理要好得多.

如何处理数组中的值,应用指数移动平均值计算来均匀化它们?

float[] mydata = ...
mySmoothedData = exponentialMovingAverage(mydata, 0.5);

float[] exponentialMovingAverage(float[] input, float alpha) {
    // what do I do here?
    return result;
}
Run Code Online (Sandbox Code Playgroud)

java math lowpass-filter

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

Android Studio找不到JAVA_HOME

由于来自Android Studio的一个非常烦人的异常,我似乎无法让我的Android应用程序进行编译:

]()![在此处输入图像说明

Execution failed for task ':myapp-services:compileDebugJava'.
    Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu 12.04,我正在运行Oracle的Java 7 JRE/JDK.

~/.bashrc:

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"
Run Code Online (Sandbox Code Playgroud)

android-studio/bin/studio.sh:

export JAVA_HOME="/usr/lib/jvm/java-7-oracle/"
Run Code Online (Sandbox Code Playgroud)

产量javac -version:

javac 1.7.0_51
Run Code Online (Sandbox Code Playgroud)

产量java -version:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)

产量printenv JAVA_HOME …

java android android-studio

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

在确定变量的值时,不要将某些内容标记为已更改

我在Ansible playbook中有以下角色来确定Packer的已安装版本,如果它与本地变量的版本不匹配,则有条件地安装它:

---
#  detect packer version
 - name: determine packer version
   shell: /usr/local/bin/packer -v || true
   register: packer_installed_version
 - name: install packer cli tools
   unarchive:
       src: https://releases.hashicorp.com/packer/{{ packer_version }}/packer_{{ packer_version }}_linux_amd64.zip
       dest: /usr/local/bin
       copy: no
   when: packer_installed_version.stdout != packer_version
Run Code Online (Sandbox Code Playgroud)

问题/烦恼是Ansible将此步骤标记为"已更改":

截图

我想收集这个事实而不标记改变的东西,所以我可以在我的剧本执行结束时可靠地知道,如果事实上已经改变了.

有没有更好的方法去做我上面做的事情?

ansible

10
推荐指数
1
解决办法
5276
查看次数

mod_rewrite表现不佳

我有一个简单的项目,我正在尝试重写URL以指向几个PHP脚本.

我在服务器上的当前路径是/ project/engine,我在该目录中删除了一个.htaccess文件来执行我的重写:

RewriteEngine On
RewriteRule ^(get|post)/(\w+)$ $1.$2.php
Run Code Online (Sandbox Code Playgroud)

这是一个非常简单的重写.我基本上想要重写这样的URL:/project/engine/get/class对此:/project/engine/get.class.php.

谁能在这里发现错误?如果我尝试在Web浏览器中访问URL,我会在Apache错误日志中收到404并出现以下错误:

[Wed Dec 29 14:57:17 2010] [error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /var/www/project/engine/get (None could be negotiated).
Run Code Online (Sandbox Code Playgroud)

我的apache配置文件如下所示:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # …
Run Code Online (Sandbox Code Playgroud)

apache mod-rewrite

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

使用"fill_parent"无法获得正确的布局

我正试图在Android中创建这个简单的布局.

在此输入图像描述

A应该换行以适应其内容并left|center_vertical对齐.

B应尽可能扩大,填补所有空白空间.

C应该是右对齐的,包装以填充其内容并且也是对齐的center_vertical.

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:gravity="left|center_vertical">
    <!-- A -->
    <ImageView android:id="@+id/example_item_icon"
            android:layout_width="48px"
            android:layout_height="48px"/>
    <!-- B -->
    <LinearLayout android:orientation="vertical"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:gravity="left|center_vertical"
             android:padding="5px">

        <TextView android:id="@+id/example_item_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"/>

        <TextView android:id="@+id/example_item_level_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold|italic"
                android:lines="1"
                android:textSize="10px"/>
    </LinearLayout>
    <!-- C -->
    <TextView android:id="@+id/example_item_count_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="14px"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在这种布局中,C被推离屏幕.如何使此布局有效?

android android-layout

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