小编Dan*_*tar的帖子

使用AngularJS的Backbone模型

最近我在考虑Backbone.js和AngularJS之间的差异和相似之处.

我在Backbone中发现非常方便的是Backbone-Models和Backbone-Collections.您只需设置urlRoot,然后通过Ajax与后端服务器的通信基本上可以正常工作.

是不是可以只使用AngularJS应用程序中的Backbone-Models和Collections?因此,我们将充分利用AngularJS双向数据绑定,并通过Backbone-Models和Collections方便地访问服务器端(或其他存储选项).

一个快速的互联网搜索没有出现任何建议这种使用场景的网站.所有资源都要么谈论使用一个或另一个框架.

有人有使用AngularJS的Backbone-Models或Collections的经验.他们不会很好地相互补充吗?我缺少什么?

backbone.js angularjs

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

为什么在backbone.js的导航功能中调用trigger:true会被认为是不好的做法?

我在几个地方读过,调用Backbone.history.navigate函数被认为是不好的做法.

例如Addy Osmani sais在他的书"开发Backbone.js应用程序"中

Router.navigate()也可以通过传递trigger:true选项来触发路由以及更新URL片段.注意:不鼓励这种用法......

http://addyosmani.github.io/backbone-fundamentals/#backbone.history

或者Derick Bailey在他的博客文章中甚至是sais:

在大多数情况下,您不应该在应用程序中执行路由的处理程序.

但我真的不明白它背后的原因以及什么是更好的解决方案.

在我看来,使用trigger:true选项调用导航功能并不是很糟糕.路由功能可以在调用时始终检查所考虑的数据是否已加载并显示此加载的数据,而不是重新执行整个工作...

backbone.js backbone-routing

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

测试对象是否是AngularJS模板中的空对象

我在控制器中有一个简单的对象,有时可能是空的({}).

app.controller('TestController', function() {
  var vm = this;

  vm.testObject = {};
});
Run Code Online (Sandbox Code Playgroud)

我想在对象为空时隐藏或显示相应模板中的一些DOM元素.

我试图用一个简单的做到这一点<div ng-if="vm.testObject">,但是当vm.testObject === {}它被认为是trueng-if.

<div ng-controller="TestController as vm">
  <div ng-if="vm.testObject">
    Test Object is not empty
  </div>
  <div ng-if="!vm.testObject">
    Test Object is empty
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来检查模板中的空对象?最好不要在范围内添加新变量.

这是一个有效的Plunker:http://plnkr.co/edit/Qed2MKmuedcktGGqUNi0?p = preview

angularjs angularjs-templates

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

如何在AngularJS中设置和使用$ anchorScroll的yOffset属性

$anchorScroll在AngularJS中使用-service.它工作正常.但是我在顶部有一个固定的导航栏,滚动位置总是x像素到远.

现在在$anchorScroll文档中有一个名为的属性yOffset.根据文档,它应该解决我的问题.

我不知道如何使用这个yOffset属性,因为这个特定的部分没有例子.

我如何使用-service 的yOffset-property $anchorScroll

angularjs anchor-scroll

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

如何在elm架构中处理多个订阅

我正在通过榆树指南.

在效果子章节中,有一个带有时间订阅的示例

subscriptions : Model -> Sub Msg
subscriptions model =
  Time.every second Tick
Run Code Online (Sandbox Code Playgroud)

以及处理Web-Sockets-subscriptions的示例

subscriptions : Model -> Sub Msg
subscriptions model =
  WebSocket.listen "ws://echo.websocket.org" NewMessage
Run Code Online (Sandbox Code Playgroud)

但在这些示例中,只有一个订阅.我怎么能处理多个订阅?

elm elm-architecture

13
推荐指数
1
解决办法
1304
查看次数

python坚韧地重试,禁用unittest的“ wait”

我正在使用韧度库来使用其@retry装饰器。

我正在使用它来创建一个函数,该函数在失败的情况下多次重复执行HTTP请求。

这是一个简单的代码片段:

@retry(stop=stop_after_attempt(7), wait=wait_random_exponential(multiplier=1, max=60))
def func():
   ...
   requests.post(...)
Run Code Online (Sandbox Code Playgroud)

该函数使用强度wait参数在两次调用之间等待一段时间。

该函数与@retry-decorator 一起似乎正常工作。

但是我还有一个单元测试,可以检查该函数是否在发生故障的情况下被调用7次。由于wait在两次尝试之间进行了此测试,因此该测试需要大量时间。

是否可以以某种方式仅在单元测试中禁用等待时间?

python unit-testing

6
推荐指数
3
解决办法
850
查看次数

AES 256 加密 -&gt; 更改初始化向量会在不知道密钥的情况下稍微更改解密的消息

我通过 AES 加密/解密示例进行了以下观察,这对我来说非常违反直觉。

我尝试在 CBC 模式下使用 AES 加密和解密一个简单的有效负载。我的理解是,根据这个答案,初始化向量不必是秘密的: https: //security.stackexchange.com/a/17046。在我看到的大多数示例中,初始化向量是加密有效负载的非随机部分。

但通过更改初始化向量,我能够在加密期间更改消息。

例如,请参阅我从/sf/answers/1535015331/复制并改编的这个 python 示例。我设置了硬编码的ivforencrypt并稍微调整了ivfor decrypt。通过此更改,我可以将消息从"hello world"更改为"hello!world"

import base64
import hashlib

from Crypto.Cipher import AES


class AESCipher(object):

    def __init__(self, key):
        self.bs = AES.block_size
        self.key = hashlib.sha256(key.encode()).digest()

    def encrypt(self, raw):
        raw = self._pad(raw)
        #iv = Random.new().read(AES.block_size)
        #                    | here is the difference to the iv from decrypt
        iv = b'\xe2\xe0l3H\xc42*N\xb0\x152\x98\x9cBh'
        cipher = AES.new(self.key, AES.MODE_CBC, iv)
        code = cipher.encrypt((raw.encode())) …
Run Code Online (Sandbox Code Playgroud)

python encryption aes pycrypto initialization-vector

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

event_loop 在 Django&gt;=3.1 异步视图中存在多长时间

我正在使用 Django 3.1 的新异步视图。

我希望拥有的一些好处是在视图已经给出它之后做一些简单的即发即弃的“任务” HttpResponse,比如发送推送通知或发送电子邮件。我不是在寻找像芹菜这样的第三方软件包的解决方案!

为了测试这个异步视图,我使用了本教程中的一些代码:https : //testdriven.io/blog/django-async-views/

async def http_call_async():
    for num in range(1, 200):
        await asyncio.sleep(1)
        print(num)
        
    # TODO: send email async
    print('done')


async def async_view(request):
    loop = asyncio.get_event_loop()
    loop.create_task(http_call_async())
    return HttpResponse("Non-blocking HTTP request")
Run Code Online (Sandbox Code Playgroud)

我用 uvicorn 启动了 django 服务器。

当我向该视图发出请求时,它将立即返回 HTTP 响应“非阻塞 HTTP 请求”。

与此同时,在 HTTP 响应之后,事件循环继续愉快地打印最多 200 的数字,然后打印“完成”。

这正是我想用于我的即发即忘任务的行为。

不幸的是,我找不到有关运行此代码的事件循环生命周期的任何信息。

事件循环存在多长时间?有超时吗?它取决于什么?在独角兽上?那可以配置吗?

有没有讨论这个话题的资源?

python django python-asyncio

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

是否存在编译为Objective-C或与Objective-C二进制兼容的语言 - > Objective-C的Coffeescript

我最近发现了eero编程语言, 我发现它的概念非常有趣.它似乎主要是语法糖,看起来很可读.

虽然它不直接编译到Objective-C,但它声称生成与Objective-C相同的二进制代码

Eero编译为与Objective-C相同的二进制代码

Eero提供与Objective-C,C和C++的出色,几乎无缝的互操作性.

我发现这种方法非常有趣,我想知道是否有类似的编程语言和项目提供与Objective-C和iOS的大腿集成.我正在为Objective-C寻找类似Coffeescript的东西.

objective-c coffeescript ios

4
推荐指数
1
解决办法
531
查看次数

如何在Swift中调用指定的超类初始值设定项

在Objective-C中,初始化器中有这种标准模式来调用超类的指定初始化器.

例如:

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

在Swift类中进行相同初始化的标准方法是什么?

objective-c uiview swift

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

如何获得榆树时间订阅每秒x次

在elm-guide中,Effects/Time中有一个部分给出了返回订阅的示例Time.every second.

在文档似乎只有粒度单位millisecond,second,minute,等...

有没有办法获得每秒20或其他子粒度的订阅?

实现类似目标的最佳途径是什么?

elm

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

elm-css:如何给`opacity`赋值

我在玩elm-css。大多数事情都按我预期的那样工作。但是我不能给该Css.opacity函数一个正确的值。

这是我尝试过的:

Css.opacity 0.5
Run Code Online (Sandbox Code Playgroud)

给出错误:

Function `opacity` is expecting the argument to be:

    Css.Number compatible

But it is:

    Float
Run Code Online (Sandbox Code Playgroud)

Css.Number是在以下形式的类型别名:

type alias Number compatible =
     { compatible | value : String, number : Compatible }
Run Code Online (Sandbox Code Playgroud)

但是我不明白如何为该Css.opacity函数创建有效值...

elm

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

如何在简单的应用程序中“生成”自己的命令

作为榆木的学习示例,我想用榆木结构创建一个简单的蛇游戏。

这是到目前为止的完整代码:https : //gist.github.com/DanEEStar/b11509514d72eaafb640378fc7c93b44

该程序的一部分是一条UpdateWorld消息,该消息由单击按钮和updateWorld用户按下空格键时调用的功能生成。

这将导致以下编译和工作代码(完整的代码段):

update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
    case msg of
        UpdateWorld ->
            ( updateWorld model, Cmd.none )

        KeyPress keyCode ->
            ( handleInput keyCode model, Cmd.none )


handleInput : Int -> Model -> Model
handleInput keyCode model =
    case Char.fromCode keyCode of
        ' ' ->
            updateWorld model

        _ ->
            model


updateWorld : Model -> Model
updateWorld model =
    { model | snake …
Run Code Online (Sandbox Code Playgroud)

elm

2
推荐指数
1
解决办法
212
查看次数