我正在尝试处理Angular $q
服务及其相关对象和API.当我在控制台中查看对象时,我看到:
var deferred = $q.defer()
...(and then from console inspection)...
$q: Object {defer: function, reject: function, when: function, all: function}
deferred: Object {resolve: function, reject: function, notify: function, promise: Object}
deferred.promise: Object {then: function, catch: function, finally: function}
Run Code Online (Sandbox Code Playgroud)
它提出了几个问题:
$q.reject()
和之间有什么区别deferred.reject()
?什么时候使用?errorFn
in deferred.promise.then(successFn, errorFn)
和catchFn
in 之间的关系是deferred.promise.catch(catchFn)
什么?catch()
函数是否会被调用?如果其中一个嵌套的promises也定义了catch函数怎么办?这种捕获会阻止最外层的捕获吗?谢谢.
我正在构建一个webapp,需要在Django和Pyramid之间进行选择.我决定和金字塔一起去.
我知道Pyramid带有自己的身份验证/授权框架,看起来不错.但我没有在Pyramid的任何地方看到用户/组/权限的定义.在Django这些东西是免费的.
我正在使用SQLAlchemy,并想知道是否已经构建了类似的用户/组/权限,我可以导入.我宁愿不自己定义这些对象/映射和密码的哈希/腌制.
任何人都可以指出我可以使用的东西吗?或者我需要自己动手?
我正在尝试使用编程方式设置nvd3多条形图的宽度和高度
chart.width(600);
chart.height(400);
Run Code Online (Sandbox Code Playgroud)
看这里的例子:
正如你所看到的,这真的搞砸了图表.我知道我可以做到这一点是CSS:
#chart svg {
width: 600px;
height: 400px;
}
Run Code Online (Sandbox Code Playgroud)
但我认为这也可以使用图表上的width()和height()函数.我在这里做错了什么,或者我错误地使用了这两个功能?
我在Postgres的跨查询来到这里,它使用了@>
运营商在地球上的物体.
我到处搜索过,但是对于这个运算符的意义已经空洞了(可能还有其他人喜欢它,例如:@<
等等......).
>
很明显.我还发现,@
将采取某种东西的绝对值.所以我最好的猜测是,这absolute greater than
是两个值的比较吗?
那是对的吗?这是在postgres文档中的某处记录的吗?我更好奇地了解操作员对地球物体的作用.
谢谢!
在我正在构建的应用程序中,我们使用Java 6 EE和JBoss(没有Spring等),使用JPA/Hibernate,JSF,CDI和EJB.
我没有找到很多好的通用安全解决方案(欢迎推荐),但我发现最好的选择是Apache Shiro.
然而,这似乎有许多缺点.其中一些你可以在Balus C的网站上阅读:
http://balusc.blogspot.com/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html
但我无意中发现了它已经提到一个很大的问题在这里就依赖注入和代理.
基本上我有一个很好的基于JPA的UserDAO,它提供了身份验证所需的一切.我的数据库在persistence.xml和mydatabase-ds.xml(对于JBoss)中整齐地配置.
再次复制所有这些配置信息并将用户表查询添加到shiro.ini中似乎很愚蠢.所以这就是我选择编写自己的Realm而不是使用JdbcRealm的原因.
我的第一次尝试是继承AuthorizingRealm ...类似于:
@Stateless
public MyAppRealm extends AuthorizingRealm {
@Inject private UserAccess userAccess;
@Override
protected AuthenticationInfo doGetAuthenticationInfo(
AuthenticationToken token) throws AuthenticationException {
UsernamePasswordToken userPassToken = (UsernamePasswordToken) token;
User user = userAccess.getUserByEmail(userPassToken.getUsername());
if (user == null) {
return null;
}
AuthenticationInfo info = new SimpleAuthenticationInfo();
// set data in AuthenticationInfo based on data from the user object
return info;
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
// TODO …
Run Code Online (Sandbox Code Playgroud) 我想为ng-grid启用页脚,但我想完全自定义它并覆盖默认情况下ng-grid的功能.
基本上,我只想在网格底部添加一个"加载更多..."链接,根据pagingOptions.pageSize设置的内容从服务器加载更多行,并在动态扩展时将其附加到网格底部视口高度,所以没有滚动条.
是否有配置挂钩,或者我在哪里/如何做到这一点?
谢谢.
TL; DR:我如何让sqmbic理解并为sqlalchemy中创建的物化视图生成SQL?
我正在使用flask-sqlalchemy并使用alembic和postgres.为了获得使用sqlalchemy的物化视图,我在该主题上发表了一篇很好的帖子.我使用它很多,只有一些小的分歧(文章也使用flask-sqlalchemy,但完整的代码示例直接使用sqlalchemy的声明性基础).
class ActivityView(db.Model):
__table__ = create_materialized_view(
'activity_view',
db.select([
Activity.id.label('id'),
Activity.name.label('name'),
Activity.start_date.label('start_date'),
]).where(
db.and_(
Activity.start_date != None,
Activity.start_date <=
datetime_to_str(datetime.now(tz=pytz.UTC) + timedelta(hours=48))
)
)
)
@classmethod
def refresh(cls, concurrently=True):
refresh_materialized_view(cls.__table__.fullname, concurrently)
db.Index('activity_view_index',
ActivityView.__table__.c.id, ActivityView.__table__.c.start_date,
unique=True)
Run Code Online (Sandbox Code Playgroud)
这些create_materialized_view
和refresh_materialized_view
方法直接来自博客文章.
请注意,上面的示例已经大大简化,并且由于我的简化可能看起来很愚蠢,但我想要了解的真正想法是如何在迁移期间将alembic转换为一系列的alembic操作?
当我运行测试时,代码运行正常,视图生成正常,一切正常.当alembic运行时,它不会对视图执行任何操作.所以我最终要做的是将测试为物化视图发出的SQL复制到alembic迁移/版本文件中,然后最终直接执行:
op.execute(activities_view_sql)
Run Code Online (Sandbox Code Playgroud)
类似地,我在物化视图上生成唯一索引时执行相同的直接SQL执行.
不幸的是,我的方法容易出错,并且会产生看似不必要的代码重复.
有没有办法让alembic了解我,ActivityView
以便任何时候它改变,alembic将知道如何更新视图?
非常感谢!
使用SI代码绘制图形时,几乎就是我们想要的.我们的y轴值往往是大货币值.例如:$ 10,411,504,201.20
简而言之,至少在美国本土,这应该转化为10.4亿美元.
但是对于SI代码使用d3.format的's'类型,这将显示为$ 10.4G.对于某些区域设置而言这可能很好,并且在处理基于计算机的值(例如:处理器速度,内存......)时很好,但对于货币或其他非计算机类型的值则不是这样.
有没有办法获得类似于SI代码的特定于语言环境的功能,将数十亿转换为B而不是G等...?
(我意识到这主要是一个SI代码的东西,并不是特定于D3,但因为我使用D3这似乎是最合适的标签.)
我看过crossfilter主页
而且非常喜欢发生的事情.但如果我不需要,我不想手写我的所有图表.我已经查看了dc.js这是非常好的,并为您提供内置的crossfilter集成和过滤.
然而dc缺少一些我从nvd3得到的东西.然而,通过交叉滤波器进入/在nvd3之上进行任何类型的交叉图过滤(使用画笔或点击等取决于图形的类型)看起来像很多工作.我没有看到或听到任何类型的这项工作在任何地方发生,但它似乎是nvd3的自然进展.
将交叉图过滤和交叉过滤器添加到nvd3很容易,我只是忽略了一个直截了当的事情吗?
人们如何实现这一目标?
谢谢.
我有一个简单的问题,我不确定处理它的最佳方法。我有一个定义如下的模式:
class MySchema(Schema):
title = fields.String(required=True)
imageUrl = fields.Url()
Run Code Online (Sandbox Code Playgroud)
imageUrl
是一个可选字段,有时它会是 None/null。如果发生这种情况,没关系,它不需要是有效的 url。但是当我这样做时:
my_schema.load(request.get_json())
Run Code Online (Sandbox Code Playgroud)
在 PUT 的传入数据上,url 字段记录错误: Field may not be null.
我认为partial=True
在调用中使用 load 会起作用,但事实并非如此。我也不喜欢那样,因为这不是部分对象,而是完整对象,碰巧我的某些字段在数据库中可以为空。
我如何让棉花糖在 imageUrl 为非空时验证它,但在它为空时忽略它?
angularjs ×2
d3.js ×2
flask ×2
nvd3.js ×2
alembic ×1
angular-ui ×1
cdi ×1
crossfilter ×1
java-ee ×1
javascript ×1
marshmallow ×1
ng-grid ×1
postgresql ×1
promise ×1
pyramid ×1
python ×1
shiro ×1
sqlalchemy ×1