Node单机集群实现文章开头,先给大家抛出一个问题。
用过 Node 的人都知道,Node 采用的是类似 Nginx 单进程、异步IO 的运行模型,这也是 Node 性能强劲的根源。我们可能也经常听人说 js 的执行是单进程、单线程的,那么,如果换个说法,若说 Node 是单进程、单线程 的,是对的吗?
下面我们来验证一下。
我们来执行一个最简单的 Node 程序。它只做一件事,就是不停接受标准输入流并丢弃,这样保证进程一直存在
1process.stdin.resume();
启动后,我们使用 ps -ef | grep node 命令找到该进程的 pid,并使用 top 命令查看该进...
Shadowsocks翻墙原理探究Shadowsocks 是目前公认的科学上网神器,由 clowwindy 开发,它的出现极大地便利了广大程序猿们,让我们能够绕过 GFW 方便地访问 google 或 youtube 等国际大型网站。它的核心原理是基于 Socks5 代理协议的网络数据加密传输,具体在下面会做进一步介绍。
本文会以如下目录依次展开:
GFW
Socks5协议
Shadowsocks工作原理
Shadowsocks源码解析
GFW全称是 Great Firewall of China,国内一般称作“防火墙”或俗称“墙”,正是因为这个东西的存在,让整个中国大陆区域内的网...
ES6异步方式全面解析众所周知JS是单线程的,这种设计让JS避免了多线程的各种问题,但同时也让JS同一时刻只能执行一个任务,若这个任务执行时间很长的话(如死循环),会导致JS直接卡死,在浏览器中的表现就是页面无响应,用户体验非常之差。
因此,在JS中有两种任务执行模式:同步(Synchronous)和异步(Asynchronous)。类似函数调用、流程控制语句、表达式计算等就是以同步方式运行的,而异步主要由setTimeout/setInterval、事件实现。
传统的异步实现作为一个前端开发者,无论是浏览器端还是Node,相信大家都使用过事件吧,通过事件肯定就能想到回调函数,它就是实...
工程师的一些职场认知从Alien博客看到的,觉得很有道理。内容比较多,没办法一次都做到,先mark下来,一步步来吧,希望能够尽快都做到😄~
原文链接
Node图片处理——Jimp配合node-qrcode生成图片上传总结上周产品那边来了一个需求,需要基于原图针对不同用户生成不同二维码以及文案,并生成新图片,让用户能够保存。接到这个需求时,心里不仅没有拒绝的意思,反而有点小兴奋 ~ 因为又能探索一下新东西。
大致效果如下,原图:
效果图:
试水canvas刚开始打算在前端用canvas生成图片。我们都知道canvas有合成图片的功能,核心是drawImage及toDataURL这两个方法。
大致思路是:
使用drawImage将生成的二维码合并到原图的指定位置
使用fillText方法生成文案
用toDataURL将图片转成bas...
观《盲山》有感
不是影评,只是观后感
今天看了《盲山》后,心情无比压抑。虽然这部电影的故事已经耳熟能详,无论电视上还是网络中已经有过各种拐卖妇女的报道,所以从一开始就基本能想到剧情的发展方向,但是过程中依旧被种种场景震撼,比如雪梅逃出屋子后被全村的男人联合抓回,村里其他被拐卖妇女劝说雪梅她们是如何屈服的,警察来到村里营救却被村民围堵威胁导致营救失败等等。电视上对这类报道听得多了,就会有些麻木,但看了这部电影不得不赞叹导演对各种细节的精妙表述,能够切身体会到被拐妇女的绝望,不得不给给李杨导演点个赞。
先说说让我印象最深刻的几个男人黄德贵无论酒桌上的这句“谁不喝完这酒,谁就一辈子打光棍,儿...
好好写代码作为一个刚写代码不久的小菜鸟,工作的半年多让我越发意识到提高代码质量的重要性。从前只会关注实现功能,慢慢的开始关注性能,现阶段则发现其实还有很多细节也是(如可读性、易用性、可维护性、一致性)提高代码质量的关键。“实现功能”跟“优雅地实现功能”是两码事。
大部分归纳自网络,将多篇文章的观点汇总加工了一下,也融合了一些个人的见解。
原则
单一职责原则
易用性原则
可读性原则
复杂性守恒原则:无论你怎么写代码,复杂性都是不会消失的
注:如果逻辑很复杂,那么代码看起来就应该是复杂的。如果逻辑很简单,代码看起来就应该是简单的。
单一职责原则面向对象五大设计模式基本原则之一。即一部...
小站终于搭好啦为了纪念这意义重大的时刻,一定要写篇文章庆祝下,主题不是别的,就是我。
歪某某— 一个努力的前端程序猿兼鼓手称谓:
大头(因为姓氏的缘故,这个昵称是被用的最久的,贯穿我的整个童年、少年时代…)
歪**(高中时开始用,主要在网上用,没什么含义,好玩而已)
markey(码名:即作为开发者的昵称)
2017年6月25日毕业于东北林业大学,信息管理与信息系统专业(一半计算机一半管理)。大学期间没参与任何校组织(因为觉得官僚),倒是把一大半精力放在了社团上,一个是异族摇滚社,一个是606软件工作室。可以说这两个社团的经历决定了我现在的路。
学生时代喜欢安静,不太参与社交,造成了...
GIT学习笔记仅为本人在工作过程中学习git的一些经验总结,还是git菜鸟一只,有更好的见解欢迎留言 ~
经验总结
在解冲突时一定要注意,对自己不熟悉的代码要问问是谁写的在解. 如果出现问题,用 git merge –abort 可以将冲突文件退回到merge之前的状态
在新建一个开发分支时,一定要基于master分支建,不要让其他分支上的代码掺入你的开发分支
若想更新本地仓库中的分支或tag,用 git fetch [远程仓库] 则将远程仓库的所有更新取回本地,git fetch [远程仓库] <分支名> 还可以在后面制定分支名,表示只取得该分支的更新,git fetch –t ...