小编Rom*_*val的帖子

在评论和文档字符串中使用较短的文本宽度

从强大的PEP 8:

[P]租约将所有行限制为最多79个字符.对于流动长文本块(文档字符串或注释),建议将长度限制为72个字符.

在Vim中编辑Python代码时,我将我设置textwidth为79,当我达到字符限制时,Vim会自动为我包装很长的Python代码.但是在评论和文档字符串中,我需要将文本换成72个字符.

textwidth当我在评论或文档字符串时,有没有办法让Vim自动设置为72,并在我完成后将其设置回来?

python vim pep8 autocmd

26
推荐指数
2
解决办法
3065
查看次数

窗口函数LAG可以引用正在计算值的列吗?

我需要根据当前记录的其他一些列和前一条记录的X值(使用一些分区和顺序)计算某些列X的值.基本上我需要在表单中实现查询

SELECT <some fields>, 
  <some expression using LAG(X) OVER(PARTITION BY ... ORDER BY ...) AS X
FROM <table>
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为只有现有的列可以在窗口函数中使用,所以我正在寻找如何克服这一点.

这是一个例子.我有一张活动表.每个活动都有typetime_stamp.

create table event (id serial, type integer, time_stamp integer);
Run Code Online (Sandbox Code Playgroud)

我不想找到"重复"事件.副本我的意思是以下.让我们typetime_stamp升序给出所有事件.然后

  1. 第一个事件不重复
  2. 所有跟随非重复且在其后的某个时间范围内的事件(即它们time_stamp不大于time_stamp之前的非重复加上某些常量TIMEFRAME)是重复的
  3. 下一个事件,time_stamp如果大于先前的非重复次数超过TIMEFRAME不重复
  4. 等等

对于这个数据

insert into event (type, time_stamp) 
 values 
  (1, 1), (1, 2), (2, 2), (1,3), (1, 10), (2,10), 
  (1,15), (1, 21), (2,13), 
  (1, 40);
Run Code Online (Sandbox Code Playgroud)

TIMEFRAME=10结果应该是

time_stamp | …
Run Code Online (Sandbox Code Playgroud)

postgresql gaps-and-islands

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

百科全书将模型属性设置为null

我一直在处理以下问题:

我有一个名为User的简单模型类.

public class User{

  private Long id;
  private String name;
  ...}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码:

@RequestMapping ( value = "/users", params = { "id" } )
public String showEditForm( final Model model, final HttpServletRequest req )
{
    User edit = this.userRepository.findOne( Long.valueOf( req.getParameter( "id" ) ) );
    model.addAttribute( "user", edit );
    return "edit-user";
}


@RequestMapping ( value = "/users", method = RequestMethod.POST, params = {"edit"     
}) 
public String editUser( @Valid @ModelAttribute ( "user" ) final User user,
final BindingResult bindingResult, final Model …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc

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

重用动态sql片段

嘿那里,我正在研究一个Primefaces应用程序,作为一个持久层,我选择了Mybatis.

这是常规sql在我的mapper中的样子:

<select id="getAllTransportUnit" resultMap="TransportUnitMap">
    SELECT * FROM SSLS_GUI.VW_TU
    <if test="( hasFilters == 'yes' ) and ( parameters != null )">
        <where>
            <foreach item="clause" collection="parameters" separator=" AND "
                open="(" close=")">
                UPPER(${clause.column}) ${clause.operator} #{clause.value}
            </foreach>
        </where>
    </if>
    <if test="sort == 'true'">
        ORDER BY ${sortField}
        <if test="sortOrder == 'DESC'"> DESC</if>
        <if test="sortOder == 'ASC'"> ASC</if>
    </if>
</select>
Run Code Online (Sandbox Code Playgroud)

几乎所有的查询都使用动态sql部分<if test...>.是否可以将它放在一个单独的文件中,然后在我的查询中重复使用它?

mybatis

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

为什么我们将firefoxdriver实例分配给webdriver

我是Java或Selenium的新手.

我只是需要帮助来理解一个基本问题.

为什么我们将firefoxdriver实例分配给WebDriver?WebDriver驱动程序=新的FirefoxDriver()

我知道这是Java中的后期绑定,因为我们可以在以后的时间点将IEDriver或其他实例分配给WebDriver.

问题1:但这适用于课程,对吧?

问题2:WebDriver是一个接口,那么我们可以创建一个接口的对象实例吗?

java selenium selenium-webdriver

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

仅在服务尚未启动时才启动服务 - docker-compose

我有一个控制一些服务的 docker-compose 文件。其中之一是数据库服务。我并不总是想重新启动数据库服务。

示例 docker-compose.yml:

version: '3'
services:
  base:
    commad: "echo somecommand"
  postgres:
    container_name: postgres
    image: "postgres:latest"
    environment:
      - POSTGRES_PASSWORD=usr
      - POSTGRES_USER=use
      - POSTGRES_DB=usr
    ports:
      - 5432:5432
Run Code Online (Sandbox Code Playgroud)

我该怎么做docker-compose up,但是如果 db 服务(在我的情况下为 postgres)已经启动,请确保它不会重新启动。

我目前正在使用 docker-compose down/up,我的数据库重新启动。

我试图添加--scale postgres=0到我的 docker-compose up 命令中,但随后它同时关闭了 postgres。

docker docker-compose

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

MyBatis if子句

我在MyBatis中尝试了以下if子句,但出现以下异常,请在这里帮助我确定问题。

public class Student{

private Integer studId;
private String name;
private String email;
private Date dob;
}
Run Code Online (Sandbox Code Playgroud)

制图

<select id="searchStudent" parameterType="hashmap" resultMap="StudentResult">
    <![CDATA[
    SELECT * FROM STUDENTS
    WHERE 1 = 1 

    <if test="studId != null">
    AND STUD_ID= #{studId}
    </if>

    <if test="name != null">
    AND NAME like #{name}
    </if>

    ]]>
</select>
Run Code Online (Sandbox Code Playgroud)

我得到的异常:

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL   syntax; check the manual that corresponds to your MySQL server version …
Run Code Online (Sandbox Code Playgroud)

mybatis

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