目录MapReduce简介MapReduce运算模型MapReduce运行框架MapReduce系统分析 Scalability AvailabilityPerformancereferences 正文  在 《分布式学习最佳实践:从分布式系统的特征开始(附思维导图)》一文中,提到学习分布式系统的一...
前言本篇文章比较适合3年以上的前端工作者,JS三座大山分别指:原型与原型链,作用域及闭包,异步和单线程。原型与原型链说到原型,就不得不提一下构造函数,首先我们看下面一个简单的例子:function Dog(name,age){ this.name = name; this.age ...
引用原文:Writing a tiny blockchain in JavaScript 作者:Savjee.be 译者:JeLewine几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术。在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示...
Python2.5之后引入了上下文管理器(context manager),算是Python的黑魔法之一,它用于规定某个对象的使用范围。本文是针对于该功能的思考总结。为什么需要上下文管理器?首先,需要思索下为什么需要引入上下文管理器。在正常情况下,管理各种系统资源(如文件)、数据库连接时,通常是先打...
这篇博客的标题用了一个疑问句,源于我们公司的代码评审,深刻的讨论了单例模式的使用场景及其与静态方法来说有何不同,这次讨论确实让我真正的理解了单例模式的使用,虽然说理解还一定全面,但必须作为一个认知的提升。告诉了我自己,对于编程,不懂的太多,原理性的东西还需要持续的学习。进入正文,我们来讨论一下,什么...
应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret。Secret 会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret 会以 Volume 的形式被 mount 到 ...
前言SVG并非仅仅是一种图像格式, 由于它是一种基于XML的语言,也就意味着它继承了XML的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步。如SVG可以内嵌于其他的XML文档中,而SVG文档中也可以嵌入其他的XML内容,各个不同的SVG图形可以方便地组合, 构成新的SVG图形。这个 Demo ...
Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但其实它有更多的能力。下面我将会总结一些Redis可以做的事情的真实例子。 1.全页面缓存 首先是整页缓存。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个...
最近,一则新闻吸引了老孙的注意,在Gartner最新报告《Market Guide for Cloud Infrastructure as a Service,China》中,出现了华为云的身影,并且成功入选了Cloud IaaS的“Hyperscale”云厂商。据老孙了解,Gartner MG即G...
春节期间跟同学谈到「异次元骇客 」这部电影,谈到电影的故事情节和逻辑思维上的突破,大家兴趣盎然。上个周末又将电影看了一遍,看懂了许多原先没看到的东西,分享一下对电影的理解。异次元骇客异次元骇客是非常值得一看的电影,它超越了人类的逻辑空间。你可以说他是科幻,其实它是在探讨人类宇宙的边界和密码,宇宙是真...
1. 使用方法synchronized 是 java 中最常用的保证线程安全的方式,synchronized 的作用主要有三方面:确保线程互斥的访问代码块,同一时刻只有一个方法可以进入到临界区保证共享变量的修改能及时可见有效解决重排序问题语义上来讲,synchronized主要有三种用法:修饰普通方...
说起K8S(Kubernetes),恐怕和容器的崛起脱不了干系,这个基于容器技术的分布式架构最早源于Google开源的容器集群管理系统Borg。它可以在结合Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。K8S是一...
最近在知乎看到一个问题,原问题如下:“很奇怪,为什么现在能找到自己手动创建vue脚手架的文章非常少,而且大家似乎对webpack4的热情并不高,对于想基于vue2.0+webpack4搭建一个脚手架的我来说资料真是少得可怜。难道现在一般的做法就是直接从vue-cli开始然后改成自己需要的模样吗?难道...
Decorators 是ES7中添加的JavaScript新特性。熟悉Typescript的同学应该更早的接触到这个特性,TypeScript早些时候已经支持Decorators的使用,而且提供了ES5的支持。本文会对Decorators做详细的讲解,相信你会体验到它给编程带来便利和优雅。我在专职做...
1.简介前面的文章说了缓冲区,说了通道,本文就来说说 NIO 中另一个重要的实现,即选择器 Selector。在更早的文章中,我简述了几种 IO 模型。如果大家看过之前的文章,并动手写过代码的话。再看 Java 的选择器大概就会知道它是什么了,以及怎么用了。选择器是 Java 多路复用模型的一个实现...
 Dalvik虚拟机如同其他Java虚拟机一样,在运行程序时首先需要将对应的类加载到内存中。而在Java标准的虚拟机中,类加载可以从class文件中读取,也可以是其他形式的二进制流。因此,我们常常利用这一点,在程序运行时手动加载Class,从而达到代码动态加载执行的目的。只不过Android平台上虚...
 这道题,第一感觉想用排列组合做,但是想了好久,没想到解决办法(刚刚考试的时候没有答出来)。后来想了一下应该使用动态规划来做。我们首先分析一下情况:1.当K>N的时候,countSum = 0;2.当K=N的时候,countSum = N!(N的阶乘)3.当K>N的时候,就要通过最优子结...
多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。 本文从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。 概念梳理 本节我将带大家...
 PHP 语言让 WEB 端程序设计变得简单,这也是它能流行起来的原因。但也是因为它的简单,PHP 也慢慢发展成一个相对复杂的语言,层出不穷的框架,各种语言特性和版本差异都时常让搞的我们头大,不得不浪费大量时间去调试。这篇文章列出了十个最容易出错的地方,值得我们去注意。 易犯错误 #1: 在 for...
django 原生为单线程序,当第一个请求没有完成时,第二个请求辉阻塞,知道第一个请求完成,第二个请求才会执行。可以使用uwsgi  编程多并发的django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),...