在 Haskell 中,可以像这样定义无限列表:
[1.. ]
Run Code Online (Sandbox Code Playgroud)
如果找到许多描述如何实现无限列表的文章,并且我了解这是如何工作的。但是,我想不出有什么理由使用无限数据结构的概念。
有人可以给我一个问题的例子,在 Haskell 中使用无限列表可以更容易地(或者可能只是)解决这个问题?
我试图使用ChartJS将欧元符号添加到我的分组条形图的工具提示中.剪断:
tooltips: {
mode: 'label',
callbacks: {
label: function(tooltipItem, data) {
return data['datasets'][0]['data'][tooltipItem['index']] + '€';
}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码适用于我的折线图,但不适用于我的分组条形图.当我将鼠标悬停时,我希望我的条形图看起来如下所示:
但是我的图表中没有欧元符号,只显示其价值.我究竟做错了什么?
谢谢.
**编辑
所以我的全部选项如下所示:
options: {
title: {
display: true,
text: 'Title',
},
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'Wert in €'
}
}],
xAxes: [{
scaleLabel: {
display: true,
labelString: 'Zeitintervall'
}
}]
},
tooltips: {
mode: 'label',
callbacks: {
label: function(tooltipItem, data) {
return data['datasets'][0]['data'][tooltipItem['index']] + '€';
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
一旦我删除它scales
,它显示欧元符号.所以我现在的选择如下:
options: { …
Run Code Online (Sandbox Code Playgroud) 我的应用程序是ASP.NET Core 1.0 Web API.
正如标题所说:我如何测试用Authorize
属性修饰的控制器?
例如,使用此控制器和testmethod:
[TestMethod]
public void GetSomeDataTest()
{
var controller = new MyController();
Assert.AreEqual(controller.GetSomeData(), "Test");
}
[Authorize]
public ActionResult GetSomeData()
{
return this.Content("Test");
}
Run Code Online (Sandbox Code Playgroud)
这只是一个示例代码,使您可以回答.我实际上调用了Controller
一个TestServer
对象.
这已被问到,但接受的答案不再适用.有什么建议我如何"伪造"用户的真实性?
谢谢
我的应用程序是一个 ASP.NET Core 1.0 Web API。
我想用TestServer
对象测试我的控制器。
我有一个用Authorize
属性装饰的控制器类。
我如何获得我的测试客户端:
protected HttpClient GetTestClient(){
var builder =
new WebHostBuilder().UseContentRoot(this.path)
.UseStartup<Startup>()
.UseEnvironment("Development")
.ConfigureServices(services => services.AddTransient<IAnInterface, AMock>());
var server = new TestServer(builder);
var client = server.CreateClient();
return client;
}
Run Code Online (Sandbox Code Playgroud)
我如何使用它的片段:
[TestMethod]
public void ShouldReturnSuccessful()
{
var response = await this.client.PostAsync(Url, content);
response.EnsureSuccessStatusCode();
}
Run Code Online (Sandbox Code Playgroud)
如果我Authorize
从控制器类中删除该属性,我的所有测试都可以正常工作,但是如果Authorize
设置了该属性,我就会明白System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
这是有道理的。
现在我知道我可以Bearer Token
从请求TestServer
并执行以下操作:
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "My …
Run Code Online (Sandbox Code Playgroud) .net-security authorize-attribute oauth-2.0 asp.net-web-api asp.net-core
我有一个使用资源的应用程序(.wav .png- files).我想在构建项目时将这些资源包含在我的.jar中.
从IDE运行应用程序运行良好.
如上所述这里,我创造了resources-folder
在同级别我src-folder
我的项目结构:
ProjectName --
|
out
|
resources --
| |
| sounds
| |
| images
src --
|
...
Run Code Online (Sandbox Code Playgroud)
如上所述这里,我已经标记文件夹resources
为Resources root
.
如上所述这里,我创造了我自己的假象Project structure
.这是他们的样子:
这段代码,适用于音频文件,例如:
new Media(new File("resources/sounds/login_sound.wav").toURI().toString());
Run Code Online (Sandbox Code Playgroud)
当我尝试通过终端运行jar时,Iam收到以下错误:
Caused by: MediaException: MEDIA_UNAVAILABLE : /home/moritz/IdeaProjects/TheFloorIsLavaGUI/out/artifacts/TheFloorIsLavaGUI_jar/resources/sounds/login_sound.wav (File or directory not found)
Run Code Online (Sandbox Code Playgroud)
完整的堆栈跟踪:
moritz@Momix:~/IdeaProjects/TheFloorIsLavaGUI/out/artifacts/TheFloorIsLavaGUI_jar$ java -jar TheFloorIsLavaGUI.jar
Gtk-Message: 12:33:12.649: Failed to load module "canberra-gtk-module"
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native …
Run Code Online (Sandbox Code Playgroud) 我的应用程序是ASP.NET Core 1.0 Web API。
如果我的控制器返回一个小的JSON,则一切正常。但是,如果JSON变大,则会出现此错误
Visual Studio给我这个错误
这是创建数据的控制器和方法(简称)
[HttpGet]
public async Task<IActionResult> GetUserData()
{
return this.Ok(GetSomeData());
}
private List<MyUser> GetSomeData()
{
var userList = new List<MyUser>();
for (int i = 0; i < 2500; i++)
{
userList.Add(new MyUser{
Name = "Data",
Age = i,
Phone = "000",
});
}
return userList;
}
Run Code Online (Sandbox Code Playgroud)
如果循环变大,则Iam会收到上面列出的错误。
请记住,代码是极其简化的。但是一切正常,直到返回大量数据。
我曾试图改变maxJsonLength
的web.config
,因为它是描述在这里。
如何byte[]
在.NET Core中将其转换为图像?
我发现了:
using (var ms = new MemoryStream(byteArrayIn))
{
return Image.FromStream(ms);
}
Run Code Online (Sandbox Code Playgroud)
但似乎Image
不存在.NET-Core
。
每次我找到一些launchSettings.json
文件时,它们都有以下结构:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:40088/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express (Staging)": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这里找到.
但是,我无法找到有关该属性的任何文档commandName
.有什么用commandName
?
谢谢
在 C 语言中,bind
Socket 的典型方式如下:
int server_socket_fd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
int port_number = 55555;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(port_number);
int result = bind(server_socket_fd,(struct sockaddr *)&addr , sizeof(addr));
if(bind_result > 0)
{
// Stuff
}
Run Code Online (Sandbox Code Playgroud)
sockaddr_in
我想知道为什么从到 的转换sockaddr
有效,因为我找不到任何文档说明它为什么有效。似乎每个人都这样做。
为什么类型转换在这里起作用?
我不是问我们为什么要铸造它,这已经在这里得到了回答。我问为什么它有效。
JavaFX的Hello World-Tutorial说:
当使用 JavaFX Packager 工具创建应用程序的 JAR 文件时,JavaFX 应用程序不需要 main() 方法,该工具将 JavaFX Launcher 嵌入 JAR 文件中。但是,包含 main() 方法很有用,因此您可以运行在没有 JavaFX Launcher 的情况下创建的 JAR 文件,例如在使用未完全集成 JavaFX 工具的 IDE 时。此外,嵌入 JavaFX 代码的 Swing 应用程序需要 main() 方法。
我试过了,这是真的,我可以在没有main
方法的情况下启动我的应用程序。
但是,当我从类中声明一个main
方法调用时,该程序仍然有效。Application的文档说,JavaFX 运行时正在创建类的实例并调用该方法。launch
Application
Application
init
但是 JavaFX 运行时是如何启动的呢?我的意思是必须在main
某处有一种方法,才能开始一切。所以我想知道我是否自己声明了一个main
方法,不是有两个吗?