小编sil*_*der的帖子

rubymine中的探测器

我创建了大量的脚本来分析和存储数据,我真的需要知道我的代码中哪些行消耗大部分时间.Rubymine是否具有探查器功能,或者可能以某种方式添加探查器?

performance profiling ruby-on-rails rubymine

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

使用log4j2时,日志文件为空

我在我的项目中使用log4j2,如下所示:

    logger.log(Level.ERROR, this.logData);
Run Code Online (Sandbox Code Playgroud)

我的配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>


<Configuration status="ERROR" DLog4jContextSelector="org.apache.logging.log4j.core.async.AsyncLoggerContextSelector">
    <Appenders>
        <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
        <RandomAccessFile name="RandomAccessFile" fileName="C:\\logs\\log1.log" immediateFlush="false" append="false">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
            </PatternLayout>
        </RandomAccessFile>
    </Appenders>
    <Loggers>
        <Root level="error" includeLocation="false">
            <AppenderRef ref="RandomAccessFile"/>
        </Root>
    </Loggers>
Run Code Online (Sandbox Code Playgroud)

它创建了我的文件,我记录了它,但它仍然是空的.当我尝试删除此文件时,操作系统告诉我它正在使用(如果应用程序当前正在工作),但即使我停止应用程序,文件仍然是空的.

那么我应该更改哪些设置才能使其正常工作?

java configuration logging log4j log4j2

6
推荐指数
2
解决办法
4623
查看次数

mongoose:如何获取查询的字符串表示

我实现的模块会根据请求的params自动生成mongoose查询,因​​此为了简化测试过程,我需要能够获得最终查询的文本表示.我怎么能这样做?

就像我们有这样的事情:

var q = AppModel.find({id:777}).sort({date:-1})

我需要得到这样的东西

"db.appmodels.where({id:777}).sort({date: -1})"
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

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

安装 pandas 包时出错:没有名为 numpy 的模块

我有一个包含多个项目的大型解决方案。我用virtualenv这个。因此,对于解决方案中的一个项目,我已经安装了我需要的东西,包括numpypandas

但是当我执行类似的操作时:

cd ../project2
sudo python setup.py develop
Run Code Online (Sandbox Code Playgroud)

安装包失败pandas并显示错误

ImportError: no module named numpy
Run Code Online (Sandbox Code Playgroud)

但如果我之后立即运行类似的操作

python
import numpy
numpy.version.version
import pandas
pandas.version.version
Run Code Online (Sandbox Code Playgroud)

它绝对正确地解析了此代码,并显示了已安装的软件包的版本。

那么问题出在哪里,我该如何解决它才能安装项目依赖项?

操作系统:Ubuntu 12.04 LTS、Python 2.7.3


python -msite输出

sys.path = [
    '/home/user1/code/myproject/project2',
    '/home/user1/code/myproject/project1/src',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7',
    '/home/user1/code/myproject/venv/lib/python2.7/plat-linux2',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-tk',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-old',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-dynload',
    '/usr/lib/python2.7',
    '/usr/lib/python2.7/plat-linux2',
    '/usr/lib/python2.7/lib-tk',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages',
]
USER_BASE: '/home/user1/.local' (exists)
USER_SITE: …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

6
推荐指数
2
解决办法
7382
查看次数

使用boost :: filesystem添加标头后,再也找不到来自Google测试的单元测试

我有一个使用Google测试框架的单元测试项目,我的测试工作正常。但是现在我添加了boost::filesystemheader之类的东西#include <boost/filesytem.hpp>,之后我的项目链接和编译就很好了,但是根本没有找到测试,当我运行测试时,它给了我-

Process finished with exit code -1073741515 (0xC0000135) 
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

就像我有这段代码一样:

#include <gtest/gtest.h>
TEST(Test, Test1){
    ASSERT_FALSE(true);
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好,并找到失败的测试用例,但是如果我添加boost header像这样:

#include <gtest/gtest.h>
#include <boost/filesystem.hpp>
TEST(Test, Test1){
    ASSERT_FALSE(true);
} 
Run Code Online (Sandbox Code Playgroud)

之后,什么也没找到。我使用cmake/clion/cygwin基于环境。将适用于您的想法如何解决这些问题。

c++ boost unit-testing cmake googletest

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

排列值顺序的迭代器

我有一个简单的排列结构:

struct Permutation
{
   vector<string> items; // ["val_0", "val_1", "val_2", "val_3", "val_4"]
   vector<short> permutationValue;  // Let's say value is [4, 2, 0, 1, 3]
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在范围循环中使用它,就像那样

for(string item: permutation){
{ 
    cout << item << endl;
}
Run Code Online (Sandbox Code Playgroud)

最终预期产量应为:

val_4
val_2
val_0
val_1
val_3
Run Code Online (Sandbox Code Playgroud)

我应该在Permutation课堂上实施哪些方法来实现它?

c++ iterator permutation c++11

6
推荐指数
2
解决办法
179
查看次数

Jersey(JAX-RS)如何使用多个可选参数映射路径

我需要将带有多个可选参数的路径映射到我的端点

路径看起来像localhost/func1/1/2/3localhost/func1/1localhost/func1/1/2该路径应正确匹配

public Double func1(int p1, int p2, int p3){ ... }

我的注释应该用什么?

使用Jersey找到使用多个可选参数的方法,而不是学习REST设计是测试任务.

java jax-rs jersey

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

EntityFramework 核心(七)如何映射protected/private 属性

看起来像映射到 db 的私有/受保护属性的方式在 EntityFramework 核心中发生了变化

那么我应该怎么做才能正确映射这个类:

class Model
{
   protected string _roles {get; set;}
   [NotMapped] 
   public IEnumerables<RoleName> Roles => Parser_rolesToRoleNames(_roles)
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

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

如果没有HttpContext或ActionContext,如何在.net核心中构建URL

我正在实现电子邮件发送模块,并且需要构建URL。我的意图是使用IUrlHelper,但由于它需要提供大量的依赖关系,因此我确实很难构建该对象。

目前,我正在执行此步骤:

ActionContext actionCtx = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
_urlHelper = new UrlHelper(actionCtx);
Run Code Online (Sandbox Code Playgroud)

但是以这种方式构造时,urlHelper在尝试构建URL时仍然会失败,并出现异常。

例外是:

索引超出范围。必须为非负数并且小于集合的大小。参数名称:Microsoft.AspNetCore.Mvc.Routing.UrlHelper.get_Router()上System.Collections.Generic.List`1.get_Item(Int32 index)处System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument参数,ExceptionResource资源)处的索引

所以现在可能需要创建和设置IRouter实例,但是正如我所看到的,再次需要设置大量的deps

那么应该如何正确完成呢?

c# asp.net-core-mvc .net-core asp.net-core

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

为什么子级重写属性的 MemberExpression 显示父级属性

假设我们有 2 个班级

class A{
   public abstract int Prop1 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

这是孩子

class Child : A{
   [CustomAttr(someval)] 
   override public int Prop1 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

所以稍后在我的代码中我需要获取此自定义属性的 val。

bool haveCustomAttr(IExpression<Func<Child, int>> property){
    return ((MemberExpression)property.Body).Member.GetCustomAttributes(typeof(CustomAttr)).Any();
}
Run Code Online (Sandbox Code Playgroud)

所以当我调用这段代码时

haveCustomAttr(c => c.Prop1)
Run Code Online (Sandbox Code Playgroud)

它的返回是false因为((MemberExpression)property.Body).Member它是出于某种原因A.Prop1而不是Child.Prop1

可以用这样更先进的结构来修复

((MemberExpression)property.Body).Expression.Type.GetMember(((MemberExpression)property.Body).Member
                .Name)[0].GetCustomAttributes(typeof(CustomAttr), false).Any(); 
Run Code Online (Sandbox Code Playgroud)

但我仍然不清楚为什么它最初会威胁这个表达式作为基类,如果它明确地说它是来自Child类的表达式。有人能为我解释一下这背后的逻辑吗?

.net c# reflection attributes linq-expressions

5
推荐指数
0
解决办法
188
查看次数