有时当我看到我的日志代码时,我想知道我是否做得对.可能没有明确的答案,但我有以下问题:
图书馆课程
我有几个库类可能会记录一些INFO消息.致命错误报告为例外.目前我的类中有一个静态记录器实例,类名作为日志名称.(Log4j的:Logger.getLogger(MyClass.class))
这是正确的方法吗?也许这个库类的用户不希望我的实现发送任何消息,或者想要将它们重定向到特定于应用程序的日志.我应该允许用户从"外部世界"设置记录器吗?你如何处理这种情况?
一般日志
在某些应用程序中,我的类可能希望将日志消息写入未由类名称标识的特定日志.(即:) HTTP Request log这样做的最佳方法是什么?想到一个查找服务......
此目标要求您配置要复制的资源,并指定outputDirectory.
basedir使用maven 将两个(或更多)外部资源目录复制到构建输出目录中(请参阅blah和uggh).
${basedir}/
- pom.xml
- blah/
- uggh/
- src/
- main/..
- test/..
- target/
- classes/..
- blah/
- uggh/
Run Code Online (Sandbox Code Playgroud)
例如,给定上面的目录结构copy blah并uggh使用maven到目标目录.复制一个或另一个很容易,但插件只接受一个outputDirectory.如果将target目录和两个目录指定为资源,则会复制每个目录的内容,target但不会复制目录本身.
插件的额外使用会覆盖初始.此外,我已经尝试指定整个basedir,只包括所需的目录.这不会复制任何东西.
以下是复制单个目录的示例:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/blah</outputDirectory>
<resources>
<resource>
<directory>blah</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我想创建一个自动编织器报告,它将为我的数据帧中的每个数字字段生成直方图.我的目标是在不必指定实际字段的情况下执行此操作(此数据集包含超过70个,我还想重用该脚本).
我尝试过几种不同的方法:
p然后p在循环
后调用PLOTS <- NULL,并在循环中附加绘图PLOTS <- append(PLOTS, p)
.png文件保存到文件中,但不必处理保存然后重新访问每个文件的开销我担心情节设备的复杂性正在逃避我.
如何将循环内的每个绘图输出到报告中?目前,我能做到的最好的是输出最终绘图,将其保存到对象并在循环外调用该对象.
knitr在RStudio中使用R markdown chunk :
```{r plotNumeric, echo=TRUE, fig.height=3}
suppressPackageStartupMessages(library(ggplot2))
FIELDS <- names(df)[sapply(df, class)=="numeric"]
for (field in FIELDS){
qplot(df[,field], main=field)
}
```
Run Code Online (Sandbox Code Playgroud)
从这一点来说,我希望进一步定制这些图.
我正在尝试构建自定义django表单以更改应用程序的用户名和用户电子邮件.这就是为什么我需要将会话中的用户详细信息传递给表单以检查记录的用户是否存在.我这样做:
在views.py中
personal_info_form = PersonalInfoForm(prefix='personal_info',
user_details=user_details)
Run Code Online (Sandbox Code Playgroud)
user_details字典在哪里:
'user_details': [{'username': u'username',
'registration_date': datetime.date(2009, 10, 22),
'id': 13, 'email': u'user@mail.com'}]}
Run Code Online (Sandbox Code Playgroud)
在forms.py中,我有以下代码:
class PersonalInfoForm(forms.Form):
def __init__(self, *args, **kwargs):
user_details = kwargs.pop('user_details', None)
super(PersonalInfoForm, self).__init__( *args, **kwargs)
username = forms.CharField(required=True, initial=user_details[0]['username'])
email = forms.EmailField(required=True)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
name 'user_details' is not defined
Run Code Online (Sandbox Code Playgroud)
我试着访问它self.user_details,只有user_details和它给了我同样的错误
每当我尝试使用Intellij中的gradle做任何事情时,我都会收到如下错误:
Executing command: "tasks"
Failed to connect to gradle process for command 'tasks'
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.0\jre
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Run Code Online (Sandbox Code Playgroud)
但是在我的环境中,我已经JAVA_HOME在不同的目录中设置了正确的JDK.此外,当我查看IntelliJ项目时,它还会在正确的JDK位置显示JDK.我找不到任何试图将JDK指向Intellij JRE位置的东西.
有什么想法吗?
如何设置nginx为example.com本地运行的tomcatwebapp 的反向代理http://127.0.0.1:8080/blah/而不打破pageContext?
存在一个tomcat 7 webapp,blah部署了一个.war文件并且坐在里面/var/lib/tomcat7/webapps/blah/.
tomcat在本地运行,可访问http://127.0.0.1:8080.多个webapps正在运行,可以在以下位置访问:
http://127.0.0.1:8080/blah/http://127.0.0.1:8080/foo/http://127.0.0.1:8080/bar/端口8080被防火墙外部阻止.
nginx作为网守在服务器上运行.一个站点可以访问上面提到的所有本地tomcat webapps.这适用于example.com:
server {
listen 80;
server_name example.com;
root /var/lib/tomcat/webapps/ROOT/;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
Run Code Online (Sandbox Code Playgroud)
blah直接访问?在/etc/nginx/sites-enabled/另一个站点文件下设置路由http://blah.com到http://127.0.0.1:8080/blah/但有问题.
server {
listen 80;
server_name blah.com …Run Code Online (Sandbox Code Playgroud) 我想使用数组切片来修剪我的数组,即
a_trimmed = a[trim_left:-trim_right]
Run Code Online (Sandbox Code Playgroud)
这很好,除非trim_right是0,我得到a[trim_left:0],这是一个空数组.
我想我能做到
a[trim_left:a.shape[0]-trim_right]
Run Code Online (Sandbox Code Playgroud)
但它更丑陋.表达这种最简洁的方法是什么?
我有一个5000*5000numpy数组,我想要计算大小为25的窗口的Kurtosis.我尝试将scipys自己的kurtosis功能放入generic_filter发现中,ndimage.filters如下所示:
import numpy as np
from scipy.stats import kurtosis
from scipy.ndimage.filters import generic_filter
mat = np.random.random_sample((5000, 5000))
kurtosis_filter = generic_filter(mat, kurtosis, size=25, mode='reflect')
Run Code Online (Sandbox Code Playgroud)
这永远不会结束,我不确定它会给出正确的答案.所以我的第一个问题是,这是否是使用generic_filterscipy函数的正确方法.如果它恰好是正确的,那么它对我来说太慢了.所以我的下一个问题是,如果有更快的方法来实现这一目标?例如,考虑标准偏差,您可以简单地执行以下操作:
usual_mean = uniform_filter(mat, size=25, mode='reflect')
mean_of_squared = uniform_filter(np.multiply(mat,mat), size=25, mode='reflect')
standard_deviation = (mean_of_squared - np.multiply(usual_mean,usual_mean))**.5
Run Code Online (Sandbox Code Playgroud)
这是非常快速的,简单来自$\sigma ^ 2 = E [(X - \mu)^ 2] = E [X ^ 2] - (E [X])^ 2 $的事实.
我了解AWS快照可以创建EBS卷的增量备份.只要从同一卷生成快照,AWS是否会自动处理增量部分(即仅存储已更改的部分)?
我不清楚,因为他们没有列出快照的实际大小或允许你在S3中查看它们(据我所知).除了创建它们的卷之外,没有任何指示快照是相关的.是否可以将任何快照(包括第一个)视为原始AMI的增量?我很想知道它们是如何实际实现的,或者第一个快照是存储在我的个人S3帐户中的完全独立的图像.
我知道jython可以用作virtualenv的python解释器.简单如下:
virtualenv -p /usr/local/bin/jython jython-env --no-site-packages
Run Code Online (Sandbox Code Playgroud)
假设我根本不想安装jython,而是使用独立的jar作为vitualenv的python解释器.这可能吗?
运用