凯特林 凯特林
4年前
浅谈JS中的递归
一、递归递归(英语:Recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解一般来说,递归需要有边界条件、递归前进阶段和递归返回阶段。当边界条件不满足时,递归前进;当边界条件满
Easter79 Easter79
4年前
stm32 diy 机械键盘
程序员对机械键盘的需求不止于情怀,当然,对于算法工程师、逻辑复杂而代码量小的软件工程师来说,平时对键盘的操作并没有那么多,可能对机械键盘并不感兴趣。而我曾经是一个日常大量编码、运维的数据工程师,逻辑简单,键盘操作却很多,特别是对十几台服务器ssh不能用鼠标,更增加了键盘的用量。为了统一工作流程,我使用vim作为Windows、Linux的唯一编辑器,让c/c
隔壁老王 隔壁老王
4年前
活文档零散笔记
重新思考文档简单的说主要几点:1.支持对话和集中办公,而不是各种形式的文档。大多数只是已经存在,只需要把他们找出来即可。2.大多数只是已经存在。你只需要用缺失的上下文、意图和原理来扩充它即可。3.注意变更频率。4.思考文档是将人们的注意力引到系统质量或缺乏质量上的一种方法。DDD概述DDD是一种解决软件开发核心复杂性的方法。它主要提倡将重点放在特
Wesley13 Wesley13
4年前
Thinkphp5 开发 OA 办公系统
很早之前就想开发一套OA办公系统,苦于没有机会。这次终于有机会,不管三七二十一,带上小伙伴们就开工了。考虑到开发成本和开发周期都比较紧张,就选择了比较熟悉的php语言,框架是thinkphp5。系统目前1.0版本没有太复杂的业务,设计之初是在满足基本功能需求的前提下,能简化就简化。比较麻烦的功能还是审批的功能,虽然没有像钉钉那样强大的自定义审批模板
Stella981 Stella981
4年前
Executor框架详解
任务是一组逻辑工作单元,线程是使任务异步执行的机制。下面分析两种通过创建线程来执行任务的策略。1将所有任务放在单个任务中串行执行;2为每个任务创建单独的线程来执行实际上两种方式都存在一些严重的缺陷。串行执行的问题在于其糟糕的响应和吞吐量;而为每个任务单独创建线程的问题在于资源管理的复杂性,容易造成资源的浪费和过度消耗,影响系统的稳定性。为了提
Stella981 Stella981
4年前
Linux 内核的结构特点
  在讨论大型而复杂的系统的体系结构时,可以从很多角度来审视系统。体系结构分析的一个目标是提供一种方法更好地理解源代码。  Linux内核实现了很多重要的体系结构属性。在或高或低的层次上,内核被划分为多个子系统。Linux也可以看作是一个整体,因为它会将所有这些基本服务都集成到内核中。这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、I/
Stella981 Stella981
4年前
Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
楔子本章前面两节生产案例分别侧重于单一的CPU高和单一的内存问题,我们也给大家详细展示了问题的定位排查过程,那么实际上还有一类相对更复杂的场景——它本质上是V8引擎的GC引发的问题。简单的给大家介绍下什么是GC,GC实际上是语言引擎实现的一种自动垃圾回收机制,它会在设定的条件触发时(比如堆内存达到一定值)时查看当前堆上哪些对象已
Easter79 Easter79
4年前
SpringCloud开发学习总结(三)—— 服务治理Eureka
 在最初开始构建微服务系统的时候可能服务并不多,我们可以通过做一些静态配置来完成服务的调用。比如,有两个服务A和B,其中服务A需要调用服务B来完成一个业务操作时,为了实现服务B的高可用,不论采用服务端负载均衡还是客户端负载均衡,都需要手工维护服务B的具体实例清单。但是随着业务的发展,系统功能越来越复杂,相应的微服务应用也不断增加,我们的静态配置会变得越来越
在充满挑战的时代 天翼云以数字化加速市域社会治理现代化
当今世界正在经历百年未有之大变局。受全球新冠肺炎疫情影响,全球地缘政治形势错综复杂,数字化转型换挡提速,机遇与挑战并存。在5G、云计算、大数据、AI等现代信息技术快速更迭的同时,各行业数字化转型进程取得飞跃性进展,天翼云也正在加速构建数字化治理底座能力,以数字技术催生新一轮科技革命和产业变革,推进各行业数字化转型,实现市域社会治理现代化。变局中育新机,以数字
芝士年糕 芝士年糕
3年前
什么是rpm
CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。软件包的安装和卸是很平常的事,但在Linux上面却不简单。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的