我有几个按钮充当路线.每次更改路线时,我都要确保激活的按钮发生变化.
有没有办法在路由器v4中侦听路由更改?
如何大写字符串的第一个字符,而不更改任何其他字母的大小写?
例如,"this is a string"应该给出"This is a string".
我想在字符串中添加一些前导零.例如,总长度可以是八个字符.例如:
123 should be 00000123
1243 should be 00001234
123456 should be 00123456
12345678 should be 12345678
Run Code Online (Sandbox Code Playgroud)
在达特这是一个简单的方法吗?
我有一个TextField,我想验证输入的文本是否为整数.我该怎么做?
我想写一个这样的函数:
func isStringAnInt(string: String) -> Bool {
}
Run Code Online (Sandbox Code Playgroud) 在我的职业生涯中,我有过几次这样的讨论。在我看来,在 REST API 响应中将存储在数据库中的 id 公开给客户端是完全可以的。但与我共事过的一些人认为这确实是安全方面的第一课:“永远不要将您的数据库 ID 暴露给客户端。”
然后他们带着各种复杂性来避免这种情况。例如,在一项工作中,我必须对其余响应中的每个 ID 进行散列,然后对请求中的所有 ID 进行散列。
现在在我的新工作中,我们有以下模式。一个表有一个自动递增的“id”,但我们不公开它,旁边有一个 uuid“代码”,这是我们向客户端公开的。所以本质上我们有 2 个 id,都存储在数据库中,但一个我们可以公开,另一个我们可以,因为:
“永远不要向客户端公开您的数据库 ID。”
这甚至有点道理吗?我们仍然向客户端公开一个“标识符”。如果问题是有人可以看到我们在表中有多少行,因为“id”是自动递增的,我只会将“id”设为 uuid,并将其公开给客户端。
如果您查看其他公共休息 API 的示例,在我看来它们总是公开数据库 ID,没有问题。例如,gitlab:
GET /projects/:id/users
[
{
"id": 1,
"username": "john_smith",
"name": "John Smith",
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://localhost:3000/john_smith"
},
{
"id": 2,
"username": "jack_smith",
"name": "Jack Smith",
"state": "blocked",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"web_url": "http://localhost:3000/jack_smith"
}
]
Run Code Online (Sandbox Code Playgroud)
推特:
https://api.twitter.com/1.1/statuses/show.json?id={id}
但即使是stackoverflow:
/sf/{id}
https://stackoverflow.com/users/{id}
我敢打赌,2188707在 url/sf/users/153209521/中只是我在 stackoverflow 数据库中的用户 ID。
我想知道,有时我有一台需要另一台减速机信息的减速机.例如,我有这个减速器:
import * as ActionTypes from '../actions/action_type_constants';
import KeyCode from 'keycode.js/index';
import {store} from "../index";
import {mod} from "../pure_functions";
export function selectedCompletion(state = 0, action) {
if (action.type === ActionTypes.arrowKeyPressed) {
const completionsLength = store.getState().completions.data.length;
if (action.keyCode === KeyCode.UP) {
return mod(state - 1, completionsLength);
} else if (action.keyCode === KeyCode.DOWN) {
return mod(state + 1, completionsLength);
}
}
return state;
}
Run Code Online (Sandbox Code Playgroud)
我在函数的第二行调用store.getState,否则我无法正确确定索引.
我可以重构这个和另一个减速器,以便它成为一个大的减速器,但为了可读性,我更喜欢这个选项.
如果我在reducer中使用这种调用store.getState()的模式,我不确定是否会以某种方式解决问题.
使用<body>标记而不是<my-app>根组件的某些标记是否有任何缺点?
import 'package:angular2/angular2.dart';
@Component(
selector: 'body',
template: '''
<h1>My First Angular 2 App</h1>
<div>{{greet}}</div>
''',
styles: const ['''
:host {
height: 100vh;
}
h1 {
color: red;
}
'''])
class AppComponent {
String greet = 'Hello world';
}
Run Code Online (Sandbox Code Playgroud)
(这里的代码是飞镖,但我希望它是足够接近ES6,打字稿其他人了解.)
我不经常看到这个,所以我猜它有一个很好的理由,但这对我来说似乎很好,否则你基本上有两个根组件,正文和我的应用程序.
如何在manifest.json中指定图标?似乎有些人使用数组,有些人使用字典.例如:
https://developer.chrome.com/webstore/get_started_simple
Run Code Online (Sandbox Code Playgroud)"icons": { "128": "icon_128.png" },
但在这个来源中,他们使用它像这样:
"icons": [
{
"src": "launcher-icon-2x.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "launcher-icon-3x.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "launcher-icon-4x.png",
"sizes": "192x192",
"type": "image/png"
}
],
Run Code Online (Sandbox Code Playgroud)
如果我尝试将我的网络应用程序安装为Chrome扩展程序,并且我使用后一种格式,则会出现此错误:

所以我想我需要使用第一种格式.但是,如果我尝试在Android中将我的应用程序安装为渐进式Web应用程序,则需要稍后的格式...
android web-applications manifest google-chrome-extension progressive-web-apps
以不同的方式在ES6/ES2015中创建顶级功能有哪些优点/缺点?或者这仅仅是品味/风格指南等问题?
选项1:
function square(n) {
return n * n;
}
Run Code Online (Sandbox Code Playgroud)
选项2:
var square = function(n) {
return n * n;
};
Run Code Online (Sandbox Code Playgroud)
选项3:
var square = (n) => {
return n * n;
};
Run Code Online (Sandbox Code Playgroud)
选项4:
const square = (n) => {
return n * n;
};
Run Code Online (Sandbox Code Playgroud) 我有以下最大值代码:
declare(p, real)$
declare(q, real)$
declare(m, real)$
is(-(4*p^2*q^2)/m^2-(4*p^4)/m^2 < 0);
Run Code Online (Sandbox Code Playgroud)
这评估为未知。我可以声明p,q和m是正实数?
dart ×3
javascript ×2
android ×1
angular ×1
ecmascript-6 ×1
manifest ×1
maxima ×1
redux ×1
rest ×1
security ×1
swift ×1
swift2 ×1
typescript ×1