到目前为止,我已经主要接触过OO编程,并期待学习一门函数式语言.我的问题是:
我正在使用scrollTo jQuery插件,并想知道是否有可能通过Javascript临时禁用滚动窗口元素?我想要禁用滚动的原因是当你滚动时scrollTo是动画,它变得非常丑陋;)
当然,我可以做一个$("body").css("overflow", "hidden");
然后在动画停止时将其恢复为自动,但如果滚动条仍然可见但不活动会更好.
我已经开始修补Node.js HTTP服务器,并且非常喜欢编写服务器端Javascript,但有些东西阻止我开始使用Node.js作为我的Web应用程序.
我理解整个异步I/O概念,但我有点担心程序代码非常CPU密集的边缘情况,例如图像处理或排序大数据集.
据我了解,服务器对于简单的网页请求非常快,例如查看用户列表或查看博客帖子.但是,如果我想编写非常CPU密集型代码(例如在管理员后端)生成图形或调整数千个图像的大小,请求将非常慢(几秒钟).由于此代码不是异步的,因此在几秒钟内发送到服务器的每个请求都将被阻止,直到我的慢请求完成为止.
一个建议是使用Web Workers进行CPU密集型任务.但是,我担心网络工作者会很难编写干净的代码,因为它的工作原理是包含一个单独的JS文件.如果CPU密集型代码位于对象的方法中该怎么办?为每个CPU密集型方法编写一个JS文件真是太糟糕了.
另一个建议是生成子进程,但这使得代码更难以维护.
有什么建议可以克服这个(感知的)障碍吗?如何使用Node.js编写干净的面向对象代码,同时确保CPU重任务执行异步?
假设我们有一个用户,Wallet REST微服务和一个将各种东西粘合在一起的API网关.当Bob在我们的网站上注册时,我们的API网关需要通过用户微服务和钱包通过钱包微服务创建用户.
现在这里有一些可能出错的场景:
用户Bob创建失败:没关系,我们只是向Bob返回错误消息.我们正在使用SQL事务,因此没有人在系统中看到过Bob.一切都很好:)
用户Bob已创建,但在创建我们的Wallet之前,我们的API网关很难崩溃.我们现在有一个没有钱包的用户(数据不一致).
用户Bob已创建,在我们创建电子钱包时,HTTP连接将断开.钱包创建可能已经成功,也可能没有.
有哪些解决方案可以防止这种数据不一致发生?是否存在允许事务跨越多个REST请求的模式?我已经阅读了关于两阶段提交的维基百科页面,它似乎触及了这个问题,但我不确定如何在实践中应用它.这个原子分布式事务:一个RESTful设计文章似乎也很有趣,虽然我还没有读过它.
或者,我知道REST可能不适合这个用例.也许正确的方法来处理这种情况完全放弃REST并使用不同的通信协议,如消息队列系统?或者我应该在我的应用程序代码中强制执行一致性(例如,通过让后台作业检测到不一致并修复它们,或者在我的用户模型上使用"创建","创建"值等具有"状态"属性)?
Ruby on Rails有哪些Wordpress替代品?他们如何与Wordpress相比?
使用Makefile的大型C++项目有什么好的目录结构?
这就是我的目录结构当前的样子:
lib/ (class implementations *.cpp)
include/ (class definitions *.h)
tests/ (main.cpp for quick tests)
Run Code Online (Sandbox Code Playgroud)
现在,我不确定我的Makefile应该是什么样子......当.cpp文件和.h文件不在同一目录中时,它似乎不起作用.任何人都可以指向一个带有Makefile的公共目录结构,这样我就不会重新发明轮子了吗?
越来越多的应用程序正在转向云:用于生产力应用程序的Google Docs,用于即时消息传递的Meebo,用于电子邮件的Gmail,用于CRM的Salesforce等.
然而,我注意到,与桌面版本不同的是,很少有这些网络应用程序利用鼠标的"右键单击".大多数情况下,当右键单击Web应用程序时,我会获得标准浏览器右键菜单.
我不相信它与技术实现有关,因为修改右键菜单在Javascript中非常简单.
我错过了一个真正的原因吗?
编辑:最流行的原因似乎是它不是用户所期望的.另一个提到的原因是一些用户禁用Javascript - 这是一个有效的答案 - 但在我们的情况下,我们可以放弃这种可能性,因为我们谈论的是需要Javascript的应用程序而不管右键单击选项.
现在,让我稍微扩展一下我的问题:
是否可以在WampServer旁边安装Ruby on Rails (并保留WampServer的Apache/MySQL安装)?
javascript ×3
architecture ×1
c++ ×1
install ×1
jquery ×1
makefile ×1
node.js ×1
oop ×1
paradigms ×1
rest ×1
ruby ×1
scroll ×1
transactions ×1
wamp ×1
wampserver ×1
web-worker ×1
wordpress ×1