Kotlin初学者在这里.如何获取列表而不进行变更,创建第二个(不可变)列表,在特定索引处包含一个更新元素?
我正在考虑两种方式,这两种方式似乎都可能导致性能下降,改变底层对象,或两者兼而有之.
data class Player(val name: String, val score: Int = 0)
val players: List<Player> = ...
// Do I do this?
val updatedPlayers1 = players.mapIndexed { i, player ->
if (i == 2) player.copy(score = 100)
else player
}
// Or this?
val updatedPlayer = players[2].copy(score = 100)
val mutable = players.toMutableList()
mutable.set(2, updatedPlayer)
val updatedPlayers2 = mutable.toList()
Run Code Online (Sandbox Code Playgroud)
如果没有高效的方法,那么Kotlin stdlib或其他库中是否有更合适的数据结构?Kotlin似乎没有载体.
我是Elm的新手,并尝试用elm-html构建一个Web应用程序.我无法设置工作流程来快速开发和查看结果.
我曾经elm-reactor服务并重新加载我的更改,但是我的应用程序localhost:8000/Foo.elm不包含任何外部样式表.我必须为所有组件使用内联样式,大多数HTML指南都不鼓励这样做.我宁愿使用CSS(或CSS预处理器).
我可以使用elm-make构建到*.js文件并将其包含在index.html我维护的文件中,但它不会观察更改.
在Elm项目中包含CSS文件是错误的方法,如果没有,我如何在Elm之外维护样式表并在本地服务我的项目,同时观察变化?
如何在 API Gateway 中创建模拟集成以接受请求:
/products/{product}/bigFile.zip?platform={platform}&version={version}
Run Code Online (Sandbox Code Playgroud)
并重定向响应:
http://xyz.cloudfront.net/{product}/{platform}/{version}.zip
Run Code Online (Sandbox Code Playgroud)
我尝试过更改请求和响应映射模板,但我不确定它们是如何连接的,因为有关模拟集成的 AWS 文档非常稀疏。我可以更改 HTTP 状态代码,但无法Location根据查询参数填充标头。
更广泛的背景(如果我犯了 XY 问题)是我正在使用 AWS API Gateway 构建 API。其中一个 API 端点提供的大文件不符合 API 网关的 10 秒响应时间限制,因此我想重定向到另一个 CDN 链接。
我正在编写一个express.js应用程序,并希望提供来自另一台服务器的某些路由。
Express提供一些以开头的路线api.example.com/v1/*。我希望将任何以开头的路径/ad/hoc/转发到另一台服务器,并将Express提供的响应(例如api.example.com/ad/hoc/endpoint.php,通过管道传递到)grampas-lamp-stack.example.com/ad/hoc/endpoint.php。
我可以通过以下方式完成此操作,res.redirect但我想通过Express应用程序流式传输响应,并避免将浏览器重定向到另一个IP地址。
app.js
var express = require('express');
var app = express();
app.get('/v1/users/:id', UserCtrl.get);
app.get('/v1/users/search', UserCtrl.search);
app.get('/ad/hoc/*', function(req, res) {
res.redirect('http://grampas-lamp-stack.example.com' + req.url);
}
Run Code Online (Sandbox Code Playgroud)
我尝试搜索“代理请求表达”,但是我不确定代理是否是我所做工作的准确术语。如果这个主题有更好的用词,或者我想完成什么,请告诉我。
假设有两种数据类型:
type alias Player =
{ name : String
, team : Team
}
type alias Team =
{ name : String
, players : List Player
}
Run Code Online (Sandbox Code Playgroud)
这个JSON:
{
"players": [
{ "id": 100, "name": "Sam Bradford", "teamId": 200 },
{ "id": 101, "name": "Kyle Rudolph", "teamId": 200 },
{ "id": 102, "name": "Matthew Stafford", "teamId": 201 },
{ "id": 103, "name": "Marvin Jones Jr.", "teamId": 201 },
{ "id": 104, "name": "Golden Tate", "teamId": 201 },
],
"teams": …Run Code Online (Sandbox Code Playgroud) 假设我正在编写标记来描述一本包含几行细节的书,例如:
双城记
这是一个问题:即使我在示例中将其格式化为列表,但它在语义上并不是一个列表.此外,其中许多字段都是用户可配置的,因此书籍,作者和时间的标记并不真正适用.什么时候使用<p>,<li>,<dl>,<div>或为这些线路的别的东西吗?如果我不回归<div>,<p>标签似乎最接近我想要的,即使它不是一个完整的文本段落.
什么是这些非列表,非完全段落项目的正确标记,其关键字和值在运行时才会知道?