我们处理异步的方式,从开始的回调,到Promise,再到现在的async,await,变得越来越方便,直观了。但是知其然要知其所以然,所以我们一步步来分析他们是如何实现的(需要知道Promise的使用方法,await a…
标签:架构
剑指offer第二版-59.滑动窗口的最大值
本系列导航:剑指offer(第二版)java实现导航帖 面试题59:滑动窗口的最大值 题目要求: 给定一个数组和滑动窗口的大小,请找出所有滑动窗口的最大值。例如,输入数组{2,3,4,2,6,2,5,1}和数字3,那么一…
接口抽象化设计
目标:系统设计中存在一些公共接口的设计和接口的一些公共方法的实现以及多种多样的实现类 实现:接口+抽象类+实现类–能够产生非常方便的系统实现 比如:接口类的设计 interface A{public void…
对新型软件程序语言及架构的一点讨论
提要:OO之后,软件程序架构领域再无大师。一个看似简单而根本的问题从真正未解决,那就是软件或计算机的世界与现实世界的关系。 程序架构与软件、应用架构 最近一直在关注豆瓣上Zhang3关于新型程序语言研究的情况[1],及一…
js 纯函数思想
纯函数 若一个函数对相同的输入,永远会得到相同的输出,并且不会影响该函数作用域以外的环境变量,则此函数称为纯函数。 纯函数和非纯函数: // 纯函数 function add(a) { var b = 0; return…
遍历ArrayList,HashSet,HashMap。(全面)
前言:因为看到网上关于循环遍历,好多博客内容都比较少,要么只说了list,要么只说了set或者map,我想整理一下,所以就把几个整理到一起。也做了一些总结,希望对大家也有所帮助。以下demo的完整代码可以在github上…
递归--例子与简单分析
递归(英语:Recursion),又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程 ————R…
剑指offer(第一版)java实现
github地址:https://github.com/ryderchan/point-to-offer-edition1 包含如下内容: 1.该书的高清PDF 2.chapter2~5为第二章到第五章的例题 3.str…
设计模式之禅读书笔记-单例模式你真的掌握了吗?
date: 2017-04-10 23:21:08 单例模式的定义 单例模式是以个比较简单的模式,其定义如下: Ensure a class has only one instance, and provide a gl…
策略模式——运筹帷幄
一、定义 定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 二、抛砖引玉 这个通俗易懂的小栗子,原版出自《设计模式之禅(第二版)》。 三国情景再现: 诸葛亮在刘备去东吴招亲之前,特授予伴郎赵云三个锦囊,说是按…
那些C标准中对debug有帮助的宏
最近在重构消息模块,研究云信官方demo的时候发现他们用 CocoaLumberjack 这个三方框架来监控日志输出,我之前也有在自己的项目中引入 NSSLogger 来达到类似的目的。 ps: 我们项目中一直存在一坨宏…
剑指offer第二版-54.二叉搜索树的第k大节点
本系列导航:剑指offer(第二版)java实现导航帖 面试题54:二叉搜索树的第k大节点 题目要求: 找出二叉搜索树的第k大节点。例如,在下图的树里,第3大节点的值为4,输入该树的根节点,3,则输出4。 5 / \ 3…