小编Oli*_*nde的帖子

功能编程与面向对象编程

到目前为止,我已经主要接触过OO编程,并期待学习一门函数式语言.我的问题是:

  • 什么时候选择面向对象的函数式编程?
  • 什么是典型的问题定义,函数式编程是更好的选择?

oop paradigms functional-programming

763
推荐指数
4
解决办法
25万
查看次数

如何暂时禁用滚动?

我正在使用scrollTo jQuery插件,并想知道是否有可能通过Javascript临时禁用滚动窗口元素?我想要禁用滚动的原因是当你滚动时scrollTo是动画,它变得非常丑陋;)

当然,我可以做一个$("body").css("overflow", "hidden");然后在动画停止时将其恢复为自动,但如果滚动条仍然可见但不活动会更好.

javascript jquery scroll

412
推荐指数
14
解决办法
67万
查看次数

按位运算符的真实世界用例

以下按位运算符的一些实际用例是什么?

  • XOR
  • 要么

language-agnostic bitwise-operators

217
推荐指数
17
解决办法
8万
查看次数

Node.js和CPU密集型请求

我已经开始修补Node.js HTTP服务器,并且非常喜欢编写服务器端Javascript,但有些东西阻止我开始使用Node.js作为我的Web应用程序.

我理解整个异步I/O概念,但我有点担心程序代码非常CPU密集的边缘情况,例如图像处理或排序大数据集.

据我了解,服务器对于简单的网页请求非常快,例如查看用户列表或查看博客帖子.但是,如果我想编写非常CPU密集型代码(例如在管理员后端)生成图形或调整数千个图像的大小,请求将非常慢(几秒钟).由于此代码不是异步的,因此在几秒钟内发送到服务器的每个请求都将被阻止,直到我的慢请求完成为止.

一个建议是使用Web Workers进行CPU密集型任务.但是,我担心网络工作者会很难编写干净的代码,因为它的工作原理是包含一个单独的JS文件.如果CPU密集型代码位于对象的方法中该怎么办?为每个CPU密集型方法编写一个JS文件真是太糟糕了.

另一个建议是生成子进程,但这使得代码更难以维护.

有什么建议可以克服这个(感知的)障碍吗?如何使用Node.js编写干净的面向对象代码,同时确保CPU重任务执行异步?

javascript web-worker serverside-javascript node.js

205
推荐指数
4
解决办法
5万
查看次数

跨REST微服务的事务?

假设我们有一个用户,Wallet REST微服务和一个将各种东西粘合在一起的API网关.当Bob在我们的网站上注册时,我们的API网关需要通过用户微服务和钱包通过钱包微服务创建用户.

现在这里有一些可能出错的场景:

  • 用户Bob创建失败:没关系,我们只是向Bob返回错误消息.我们正在使用SQL事务,因此没有人在系统中看到过Bob.一切都很好:)

  • 用户Bob已创建,但在创建我们的Wallet之前,我们的API网关很难崩溃.我们现在有一个没有钱包的用户(数据不一致).

  • 用户Bob已创建,在我们创建电子钱包时,HTTP连接将断开.钱包创建可能已经成功,也可能没有.

有哪些解决方案可以防止这种数据不一致发生?是否存在允许事务跨越多个REST请求的模式?我已经阅读了关于两阶段提交的维基百科页面,它似乎触及了这个问题,但我不确定如何在实践中应用它.这个原子分布式事务:一个RESTful设计文章似乎也很有趣,虽然我还没有读过它.

或者,我知道REST可能不适合这个用例.也许正确的方法来处理这种情况完全放弃REST并使用不同的通信协议,如消息队列系统?或者我应该在我的应用程序代码中强制执行一致性(例如,通过让后台作业检测到不一致并修复它们,或者在我的用户模型上使用"创建","创建"值等具有"状态"属性)?

architecture rest transactions microservices

172
推荐指数
5
解决办法
6万
查看次数

Ruby on Rails有哪些Wordpress替代品?

Ruby on Rails有哪些Wordpress替代品?他们如何与Wordpress相比?

ruby wordpress ruby-on-rails content-management-system

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

使用Makefile的大型C++项目有什么好的目录结构?

使用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的公共目录结构,这样我就不会重新发明轮子了吗?

c++ makefile

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

为什么在Web应用程序中不再使用"右键单击"?

越来越多的应用程序正在转向云:用于生产力应用程序的Google Docs,用于即时消息传递的Meebo,用于电子邮件的Gmail,用于CRM的Salesforce等.

然而,我注意到,与桌面版本不同的是,很少有这些网络应用程序利用鼠标的"右键单击".大多数情况下,当右键单击Web应用程序时,我会获得标准浏览器右键菜单.

我不相信它与技术实现有关,因为修改右键菜单在Javascript中非常简单.

我错过了一个真正的原因吗?

编辑:最流行的原因似乎是它不是用户所期望的.另一个提到的原因是一些用户禁用Javascript - 这是一个有效的答案 - 但在我们的情况下,我们可以放弃这种可能性,因为我们谈论的是需要Javascript的应用程序而不管右键单击选项.

现在,让我稍微扩展一下我的问题:

  • 你认为它应该保持这种方式(你真的发现默认的浏览器右键菜单有用)?
  • 您是否希望看到更多特定于应用程序的右键菜单,以改善用户界面?

javascript user-interface web-applications

40
推荐指数
3
解决办法
5082
查看次数

如何在WampServer上安装Ruby on Rails?

是否可以在WampServer旁边安装Ruby on Rails (并保留WampServer的Apache/MySQL安装)?

install wamp ruby-on-rails wampserver

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

哈希表:为什么大小应该是素数?

可能重复:
为什么散列函数应使用素数模数?

为什么哈希表(数据结构)大小必须是素数?

据我所知,它确保了更均匀的分布,但还有其他原因吗?

data-structures

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