linux
vim快捷键
#VIM 快捷键
mac蓝牙不可用
mac开机以后有时候会出现蓝牙不可用的情况
cluster
当我们去了解Cluster的时候,我们会在node的官方文档的一开始就会看到一个简单的例子
1 | // 这个例子是根据cpu的核数来生成对应的子进程数量, |
常见的10中排序方案的JS实现
这段时间重新回顾了一下,算法的基础部分,排序,为了更好的理解排序,我使用JS实现了下面10种算法。
- 实现的排序
- 冒泡排序(bubble)
- 插入排序(insert)
- 快速排序(quick)
- 选择排序(selection)
- 归并排序(merge)
- 希尔排序(shell)
- 堆排序(heap)
- 基数排序(radix)
- 桶排序(bucket)
- 计数排序(counting)
具体的细节可以浏览sort.js
现在未对内存使用做很好的优化,如果对内存要求比较高的话,还是推荐使用c语言来实现
IF, 三元表达式, || 的判断
\ | undefined | null | ‘’ | 0 | ‘0’ | -0 | +0 | NaN | -1 |
---|---|---|---|---|---|---|---|---|---|
IF | false | false | false | false | true | false | false | false | true |
三元 | false | false | false | false | true | false | false | false | true |
|| | false | false | false | false | true | false | false | false | true |
从现在的情况看起来,三元表达式,
IF
和||
表现的结果基本一致
Koa中间件(middleware)实现探索
说起Node,最常用的估计就是express和koa,两者都用到了中间件(middleware)这一概念,主要用于对请求的统一处理。
koa的请求处理是典型的洋葱模型,下面是官方的配图,而这一模型的组成部分就是middleware
接下来我们来看一下koa的源码,了解中间件的实现方式。
Bootstrap盒模型
关于盒模型有两种方案,可以通过box-sizing来控制,关于盒模型其实两种方案都是表示有margin
,border
,’padding’,’conent’组成,唯一的区别在于一个Dom的width1到底是指那部分。
1 | box-sizing: content-box; |
这时 width = content
1 | box-sizing: border-box; |
这时 width = border + padding + content
Apache Proxy和Redirect(Proxy与Redirect冲突问题)
最近在国外的一台机器上部署了公司的代码,但是因为有很多的图片资源,所以国内访问很慢,而客户这段时间刚好在国内,所以想要把所有的图片资源的链接重定向到国内的一台机器上。
本以为加上一段Redirect
或者RedirectMatch
什么的就可以了,但是加上了发现并没有起作用。看了一下Apache的配置,发现配置中还用到了proxy
来指向node应用。
google了一下,猜测proxy
会优先于Redirect
/RedirectMatch
,所以对于proxy已经命中的资源,Redirect
和RedirectMatch
就不会在起作用,需要在proxy排除这些文件。可以使用类似ProxyPassMatch /static/ !
来使Proxy
对于/static/
失效。再对/static/
使用Redirect 301 /static/ http://www.other-domain.com/static
。