LeoEatle's World

Do have faith in what you are doing.

深入了解 Node.js 与 epoll 的关系

根据我之前的文章我们可以知道 Node 主要就是两部分组成,除了各种封装了系统原生接口的 js 代码和 v8 引擎外,就是对于实现事件循环模型最重要的库,Libuv。 Node 以异步 I/O 解决网络并发问题著称,其核心概念就是通过异步事件来暂时“接下”所有的网络请求,通过不断循环处理事件来逐一异步地解决各个网络请求,对于低 CPU、高 I/O 的处理,即使是单线程,也有极高的处理效率。 ......

[LeetCode]1029. Two City Scheduling

Question现在有2N个人,需要飞往A城市或者B城市,假设第i个人飞到A城市有20公里,飞到B城市有50公里,记为[20, 50],给出成本costs数组,第i个人飞AB市的成本是costs[i] === [20, 50],我们需要保证有N个人飞A城市,N个人飞B城市,而且他们总共飞的里程数是最小的。 Thinking第一直觉是需要用到动态规划的,那么我们想想其中的状态转移方程会是怎样的......

[LeetCode]207. Course Schedule

Question现在一共有numCourses个课程需要你去完成。有些课程会有预先课程,比如为了完成课程0你需要先完成课程1。提供课程总数和所有的预先课程关系列表,你是否能够完成所有课程呢? Thinking这道题细想下就会发现,这就好像js模块的循环依赖问题一样,我们要如何检查是否有循环依赖的模块存在?(虽然现在node和webpack都有循环依赖的解决方案) 所以这个循环依赖本质上就是检......

525. Contiguous Array

Question有一串数组,由0和1组成,我们需要找到最长连续子数组符合这样的条件:这个子数组中的0和1数量相同。 Thinking其实看到数量相同,我很快就想到了把0换成-1,相加和为0,就能说明数量相同,但是要怎么找符合这个条件的最长连续子数组,就没了思路。 其实这种问题很典型,拆开来看,一个是最长子序列,一个是该序列符合的条件,我们能解决后者,但我们要考虑前者。对于找最长子序列,有个很......

[LeetCode]886. Possible Bipartition

Question有个N个人,我们需要把他们分为两个组。这N个人可能有两个人会互相讨厌,两个互相讨厌的人a和b被表示为数组[a, b]两个互相讨厌的人不能被分到同一组。 ExampleInput: N = 4, dislikes = [[1,2],[1,3],[2,4]]Output: trueExplanation: group1 [1,4], group2 [2,3] Thinking这其......

[LeetCode]1277. Count Square Submatrices with All Ones

Question给一个 m * n 的仅包含0和1的矩阵,目的是找到这个矩阵中有多少有效的、只包含1的矩阵,比如1 1 11 1 10 0 1 这里只有一条边的1矩阵有7个,有两条边的1矩阵有两个,所以总数是9 Solution可以察觉到这是一个dp题,但是要如何利用到已经计算好的矩阵呢?我们先从左上角开始,如果是1,就有1个了,如果是0,那么就没有 然后可以看旁边的,其实对于第一行和第一列......

come on, sweet death

i know. i know i’ve let you down.i’ve been a fool to myself.i thought that i could live for no one else.but now through all the hurt and painit’s time for me to respect.The one you love mean more t......

企业微信Web国际化方案

背景企业微信的web端包括了管理端、工作台应用、官网、帮助中心等多个模块,每个作为单独的项目已持续迭代较长时间,所有代码中的中文都是直接裸写的,现在要给所有模块加上国际化的处理,要比一个新项目从头开始支持国际化困难的多。经过一番改造,目前已经支持了包括管理端几乎所有界面的国际化,具体是怎么做的呢。 解析代码,提取中文首先要做的是从已有代码中解析出中文,简单的正则匹配很容易把不需要翻译的部分如......

有趣的上网冲浪之旅

9102年了,原来你也上网冲浪啊。 好吧,忙碌了一年,今天终于得以在发布完的间隙随意逛了逛Github,然后发现了一个很好玩的人肉神器。 https://github.com/sherlock-project/sherlock 这个 Python 项目可以非常方便地搜索全网的用户名,毕竟很多人用户名都是一样的。 这个东西其实还是在国外比较通用,国外还需要给每个网站注册一个账号,毕竟在国内互联......

One example of Typescript generics

用一个例子理解Typescript的泛型

When I learned about Typescript at like two years ago, I just can’t figure out the meaning of generics.For a programmer who start coding by writing script language such as javascript or python, it’......