我创建了大量的脚本来分析和存储数据,我真的需要知道我的代码中哪些行消耗大部分时间.Rubymine是否具有探查器功能,或者可能以某种方式添加探查器?
我在我的项目中使用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)
它创建了我的文件,我记录了它,但它仍然是空的.当我尝试删除此文件时,操作系统告诉我它正在使用(如果应用程序当前正在工作),但即使我停止应用程序,文件仍然是空的.
那么我应该更改哪些设置才能使其正常工作?
我实现的模块会根据请求的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) 我有一个包含多个项目的大型解决方案。我用virtualenv
这个。因此,对于解决方案中的一个项目,我已经安装了我需要的东西,包括numpy
和pandas
但是当我执行类似的操作时:
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) 我有一个使用Google测试框架的单元测试项目,我的测试工作正常。但是现在我添加了boost::filesystem
header之类的东西#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
基于环境。将适用于您的想法如何解决这些问题。
我有一个简单的排列结构:
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
课堂上实施哪些方法来实现它?
我需要将带有多个可选参数的路径映射到我的端点
路径看起来像localhost/func1/1/2/3
或localhost/func1/1
或localhost/func1/1/2
该路径应正确匹配
public Double func1(int p1, int p2, int p3){
...
}
我的注释应该用什么?
使用Jersey找到使用多个可选参数的方法,而不是学习REST设计是测试任务.
看起来像映射到 db 的私有/受保护属性的方式在 EntityFramework 核心中发生了变化
那么我应该怎么做才能正确映射这个类:
class Model
{
protected string _roles {get; set;}
[NotMapped]
public IEnumerables<RoleName> Roles => Parser_rolesToRoleNames(_roles)
}
Run Code Online (Sandbox Code Playgroud) 我正在实现电子邮件发送模块,并且需要构建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
那么应该如何正确完成呢?
假设我们有 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
类的表达式。有人能为我解释一下这背后的逻辑吗?
c# ×3
c++ ×2
java ×2
.net ×1
.net-core ×1
asp.net-core ×1
attributes ×1
boost ×1
c++11 ×1
cmake ×1
googletest ×1
iterator ×1
jax-rs ×1
jersey ×1
log4j ×1
log4j2 ×1
logging ×1
mongodb ×1
mongoose ×1
node.js ×1
numpy ×1
pandas ×1
performance ×1
permutation ×1
profiling ×1
python ×1
reflection ×1
rubymine ×1
unit-testing ×1