设置SSH证书远程登陆

每次远程登录服务器时都要手动输入密码,其实我们可以通过SSH证书实现远程一键登陆服务器。     阅读全文
GeniusFunny's avatar
GeniusFunny 11月 25, 2019

算法题之数组相关

算法题之数组相关~~~~     阅读全文
GeniusFunny's avatar
GeniusFunny 11月 20, 2019

面试(更新中)

记录自己还记得的面试,2016级本科生~     阅读全文
GeniusFunny's avatar
GeniusFunny 10月 30, 2019

使用进程池提高Node.js并行计算能力

使用进程池提高Node.js并行计算能力背景Node是单线程模型,当需要执行多个独立且耗时任务的时候,只能通过child_process来分发任务,提高处理速度;不像Java这种多线程语言,可以通过线程来解决并行问题,Node只能创建进程来进行处理;但是进程相对于线程来说,开销太大。一旦进程数较多时,CPU和内存消耗严重(影响我干其他的事情),所以做了一个简易版的进程池,用来解决并行任务的处理。 适用场景:相同且独立且耗时的任务,例如,拿到某网站1000个用户的账号密码,我现在想要他们的信息,爬他,node-process-pool非常适合。     阅读全文
GeniusFunny's avatar
GeniusFunny 3月 22, 2019

前端路由的设计思想与实现 && React-Router v4

前端路由的实现前端路由分为两种实现方式: HashHistory,通过修改location.hash,然后监听hashchange事件来进行对应操作。 BroswerHistory,通过HTML5提供的History对象的pushState、replaceStateAPI,然后监听popstate事件来进行对应操作。 二者的优劣: 第一种方法兼容性更好,但是实现比较复杂,并且url比较丑陋(例如:http://www.test.com/#/xxx)。 第二种方法是浏览器提供的能力,所以实现比较简单,url与正常相同(例如:http://www.test.com/xxx),但是可能存在兼容性问题。 其实还有第三种,MemoryHistory,用于non-DOM环境下,例如React Native。     阅读全文
GeniusFunny's avatar
GeniusFunny 2月 25, 2019

Processes and Threads

Process and Thread are most important concepts in Operating System.     阅读全文
GeniusFunny's avatar
GeniusFunny 12月 09, 2018

从0到1打造一款没人用的前端框架

如果可以,为什么我们不自己打造一款没人用的前端框架呢? 首先介绍如何创建虚拟DOM节点以及将虚拟DOM节点转化为真实DOM节点,参照React/Preact     阅读全文
GeniusFunny's avatar
GeniusFunny 12月 07, 2018

简析Redis集群

Redis Cluster是Redis的分布式解决方案,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster的架构来达到负载均衡的目的。     阅读全文
GeniusFunny's avatar
GeniusFunny 11月 27, 2018

简析Redis哨兵实现原理

Redis Sentinel 是一个分布式架构(Sentinel节点、Redis数据节点、Redis客户端分布在不同的物理节点上),其中包括了若干个Sentinel节点和Redis数据节点,每个Sentinel节点对数据节点和其他Sentinel节点进行监控,当它发现节点不可达时,会对节点做下线标识。若该节点为主节点,它会和其他Sentinel节点共同协商,若大部分节点皆表示该主节点不可达,那么就会从Sentinel中选举出一个Sentinel节点来完成自动故障转移的工作,同时将这个变化实时通知给Redis应用方。     阅读全文
GeniusFunny's avatar
GeniusFunny 11月 23, 2018

简析Redis复制原理

在分布式系统中为了解决单点问题,通常会把数据复制成多个副本部署到不同的机器上,以满足负载均衡和故障恢复等需求,Redis也是如此,Redis支持简单且易用的主从复制(master-slave replication)功能。     阅读全文
GeniusFunny's avatar
GeniusFunny 11月 11, 2018