小编Kas*_*per的帖子

如何在路由器v4中侦听路由变化?

我有几个按钮充当路线.每次更改路线时,我都要确保激活的按钮发生变化.

有没有办法在路由器v4中侦听路由更改?

react-router-v4

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

如何在dart中大写字符串的第一个字母?

如何大写字符串的第一个字符,而不更改任何其他字母的大小写?

例如,"this is a string"应该给出"This is a string".

dart

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

在Dart中将前导零添加到数字

我想在字符串中添加一些前导零.例如,总长度可以是八个字符.例如:

123 should be 00000123
1243 should be 00001234
123456 should be 00123456
12345678 should be 12345678
Run Code Online (Sandbox Code Playgroud)

在达特这是一个简单的方法吗?

dart

18
推荐指数
2
解决办法
4614
查看次数

如何检查String是否是Swift中的Int?

我有一个TextField,我想验证输入的文本是否为整数.我该怎么做?

我想写一个这样的函数:

func isStringAnInt(string: String) -> Bool {

}
Run Code Online (Sandbox Code Playgroud)

swift swift2

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

在 REST API 中向客户端公开数据库 ID 是一种不好的做法吗?

在我的职业生涯中,我有过几次这样的讨论。在我看来,在 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。

security rest

15
推荐指数
3
解决办法
4875
查看次数

Redux:在reducer函数中调用store.getState(),这是一种反模式吗?

我想知道,有时我有一台需要另一台减速机信息的减速机.例如,我有这个减速器:

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()的模式,我不确定是否会以某种方式解决问题.

javascript redux

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

Angular 2,使用body作为根选择器,而不是my-app

使用<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,打字稿其他人了解.)

我不经常看到这个,所以我猜它有一个很好的理由,但这对我来说似乎很好,否则你基本上有两个根组件,正文和我的应用程序.

dart typescript angular

12
推荐指数
2
解决办法
7346
查看次数

如何在manifest.json中指定图标?

如何在manifest.json中指定图标?似乎有些人使用数组,有些人使用字典.例如:

https://developer.chrome.com/webstore/get_started_simple

"icons": {
   "128": "icon_128.png"
},
Run Code Online (Sandbox Code Playgroud)

但在这个来源中,他们使用它像这样:

https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android?hl=en

  "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

8
推荐指数
1
解决办法
9370
查看次数

使用箭头或不使用箭头在ES6中创建顶级功能有哪些优点/缺点?

以不同的方式在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)

javascript ecmascript-6

8
推荐指数
1
解决办法
1129
查看次数

将变量声明为最大值中的正实数?

我有以下最大值代码:

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,qm实数?

maxima

8
推荐指数
1
解决办法
3612
查看次数