小编nyc*_*nik的帖子

如何让IntelliJ识别常见的Python模块?

我正在使用IntelliJ 10 IDEA Ultimate Edition.

我创建了一个新文件Test.py,IntelliJ已正确切换到Python解析模式.(我可以通过输入"d"确认这一点,它弹出"def"作为建议,正确点击标签给我"def:")

但是,当我尝试这段代码时......

import os

cwd = os.getcw <Ctrl-space>
Run Code Online (Sandbox Code Playgroud)

有两件事发生......

  1. 我在os下面有一个下划线并且在它上面盘旋,给我一个"未解析的引用'os'"消息
  2. 当我期待看到"getcwd"时,我没有得到上面的Ctrl-space的建议.

我假设这必须是我没有正确配置IntelliJ才能处理python模块的结果,但我不知道它是什么我错过了.

任何IntelliJ/Python用户都能帮到我吗?

python intellij-idea

187
推荐指数
6
解决办法
9万
查看次数

Git分支策略与测试/ QA流程集成在一起

我们的开发团队一直在使用GitFlow分支策略,它一直很棒!

最近我们招募了一些测试人员来提高我们的软件质量.这个想法是每个功能都应该由测试人员测试/ QA.

过去,开发人员在单独的功能分支上处理功能,并develop在完成后将它们合并回分支.开发人员将在该feature分支上自行测试他的工作.现在有了测试人员,我们开始问这个问题

测试人员应该在哪个分支上测试新功能?

显然,有两种选择:

  • 在个别功能分支上
  • develop树枝上

测试开发分支

最初,我们相信这是肯定的方法,因为:

  • develop自开发开始以来,该功能已与所有其他功能合并到分支进行测试.
  • 任何冲突都可以在以后检测到
  • 它使测试人员的工作变得轻松,他只是在处理一个分支(develop).他不需要向开发人员询问哪个分支是针对哪个功能的(功能分支是由相关开发人员独立管理的个人分支)

最大的问题是:

  • develop分支被污染与臭虫.

    当测试人员发现错误或冲突时,他会将它们报告给开发人员,开发人员会在开发分支上修复问题(功能分支在合并后被放弃),之后可能需要更多修复.多个子序列提交或合并(如果develop再次在分支上重新创建分支以修复错误),develop如果可能的话,从分支回滚功能非常困难.develop在不同时间有多个功能合并到分支并在其上固定.当我们想要创建仅包含develop分支中某些功能的版本时,这会产生一个大问题

功能分支测试

所以我们再次思考并决定我们应该在功能分支上测试功能.在我们测试之前,我们将更改从develop分支合并到功能分支(赶上develop分支).这很好:

  • 您仍然可以使用主流中的其他功能测试该功能
  • 进一步的开发(例如错误修复,解决冲突)不会污染develop分支;
  • 在完全测试和批准之前,您可以轻松决定不发布该功能;

但是,存在一些缺点

  • 测试人员必须合并代码,如果有任何冲突(非常可能),他必须向开发人员寻求帮助.我们的测试人员专门从事测试,无法编码.
  • 可以在不存在其他新功能的情况下测试功能.例如,特征A和B同时都在测试中,这两个特征彼此不知道,因为它们都没有合并到develop分支.这意味着,develop无论如何,当两个功能都合并到开发分支时,您将不得不再次测试分支.你必须记得将来测试这个.
  • 如果功能A和B都经过测试和批准,但在合并时发现冲突,两个功能的开发人员都认为这不是他自己的错误/工作,因为他的功能分支超过了测试.沟通会产生额外的开销,有时解决冲突的人会感到沮丧.

以上是我们的故事.由于资源有限,我想避免在所有地方进行测试.我们仍在寻找更好的方法来应对这种情况.我很想知道其他团队如何应对这种情况.

git testing qa git-flow

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

如何让osx shell脚本在echo中显示颜色

我正在尝试在我在mac上运行的bash脚本中为我的错误添加颜色输出.问题是颜色不起作用.我创建了最简单的脚本来证明它不起作用:

#!/bin/bash

echo -e "\e[1;31m This is red text \e[0m"
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我看不到任何颜色,如此图所示.然而,ls命令的颜色输出正常工作.

在此输入图像描述

macos bash shell echo

36
推荐指数
4
解决办法
2万
查看次数

Web服务器负载测试工具

您能否建议一个软件工具(使用GPLv许可证)来执行Web服务器的负载测试?

load load-testing

22
推荐指数
4
解决办法
6万
查看次数

Objective-c中的协议和接口有什么区别?

我对协议和接口之间的区别感到困惑?他们似乎都在做同样的事情?

它是否像C#中的抽象一样,你需要实现它?

objective-c ios

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

如何从AngularJS中的模板调用服务?

我有一个服务返回它所做的json对象,为简洁起见,我们可以说它看起来像这样:

.service ('levelService', function () {

    // service to manage levels.
    return  {
        levels : [{name:'Base', href:'base'},{name:'Level 1', href:'level1'},{name:'level2', href:'level2'}]
    };

})
Run Code Online (Sandbox Code Playgroud)

我认为这很好,但我现在想在模板中使用它.目前我有这样的事情:

<ul class="dropdown-menu" ng-init="levels = [{name:'Base', href:'base'},{name:'Level 1', href:'level1'},{name:'level2', href:'level2'}];">
                      <li ng-repeat="level in levels">
      <a ng-href="#/modeling/level/{{level.href}}">{{level.name}}</a></li>
                  </ul>
Run Code Online (Sandbox Code Playgroud)

如何让ng-init现在使用该服务?我觉得正确的做法是将服务添加到控制器,但这不在任何控制器之外.我是否需要为此空间创建新的控制器,还是可以直接引用该服务?

controller angularjs

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

迭代大型列表时Python很慢

我目前正在使用pyodbc从数据库中选择一个大的行列表.然后将结果复制到一个大型列表,然后我尝试迭代列表.在我放弃python并尝试在C#中创建它之前,我想知道是否有一些我做错了.

clientItems.execute("Select ids from largetable where year =?", year);
allIDRows = clientItemsCursor.fetchall() #takes maybe 8 seconds.

for clientItemrow in allIDRows:
    aID = str(clientItemRow[0])
    # Do something with str -- Removed because I was trying to determine what was slow
    count = count+1
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • for循环当前以每秒约5个循环运行,这对我来说似乎非常慢.
  • 选择的总行数为~489,000.
  • 它运行的机器有很多RAM和CPU.它似乎只运行一个或两个核心,而ram是1.72GB的4GB.

谁能告诉我什么是错的?脚本运行这么慢吗?

谢谢

python sql database pyodbc

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

有人可以解释jQuery中的函数($)

最近我正在阅读其他人的代码,并且遇到了这个问题:

// Semicolon (;) to ensure closing of earlier scripting
// Encapsulation
// $ is assigned to jQuery
;(function($) {

     // DOM Ready
    $(function() {
        ...
  });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

我理解领先的观点;,我理解$(function(){与文档准备相同,但添加函数($)的重点是什么?

我知道它是一个闭包,但由于这个在全局范围内被调用,所以看起来你不需要为此烦恼.$(function(){将使用相同的全局对象,不是吗?

它是为了防范某些事情,还是出于其他原因的最佳做法?

javascript jquery closures

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

为什么我的angular2应用程序初始化两次?

请告诉我我的错误在哪里,我的应用程序运行AppComponent代码两次.我有5个文件:

main.ts:

import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppComponent, environment } from './app/';
import { APP_ROUTER_PROVIDERS } from './app/routes';
import {HTTP_PROVIDERS} from '@angular/http';
import {ServiceProvider} from "./app/providers/app.service.provider"

if (environment.production) {
  enableProdMode();
}
bootstrap(AppComponent, [ServiceProvider, APP_ROUTER_PROVIDERS, HTTP_PROVIDERS]);
Run Code Online (Sandbox Code Playgroud)

routes.ts:

import {provideRouter, RouterConfig} from '@angular/router';
import {AppComponent} from "./app.component";
import {ReportDetailComponent} from "./component/AppReportDetailComponent";
import {ReportsListComponent} from "./component/AppReportListComponent";
import {ReportCreateComponent} from "./component/AppReportCreateComponent";


export const routes:RouterConfig = [
    {
      path: 'reports',
      children: [
        {path: ':id', component: …
Run Code Online (Sandbox Code Playgroud)

typescript angular2-routing angular

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

Flash - 在时间轴开始时将帧添加到时间轴

必须有一种更简单的方法来在闪存时间线的开头添加帧?

我想在第一帧之前插入几帧,但我在Flash CS5中找不到一种简单的方法.

  • 我试图使用insert,它会将它们放在右边(第2帧......).
  • 我试图将电影的所有帧拖到右边,但它会给补间创造奇怪的问题(有些甚至会消失).

我发现这样做的唯一方法是创建一个新电影,插入帧,然后将整个电影从原始闪存复制/粘贴到此闪存,有更好的方法吗?

flash timeline flash-cs5

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