小编Mir*_*mer的帖子

实现Iterable

如何实现Scala等效于Java Iterable<T>和C#IEnumerable<T>?基本上,我希望我的收藏是可映射,过滤等应集合类扩展什么特点以及是否有简便的方法(类似yield returnyield break在C#)来创建枚举?

iterable scala

10
推荐指数
1
解决办法
5647
查看次数

两种访问android字符串资源的方法

我试图弄清楚访问android字符串资源之间的区别。以下报价对我来说并不明确:

参照访问速度快

直接访问速度慢

通过引用方式访问setTitle(R.string.title)

直接访问是指:setTitle(getResources().getString(R.string.title))

现在,我在android模拟器上运行了一些速度测试:

通过引用访问

for(int i = 0; i< 100000; i++) {
    setTitle(R.string.app_name);
}
Run Code Online (Sandbox Code Playgroud)

这花费了5090毫秒。相反,我使用直接访问来运行相同的代码:

for(int i = 0; i< 100000; i++) {
    setTitle(getResources().getString(R.string.app_name));
}
Run Code Online (Sandbox Code Playgroud)

这花费了5191毫秒。我使用Android 4.2.2进行了测试。

因此,对我来说,看起来就像使用资源的方式无关紧要。在早期的android版本中这有关系吗?在实际设备上这有关系吗?换句话说:选择哪种访问方式有关系吗?

如果需要更多测试参数,我很乐意提供。感谢您抽出宝贵的时间,非常感谢。

performance resources android

5
推荐指数
1
解决办法
1440
查看次数

如何从Spring REST存储库包装JSON响应?

我有一个Spring REST控制器,它返回以下JSON负载:

[
  {
    "id": 5920,
    "title": "a title"
  },
  {
    "id": 5926,
    "title": "another title",
  }
]
Run Code Online (Sandbox Code Playgroud)

REST控制器及其相应的get request方法:

@RequestMapping(value = "example")
public Iterable<Souvenir> souvenirs(@PathVariable("user") String user) {
    return new souvenirRepository.findByUserUsernameOrderById(user);
}
Run Code Online (Sandbox Code Playgroud)

现在,纪念品课是一场pojo:

@Entity
@Data
public class Souvenir {

    @Id
    @GeneratedValue
    private long id;

    private String title;

    private Date date;
}
Run Code Online (Sandbox Code Playgroud)

关于https://www.owasp.org/index.php/OWASP_AJAX_Security_Guidelines#Always_return_JSON_with_an_Object_on_the_outsidehttp://haacked.com/archive/2009/06/25/json-hijacking.aspx/,我想将响应包装在使其不受攻击。我当然可以做这样的事情:

@RequestMapping(value = "example")
public SouvenirWrapper souvenirs(@PathVariable("user") String user) {
    return new SouvenirWrapper(souvenirRepository.findByUserUsernameOrderById(user));
}

@Data
class SouvenirWrapper {
  private final List<Souvenir> souvenirs;

  public SouvenirWrapper(List<Souvenir> …
Run Code Online (Sandbox Code Playgroud)

java rest spring json spring-restcontroller

5
推荐指数
1
解决办法
4853
查看次数

如何检索父节点的元素 id 以在触发器定义中使用

在 Google 跟踪代码管理器中,可以根据 css 选择器匹配来触发触发器。如果 html 元素与 css 选择器匹配,则会触发触发器(更多详细信息请参见:http ://www.simoahava.com/analytics/matches-css-selector-operator-in-gtm-triggers/ )

目前,我使用以下 css 选择器匹配来确定是否应触发触发器:

div#admin-button-id, div#admin-button-id *
Run Code Online (Sandbox Code Playgroud)

因此,逗号之前的第一部分表示一种可能性,它匹配所有具有 id admin-button-id 的 div 元素。第二种可能性(在逗号之后)匹配属于 id admin-button-id 的 div 元素的子元素的所有 html 元素。这可行,但我更喜欢一个不必重复 div#admin-button-id 的版本。所以,像

div#admin-button-id *?
Run Code Online (Sandbox Code Playgroud)

表明孩子们是可选的。有这样一个有效的构造吗?

css-selectors google-tag-manager

3
推荐指数
1
解决办法
2575
查看次数