小编Bus*_*ata的帖子

改进嵌套的ng-repeat +指令性能

我有一个横向月历,显示每天员工的活动.

目前它正在使用具有以下层次结构/流的表

1)控制器:根据选定的月/年生成包含该月每天的数组.$ scope. $ watchCollection每年或每月更改时都会更新数组.

由于代码解释了我做得更好:

<table class="table table-bordered table-condensed" ng-controller="PlanningOverviewController">
    <tr>
        <th><input type="text" ng-model="employeefilter"/></th>
        <th colspan="7" ng-repeat="week in weeks">
            {{week | weekheader}}
        </th>
    </tr>
    <tr>
        <th>&nbsp;</th>
        <th ng-repeat="day in days">
            {{day.format("ddd")}}
        </th>
    </tr>
    <tr>
        <th>&nbsp;</th>
        <th ng-repeat="day in days">
            {{day.date()}}
        </th>
    </tr>
    <tr ng-repeat="employee in planning | filter:employeefilter">
        <td> {{employee.firstName}} {{employee.lastName}}</td>
        <td class="calendar-unit" ng-repeat="day in days" ng-init="assignments = getAssignments(day, employee)">
            <div class="assignment"
                 assignment  ng-repeat="assignment in assignments"
                 assignment-description = "{{assignment.description}}"
                 assignment-period="{{assignment.period}}"
                 assignment-type="{{assignment.type}}">

            </div>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

问题是getAssignments()是"昂贵的",因为它需要检查:

  1. 这是公众假期吗?
  2. 员工当天工作吗? …

performance html-table angularjs angularjs-ng-repeat

7
推荐指数
1
解决办法
3693
查看次数

AngularJS $ http.get()在Chrome中最多需要10-20秒,在Firefox中运行良好

我在使用AngularJS/Google Chrome时遇到了一个奇怪的错误.当我执行$ http.get()时,它实际完成之前需要18秒.似乎对"OPTIONS"方法保持"PENDING":

http://i.imgur.com/yEozFdm.png

为这些页面提供服务的服务器是Mongoose,其中@ localhost:5000是Flask,它返回以下头文件以便CORS正常工作.

@mod.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Origin', 'http://localhost:8080')
    response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
    response.headers.add('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type,     Accept')
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么Chrome会推迟OPTIONS请求?(从烧瓶服务器调试控制台,似乎OPTIONS方法实际上只在页面重新加载后10-20秒到达).它似乎在Firefox中运行良好.

javascript google-chrome cors flask angularjs

6
推荐指数
1
解决办法
1112
查看次数

AngularJS - 服务器端index.html和身份验证

在观看AngularJS"Massive AngularJS apps"演示文稿(https://docs.google.com/file/d/0B4F6Csor-S1cNThqekp4NUZCSmc/edit)之后,我试图实现以下场景

1)用户请求index.html(服务器端生成)
2)Flask检查是否存在身份验证cookie
3)如果缺少cookie,则重定向到login.html(还生成服务器端)
4)在登录页面上,POST登录信息.
5)Flask验证用户+密码 - >设置cookie,重定向到/
6)Flask检查cookie,检索用户配置文件+生成index.html
7)客户端app启动
8)客户端应该调用/ token(带cookie)
9)Flask验证请求,生成新访问+刷新令牌并使exp cookie失效
10)客户端收到令牌并可以使用令牌使用基本身份验证头进行正常的REST调用

我遇到的问题是一旦必须生成index.html,就实现了维护身份验证的方式.我建议将令牌包含在索引页面的配置文件中(作为javascript变量),当angularjs配置时,将其复制到window.session存储中,但我不太确定它的安全性如何?

这是一个可接受的流量安全明智和/或有更好的方法吗?

编辑:更新的问题+添加了我将用作序列图的流程:EDIT2:我注意到我无法重新加载页面,因为cookie将过期,所以我开始怀疑使用访问令牌..

登录流程

security flask angularjs

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

仅使用 Spring Boot Data JPA/Java 8 Instant 查询日期?

我有一个 Spring boot 1.4.x 应用程序,它结合使用了 starter jpa 和 H2/Postgresql。我有一个实体将日期存储为 Instant(使用 Instant.now(),基于Java 8:Instant 和 LocalDateTime 之间有什么区别?答案),并且关联的表将此字段存储为时间戳。

为了存储工作,我必须设置一个转换器,将 Instant 转换为 sql.Timestamps,反之亦然,这似乎有效(Timestamp.from(instant) 和 timestamp.toInstant())

我的问题是,是否有一种直接的方法可以使用 JPA 存储库仅使用此即时按日期查询,例如。

List<Orders> findBySaleTime(.... day)

或者我是否被迫找到一种方法将一天转换为两个瞬间并在查询之间进行?

java jpa date spring-boot java.time.instant

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