当我第一次听说在OSC上,大家可以参与翻译频道的文章翻译时,其实我是,是拒绝的。红薯跟我讲可以通过 开源中国翻译频道贡献奖励计划 加特技,贡献最多的用户(前十名)可以获得计算机图书。于是我在 2015-03-03 注册了一个OSC帐号,参加 2015年3月-4月的翻译奖励计划,验证OSC的翻译频道贡献奖励计划是否有猫腻,是不是翻译得越多排名就越靠前。
自从3月初注册帐号,还没在OSC发表过博客。就在前两天 开源中国翻译频道贡献 2015 (3-4月)奖励名单 产生了。我从中选择了几位获奖者,对他们的翻译贡献记录进行统计,并与自己的翻译贡献记录对比,顺便测试下博客的 Markdown 好不好使。
附录是他们从帐号开通到上述奖励名单产生期间所做翻译的统计信息。而2015年3月-4月的翻译奖励计划,统计的日期范围应该是 2015-03-01 到 2015-04-30。
从中可以看出:
由于以下两个原因我无法获得他人翻译量的精确值:
我单单2015年3月的翻译量就达到了 64,大于这几位中任何一位从帐号开通到奖励名单产生期间的翻译量,甚至超过其中三位的翻译量总和。
如果我引用的数据没有问题,同时对 开源中国翻译频道贡献奖励计划 的理解正确的话,我认为开源中国翻译贡献排名并不靠谱。若真有问题,是算法缺陷、系统安全漏洞致数据遭恶意篡改,还是内幕交易、暗箱操纵,还请开源中国官方人士出面澄清一下。
最后,希望开源中国能为大家创造一个公平公正、开放透明的社区环境,推动国内开源软件的应用和发展,为本土开源能力的提高、开源生态环境的优化提供长期推进的平台,同时祝OSC越办越好,红薯越来越帅,天天加特技,DUANG~DUANG~DUANG :)
- 真正零停机 HAProxy 重载
实验性的设置 为了证明这个方案确实工作的,我们开启一个 nginx HTTP 后端加一个 HAProxy 前端,用 Apache Benchmark 产生一些请求,来看看当我们重启 HAProxy 的时候会发生什么。然后我们可以评估几种不同的解决…
- 真正零停机 HAProxy 重载
我们决定采用这种解决方案而不是 huptime,修改传递到 HAProxy 的文件描述符,或在多个本地HAProxy 实例之间跳转的原因是因为我们认为采用 qdisc 方案的风险是最低的。huptime 被很快地排除,因为由于一个老的 li…
- DevOps 可帮助降低宕机时间,更快的修复问题
然而,当 DevOps 加快新的应用和特性的交付速度,优化了员工的生产率和提高客户满意度,很重要的一点是在变更加快的同时,没有造成应用的宕机时间增加。 例如 Gartner 预测2015年80%的服务中断将是由人和流程引起…
- DevOps 可帮助降低宕机时间,更快的修复问题
为了让 DevOps 起作用,CIO 们将需要克服不少的文化挑战,包括在业务的工作方式,和在招聘合适IT技术人员以支持 DevOps 的采用。 例如,组织现在需要理解或者有能力承担复杂的基础架构自动化任务的开发人员,以及…
- DevOps 可帮助降低宕机时间,更快的修复问题
随着业务越来越依赖于应用来产生的收入,所以非常有必要让应用的宕机和故障时间降至最低。IDC 和 AppDynamics 研究表明,在24小时服务环境里,基础架构的故障成本是每小时$100,000美元。虽然从现实的角度来看,完…
- DevOps 可帮助降低宕机时间,更快的修复问题
然而,通过采用作为 DevOps 一部分的自动化,许多这样的问题就可以避免了。通过自动化代码测试和环境的提供,可以大大地缩短花在这两个任务上的时间,并且确保两个环境是基于相同的配置。 这意味着开发人员可以开…
- DevOps 可帮助降低宕机时间,更快的修复问题
DevOps的方式同时也让在生产环境的bug更容易更快地被发现和修复。在传统的模式下,开发环境同生产环境隔离,因为环境的差异,当新的特新和bug修复发布到现实世界的时候,它们有时不能正确的工作。 结果一旦代码上…
- DevOps 可帮助降低宕机时间,更快的修复问题
采用DevOps, 应用性能的责任是由两个部门分担的,这就意味着开发团队从开始就更参与其中。不是简单地开发代码,然后把代码给运维团队来部署上线,整个过程会被更平等地分担,确保两个团队对应用的性能都可见的。…
- 真正零停机 HAProxy 重载
让HAProxy重载不丢包 为了避免延迟,我们采用了Willy提议的方案。他的方案实际上在不丢弃数据包上表现很好,但是额外的一秒延时是个问题。我们更好的解决方案是延迟SYN包直到重载已经完成,因为这样做只会对新的连…
- 为什么 HTTP 有时候比 HTTPS 好?
使用 HTTP 的不安全性来扩展 人们过多的关注于 HTTP 缺乏安全和加密特点的时候,许多人没有想到的是,这种协议可以提供很好的扩展性。 大部分现代的Web应用程序通过队列来扩展。 你有一个Web服务器接受请求,然后…
- 在 Linux 内核中诊断网络问题
在 Mixpanel,每当我们看到异常流量模式的时候,我们一般也运行 tcpdump,这样我们能够分析流量,然后试图确定根本原因。我们发现大量的 TCP ACK 数据包在我们的 API 服务器和一个特定的 IP 地址之间来回发送。结…
- 在 Linux 内核中诊断网络问题
此计数器的通常速率在未受影响的服务器上一般是 30-40 /秒,所以我们知道肯定是哪里出问题了。计数器表明我们正拒绝大量的包,因为这些包含有无效的 TCP 时间戳。临时的快速解决方案是用下面的命令关闭 TCP 时间戳…
- 在 Linux 内核中诊断网络问题
有一些很好的内置的Linux工具帮助诊断网络问题。 ifconfig 会显示你的网络接口和多少数据包通过他们 ethtool -S 会显示你的数据包流的一些更详细的信息,象在NIC级丢弃的数据包的数量。 iptables -L -v -n 将显示…
- 在 Linux 内核中诊断网络问题
几周前,我们开始注意位于华盛顿的追踪API的服务器网络流量有很大的变化。从一个相当稳定的日常模式下,我们开始看到300-400 Mbps尖峰流量,但我们的合法的流量(事件和人为更新)是不变的。 突然,我们的网络流量…
- 为 Java EE 应用提供的 9 种 Docker 方法
第 2 种 Docker 方法:应用服务器+内存数据库 Java EE 7 的一个很酷的功能是带默认的数据库资源。这可以让你不用担心在你的应用程序可以访问之前为应用服务器创建特定的JDBC资源。任何Java EE 7兼容的应用服务器将…
- HTTPS-Only 标准
有成本效率的实施 实施一个HTTPS唯一标准必须付出代价。大量的联邦网站已经部署了 HTTPS。该方案的目标是为了推广这种应用。 联邦政府网站采用统一的 HTTPS 需要有管理和财政负担,这包括开发时间,获得证书的财务…
- HTTPS-Only 标准
规划变更:协议和Web标准定期改进以及安全漏洞的出现,都需要及时关注。联邦网站和服务应以允许快速更新配置和更换证书的方式来部署 HTTPS。 严格的传输安全:支持 HTTPS 的网站和服务必须开启 HTTP 严格传输安全…
- HTTPS-Only 标准
挑战与思考 网站性能:虽然加密会添加一些计算开销,但是对现代的软件和硬件服务器的性能或延迟并无实质性影响。内容传输网络或服务器软件支持SPDY或HTTP/2协议(一些大的浏览器要求HTTP2)的网站,可能发现他们网…
- HTTPS-Only 标准
HTTPS不做什么 HTTPS有一些重要的限制。 目的地IP地址和域名在传输的时候是不加密的。即使加密过的流量也可以间接地透露一些信息,如在网站停留的时间,所请求的资源或提交的信息大小。 HTTPS可以保证两个系统连接…
- HTTPS-Only 标准
HTTPS 做什么 HTTPS 为连接的客户端验证网站或Web服务的身份,并将几乎所有在网站或服务和用户之间发送的信息进行加密。受保护的信息包括cookie,用户代理信息,URL路径,表单提交,查询字符串参数。HTTPS 是为了…
- 融入开源社区的4条建议
此外,它有助于了解社区是如何治理的-是分层级的管理者/辅助管理者(如Linux内核),或者差不多是一个扁平结构(如Debian项目)?了解这些可以帮助你识别项目中的关键领导者和影响者,当你开始提出改变或新的想法…
- Pinterest 开源工作流管理 —— Pinball
概念上,Pinball的架构采用的是master-worker(或master-client以避免跟我们下面介绍的一种特殊的客户类型相混淆)架构,带状态的中央master给无状态的client提供当前系统状态的信息。Clients可以是各种各样的,从…
- Pinterest 开源工作流管理 —— Pinball
工作流可以是任意复杂的。在现实环境中遇到一个由数百个节点组成的工作流也是不罕见的。建设,运行和维护那样复杂的工作流需要用专门的工具。一个bash脚本做不了。 尝试了几个开源的工作流管理软件后,我们发现没…
- 使用最新的安全增强技术进行 Docker 调优
调整空间 在其他安全论坛上,我已经讨论了如何把命名空间(namespaces)可以被认为是一种安全机制,由于它会消除一个进程在系统(PID命名空间)上看到其他进程的能力。网络空间(network namespace)可以消除从你的命…
- 再见 MongoDB,你好 PostgreSQL
无模式的问题 我们面临的另一个核心问题正是MongoDB(或任何其他无模式存储引擎)的基本特征之一:一个模式的缺乏。模式的缺失可能听起来很有趣,在某些情况下,它一定会有它的好处。然而,对于许多无模式存储引擎…
- Google 宣布新的 Angular 2.0 即将发布以及 AtScript 退休
在 ng-conf 的会议上,Angular核心团队Brad Green 和Igor Minar说他们仍然需要对Angular 1.x做“痛苦的突破性的改变”。虽然团队已经对社区所关注的不要对迁移采用非黑即白的方法做出了回应,但是团队仍然致力于…
- 使用 Docker Swarm 对 Docker 进行规模扩展
特性 简单设置 因为 Swarm 是一个标准的 Docker image 并且不依赖于外部的架构,启动它是简单的三个步骤: 运行一个命令去创建一个集群. 2. 运行另一个命令去启动Swarm. 3. 在运行有Docker Engine的每个主机上,…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
如果你对软件高层设计有任何的评论,可以发送你的评论到 docker-dev mailing list。项目会把每天完成的开发都更新到 Machine, Swarm 和 Compose 的GitHub仓库里去。 如果你就已经使用了一个Docker1.0之前的版…
- Linux 4.0 不再需要重启
这两个公司采用不同的方法。Kpatch 使用一个 stop_machine() 命令。之后,它使用 ftrace 查看现有的进程的堆栈区域,如果发现补丁可以被安全的更新, 它会将运行的代码指向到已经打完补丁的函数上并移除过时的代…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
参与 这种设计仍在完善当中,我们真的希望听到你们的意见。当我们在Docker上做了很大开发的时候,我们会把这些变化开放出来以供人们使用。这让我们看到用户如何使用它,这样我们可以快速地迭代开发。并且,因为它…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
一旦你有了一个Swarm,你就可以在它上面运行你的应用程序。你用Compose来定义你的多容器应用程序(例如,一个Web服务器容器连接到一个数据库容器)。Compose可以在任何可以调用Docker API的机器上运行这个应用。在…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
接下来,你将这些Docker引擎用Swarm汇集到一起。Swarm将Docker引擎连接成一个单一的,虚拟引擎。这有点像运行了很多Docker容器的一个非常大的计算机。你不再担心管理服务器–它们都汇集在一起并由一个集群系统为你…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
这不是理想的方案。我们想与你分享一些我们的一些想法, 这些想法是有关如何在分布式的应用中使用Docker,我们今天发布的工具都要帮助实现这些想法。 我们听说,你想要你的分布式应用程序是: 在不同的环境中便携…
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
组合(Compose)是一种定义和运行包含Docker的多容器分布式应用程序。早在十二月,我们就向社区公开了它的设计。基于社区反馈,Compose 是基于 Fig。Fig 是一种在开发环境运行Docker的一个工具。 Compose’s blog …
- 使用 Docker Machine、Swarm 和 Compose 进行 Docker 规划
早在十二月,我们就公布了管理分布式应用程序:机器,集群,组合的新工具。今天,这些工具的第一个版本可供下载。他们还没有准备好给生产环境使用,但我们真的希望你尝试一下,告诉我们你是怎么想的。 机器(Mach…
- 使用 HA-LVM 实现高可用存储
高可用性的想法很简单:消除任何单点故障。这保证了如果一个服务器节点或一个底层存储路径停止工作了(计划或非计划的),还依然可以提供数据请求服务。现在存储部署的解决方案都是多层结构的,并且是可以为高可用…
- 使用 HA-LVM 实现高可用存储
近年来,有一种趋势是数据中心优先选择商用的硬件和软件而非采用专利的解决方案的商品。他们为什么不能这样做呢?这种做法具有非常低的成本并且可以以更有利的方式来灵活地构建生态系统。唯一的限制是管理员想象的…
- 为什么说 SSD 已经过时了
摘要:固态硬盘-SSDs -是一个便利的产品,但不是一个好的架构。存储系统需要重新架构,以达到闪存, 和即将推出的字节寻址的非易失性存储的最高性能。这里的一个例子。 固态硬盘的发展是因为有数以亿计的SATA和S…
- Intel® INDE for Google Android Studio
TestApp/app/src/main/jni/NativeCode.cpp 实现了函数 getStringFromNative (图9)。在这里你可以添加你的原始代码,例如下图中红线框出的部分: 图9 在 TestApp/app/src/build.gradle 中你可以更改你应用程序(…
- Intel® INDE for Google Android Studio
更改活动名称(Activity Name)并键入NDK路径,NDK会被安装到拥有IDE集成的INDE的安装目录下(图5)。点击“完成”(Finish)按钮。 图5 接下来工程浏览器窗格会出现在屏幕左侧(图6),它展示了你工程中的所有文…
- 语义压缩
在我更换了局部变量结构后,代码会变成下面这样: Panel_Layout layout; int num_categories = 4; layout.row_height = ypad + 1.2 * body_font->character_height; layout.at_x = x; layout.at_y =…
- Intel® INDE for Google Android Studio
英特尔INDE是最为重要的,因为安卓现在运行在数量极为庞大的设备上。如果你想从事移动市场的开发,你会发现使用英特尔INDE作为安卓平台的开发工具,会让你的起步变得更加容易。它会帮你开发安卓应用程序,使用本地…
- 语义压缩
在C++里的函数基本上都非常自私。它们把所有的本地变量都禁锢起来,以至于你真的不能去用它们做任何事情(尽管癌变的C++规范还在继续转移,它也开始为此增加更多的选择,但这又是另一个问题了)。所以说,当我看到…
- 异步的 SQL 数据库封装
有趣的地方 在我开发代码的时候,我明白了连接字符串中的连接时限(connection timeout)和SQL命令对象的执行时限(execution timeout)同样重要。 首先,你必须意识到最大容许时限是在连接字符串中定义的,并可以…
- 语义压缩
首先,我要开始细化一套简单的代码转换方案,我曾在《见证者》(The Witness)的编辑器代码中这么做过。在未来几周内,我将从一些比较大的案例中出来,在这些案例中我从头开始写了,但我用了全部的时间去痛苦地专…
- CoffeeScript 已死,CoffeeScript 万岁!
我想CoffeeScript可能会继续伴随着JavaScript,并推动JavaScript的创新。毕竟,这并不是一个非此即彼的命题。即使有一天CoffeeScript消失了,我想就像CoffeeScript一样的元编程语言(Metaprogramming Language)也…
- Git 10 周年之际,创始人 Linus Torvalds 访谈
Git会永远存在下去吗?或者说,您是否预见到在下一个10年中将会有其他的版本控制系统出现?你会是这个系统的作者之一吗? Torvalds:不,我不会是这些作者中的一员。我们在10年内或许可以看到一些新的东西,但我保…
- CoffeeScript 已死,CoffeeScript 万岁!
正如你可能已经听说的,JavaScript今年又准备推出一个新版本-ES6。这个名字源于它遵循了“ECMAScript”编码标准的第六个重要版本:ECMA-262。在这个期待已久的发布中,将包括一些对绝大多数JavaScript开发者处理问…
- CoffeeScript 已死,CoffeeScript 万岁!
我使用CoffeeScript编码已经有一些年头。一个开发者在构建一个复杂的应用程序时,他必须在能够看到代码的同时,快速了解这段代码是做什么的。CoffeeScript让我在进行这些工作的时候比使用JavaScript时更加高效,我…
- 所有程序员都应该遵守的 11 条规则
2: 对代码而言,“聪明”是“清晰”的敌人 在写代码的时候,我们应努力保持书写的代码清晰易懂。 可以明确(Clear)表明自身意图的代码,永远要比那些晦涩的代码更有价值-无论那些晦涩的代码被构建得多么聪明(C…
- 所有程序员都应该遵守的 11 条规则
7: 每天学点新东西 如果你每天都不学新知识,你就在退步,因为我可以保证你会忘记一些东西。 每天学一些新东西,并不会花去你太多的时间。 试着花15分钟去读一本书-我去年读了一大堆书,平均每天要花45分钟在阅读…
- 所有程序员都应该遵守的 11 条规则
9: 你无法完全了解它 无论你学了多少知识,都会有大量你所不知道的东西。 认识这一点非常重要,因为你可以驾驭你的那些想要去学会所有东西的发狂的想法。 没能获取所有问题的答案,这挺好的。 在自己不理解某事时…
- 所有程序员都应该遵守的 11 条规则
8: 写代码是件快乐的事 诚然,你最开始进入这个行业可能只是因为它待遇优厚。 我是说,为了良好的待遇找工作没有任何错误,但是医生或律师可能会是更好的选择。 你之所以成为了一名软件开发人员,是因为你爱写代码…
- 所有程序员都应该遵守的 11 条规则
5: 永远要在你开始写代码前考虑好它是做什么的 这一条看上去显而易见,然而事实并非如此。 想想你有多少次并没有完全想好就坐下来写代码,而这段代码确实实现了你要做的功能? 比之我乐于承认这个思路的正确性,我…
- 所有程序员都应该遵守的 11 条规则
1: 技术是你获取解决方案的方法,而不是解决方案本身 我们可以得意忘形地使用最新的JavaScript框架-嗯哼,Angular-IoC 容器,编程语言,甚至操作系统。但作为一个程序员,所有这些东西并不是问题真正的解决方案,…
- 所有程序员都应该遵守的 11 条规则
我是一个倾向于生活在规则下的人。 现在,这些规则大部分是我本人为自己设立的-但它们依然是规则。 我发现为自己创建规则可以让我过得更好,因为这样做可以提前决定一些事情,而不是要在匆忙中做出所有的决定。 …
- 没人想要 XML 里的 ENTITY 部分
解析XML并不是构建网络应用最流行的方式,但有一个很大的例外:RRS订阅源-它是建立在XML之上的。 在了解到这些后,我可以创建一个包含ENTITY这种邪恶标签的RSS负载: …
- 为什么 Go 不是一款好的编程语言
基础案例与失败条件 那么问题来了 当遇到递归的数据结构(如链表和树)时,我们希望找到一个途径来指出我们到达数据结构的末端。 当遇到可能会执行失败的函数或包含缺失数据片的数据结构时,我们希望找到一个途径…
- 使用 Puma Web 服务器部署 Rails 应用
样例代码 开源codetriage.com项目使用 Puma 并且你可以在这个配置文件中看 Puma。 线程安全 线程安全代码可以被多线程运行并且无错误。并不是多有的 Ruby 代码是 threadsafe 代码,而且决定你的代码和所有的库文件…
- Storm 并非完全适合所有实时应用
SQL拓展和快速数据处理 在当今的存储中,兼容ACID,SQL关系型数据库能够比Sorm和其它可代替产品更简单和容易地运行以前不能运行的应用。伴有ACID事务关系型数据库简化数据获取在至多一次或至少一次语义的的时候是…
- Pinterest 开源工作流管理 —— Pinball
工作流配置与工作模版 致终端用户、工作流管理器通常是一个灵活安排和执行他们的工作的黑盒,但需要以这样或那样的方式定义工作流本身。在设计 Pinball 时,我们做了一个慎重的选择,不使配置一部分语法系统的核心…
- Pinterest 开源工作流管理 —— Pinball
工作流的生命周期 工作流被定义为一个配置文件或者是一个UI工作流生成器,或者甚至是从其他的工作流中导入。Pinball提供了一个插件化的解析器概念让用户将他们的工作流表达的格式化。解析器将一组不透明的工作流定…
- 使用 Rust 创建 PHP 扩展
无用的微基准 那么为什么你还要这样做?我还真的没有在现实世界里使用过这个。但是我真的认为斐波那契序列算法就是一个好的例子来说明一个PHP拓展如何很基本。通常是直截了当(在Ruby中): def fib(at) do …
- 使用 Rust 创建 PHP 扩展
不解释,下面就是我的成果: PHP_ARG_WITH(hello_from_rust, for hello_from_rust support, [ –with-hello_from_rust Include hello_from_rust support]) if test “$PHP_H…
- 使用 Rust 创建 PHP 扩展
从C中调用Rust 既然我们有了一个库,不得不做两件事来保证它从C中可调用。首先,我们需要为它创建一个C的头文件,hello_from_rust.h。然后在我们编译的时候链接到它。 下面是头文件: // hello_from_rust.h #if…
- 使用 Rust 创建 PHP 扩展
C或PHP中的Rust 我的基本出发点就是写一些可以编译的Rust代码到一个库里面,并写为它一些C的头文件,在C中为被调用的PHP做一个拓展。虽然并不是很简单,但是很有趣。 Rust FFI(foreign function interface) 我所…
- 不安全的直接对象引用:你的 ASP.NET 应用数据是否安全?
要绝对地清楚,这不是一个可替代的访问控制。这只能用或应该用在正确的访问控制连接上。 现在,也还有一个没有那么复杂的方法。一种改进过的方法是包含了上述过程的加密认证(AE),但是这是一个基于哈希消息验证…
- 加强 Nginx 的 SSL 安全
OCSP更加轻巧,同一时间一次检索只返回一条记录。但它的缺点是OCSP在连接到服务器时需要第三方的OCSP响应器,这也就意味着潜在和隐藏的失败。事实上,OCSP响应器被那些CA所控制,通常很不可靠。如果没有及时地相应…
- 加强 Nginx 的 SSL 安全
1.4.4所有的nginx版本在往Diffiel-Hellman输入参数时依赖OpenSSL。不幸的时,这就意味着Ephemeral Diffiel-Hellman(DHE)会使用OpenSSL的这一缺陷,包括一个1024位的交换密钥。由于我们正在使用一个2048位的证书…
- 加强 Nginx 的 SSL 安全
其它的设置 确保你已经添加了以下几行: ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; 在SSLv3或这是TLSv1握手时选择一个密码,通常是使用客户端的偏好。如果这个指令是启用的,那么服务器…
- 加强 Nginx 的 SSL 安全
贵宾犬攻击和TLS-FALLBACK-SCSV SSLv3允许利用“贵宾犬 POODLE”漏洞,这是禁用它的一个主要原因。Google已经提议一种叫TLSFALLBACKSCSV的SSL/TLS的拓展,旨在防止强制SSL降级。以下是升级后自动启用的OpenSSL版本…
- 加强 Nginx 的 SSL 安全
FREAK攻击 FREAK是在密码专家小组在INRIA, Microsoft Research and IMDEA所发现的一种中间人攻击。FREAK就是“Factoring RSA-EXPORT Keys .”。这种攻击可以追溯到90世纪90年代,也就是在美国政府禁止出售加密软件…
- 加强 Nginx 的 SSL 安全
Heartbleed(心脏出血) Hearbleed是一个在2014年四月OpenSSL密码库里被发现的安全漏洞,它被广泛用在运输层(TLS)协议的实施中。Heartbleed可能被使用不管是否使用了一个易受攻击的OpenSSL,比如说在一个服务器或…
- 加强 Nginx 的 SSL 安全
BEAST攻击和RC4算法 简言之,就是通过篡改加密算法CBC密码块的加密模式,部分加密流量可以被偷偷地解密。更多的信息请参照以上链接。 新版本的浏览器客户端可以缓解BEASE攻击。建议禁用所有的TLS 1.0密码并且只是…
- 加强 Nginx 的 SSL 安全
本文向你们展示如何在nginx的web服务器上设置更强的SSL。我们是通过使SSL无效来减弱CRIME攻击的这种方法实现。不使用在协议中易受攻击的SSLv3以及以下版本并且我们会设置一个更强的密码套件为了在可能的情况下能够…
- 在 Visual Studio 本地引用 Boost (MSBuild)
构建输出 通过测试输出命令:b2 –show-libraries,可以推断出构建的库列表。一旦我们有了列表,通过调用Target GetBoostOutputs来验证库中所呈现的东西。 <Target Name=“GetBoostOutputs” DependsOnTargets=…
- JavaScript 全文搜索之相关度评分
为了这个演示,我编了一个小的维基百科爬虫,爬到相当多(85000)维基百科文章的第一段。由于索引到所有85K文件需要90秒左右,在我的电脑我已经削减了一半。不想让你们仅仅为了一个简单的全文本演示浪费你的笔记本…
- 在 Visual Studio 构建和配置 Boost (MSBuild)
引言 Boost 是一个非常流行地开源C++库。最近作为构建的一部分,我已经把它集成在Visual Studio中。仅仅使用Makefile项目和Command Line工具,要想完全正确地配置构建项目还是很困难的。Boost也一直指引着我发现所…
- JavaScript 全文搜索之相关度评分
算法 在Okapi BM25 维基百科中你可以了解Okapi算法的公式。既然都知道了式子中的每一项是什么,这肯定是很容易地就理解了。所以我们就不提公式,直接进入代码: BM25.Tokenize = function(text) { tex…
- 在 Visual Studio 构建和配置 Boost (MSBuild)
获得库文件 Boost库可以通过正式的发布来下载也可从GitHub上面复制或分支出一份。 所下载的库作为库的存档中被正式发布的一部分,包含了全部的资源、文档和目录,而且可以立即构建。 如何库是在Git上面复制的,在…
- 在 Visual Studio 构建和配置 Boost (MSBuild)
目的 本章的目的是演示如何使用MSBuild为自定义库和工具创建项目以及整合MSBuild到Visual Studio的配置环境当中。接下来的方面是很重要的。这些工具和库建构起来又是异常复杂。我给你们举个例子: 我们想在最小化…
- ZStack 的伸缩性秘密(第三部分)无锁架构
无锁架构的基础 使用一致性哈希算法,来保证同一个服务实例能够处理所有到达同一资源的消息,这就是无锁架构的基础。通过这种方法聚集到达某一节点的消息,可以减少从分布式系统到多线程环境的同步,并行化的复杂…
- OpenZFS —— 减少 ARC 锁争用
正如人们的所想,随着更多的CPU加入系统中,其性能成比例地增长,当使用32个CPU(我所能测试的最大CPU数量)时,总体性能改善了225%。同时,使用少量CPU时的性能差异可以忽略。 再次使用锁后,争用明显比以前少(…
- 使用 Puma Web 服务器部署 Rails 应用
数据库连接 随着应用程序并发量的增加,你会需要更多的与数据库的连接。确定每个应用需要连接数的一个准则是用PUMA_WORKERS乘以MAX_THREADS。这将会确定每个dyno消费多少个连接。 Rails维护自己的数据库连接池,同…
- LinkedIn —— Apache Kafka 的伸缩扩展能力
队列 队列 是大多数人所想的那种标准信息类型:一个应用的部分生成消息,另一部分消费消息。其它应用对这些消息不感兴趣,因为他们是用于协调动作或是单个系统的状态的。这种类型的消息用于发送邮件,分发由其他…
- InfluxDB 将其开源生意带到硅谷
他主张InfluxDB赢得追随者有以下几个原因:它使用类似SQL的查询语句,这让人感到熟悉;同时下采样和均值化技术已经内建在产品中。这很重要,因为当你查询一个时间序列数据库时,你面对的是海量的数据,要想让计算…
- InfluxDB 将其开源生意带到硅谷
这个主意是这样的:他们能够将该项目开源,如果他们做得足够好,开发者将加入进来,散布消息,这样投资者将会支持他们,他们也因此能从该项目中产生一个有足够用户群的,可扩展的业务。Dix说遍布全球的众多开发者…
- InfluxDB 将其开源生意带到硅谷
Dix解释道:你所需要做的,第一也是最重要的就是建立一个能让开发者热血沸腾的,真正伟大的开源产品。接着,你开始销售企业许可证,支持服务,培训和专业服务。除此以外,你可以建立闭源的核心产品的扩展,企业可…
- InfluxDB 将其开源生意带到硅谷
唯一的问题是许许多多的企业正在做同样的事情。但是,Dix和Persen意识到他们已经做了一个所有其他企业也得制作的的后端:一个时间序列的数据库。而时间序列数据库的核心优势在于长时间的录入数据。一个明显的使用…
- InfluxDB 将其开源生意带到硅谷
“绝大多数硅谷投资者声称这家公司必须得呆在硅谷”,Dix告诉我们这一现实:那里积聚的有经验的人才仍然很重要,特别是在一个B2B(企业对企业)导向的地方。他还说,”我看好纽约市的科技市场,但是任何认为在这筹集…
- CoffeeScript 已死,CoffeeScript 万岁!
CoffeeScript 不会受到妥协的拖累。它是人们对于 JavaScript 能够是什么样的有点乌托邦式的愿景。这种狭窄的关注点大概是CoffeeScript获得如此两极分化名声的原因吧。开发者对它要么爱不释手,要么嗤之以鼻。如果…
- CoffeeScript 已死,CoffeeScript 万岁!
许多第一次尝试 CoffeeScript 的开发者会抱怨它的空格敏感特性。说实话,这家伙在一开始也坑了我几次。但我发现这些问题是很容易避免的,而且与这些小问题相比,更重要的是:我的代码能够始终远离分号,括号,·t…
- 语义压缩
语义压缩 我把编程从本质上分为两个部分:找出处理器在完成任务中真正需要做的事情,然后以我所使用的语言,用最有效的方式来表达.而事实上,程序员在后者上花费越来越多的时间:在将所有这些算法和数学形式连成一个整…
(全文完)