小编Mat*_*ell的帖子

无法删除真正存在的文件 - 致命:pathspec ...与任何文件都不匹配

无法删除真正存在的文件 - 致命:pathspec ...与任何文件都不匹配

我有一个git控件下的文件,根本不会被删除.失败的命令是:

$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files
Run Code Online (Sandbox Code Playgroud)

下面我列出了目录内容,分支等.到目前为止,我已经在目录中尝试了rm,并且为了防止有趣的角色而逃避,我真的很难过.我搜索了网络,但没有具体找到这个.提前致谢!

$ git branch -a
* dot-output
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/modelspace
$ 

$ git status
# On branch dot-output
# Untracked files:
# ...

$ ls .idea/
ant.xml         encodings.xml       modules.xml     workspace.xml
compiler.xml        inspectionProfiles  scopes
copyright       libraries       testrunner.xml
dictionaries        misc.xml        vcs.xml

$ ls -al
total 56
drwxr-xr-x  16 matt  staff    544 Apr 10 11:33 .
drwxr-xr-x@ 33 matt  staff   1122 Apr 10 …
Run Code Online (Sandbox Code Playgroud)

git intellij-idea

155
推荐指数
3
解决办法
17万
查看次数

Python中的函数重载:缺失

如上所述:

http://web.archive.org/web/20090624083829/http://mail.python.org/pipermail/python-list/2003-May/206149.html

Python中没有函数重载.

据我所知,这也是一个很大的障碍,因为它也是一种OO语言.最初我发现无法区分参数类型很困难,但Python的动态特性使其变得容易(例如,列表,元组,字符串非常相似).

然而,计算传递的参数数量然后完成工作就像是一种矫枉过正.

python overloading missing-features

61
推荐指数
5
解决办法
10万
查看次数

如何在POST期间获取不同资源的JAX-RS @Path?

我有两个REST类用于简单的Web服务(Jersey和GlassFish),它涉及用户资源 - 一个用于操作所有用户(例如,@POSTing的工厂),另一个用于个人用户(例如@GET,@ PUT,@删除).他们在:

@Stateless @Path("users") public class AllUsersResource {...}
@Stateless @Path("user") public class OneUserResource {...}
Run Code Online (Sandbox Code Playgroud)

分别.在POST到AllUsersResource时,我想返回Response.created(uri).build()新用户的位置(通过),例如,

http://localhost:8080/.../user/152
Run Code Online (Sandbox Code Playgroud)

我的问题是如何做到这一点.AllUsersResource注入了@Context UriInfo uriInfo,但这并没有让我获得OneUserResource的@Path信息,只获得当前调用的信息("users").我最终使用它的方式只是使用反射,但我担心它是脆弱和不洁的:

OneUserResource.class.getAnnotation(Path.class).value();
Run Code Online (Sandbox Code Playgroud)

搜索StackOverflow我发现尝试的其他事情如下,但没有成功:

  • com.sun.jersey.api.core.ResourceContext
  • javax.ws.rs.core.UriInfo.getMatchedResources()
  • @javax.inject.Inject OneUserResource oneUserRes;

任何帮助都会很棒!

java rest jax-rs path jersey

14
推荐指数
3
解决办法
2万
查看次数

在JAX-RS单元测试中挂钩@EJB或@PersistenceContext注入

我很高兴学习JAX-RS和Jersey,但我遇到了试图测试需要注入DAO的简单资源的障碍,如下所示:

@Stateless
@Path("simple")
public class SimpleResource {

    @PersistenceContext
    private EntityManager em;

// @GET, etc...

}
Run Code Online (Sandbox Code Playgroud)

(我将转向更抽象的DAO模式,但问题是一样的,即如何注入@EJB DAO?)

在我的单元测试中,我使用嵌入式Jetty服务器在其web.xml中配置Jersey,我想挂钩资源的生命周期,以便我可以注入一个模拟EntityManager,但我没有找到一个干净的答案经过大量的搜索.你能帮我吗?我遇到的一些可能的方向:

1)在我的代码中使用JNDI上下文查找来获取DAO bean,并在测试中注册模拟对象.

而不是@EJB或@PersistenceContext,在资源的构造函数中使用这样的东西:

  theDAO = (DAOImpl) new InitialContext().lookup("java:global/EJB/DAOImpl");
Run Code Online (Sandbox Code Playgroud)

但是,这意味着我的测试环境需要支持JNDI,而在Jetty中这样做可能会带来一些痛苦.另外,它不使用干净的注释方法.

2)使用方法注射.

注入方法,以便我可以设置DAO后实例化,例如,

@PersistenceContext(name = "persistence/pu00")
public void setPersistenceUnit00(final EntityManager em) {
    em00 = em;
}
Run Code Online (Sandbox Code Playgroud)

要么

private MyEjbInterface myEjb;
@EJB(mappedName="ejb/MyEjb")
public void setMyEjb(MyEjb myEjb) {
    this.myEjb = myEjb;
}
Run Code Online (Sandbox Code Playgroud)

但是,要做到这一点,我需要Jersey实例化的实例,例如,SimpleResource.我怎么做到的?

3)使用反射.

一种DIY注射,如:

public static void setPrivateField(Class<? extends Object> instanceFieldClass, Object instance, String fieldName, Object fieldValue) {
    Field setId = instanceFieldClass.getDeclaredField(fieldName);
    setId.setAccessible(true);
    setId.set(instance, fieldValue); …
Run Code Online (Sandbox Code Playgroud)

unit-testing ejb jax-rs jersey

14
推荐指数
1
解决办法
3085
查看次数

如何在没有ARRAY_AGG的情况下获取GROUP BY中的第一个(或任何单个)值?

我迁移一些SQL和PostgreSQL 9.2至7.0 Vertica的,我可以利用一些帮助的Postgres更换的冷静ARRAY_AGG的东西,功能Vertica的(可能还有其他RDBMS)支持,如分区和窗口功能.我是这些功能的新手,我真的很感激你的想法.

使用array_agg(sql fiddle demo)的(工作)查询:

SELECT B.id, (array_agg(A.X))[1]
FROM B, AB, A
WHERE B.id = AB.B_id AND A.id = AB.A_id AND A.X IS NOT NULL
GROUP BY B.id;
Run Code Online (Sandbox Code Playgroud)

如果我试图在没有聚合的情况下天真地选择AX(即,让RDBMS选择 - 实际上与MySQL和SQLite一起工作),postgres抱怨.运行相同的查询但使用"AX"而不是"(array_agg(AX))1 ":

ERROR:  column "a.x" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT B.id, A.X
Run Code Online (Sandbox Code Playgroud)

我正在考虑尝试一个窗口函数,例如,从这个问题:

SELECT email, FIRST_VALUE(email) OVER (PARTITION BY email)
FROM questions
GROUP BY email;
Run Code Online (Sandbox Code Playgroud)

但我得到同样的错误:

SELECT B.id, …
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by aggregate-functions vertica

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

我该如何开始进行单元测试使用嵌入的GlassFish和Java DB /德比在Java EE JAX-RS应用程序,最好在NetBeans SANS Maven的?

我是比较新的JAX-RS,JPA,GlassFish的,Java DB的,和NetBeans,我想编写单元测试我的代码.[版本号在底部.]但是,我坚持从哪里开始.我已经做了很多搜索,但我还没有清楚地了解如何设置我的代码的嵌入式测试.我正在使用NetBeans,但我的问题很笼统.我希望我能更清楚地形成我的问题,但这是我能做的最好的事情.到目前为止,我已经找到了以下可能的部分(更像是此时的提示).

o我想在没有Maven的情况下进行设置,但这意味着我必须手动安装嵌入式jar.问:我在哪里可以找到它们?

o创建指定GlassFish和Java DB嵌入版本的config xml文件版本(glassfish-resources.xml和persistence.xml).问:但是,您如何告诉NetBeans使用它们进行测试而不是依赖于已安装版本的生产?

我认为persistence.xml看起来像这样(从使用嵌入式德比的hibernate):

  <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
  <property name="javax.persistence.jdbc.url" value="jdbc:derby:test"/>
  <property name="javax.persistence.jdbc.user" value="root"/>
  <property name="javax.persistence.jdbc.password" value="root"/>
Run Code Online (Sandbox Code Playgroud)

o创建自定义Glassfish域配置文件(Embedded GlassFish忽略Maven测试资源).问:这应该是什么样的?我从使用NetBeans安装创建的默认domain1中获取了domain.xml,但它有很多内容.

o一旦我的项目可以访问嵌入的文件,并且它被配置为使用它们,我的JUnit线束应该是什么样的?http://jersey.java.net/nonav/documentation/latest/client-api.html#d4e759说:

protected void setUp() throws Exception {
  ...
    glassfish = new GlassFish(BASE_URI.getPort());
    ScatteredWar war = new ScatteredWar(...);
    glassfish.deploy(war);
  ...
Run Code Online (Sandbox Code Playgroud)

但是,我也看到提到的EJBContainer,例如,(从http://docs.oracle.com/javaee/6/tutorial/doc/gkcqz.html):

@BeforeClass
public static void initContainer() throws Exception {
  ec = EJBContainer.createEJBContainer(); ctx = ec.getContext();
}
Run Code Online (Sandbox Code Playgroud)

o我正在使用JPA,所以我需要访问PersistenceContext/EntityManager.目前我通过以下方式查询:

new InitialContext().lookup("java:module/<jax-rs resource name>");
Run Code Online (Sandbox Code Playgroud)

但我也看到了:

    emf = Persistence.createEntityManagerFactory("chapter02PU");
Run Code Online (Sandbox Code Playgroud)

问:什么是正确的方法来掌握这个?

我将衷心感谢您的帮助.

  • 版本:
    • GlassFish …

jax-rs java-ee javadb glassfish-embedded

4
推荐指数
1
解决办法
2322
查看次数

如何在小型Vertica数据库中加速慢速多连接查询(总行约120K,10分钟)

我很乐意帮助您理解为什么这个连接繁重的查询需要大约10分钟才能在一个总共<120K行的七个表的小型数据库上运行,理想情况下,如何在我们的四个小集群上更快地获取建议节点.我在这里提供了支持信息:https://gist.github.com/anonymous/8862796(表格列表,表格列表和表格大小),但以下是查询和EXPLAIN VERBOSE输出.我在此查询上运行了ANALYZE_WORKLOAD(),然后按照其建议在所有表上运行ANALYZE_STATISTICS.这导致没有改善.然后,我做了第二个运行Database Designer的建议,这导致性能更低.我非常感谢你的帮助.

档案信息

感谢以下提示re:PROFILE.我运行它并将结果放在这里:https://gist.github.com/anonymous/8935190.这是8K行长,所以也许我没有正确运行它(详细说明).问题:如何开始分析?

查询背景故事

查询混乱的原因主要是因为它是为我们的机器学习研究软件的每次运行动态生成的,它必须通过所涉及的ER表走路径图形式,应用各种条件.在这种情况下,路径是[费率,电影,费率,ml_user,费率,电影,费率].在程序探索解决方案空间的过程中逐步建立查询,这就是为什么(当前)没有人们通过@wumpz和@Bohemian友好正确地建议的优化,例如,消除子选择.这意味着我有点'坚持目前的短期形式: - /

 ------------------------------ 
 QUERY PLAN DESCRIPTION: 
 ------------------------------

 Opt Vertica Options
 --------------------
 PLAN_OUTPUT_SUPER_VERBOSE


 EXPLAIN VERBOSE
 SELECT relVarTable0.id AS id, relVarTable1.val, relVarTable2.val 
 FROM (SELECT id FROM rates) relVarTable0
 LEFT JOIN
 (SELECT rates1.id AS id, AVG(rates4.rating) AS val 
 FROM rates rates1, movie movie1, rates rates2, ml_user ml_user1, rates rates3, movie movie2, rates rates4 
 WHERE movie1.id = rates1.movie_id AND movie1.id = rates2.movie_id AND ml_user1.id = rates2.ml_user_id AND ml_user1.id = …
Run Code Online (Sandbox Code Playgroud)

sql performance join vertica

4
推荐指数
1
解决办法
4094
查看次数

如何强制SQLAlchemy包含重复列?

我正在学习SQLAlchemy表达式语言,我正在尝试执行一个简单的查询,通过select([users.c.id, users.c.id])以下方式返回单个重复列:

from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData, insert, select
engine = create_engine('sqlite:///:memory:', echo=True)
conn = engine.connect()
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('fullname', String),
)
metadata.create_all(engine)
conn.execute(users.insert(), [
{'id': 1, 'name' : 'jack', 'fullname': 'Jack Jones'},
{'id': 2, 'name' : 'wendy', 'fullname': 'Wendy Williams'},
])
print(list(conn.execute(select([users.c.id, users.c.id]))))
Run Code Online (Sandbox Code Playgroud)

哪个输出:

[(1,), (2,)]
Run Code Online (Sandbox Code Playgroud)

即,只有两个请求列中的一个.我期望:

[(1, 2), (2, 2)]
Run Code Online (Sandbox Code Playgroud)

为了仔细检查我的期望是否正确,我直接在sqlite3和PostgreSQL 9.2(下面的[1]和[2])中运行了等效查询,两者都正确地返回了重复的id.我正在使用SQLAlchemy版本0.8.0b2,Python 3.2.3,sqlite3 3.6.12和Mac OS X 10.6和10.7.

提前致谢!

[1] sqlite3

$ sqlite3 temp.db …
Run Code Online (Sandbox Code Playgroud)

sql sqlalchemy

3
推荐指数
1
解决办法
683
查看次数

有时为参数而不是参数对象传递复杂的字典是更好的做法吗?

我已经使用 Python 编程一年了,来自 Java 背景,我注意到,至少在我的组织中,将复杂参数传递给函数的风格是使用字典或元组,而不是一个专门的参数类。例如,我们有一个方法,它接受三个字典,每个字典都以特定的方式构造,每个字典本身都被格式化为元组。构建 args 和阅读代码对我来说很复杂。下面是一个传递参数的例子:

{'[A].X': ((DiscreteMarginalDistribution, ('red', 'blue')), ()),
 '[A].Y': ((DiscreteConditionalDistribution, ('yellow', 'green'), ('red', 'blue')),
           (IdentityAggregator('[A].X'), ))
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 像这样传递字典/元组是一种常见的 Python 习语吗?
  2. 如果有的话,您何时编写 Python 代码来使用后者(参数实例)?例如,当嵌套结构超过某个复杂性阈值时。

提前致谢!

python parameters arguments

3
推荐指数
1
解决办法
1824
查看次数

是否有解决方法来解决 Vertica 一次只能使用一个数据库的限制?

我们是 Vertica 的新手,发现一次只能有一个数据库处于 UP/活动状态这一点相对令人惊讶。在我们的研究工作中,我们需要一次访问多个数据库,因此我想知道其他 Vertica 用户如何管理此限制。到目前为止我想到的唯一方法是a)轮流(根据需要启动和停止数据库),或b)(错误)使用模式将表分组到逻辑数据库中。感谢您的帮助!

database vertica

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