小编S.L*_*ott的帖子

当您要将一些新功能添加到具有几乎*NO*单元测试代码的大型(和脏)代码库时,您会怎么做?

Martin Fowler说我们应该在添加新功能之前进行重构(假设原始程序结构不合理).

所以我们都想重构这个代码库,这是肯定的.我们也知道,如果没有单元测试代码,很容易引入细微的错误.

但它是一个庞大的代码库.添加一整套测试似乎是不切实际的.

在这种情况下你会做什么?

testing refactoring unit-testing

9
推荐指数
5
解决办法
723
查看次数

您能为Teradata最佳实践推荐一个好的来源吗?

看起来我的数据仓库项目明年将转向Teradata(来自SQL Server 2005).

我正在寻找有关Teradata最佳实践的资源 - 从SQL方言的限制到习惯用法以及使查询表现良好的惯例 - 特别是如果它们突出显示与SQL Server 2005明显不同的内容.特别提示类似于SQL的艺术(更注重Oracle).

我的业务流程目前在T-SQL存储过程中,并且非常依赖SQL Server 2005的功能,如PIVOT,UNPIVOT和Common Table Expressions,每月从4TB数据仓库生成大约2700行的输出.

sql data-warehouse teradata

9
推荐指数
3
解决办法
8731
查看次数

在python中显示对象的属性

我想显示一个给对象的属性,并想知道是否有一个python函数.例如,如果我有以下类中的对象:

class Antibody():

    def __init__(self,toSend):

        self.raw = toSend
        self.pdbcode = ''
        self.year = ''
Run Code Online (Sandbox Code Playgroud)

我可以获得类似于此类似的输出:

['self.raw','self.pdbcode','self.year']
Run Code Online (Sandbox Code Playgroud)

谢谢

python oop list

9
推荐指数
2
解决办法
6757
查看次数

如何在sql中加入时保持顺序

表1和表2的主键(key1,key2)是相同的.表3是用户定义的表,其中一个列field5对于table2是通用的.我需要从表1和表2中选择行,其中table2中的field5在table3中.我需要以与table3相同的顺序获取行.

表格1

key1 key2 field1 field2

表2

key1 key2 field3 field4 field5

用户定义的表

字段5

我正在考虑的问题是

select a.key1, a.key2, a.field1, a.field2, b.field3, b.field4
from table1 as a INNER JOIN table2 as b ON a.key1 = b.key1 AND a.key2 = b.key2
where b.field5 in (select field5 from table3)
Run Code Online (Sandbox Code Playgroud)

这不会给我行与表3中相同的顺序.

我需要这样的东西来维持秩序吗?

select a.key1, a.key2, a.field1, a.field2, d.field3, d.field4 from
table1 as a INNER JOIN
 (select b.key1, b.key2, b.field3, b.field4
  from table2 as b INNER JOIN table3 as c
  ON b.field5 = c.field5) as …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

保持子进程存活并继续给它命令?蟒蛇

如果我subprocess用给定的命令在python中生成一个新的(假设我用python命令启动python解释器),我如何将新数据发送到进程(通过STDIN)?

python subprocess process popen

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

用于描述国际象棋规则的推荐数据格式

我将编写一个国际象棋服务器和一个或多个国际象棋客户端,我想用编程语言独立的方式描述国际象棋的规则(例如基于游戏状态的允许移动,游戏完成时的规则).这有点棘手,因为一些国际象棋规则(例如King Castling,en passent,基于3次或更多次重复动作绘制)不仅基于棋盘布局而且基于移动历史.

我希望格式为:

  • 文本
  • 人类可读
  • 基于标准(例如YAML,XML)
  • 可以用各种语言轻松解析

但我愿意牺牲其中任何一种来获得合适的解决方案.

我的主要问题是:如何构建如此复杂的算法,从数据格式对这种复杂状态进行操作?

后续问题是:您能否以类似的方式提供类似问题的示例,以此作为起点?

编辑:为了回应清晰的要求 - 考虑我将用Python编写的服务器,一个用C#编写的客户端和另一个用Java编写的客户端.我想避免在每个地方指定规则(例如,允许的棋子移动,检查的情况等).我宁愿以语言独立的方式指定这些规则.

c# python java chess dataformat

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

最小,独立,可分发,跨平台的Web服务器

我最近一直在编写相当数量的小型wsgi应用程序,我希望找到一个可以分发的Web服务器,预先配置为运行特定的应用程序.我知道有些东西像twisted和cherrypy可以提供wsgi应用程序,但它们似乎缺少一个关键的功能,我可以使用http范围标题"伪流"大文件.是否有可在BSD或类似许可下使用的Web服务器,可以在任何主要平台上作为独立可执行文件分发,它们既可以代理到wsgi服务器(如cherrypy等),也可以使用http服务大文件范围标题?

python wsgi http

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

带时区的Mysql日期时间

我需要一个如何存储日期时间和时区的帮助.我正在使用Mysql 5.1.我想做点什么 -

create table tb1
(
c1 datetime with time zone
);
Run Code Online (Sandbox Code Playgroud)

mysql datetime

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

在数据仓库方案中使用WITH(NOLOCK)有任何不利之处

我有一个Kimball风格的DW(星型模型中的事实和维度 - 没有迟到的事实行或列,没有列的尺寸变化,除了过期作为类型2缓慢变化的尺寸的一部分),每日处理繁重以插入和更新行(新日期)以及每月和每日报告流程.事实表按日期划分,以便轻松滚动旧数据.

我理解WITH(NOLOCK)可以导致读取未提交的数据,但是,我也不希望创建任何会导致ETL进程失败或阻塞的锁.

在所有情况下,当我们从DW读取时,我们正在从事实表中读取一个不会改变的日期(事实表按日期划分)和维度表,这些表不会因为链接到的事实而改变属性.

那么 - 有什么缺点吗?- 可能在执行计划中或在SELECT相同表中并行运行的此类非常查询的操作中.

sql-server nolock sql-server-2005 data-warehouse

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

从字符串列表列表转换为python中的int列表列表

我正在从数据源中读取一些代表xy坐标的数字,我将用它来解决TSP问题.我是python的新手,所以我试图充分利用列表.在阅读并解析了数据之后,我留下了一个字符串列表列表,如下所示:

[['565.0','575.0'],['1215.0','245.0'],... yougetthepoint ... ['1740.0','245.0']]

我宁愿处理整数点.如何将包含字符串的这些列表转换为包含整数的列表?他们似乎没有很好地投射,因为我得到这个错误:

ValueError:基数为10的int()的无效文字:'565.0'

小数似乎导致问题.

python

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