小编Dan*_*lan的帖子

如何生成源代码以创建我正在调试的对象?

我的典型场景:

  1. 我工作的遗留代码有一个只有生产中的客户端才有的错误
  2. 我附加一个调试器,并找出如何重现在这个问题上他们的给定系统输入.但是,我不知道为什么错误发生了.
  3. 现在我想在我的本地系统上编写一个自动化测试来尝试重现然后修复bug

最后一步真的很难.输入可能非常复杂,并且有很多数据.手动创建输入(例如:P p = new P(); p.setX("x"); p.setY("x");想象这样做1000次以创建对象)非常繁琐且容易出错.事实上你可能会注意到我刚给出的例子中有一个拼写错误.

是否有一种自动方式从我的调试器中的断点获取字段并生成将创建该对象的源代码,以相同的方式填充?

我唯一想到的就是序列化这个输入(例如使用Xstream).我可以将其保存到文件中并在自动测试中将其读回.这有一个主要问题:如果类以某种方式更改(例如:重命名了字段/ getter/setter名称),我将无法再反序列化该对象.换句话说,测试非常脆弱.

java testing automated-tests code-generation

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

intellij能告诉我最后x次提交的变化,好像它们刚刚制作完成一样吗?

我即将进行过多的代码审查,但我的更改包含多个提交.如果intellij-idea可以向我展示它们就好像它们是新的变化那样会很方便,因为它们会更容易找到这种方式.

intellij是否有内置的方法来完成相同的操作:

git checkout -b temp-for-code-review
git reset --soft HEAD~x #x is a number of commits I want reviewed
Run Code Online (Sandbox Code Playgroud)

如果我在git中这样做,intellij将完全按照我想要的方式显示更改,但我想知道是否有办法在intellij中构建这个.

git intellij-idea

8
推荐指数
2
解决办法
1665
查看次数

Spark:日期时间的 col 是工作日还是周末?

我正在用 Python 编写 Spark 代码。我有一个col(execution_date)时间戳。我如何将其转换为名为 的列,如果日期是周末,则is_weekend值为工作日?10

python apache-spark pyspark

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

在Intellij中,当我在本地运行Google App Engine时,为什么要清理并构建战争以查看更改?

我正在使用谷歌应用程序引擎来制造战争,我注意到每当我进行本地更改时,我在本地运行时都不会应用它们.我已经发现,看到我所做的更改的唯一方法是运行a mvn clean,然后make,然后构建工件,然后部署.这是显示我的配置的屏幕截图:

组态

如果我错过了上述任何步骤,重新启动服务器不会显示我所做的任何更改.我之前使用intellij制作了许多非谷歌应用引擎的webapps,我通常不必这样做.我该如何避免所有这些步骤?它们大大增加了重启服务器所需的时间.

如果它有帮助,这是我的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>

    <groupId>com.myapp</groupId>
    <artifactId>myapp</artifactId>

    <properties>
        <appengine.app.version>1</appengine.app.version>
        <appengine.target.version>1.8.6</appengine.target.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- Compile/runtime dependencies -->
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>${appengine.target.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.stripes</groupId>
            <artifactId>stripes</artifactId>
            <version>1.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
            <version>1.7.5</version>
        </dependency>




        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-testing</artifactId>
            <version>${appengine.target.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-stubs</artifactId>
            <version>${appengine.target.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <version>2.5.1</version> …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine intellij-idea maven

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

为什么我不能在git中提交一个空文件夹?

这里的关键词是为什么。答案是很多问题,“ git不允许这样做”,但我想知道为什么它不允许这样做。

我一直在阅读有关git的体系结构,并且其中包含以下图像:

具有树节点的DAG

该图像显示, tree节点。从技术上讲,保存一个tree没有任何孩子的a看起来很简单。那么为什么git禁止这样做呢?

本书的一部分提到了这一点:

对于更改后的文件上方的每个目录(加上存储库根目录),将创建一个具有新标识符的新树对象。从新创建的根树对象开始创建DAG,该对象指向Blob(在此提交中重用文件内容未更改的现有Blob引用),并引用新创建的Blob代替该文件在先前树层次结构中的先前Blob对象。 。(blob代表存储在存储库中的文件。)

我觉得这可能是原因,但是对于我想要回答的内容来说,这有点掩饰细节。

git

7
推荐指数
2
解决办法
1550
查看次数

有没有办法让Intellij警告我这段代码可能会导致NullPointerException?

有没有办法让Intellij警告我这可能会导致NullPointerException?

URL resource = Main.class.getResource("blah/ha");
System.out.println(resource.getAuthority());  //potential NPE here
Run Code Online (Sandbox Code Playgroud)

Intellij非常善于警告我正在做的蠢事.有没有办法可以在这里警告我潜在的NPE?

请注意,getResources它上面没有任何null/notnull注释.至少在JDK 1.7中不是我正在使用的.

java intellij-idea nullpointerexception

7
推荐指数
2
解决办法
2138
查看次数

如何列出模板缓存中的所有内容?

我无法弄清楚模板缓存中的内容.当我谷歌时,我发现的只有:https://docs.angularjs.org/api/ng/service/ $ templateCache我正在寻找有关所有可用方法的文档,但找不到它.但我真的想知道的是如何列出templateCache中的所有键.怎么做的?

angularjs

7
推荐指数
2
解决办法
3786
查看次数

如何管理更新路径/消息构建器的爆炸?

我已经完成了Elm指南,并注意到非常简单的例子,update函数增长到3个案例,Msg类型可以有3个构造函数.我想在一个中间项目,这将增长到20,在一个高级项目,它可能是数百.你是如何管理的?我预见如果每个开发人员都需要为其功能添加新的构造函数,那么这就是版本控制争用的来源.

我参与了react-redux项目,它有一个结合Reducer来解决这个问题的概念.我没有在Elm遇到过这个概念.它有吗?

elm

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

在气流中,出现故障时,有没有办法重复一组任务?

在我的 DAG 中,我的任务流程如下:

... >> EmrAddStepsOperator >> EmrStepSensor
Run Code Online (Sandbox Code Playgroud)

EmrAddStepsOperator 的成功意味着“我能够告诉 EMR 启动”。EmrStepSensor 失败意味着“EMR 任务出现问题”。我对这些描述可能有点偏差,但这与我想要表达的观点无关:

如果第二个任务失败,我想重新启动第一个任务,而不是第二个任务。当第二个任务失败时,如何让气流重新启动第一个任务?

python airflow

7
推荐指数
2
解决办法
3543
查看次数

当 TypeScript 类型和常量在同一模块中共享相同名称时发出警告?

我有

import type { SomeType } from '../../types/Project';
// import { SomeType } from '../../types/Project'; tried this too

const SomeType = ({ s }: { s: SomeType }): JSX.Element => {
  return <>${s}</>;
};
Run Code Online (Sandbox Code Playgroud)

Project.ts我有

export type SomeType = JSX.Element;
Run Code Online (Sandbox Code Playgroud)

为什么 TS linter 不显示任何警告,但会抛出错误:

Identifier 'SomeType' has already been declared.

我认为类型和变量可以同名共存?

示例:https://codesandbox.io/s/objective-glade-y94j58 ?file=/src/App.tsx

javascript typescript

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