小编Mat*_*rog的帖子

在Tkinter中动态创建菜单.(lambda表达式?)

我有一个menubutton,点击它时会显示一个包含特定字符串序列的菜单.正是这个序列中的字符串,我们直到运行时才知道,所以必须在那一刻生成弹出的菜单.这就是我所拥有的:

class para_frame(Frame):
    def __init__(self, para=None, *args, **kwargs):
        # ...

        # menu button for adding tags that already exist in other para's
        self.add_tag_mb = Menubutton(self, text='Add tags...')

        # this menu needs to re-create itself every time it's clicked
        self.add_tag_menu = Menu(self.add_tag_mb,
                                 tearoff=0,
                                 postcommand = self.build_add_tag_menu)

        self.add_tag_mb['menu'] = self.add_tag_menu

    # ...

    def build_add_tag_menu(self):
        self.add_tag_menu.delete(0, END) # clear whatever was in the menu before

        all_tags = self.get_article().all_tags()
        # we don't want the menu to include tags that already in this para
        menu_tags …
Run Code Online (Sandbox Code Playgroud)

python lambda copy tkinter

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

在C++环境中优化回归测试

为了避免过多的测试,我想向质量保证(QA)团队提供关于在开发迭代之后必须对哪些特征进行回归测试的提示.你知道在C++和Subversion(和visual studio)开发环境中可以做到的工具吗?

有关用例的详细信息:

  1. 特征将由开发团队根据入口点(通常是类或类方法)来定义.比如,"excel文件导入"功能由类FileImporter的方法ImportExcelFile(...)定义.
  2. 在开发迭代期间,开发团队对某些类的某些方法进行了一些更改.比如说,其中一个类是由方法ImportExcelFile()间接使用的
  3. 在迭代结束时,工具会分析所有提交,并生成报告并将其交付给QA团队.在我们的示例中,QA团队被告知必须测试"excel文件导入"功能,并且其他功能XY和Z不变.

很可能这个工具会使用静态代码分析并使用subversion API.但它存在吗?

c++ svn testing regression-testing

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

关于CUDA编程的面试问题?

我在一周的时间内接受了一次面试,这是一个入门级职位,涉及CUDA编程(希望与C一起).

我想知道是否有人可以提出一些我在面试中可以期待的面试问题.

我已经阅读了官方编程指南,但我现在并不是那么方便.

谢谢.

c cuda

6
推荐指数
3
解决办法
6431
查看次数

我如何改进我的开发和部署策略?

我正在开发一个在LAMP堆栈(Linux Apache Mysql PHP)上运行的Web应用程序,并希望有关改进我的工作流程的建议.

我有3个环境:

  1. 我的本地机器AKA我的开发环境
  2. 我的专用服务器上的暂存帐户,以便我可以测试Web应用程序
  3. 我的专用服务器上的生产帐户

我在本地计算机上进行所有开发,并使用位于我的专用服务器上的subversion服务器.我设置了一个钩子脚本,这样每当我提交时,我的"登台"帐户都会使用新代码进行更新.

偶尔我会确保暂存帐户中的所有内容都能正常工作,并通过一个小脚本将更改推送到我的生产帐户.

这在大多数情况下运作良好,但有一些烦恼:

  • 我的域名在几个地方都是硬编码的,这使得在环境之间切换非常耗时.我可以手动修改我的主机文件,但它不是很快,它不适用于同一台服务器上的2个帐户(prod/staging).

  • 我无法在所有三种环境中使数据库保持最新状态.我可以在所有环境中使用相同的数据库,但我必须承担破坏生产环境的风险.

所以,我的问题是:我该怎么做才能缓解这些问题?

更新:硬编码域问题由第三方软件引入,因此,"不硬编码"目前不是一种选择.

svn lamp workflow

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

Haskell中的GCF/LCM

我是Haskell的新手.

有没有一种简单的方法可以在Haskell中找到GCF或LCM(最小公倍数)?

haskell

6
推荐指数
2
解决办法
4986
查看次数

flex 3迭代对象值

我有一个表示数据库表的对象.我想迭代这个对象并打印每个值.我可以用它做什么?

我想在我的mxml而不是actionscript中做这个

对于每个对象属性,我想创建一个输入字段

iteration loops flex3

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

在App中嵌入版本控制

我正在构建一个学习可可的应用程序,基本上它是一个笔记保持应用程序.但我想构建一个功能,我可以看到文档随时间发生的变化,我认为使用subversion /版本控制软件可以帮助我完成这项任务.但我如何将其嵌入应用程序?

svn cocoa objective-c

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

在具有循环依赖关系的大对象上调用JSON.stringify时出现"太多递归"错误

我有一个包含循环引用的对象,我想看一下它的JSON表示.例如,如果我构建此对象:

var myObject = {member:{}};
myObject.member.child = {};
myObject.member.child.parent = myObject.member;
Run Code Online (Sandbox Code Playgroud)

并尝试打电话

JSON.stringify(myObject);
Run Code Online (Sandbox Code Playgroud)

我得到错误"太多的递归",这并不奇怪."child"对象具有对其"parent"的引用,而父对象具有对其子对象的引用.JSON表示不必非常准确,因为我只是将它用于调试,而不是将数据发送到服务器或将对象序列化为文件或类似的东西.有没有办法告诉JSON.stringify只是忽略某些属性(在这种情况下parent是子对象的属性),所以我会得到:

{
    "member" : {
        "child" : {}
    }
}
Run Code Online (Sandbox Code Playgroud)

我能想到的最接近的是使用getChild()getParent()方法而不仅仅是成员,因为JSON.stringify忽略了作为函数的任何属性,但如果我不需要,我宁愿不这样做.

javascript json circular-dependency firefox-addon

5
推荐指数
2
解决办法
6929
查看次数

Firefox扩展开发firefox4

所以我一直在努力更新用于FF4和Gecko 2的旧扩展,但是我遇到了一些问题,我收到的错误是,classID缺失或组件不正确....

有没有其他人有类似的问题或知道如何解决这个问题?

function jsshellClient() {
  this.classDescription = "sdConnector JavaScript Shell Service";
  this.classID = Components.ID("{54f7f162-35d9-524d-9021-965a3ba86366}");
  this.contractID = "@activestate.com/SDService?type=jsshell;1"
  this._xpcom_categories = [{category: "sd-service", entry: "jsshell"}];
  this.name = "jsshell";
  this.prefs = Components.classes["@mozilla.org/preferences-service;1"]
      .getService(Components.interfaces.nsIPrefService)
      .getBranch("sdconnector.jsshell.");
  this.enabled = this.prefs.getBoolPref("enabled");
  this.port = this.prefs.getIntPref("port");
  this.loopbackOnly = this.prefs.getBoolPref("loopbackOnly");
  this.backlog = this.prefs.getIntPref("backlog");
}
jsshellClient.prototype = new session();
jsshellClient.prototype.constructor = jsshellClient;
Run Code Online (Sandbox Code Playgroud)

在原型上为此调用generateNSGetFactory时,它在FF4中的错误控制台中发出错误,抱怨classID.我很确定没有其他东西使用相同的GUID,所以我没有看到问题.

firefox xpcom firefox-addon

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

在哪里输入@Override?

在大多数IDE和编辑器中,没有就如何识别@Override达成共识.并且它没有包含在java的编码风格中http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

我只使用vim,它会创建一个新的缩进级别.所以我倾向于认为正确的是

@Override public boolean onTouch(View v, MotionEvent event) {
Run Code Online (Sandbox Code Playgroud)

但每篇文档都显示出来

@Override
public boolean onTouch(View v, MotionEvent event) {
Run Code Online (Sandbox Code Playgroud)

但大多数时候,编辑自动说到了

   @Override
      public boolean onTouch(View v, MotionEvent event) {
Run Code Online (Sandbox Code Playgroud)

那么,有一种"正确"的方式吗?我应该修复我的java.vim语法规则吗?

java syntax vim android coding-style

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