Irene181 Irene181
3年前
一篇文章带你了解Python递归函数
一、什么是递归函数?在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。二、函数的递归调用原理实际上递归函数是在栈内存上递归执行的,每次递归执行一次就会耗费一些栈内存。栈内存的大小是限制递归深度的重要因素三、案例分析1.求阶乘计算阶乘n!1x2x3x…xn,可以用
Wesley13 Wesley13
3年前
java B2B2C多用户商城系统
需求分析:在javashop电商系统中,商品数据是存在elasticsearch中,使用ik分词器分词,ik分词器的词库内置了2万多个。但在实际运维过程中,因为商品的个性化,词库不一定可以满足,为了搜索引擎分词(关键词)更加准确,要求可对分词词库进行手工维护。思路:IK自定义词库是支持远程热加载的。先看下官方的说明:
Stella981 Stella981
3年前
React 架构的演变
前面的文章分析了Concurrent模式下异步更新的逻辑,以及Fiber架构是如何进行时间分片的,更新过程中的很多内容都省略了,评论区也收到了一些同学对更新过程的疑惑,今天的文章就来讲解下ReactFiber架构的更新机制。Fiber数据结构我们先回顾一下Fiber节点的数据结构(之前文章省略了一部分属性,所
Wesley13 Wesley13
3年前
IM协议设计
IM协议设计在实际开发中,为了及时的通知APP端一些事情,我们会借助第三方平台,进行推送。今天,我们来分析一下推送系统协议。推送系统遇到的问题在设计协议之前,我们考虑一些实际的问题:1.APP没有一个固定的网络地址,只能通过主动连接服务器,建立TCP长链接,来进行推送。2.移动环境下,AP
Stella981 Stella981
3年前
Linux应急响应(四):盖茨木马
0x00前言Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装。木马得名于其在变量函数的命名中,大量使用Gates这个单词。分析和清除盖茨木马的过程,可以发现有很多值得去学习和借鉴的地方。0x01应急场景
Wesley13 Wesley13
3年前
IIS+PHP环境下文件上传无法访问问题
在Windows下配置PHP运行环境,一个选择就是IISFastCGI,有时会遇到Apache下没有的权限问题,文件上传是经常遇到的一个。在讲解决方案之前,我们先来分析一下原因。IIS运行时的Windows用户组在IISFastCGI方式运行时,我们通过浏览器请求的Web资源有2类,一个是经由php\_cgi.exe产生的内容,一部分是静态资源
Wesley13 Wesley13
3年前
MYSQL与TiDB的执行计划
前言这里采用了tpch一个数据库的数据量来进行查询计划的对比。并借助tpch中的22条查询语句进行执行计划分析。mysql采用的是标准安装,TiDB采用的是单机测试版,这里的性能结果不能说明其性能差异本文章主要目的是对比Mysql与TiDB在执行sql查询时的差异。mysql版本5.7  TiDB版本v2.0.0rc.4准备
Stella981 Stella981
3年前
Comet:基于 HTTP 长连接的“服务器推”技术
很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了Comet-使用HTTP长连接、无须浏览器安装插件的两种“服务器推”方案:基于AJAX的长轮询方式;基于iframe及htmlfile的流方式。最后分析了开发Comet
Wesley13 Wesley13
3年前
JAVA 线上故障排查
线上故障主要会包括CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top三连,然后依次jstack、jmap伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查
Stella981 Stella981
3年前
Gnumeric,专业处理数字软件
Gnumeric不仅仅只是一个简单的、有各种限制的计算程序。它更是一个全功能的处理和分析数据的电子表格。虽然它被开发者定义为轻量级软件,但却有着相当多的特性。例如,它提供100%的MicrosoftExcel提供的工作表函数,而且它另外有154个前面那个商业电子表格所不具有的功能。!opensource.jpg(http://www.linux