小编Con*_*ham的帖子

在Ember.JS应用程序中强制执行用户/身份验证状态的最佳方法

在我的第一个EmberJS应用程序上工作.整个应用程序要求用户登录.我试图绕过最好的方法来强制用户现在登录(当页面最初加载时)和将来(当用户注销时)而且没有刷新).

我已经处理了用户身份验证挂钩 - 现在我有一个ember-data模型和连接该句柄的相关商店,授权用户并创建用户"session"(使用sessionStorage).

我不知道该怎么做是强制在跨路径转换时对用户进行身份验证,包括根路由中的初始转换.我把这个逻辑放在哪里?如果我有一个身份验证状态管理器,我该如何将其挂钩到路由?我应该有一条在根路由之外的身份验证路由吗?

注意:如果这个问题措辞不当或者我需要更好地解释,请告诉我,我很乐意这样做.

编辑: 我最终做了一些我认为更尴尬的事情,虽然可能是一个混乱的实现.我有一个auth statemanager,用于存储当前用户的身份验证密钥以及当前状态.

每当某些东西需要身份验证时,它只是向authmanager请求它并传递一个回调函数以使用身份验证密钥运行.如果用户未登录,则会提取登录表单,暂停回调功能,直到用户登录为止.

这是我正在使用的代码的一些选择部分.需要清理,我遗漏了一些东西.http://gist.github.com/3741751

authentication ember.js

37
推荐指数
1
解决办法
5128
查看次数

PHP的资产管道/框架

背景

我正在努力"现代化"一个已有的PHP驱动的网站.这个网站最初是一个静态网站,有几个php方法.它现在有一个移动网络应用程序,多个模型和大量动态内容.然而,超时的应用程序本身的结构并没有太大变化,因为它是一个很大程度上静态的站点,所以现在遍布包含文件,没有应用程序/表示逻辑的分离等等.这是一个烂摊子从事于.因此,当我们准备即将升级到不断增长的生态系统时,我正在重新组织所有内容并重新开发许多预先存在的功能.首先,我正在重新编码每个标志以适应MVC架构.虽然我使用PHP,但我的大部分背景都来自Ruby和Node,因此我的问题是:

实际问题

我非常喜欢Rails的资产管道,看到我正在研究的当前网站(见上面的背景)有大约10种不同的样式表和更多的javascript文件,我真的很想实现某种资产管理器当我将网站转换为MVC设置时.

我发现了Assetic,它似乎相当有趣,但我不太了解将它实现到模板系统的最佳方法(我没有使用任何预先构建的模板,如Twig,我可以找到任何参考资料)或者让它动态地提供资产.

我还发现了一个名为Pipe的东西:https://github.com/CHH/pipe,它看起来像一个非常接近的Sprockets端口,但我无法正常运行.

是否有任何应用程序实现Assetic(或Pipe),或者其他不依赖于现有模板引擎的资产打包程序,例如Twig,我可以看一下?

真的,我正在寻找能够缩小/组合多个JS和CSS文件,然后缓存它们的东西.

php pipeline assets

11
推荐指数
1
解决办法
4757
查看次数

Ember.JS:观察@each,但只是迭代新的/更改的项目

我目前正在观察一些Ember数组,如下所示:

 observe_array: function() {
     this.get("my_array").forEach(function(e,i) {
         // do something
     });
 }.observes("my_array.@each");
Run Code Online (Sandbox Code Playgroud)

大多数情况下,如果更新my_array,则会一次添加多个元素.然而,观察者在添加每个元素时一个接一个地触发,这变得非常低效.无论如何更有效地做到这一点?基本上,我需要能够有一个基于"my_array"的变异数组

作为参考,my_array的实际大小将介于600-1200个元素之间."做某事"块涉及一些需要花费更多时间的操作 - 从字符串创建Date对象并将每个元素转换为json表示.

我没有做一个观察者,而是尝试了一个带有cacheable()方法/标志的属性,但是这并不能解决问题.

performance ember.js

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

带有 MongoDB 的重复事件模式

我已经阅读了一些描述重复事件的数据存储方法的论文,但我仍然试图围绕最佳实践进行思考,尤其是关于 MongoDB。

我主要关心的是廉价地检索在给定时间范围内发生的所有事件。我的次要关注是修改和更改单个事件,而不会使整个事件链失控。

看着其他提出类似问题的人,我想出了一种可能性。我并没有完全接受它,并且会喜欢一些正确方向的指示。

我的想法:在每个事件文档中,有...

  • 与 iCal 标准非常匹配的重复字符串字段
  • 一个“occurrences”嵌入文档或数组字段,其中包含对特定事件的更改/编辑(例如更改描述或开始时间,或取消单个事件)。
  • 一个出现开始和结束字段来定义重复规则的容易查询的边界

优点:

  • 能够存储更改并仍然保持与其他事件的关联
  • 很容易查询,但我在业务方面的模型必须构建每个事件

缺点/潜在问题:

  • 如果编辑事件,并且用户决定将更改标记为适用于“所有事件” - 如何防止已经过去的事件被更改

schema schema-design mongodb mongodb-query

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