最近我潜入了整个客户端MVC/MVVM设计模式,我特别感兴趣的是backbone.js.
我不完全理解的一件事是当模型不再需要它们时会发生什么.
假设我们有一个拥有用户和产品的应用.我们有用户模型/视图和产品模型/视图
注意:为简单起见,我们不是用户.我们可以只是CRUD用户/产品.
当我进入产品页面时,我假设我们加载模型和对应的视图.
当我们离开页面并进入用户页面时会发生什么.加载了用户模型/视图,但仍然加载了产品.
我们是否保持它们的负载,骨干是否为您处理,或者您是否明确需要结束某些对象.
javascript garbage-collection memory-leaks memory-management backbone.js
我正在使用Javascript构建一个相当大的应用程序.它是一个可以更改不同视图的单个页面.所有视图都有自己的变量,事件,监听器,元素等.
在处理大型集合和多个事件时,有时可以很好地了解页面上发生了什么.
我知道所有浏览器都有开发人员工具,但有时很难点击所有元素等等.我找不到一些选项.
我感兴趣的一件事是知道当前在页面上收听了多少事件.通过这种方式,我可以确认我没有创建僵尸.
如果溶剂是开发人员工具,请告诉我在哪里查看和做什么.最重要的是,选择哪种浏览器.
我正在实现一个需要实时更新的系统.我一直在寻找某些场景,其中就是彗星.实现这一点,我认为这与传统的长轮询不同.
在这两种情况下,您都必须发送请求,然后服务器发回响应.在浏览器中解释响应,然后开始新请求.
那么为什么我要使用彗星,如果在这两种情况下我都需要打开和关闭连接.
我正在开发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等就保持它尽可能简单和不需要回退.
我有一个运行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和内存使用没有增加.
我想为我的库存创建一个小型数据库,但我在挑选结构时遇到了一些问题.库存将在每天结束时每天更新.
我面临的问题如下.
我有一张桌子供我的产品使用
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的逗号分隔创建连接记录.
或者是否有另一种方式以正确的方式对此进行建模.
我正在尝试使用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) 非常基本,我想根据是否读取文本,使消息标题变为粗体.我似乎找不到解决方案.
这是我的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****
我目前正在使用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)
上面的这个方法与循环完全相同,但只有递归.
任何人都可以向我解释使用这些方法之一有什么不同.
我打算将nginx设置为反向代理.我将使用apache来提供动态内容,nginx将提供静态内容.
我现在的配置只是带有fastCGI的Apache.这给了我没有配置问题,并且运行良好.
在我设置nginx后,我想运行一些基准测试,看看我是否真的有一些性能提升,否则我会切换回来.
有谁知道如何对这种类型的设置进行基准测试?或者也许某人已经这样做并且有一些预制结果,我很乐意听到他们.
PS. 我知道这更像是一个服务器故障类型的问题,但我看过很多关于apache和nginx的帖子所以我想我试一试
javascript ×3
android ×2
loops ×2
apache ×1
backbone.js ×1
benchmarking ×1
comet ×1
cron ×1
database ×1
long-polling ×1
memory-leaks ×1
nginx ×1
node.js ×1
php ×1
recursion ×1
structure ×1
time ×1