小编Sai*_*han的帖子

backbone.js对不再使用的模型做了什么

最近我潜入了整个客户端MVC/MVVM设计模式,我特别感兴趣的是backbone.js.

我不完全理解的一件事是当模型不再需要它们时会发生什么.

假设我们有一个拥有用户和产品的应用.我们有用户模型/视图和产品模型/视图

注意:为简单起见,我们不是用户.我们可以只是CRUD用户/产品.

当我进入产品页面时,我假设我们加载模型和对应的视图.

当我们离开页面并进入用户页面时会发生什么.加载了用户模型/视图,但仍然加载了产品.

我们是否保持它们的负载,骨干是否为您处理,或者您是否明确需要结束某些对象.

javascript garbage-collection memory-leaks memory-management backbone.js

20
推荐指数
1
解决办法
4212
查看次数

如何知道页面上有多少个事件监听器

我正在使用Javascript构建一个相当大的应用程序.它是一个可以更改不同视图的单个页面.所有视图都有自己的变量,事件,监听器,元素等.

在处理大型集合和多个事件时,有时可以很好地了解页面上发生了什么.

我知道所有浏览器都有开发人员工具,但有时很难点击所有元素等等.我找不到一些选项.

我感兴趣的一件事是知道当前在页面上收听了多少事件.通过这种方式,我可以确认我没有创建僵尸.

如果溶剂是开发人员工具,请告诉我在哪里查看和做什么.最重要的是,选择哪种浏览器.

javascript

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

长轮询和使用Comet之间有区别吗?

我正在实现一个需要实时更新的系统.我一直在寻找某些场景,其中就是彗星.实现这一点,我认为这与传统的长轮询不同.

在这两种情况下,您都必须发送请求,然后服务器发回响应.在浏览器中解释响应,然后开始新请求.

那么为什么我要使用彗星,如果在这两种情况下我都需要打开和关闭连接.

javascript comet long-polling

17
推荐指数
3
解决办法
7212
查看次数

让node.js以html格式读取文件

我正在开发Node.js中的一个小应用程序.我只是使用Node.js进行输入和输出.实际的网站刚刚运行nginx.该网站与node.js有Websocket连接,主要用于数据库操作.

我想要做的一件事是让节点发送小块的html以及数据库中的数据.我尝试了以下代码.

简化:

    connection.on('message', function(message) {
        fs.readFile(__dirname + '/views/user.html', function(err, html){

            if(err){
                console.log(err);
            }else{
                connection.sendUTF( JSON.stringify({
                    content: html,
                    data: {}
                }));
            }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

当我console.log(html)在服务器或客户端时,我只收到数字.

任何人都知道什么可能是错的.

注: 我真的要的东西远离像socket.io,express等就保持它尽可能简单和不需要回退.

node.js

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

使用CLI每秒运行一次PHP脚本

我有一个运行Cent OS的专用服务器,带有Parallel PLESK面板.我需要每秒运行一个PHP脚本来更新我的数据库.这些在时间上是无可替代的方式,它需要每秒更新一次.

我可以使用URL找到我的脚本http://www.somesite.com/phpfile.php?key=123.

文件可以每秒在本地执行吗?喜欢phpfile.php

更新:

我加上这个问题已经有几个月了.我最终使用以下代码:

#!/user/bin/php
<?php
$start = microtime(true);
set_time_limit(60);
for ($i = 0; $i < 59; ++$i) {
    doMyThings();
    time_sleep_until($start + $i + 1);
}
?>
Run Code Online (Sandbox Code Playgroud)

我的cronjob设置为每分钟.我已经在测试环境中运行了一段时间,并且它运行良好.它真的超级快,我看到CPU和内存使用没有增加.

php cron time loops command-line-interface

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

库存数据库的最佳结构

我想为我的库存创建一个小型数据库,但我在挑选结构时遇到了一些问题.库存将在每天结束时每天更新.

我面临的问题如下.

我有一张桌子供我的产品使用

id, name, price, quantity.
Run Code Online (Sandbox Code Playgroud)

现在我有另一张桌子供我销售,但有我的问题.我需要什么样的领域.在一天结束时,我想存储这样的记录:

20       product_x       $ 5,00         $ 100,-
20       product_y       $ 5,00         $ 100,-
20       product_z       $ 5,00         $ 100,-
20       product_a       $ 5,00         $ 100,-
-------------------------------------------------
                                        $ 400,-
Run Code Online (Sandbox Code Playgroud)

那么我该如何在销售记录中对此进行建模.我是否只使用产品ID的逗号分隔创建连接记录.

或者是否有另一种方式以正确的方式对此进行建模.

database structure

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

如何在RecyclerView上使用SwipeDismissBehavior.OnDismissListener

我正在尝试使用SwipeDismissBehavoirfrom design support库.我列出的项目RecyclerView和刷一个项目必须解雇(如谷歌收件箱应用程序).

我已经设置了RecyclerView项目的监听器,但是SwipeDismissBehavior onDismiss监听器没有被调用.

  SwipeDismissBehavior behavior = new SwipeDismissBehavior();

    CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams)mItemLayout.getLayoutParams();
    params.setBehavior(behavior);
    behavior.setListener(new SwipeDismissBehavior.OnDismissListener() {
        @Override
        public void onDismiss(View view) {

        }

        @Override
        public void onDragStateChanged(int i) {

        }
    });
    mItemLayout.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

android android-design-library

12
推荐指数
2
解决办法
5374
查看次数

如何使用Android数据绑定库制作粗体文本

非常基本,我想根据是否读取文本,使消息标题变为粗体.我似乎找不到解决方案.

这是我的XML代码:

            <TextView
                android:text="@{message.title}"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="5dp"
                android:layout_toLeftOf="@+id/timestamp"
                android:textSize="18sp"
                android:textStyle='@{message.isRead() ? "bold" : "normal"}'
                android:textColor='@{message.isRead() ? 0xff313131 : 0xff0662ab}' />
Run Code Online (Sandbox Code Playgroud)

颜色变化很好,只有粗体文字给我一些问题.

错误:任务':app:compileDebugJavaWithJavac'的执行失败.

java.lang.RuntimeException:发现数据绑定错误.****/数据绑定错误****msg:在android.widget.TextView上找不到参数类型为java.lang.String的属性'android:textStyle'的setter.file:D:...... xml loc:39:41 - 39:79****\data binding error****

android android-databinding

12
推荐指数
3
解决办法
6699
查看次数

循环和递归之间有什么实际区别

我目前正在使用PHP,因此这个示例将使用PHP,但问题适用于多种语言.

我和我的一个恶魔一起在这个项目上工作,而且一如既往我们被一个大问题所困扰.现在我们都回家了,无法解决问题.那天晚上我们都找到了解决方案,只是我使用了一个循环来解决问题,他使用了递归.

现在我想告诉他循环和递归之间的区别,但我无法想出一个解决方案,你需要通过正常循环递归.

我将制作两者的简化版本,我希望有人可以解释一个人与另一个人的不同之处.

如果有任何编码错误,请原谅我

循环:

printnumbers(1,10);

public function printnumbers($start,$stop)
{
    for($i=$start;$i<=$stop;$i++)
    {
        echo $i;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在上面的代码只是打印出数字.

现在让我们通过递归来做到这一点:

printnumbers(1,10);

public function printnumbers($start,$stop)
{
    $i = $start;
    if($i <= $stop)
    {
        echo $i;
        printnumbers($start+1,$stop);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的这个方法与循环完全相同,但只有递归.

任何人都可以向我解释使用这些方法之一有什么不同.

recursion loops

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

如何对apache/nginx设置进行基准测试

我打算将nginx设置为反向代理.我将使用apache来提供动态内容,nginx将提供静态内容.

我现在的配置只是带有fastCGI的Apache.这给了我没有配置问题,并且运行良好.

在我设置nginx后,我想运行一些基准测试,看看我是否真的有一些性能提升,否则我会切换回来.

有谁知道如何对这种类型的设置进行基准测试?或者也许某人已经这样做并且有一些预制结果,我很乐意听到他们.

PS. 我知道这更像是一个服务器故障类型的问题,但我看过很多关于apache和nginx的帖子所以我想我试一试

apache benchmarking nginx

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