小编Rak*_*kar的帖子

Node.js最佳实践异常处理

我几天前刚开始尝试node.js.我已经意识到只要我的程序中有未处理的异常,Node就会终止.这与我所暴露的普通服务器容器不同,只有当未处理的异常发生且容器仍然能够接收请求时,工作线程才会死亡.这引出了一些问题:

  • process.on('uncaughtException')防范它的唯一有效方法吗?
  • process.on('uncaughtException')在异步进程执行期间是否会捕获未处理的异常?
  • 是否有一个已经构建的模块(例如发送电子邮件或写入文件),在未捕获的异常情况下我可以利用它?

我将非常感谢任何指针/文章,它将向我展示在node.js中处理未捕获的异常的常见最佳实践

exception-handling serverside-javascript node.js

736
推荐指数
5
解决办法
44万
查看次数

如何在Amazon EC2中自动扩展我的实例?

我刚刚创建了Amazon EC2图像,我是这个环境的新手.

我对Amazon EC2的"auto scale"部分感兴趣.

但我找不到明确的指南,以确定我是否使用"自动缩放"以及如何自动缩放我的实例.

如何正确,轻松地设置"自动缩放"?

load-balancing amazon-ec2

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

Ruby on Rails中是否有任何报告工具或gem

我正在寻找ruby on rails上的报告宝石或工具.它是一个电子商务应用程序,我需要生成大量的数据,如销售报告,营销报告等,我想让它更通用和开放,以便用户可以得到任何类型的报告.

ruby rubygems ruby-on-rails ruby-on-rails-3.1

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

如何在不破坏体验的情况下加密用户数据服务器端?

许多用户 - 包括我自己 - 希望将他们在Web服务上所做的一切加密的安全性.也就是说,他们不会在网络服务中任何人能够查看他们的帖子,信息,任务等......

在讨论其他很酷的服务时,这也是一个主要的抱怨:http://news.ycombinator.com/item?id = 1549115

由于此数据需要可恢复,因此需要某种双向加密.但除非您在每个请求中提示用户输入加密密钥,否则此密钥将需要存储在服务器上,并且加密数据的点基本上会丢失.

什么是在不降低用户体验的情况下安全加密用户数据的方法(在每个请求中要求一些密钥)?

- 更新 -

从@ Borealid的回答中,我专注于两种可能性:挑战 - 响应协议,其中没有数据(包括密码)在"清除"中发送,而非挑战 - 响应协议,其中数据(包括密码)在"清除"(尽管通过HTTPS).

挑战 - 响应协议(特别是SRP:http://srp.stanford.edu/)

它的实现似乎需要依赖于完全AJAX站点或使用Web存储.这样浏览器可以在加密期间保持质询 - 响应数据,并且还可以在不同"页面"之间保持加密密钥.(我假设在完成身份验证后,我会将它们发送回加密的加密密钥,他们会在客户端解密以获取真正的加密密钥.)

问题是我要么:

  • 完全AJAX,我不喜欢,因为我喜欢网址,不会让用户只能在一个网址上独立生活,或者
  • 我必须将数据加密密钥存储在Web存储中,基于http://dev.w3.org/html5/webstorage/即使在浏览器关闭后也会存在,并且可能是一个安全漏洞

此外,由于SRP需要多个请求(http://srp.stanford.edu/design.html),因此需要在服务器端存在一些持久性.这只是另一个难题.

传统

如果我可以清楚地传输密码和数据(虽然通过HTTPS),那么上面的客户端问题就不存在了.

在注册时,我将为用户生成一个随机的唯一加密密钥,并使用他们的密码和随机盐对其进行加密.

在数据库中,我将存储用户的密码哈希和salt(通过bcrypt),加密的加密密钥,加密密钥盐和加密iv.

在身份验证之后,我还需要使用他们的密码来解密加密密钥,以便他们可以查看和输入新数据.我只暂时存储此加密密钥,并在明确"注销"时将其删除.

这种方法存在的问题是(就像@Borealid指出的那样)邪恶的系统管理员在您登录时仍然可以查看您的数据.

用户登录时我也不确定如何存储加密密钥.如果他们在同一个数据存储中,被盗数据库会显示盗窃时登录的所有数据.

是否有更好的内存数据存储来存储这些加密密钥(并在SRP身份验证期间挑战数据)?这是Redis会有用的东西吗?

security encryption cryptography rsa server-side

12
推荐指数
1
解决办法
6694
查看次数

如何为位于GIthub中的存储库强制执行Coding Standard

我们在Github有一个帐户,并在Github(私人存储库)中托管我们的所有项目.

我们希望强制执行编码标准以及我们用于内部目的的其他钩子.我们已经让这些钩子很好地用于颠覆,因为存储库位于一个地方,管理这些钩子非常好.

使用Github,看起来我失去了在主存储库(?)中添加钩子的能力,因此我很震惊:

  1. 当每个成员将其文件更改到主存储库时,如何对每个成员强制执行编码标准?
  2. 在处理任何推送请求之前,Github上有没有办法执行我的钩子是我的服务器?

我正在寻找想法/建议,让我的生活更轻松,非常感谢任何帮助.

git hook github pre-commit-hook

9
推荐指数
1
解决办法
1588
查看次数

亚马逊网络服务和ubuntu 10.04 ec2实例

我已经创建了ubuntu 10.04 ec2映像,现在我需要在我的实例上安装tomcat apache和jdk6但是每当我使用命令sudo apt-get install sun-java6-jdk或者sudo apt-get install tomcat6 admin或者sudo apt-get install ec2-api-tools

Package ec2-api-tools is not available, but is referred to by another package.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ec2-api-tools is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package ec2-api-tools has no installation candidate
Run Code Online (Sandbox Code Playgroud)

apache tomcat amazon-ec2 amazon-web-services

7
推荐指数
1
解决办法
3098
查看次数

要为特定文件夹触发SVN预提交挂钩

我们客户的一个SVN存储库在单个存储库下有很多项目.现在我想通过预提交钩子检查其中一个项目的编码标准.

如果我配置预提交,它将影响存储库中的所有项目(文件夹),如何告诉钩子脚本仅在特定文件夹(或项目)中的文件时触发(检查编码标准) ) 承诺.

UPDATE

编码标准是Zend的故意,我将使用PHPCS(PHP编码标准)来验证编码标准.

php svn pre-commit-hook codesniffer

7
推荐指数
1
解决办法
3709
查看次数

计算代码内打开文件大小的最快方法(PHP)

我知道有相当多的内置函数可PHP用于获取文件的大小,其中一些是:filesize,stat,ftell等.

我的问题在于ftell它非常有趣,它会从文件中返回文件指针的整数值.

是否可以使用ftell函数获取文件的大小?如果是,那么告诉我怎么样?

场景:

  1. 系统(代码)打开具有模式"a"的现有文件以附加内容.
  2. 文件指针指向行尾.
  3. 系统将内容更新到文件中.
  4. 系统用于ftell计算文件的大小.

php file filesize

6
推荐指数
1
解决办法
4490
查看次数

在jQuery中使用单个表达式选择兄弟的子节点

是否可以使用与此类似的单个表达式在jQuery中选择当前上下文的兄弟的子节点?

$('~ div > span', this)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这对我不起作用,所以我不相信jQuery在表达式中支持这种类型的链接.然而,我能够使用以下方法:

$('> span', $('~ div', this))


$(this).siblings('div').children('span')
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来使用以下API调用来获取兄弟姐妹的孩子,或者解释为什么它不可能:

jQuery( expression, context )
Run Code Online (Sandbox Code Playgroud)

jquery

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

MongoDb副本服务器因内存减少而被杀?

这里需要大量帮助,因为这会影响我们的生产实例.

其中一个副本服务器由于内存不足而失败(参见下面kern.log中的一块)

kernel: [80110.848341] Out of memory: kill process 4643 (mongod) score 214181 or a child
kernel: [80110.848349] Killed process 4643 (mongod)
Run Code Online (Sandbox Code Playgroud)

UPDATE

kernel: mongod invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
kernel: [85544.157191] mongod cpuset=/ mems_allowed=0
kernel: [85544.157195] Pid: 7545, comm: mongod Not tainted 2.6.32-318-ec2
Run Code Online (Sandbox Code Playgroud)

洞察:

  1. 主服务器数据库大小为50GB,其中30GB由索引填充.
  2. 主服务器有7GB Ram,而辅助服务器有3.1GB Ram.
  3. 两台服务器都是64位机器,分别运行Debian/Ubuntu.
  4. 在两台服务器上运行Mongo 2.0.2

注意:我最近在Jira-Mongo网站上看到了一个类似的问题 - 目前还没有答案.

replication mongodb

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