我正在使用TeamCity Enterprise 9.1.5(内部版本37377)。
我已经创建了一个构建配置。
我已经创建了一个NUnit构建步骤。
对于NUnit Runner,我选择了NUnit 3。
对于我输入的NUnit Console Runner路径: packages\NUnit.ConsoleRunner.3.7.0\tools\nunit3-console.exe
在我的Visual Studio解决方案中,我已经安装了NUnit.Runner软件包。
运行构建配置时,在日志中出现以下错误:
File type is not supported
如何使NUnit测试在TeamCity中运行?
从命令行:
ng new sandbox
cd .\sandbox\
ng serve
Run Code Online (Sandbox Code Playgroud)
打开http://localhost:4200/。有用。
npm install --save amazon-cognito-identity-js
Run Code Online (Sandbox Code Playgroud)
在里面\src\app\sign-up\sign-up.component.ts添加这行代码:
import * as AmazonCognitoIdentity from 'amazon-cognito-identity-js';
Run Code Online (Sandbox Code Playgroud)
添加构造函数:
constructor() {
new AmazonCognitoIdentity.CognitoUserPool({});
}
Run Code Online (Sandbox Code Playgroud)
页面空白。有一个控制台错误:
Uncaught ReferenceError: global is not defined
at Object../node_modules/buffer/index.js (index.js:43)
at __webpack_require__ (bootstrap:76)
at Object../node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js (AuthenticationHelper.js:1)
at __webpack_require__ (bootstrap:76)
at Object../node_modules/amazon-cognito-identity-js/es/index.js (index.js:1)
at __webpack_require__ (bootstrap:76)
at Object../src/app/app.component.ts (main.js:94)
at __webpack_require__ (bootstrap:76)
at Object../src/app/app.module.ts (app.component.ts:9)
at __webpack_require__ (bootstrap:76)
Run Code Online (Sandbox Code Playgroud)
解决此错误的最佳方法是什么?
这是参考Python 3.2.相关语法规则如下(http://docs.python.org/py3k/reference/grammar.html):
power: atom trailer* ['**' factor]
atom: ('(' [yield_expr|testlist_comp] ')' |
'[' [testlist_comp] ']' |
'{' [dictorsetmaker] '}' |
NAME | NUMBER | STRING+ | '...' | 'None' | 'True' | 'False')
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
Run Code Online (Sandbox Code Playgroud)
根据这个,基本函数调用可能看起来像:
atom '(' ')'
但我相信,我们不能只是把任何 atom在那里.例如,即使1是一个atom(NUMBER),1也不是一个函数,因此你不能用类似的东西来调用它1().我的问题是:给定一个power语法规则的实例,它atom可以用atom除了NAMEPython程序的解析树之外的任何规则替换并仍然运行吗?
编辑(答案):
可以与()操作员一起调用任何"可调用"的东西.(http://docs.python.org/py3k/reference/expressions.html#calls):
call ::= …Run Code Online (Sandbox Code Playgroud) 正则表达式回答是或否问题 - 字符串是否与模式匹配。
我想将 no 分为两类:
这是一个示例(正则表达式01+2):
012 已验证
12是无效的; 它不是有效字符串的前缀
01是无效的; 它是有效字符串的前缀:012
可以re这样做吗?如果没有,是否有可以进行这种区分的库?
我有一个SQL SELECT语句,直到运行时才能知道,它可能包含JOIN和内部选择.我需要从C#中确定返回的语句结果的每个列的名称和数据类型.我倾向于做类似的事情:
string orginalSelectStatement = "SELECT * FROM MyTable";
string selectStatement = string.Format("SELECT TOP 0 * FROM ({0}) s", orginalSelectStatement);
SqlConnection connection = new SqlConnection(@"MyConnectionString");
SqlDataAdapter adapter = new SqlDataAdapter(selectStatement, connection);
DataTable table = new DataTable();
adapter.Fill(table);
foreach (DataColumn column in table.Columns)
{
Console.WriteLine("Name: {0}; Type: {1}", column.ColumnName, column.DataType);
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做我想做的事情?"更好"的意思是要么是资源密集程度较低的方法来完成相同的任务,要么是更确定的方式来完成相同的任务(即我所知道的所有代码片段在某些情况下都会失败).
解决方案:首先,我的TOP 0黑客很糟糕,就像这样:
SELECT TOP 0 * FROM (SELECT 0 AS A, 1 AS A) S
换句话说,在子选择中,如果两个东西别名为同名,则会引发错误.所以它是不合适的.但是,为了完整起见,我继续进行测试,并提出了两个建议的解决方案: SET FMTONLY ON和GetSchemaTable.
以下是结果(每1000个查询的毫秒数):
架构时间:3130
TOP 0时间:2808 …
我昨天做了我的第一个立方体。我对此还很陌生,所以请原谅任何术语的误用。我的维度之一,让我们称之为MyDimension1层次结构,让我们称之为MyHierarchy,有两个级别,让我们称之为Level1和Level2。
我似乎能够做类似的事情:
SELECT
{ [Measures].[Whatever] } ON 0,
{ ([MyDimension1].[Level1].[Level1], [MyDimension1].[Level2].[Level2]) } ON 1
FROM MyCube
Run Code Online (Sandbox Code Playgroud)
这给了我我想要的结果。如果我理解正确的话,定义轴 1 的集合包含一个具有两个组件的元组(?)。我读过元组的每个组件(?)应该来自不同的维度,但我似乎能够指定相同维度的组件,如上面的查询所示。不过,我希望能够仅按名称指定层次结构,然后让服务器为我创建元组。所以像这样:
SELECT
{ [Measures].[Whatever] } ON 0,
{ AllLevelsToTuple([MyDimension1].[MyHierarchy]) } ON 1
FROM MyCube
Run Code Online (Sandbox Code Playgroud)
但我似乎不知道如何做到这一点。提前致谢!
编辑(我的例子,根据回答者的要求):
这在功能上实现了我想要的,但不是我想要的语法:
SELECT [Measures].[Original] ON 0,
([Customer].[Customer].[Customer], [Customer].[Account ID].[Account ID]) ON 1
Run Code Online (Sandbox Code Playgroud)
结果(在 SSMS 中):
Original
--------- -- --------
CustomerA 15 306.03
CustomerA 16 754.20
...
CustomerB 17 524.43
...
CustomerC 22 760.42
...
Run Code Online (Sandbox Code Playgroud)
当我扩大维度时,它看起来像:
- Customer
- Hierarchy …Run Code Online (Sandbox Code Playgroud) 我正在使用C#,但即使你不知道它,也应该很容易理解这个问题.
这是我的问题:我有一些对象,我想保留在类似hashset的数据结构中,以便我可以根据intID 查找它们.这些对象具有可变属性,因此散列它们不是一个选项(我需要一些关于它们的常量哈希,是吗?).
我所做的是开发以下界面:
public interface IUniqueIDCollection
{
// Can return any int that hasn't been requested yet.
public int RequestUniqueID();
// Undos the requesting of an int
public int ReleaseUniqueID(int uniqueID);
}
Run Code Online (Sandbox Code Playgroud)
我最初的想法是只在IUniqueIDCollection请求ID时以该增量存储内部计数器.但是,一旦ID被释放,我将不得不跟踪已删除的范围或个人ID.我认为后者会更好.但是如果我使用一个计数器(或任何循环函数)来生成ID,我就会遇到这样的问题:一旦计数器回绕,我必须检查已经连续请求的ID序列.
启发式是这样的:假设一次最多可以请求5,000个ID.但是,ID经常要求然后发布.释放将倾向于在范围内发生 - 即可能一次请求100,然后所有100将在短时间间隔内释放.
我知道我可以使用GUID或其他东西而不是int,但我想节省ID的空间/带宽/处理时间.
所以我的问题是:考虑到启发式方法,请求和发布方法在上面给出的接口中,伪代码方面应该是什么样的?
我试着效仿这个例子.
这是我的C#代码:
public class MyModel
{
int? ID { get; set; }
}
public class MyResourceController : ApiController
{
[HttpPost]
public MyModel MyPostAction(MyModel model)
{
return model;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的JavaScript:
var data = { model: { ID: 1 } };
$http.post(
'/api/MyResource/MyPostAction',
JSON.stringify(data),
{
headers: {
'Content-Type': 'application/json'
}
}
);
Run Code Online (Sandbox Code Playgroud)
当我在动作设置一个断点,model.ID是null不是1.如何发布复杂对象?