[未完成] WebSocket调研

调研目的 在异常情况下,网络断开对WebSocket的影响 测试代码 测试代码没有心跳机制 心跳机制并不包含在WebSocket协议内部 var ws = new WebSocket('wss://echo.websocket.org/') ws.onopen =function(e){ console.log('onopen') } ws.onerror = function (e) { console.log('onerror: ' + e.code) console.log(e) } ws.onclose = function (e) { console.log('onclose: ' + e.code) console.log(e) } 场景1: 断网后,是否会立即触发onerror, 或者onclose事件? 答案:不会立即触发 测试代码中没有心跳机制,断网后,并不会立即触发onerror或者onclose的回调函数。 个人测试的情况 及其 测试场景 Macbook pro chrome 83.0.4103.106 每隔10秒发送一次消息的情况下,40秒后出发onclose事件 Macbook pro chrome 83.0.4103.106 一直不发送消息,一直就不回出发onclose事件 Macbook pro chrome 83.0.4103.106 发出一个消息后? 场景2: 断网后,使用send()发送数据,回触发事件吗? 为什么无法准确拿到断开原因? WebSocket关闭事件中有三个属性 code 断开原因码 reason 具体原因 wasClean 是否是正常断开 官方文档上,code字段有很多个值。但是大多数情况下,要么拿到的值是undefined, 要么是1006,基本上没有其他情况。...

2020-06-24 11:09:02 · 2 min · Eddie Wang

fping 网络状态监控测试

新建一个文件 ip.list.cfg, 包含所有的带测试的ip地址。 192.168.40.20 192.168.40.21 执行命令: nohup fping -D -u -l -p 2000 -f ip.list.cfg & -D 显示时间戳 -u 显示不可达的目标 -l 持续的ping -p 每隔多少毫秒执行一次 -f 指定ip列表文件 在nohup.out中,回持续的显示到各个ip的网络状况。 [1592643928.961414] 192.168.40.20 : [0], 84 bytes, 3.22 ms (3.22 avg, 0% loss) [1592643928.969987] 192.168.40.21 : [0], 84 bytes, 1.22 ms (1.22 avg, 0% loss) [1592643930.965753] 192.168.40.20 : [1], 84 bytes, 5.25 ms (4.23 avg, 0% loss) [1592643930.972833] 192.168.40.21 : [1], 84 bytes, 1.14 ms (1....

2020-06-20 17:06:42 · 1 min · Eddie Wang

oh-my-zsh 安装 tmux插件

.zshrc配置 vim ~/.zshrc plugins=(git tmux) # 加入tmux, 然后保存退出 source ~/.zshrc tmux 快捷键 Alias Command Description ta tmux attach -t Attach new tmux session to already running named session tad tmux attach -d -t Detach named tmux session ts tmux new-session -s Create a new named tmux session tl tmux list-sessions Displays a list of running tmux sessions tksv tmux kill-server Terminate all running tmux sessions tkss tmux kill-session -t Terminate named running tmux session tmux _zsh_tmux_plugin_run Start a new tmux session

2020-06-17 13:20:24 · 1 min · Eddie Wang

Nodejs诊断报告

2020-06-12 09:07:08 · 0 min · Eddie Wang

解决问题的最后一个思路:拼写错误!!

从各种层次排查了问题,包括 docker版本不一样 脚本不一样 镜像的问题 … 从各种角度排查过后,却发现,问题在是拼写错误。环境变量没有设置对,导致进程无法前台运行。 能不拼写就不要拼写!!直接复制。 大文件在传输图中可能会文件损坏,最好使用md5sum计算文件校验和,然后做对比。

2020-06-05 11:55:40 · 1 min · Eddie Wang

01 手绘风格的流程图

webrtc的各种demo https://webrtc.github.io/samples/ 在线音频处理 https://audiomass.co/ 值得深入阅读,关于如何demo的思考 https://kitsonkelly.com/posts/deno-is-a-browser-for-code/ 不错的介绍demo的博客 https://kitsonkelly.com/posts js如何获取音频视频 https://www.webdevdrops.com/en/how-to-access-device-cameras-with-javascript/ bats可以用来测试shell脚本 https://github.com/bats-core/bats-core 手绘风格的流程图 https://excalidraw.com/

2020-06-05 09:31:37 · 1 min · Eddie Wang

理发店的营业模式分析

1. 理发店分类 类别 店面大小 并发理发人数 业务范围 消费者画像 定价 A(单一理发类) 较小 4-6 理发、染发、烫发 学生、普通工人 较低 B(综合服务类) 较大 12-20 理发、染发、烫发、美容、减肥、刮痧、按摩、脱毛等等 白领、老板等有一定经济能力者 中上 2. 如何吸引顾客上门? 优惠卡:在理发店营业之前,往往可以以极低的价格,派发理发卡。例如办理20元理发5次这样的理发卡。这样在理发店营业之初,就会有足够的客户上门理发。 认知偏差:很多理发店会门口挂个横幅: x+x+x 仅需5元。全场套餐仅需1折。其实这些都是吸引顾客的钩子,而真正的前提条件,往往是要办理xxxx元的会员卡。 3. 如何吸引客户更多的消费? 对于B类理发店来说,一般情况下顾客进店之后,并不会对其立即理发。而需要一位服务员进行理发前的准备,例如头部按摩、颈部刮痧、肩部按摩的放松准备。也可能会上一些茶水,糖果瓜子之类的食品。 进入理发店,除了有理发的消费之外,还可能纯在其他的消费机会。而消费机会的前提在于**服务人员和顾客之间的沟通。所以以为能够察言寡色的服务员则显得尤为重要。如果顾客一句话也不说,那也是无法让其更多的消费的。常见的沟通手法如下: 发现顾客身上的小瑕疵,进而咨询顾客是否需要专业的人员帮您看看。(注意这一步一定不要立即推荐套餐服务,这样会立即引起顾客的反感情绪。) 经过专业人员的查看之后,一般会向客户推荐比较优惠的体验一次的项目。因为体验一次往往是话费比较小的。如果上来给客户推荐一两千的套餐,客户一般会拒绝。 简单的套餐体验过后,可以向顾客推荐套餐,以及如果使用套餐,单次理疗会更加优惠。 总得理念就是:循序渐诱,不可操之过急 4. 如何留住顾客? 理发店顾客粘性一般比较小,周围四五家理发店,顾客凭什么再次光顾你这家呢? 答案就是:会员卡

2020-05-30 20:13:00 · 1 min · Eddie Wang

小岛经济学: 鱼、美元和经济的故事

之前读完鱼、美元和经济学的故事第一版,令我印象深刻。后来kindle上有出现了这本书的第二版,内容增加了,并且也增加了一些好看的插图。 我度过不少经济学的书,《国富论》是比较深奥的一本,我只能看懂前面一两章,就读不下去了。 但是小岛经济学的这本书,真的把经济学里难以理解的东西说的通俗易懂。 也许经济学本来并不是那么难以理解,只是专家慢慢变多了,他们就把经济学变得难以理解了。因为只有这样,才能显得他们是多么的富有聪明才智。 1. 自己的生意 每个人实际上都在经营自己的生意,将自己的劳动力卖给出价最高的老板。 2. 员工的价值 员工的价值主要取决于三个方面: 需求(老板是否需要员工所掌握的技能) 供应(有多少人具备这些技能) 生产力(员工对那些工作完成的程度如何) 所以,你的价值并不会因为你吃苦耐劳而升高。 3. 纽约地铁 纽约的地址由私营公司建设,40年内都是由私营公司负责运营。虽然地铁造价不菲,但是还是实现了盈利。更值得一提的是,40年里车票的价格从未上涨。 这是值得深思的地方,有些公共事情,私营公司来做可能要比政府做的更好、效率更高。 政府对公共设施的垄断,很大的可能会造成效率低下和贪污腐败。 4. 经济的目的 提供就业岗位并不是经济的目的,经济的目的是不断提高生产力。 5. 膨胀与紧缩 通货膨胀就是货币的供给增加,相反的就是通货紧缩。价格并不会膨胀或者紧缩,价格只能上涨或者下跌。膨胀的不是价格,而是货币供给。 6. 谁需要你的货币? 如果没有人想购买你的产品,也就没有人需要你的货币。 美国的很多产品在全世界都很吃香,所以美元是很多国家都需要的。 7. 人们为何消费? 经济并不会因为人们的消费而增长,而是经济增长会自然的带动人们的消费。 但是目前看来,眼下最为火爆的就是“带货”这个词,各种人物,无论是公众明星还是普通人,都想来搞带货。 各种新闻报道也在大肆宣扬,某某明星直播带货xxx亿元。 当你被xxx亿元吸引时,你是否也曾暗暗思考过,这些钱来自哪里? 买这些东西对于消费者来说,又有什么好处。 在经济以为疫情的影响和下行时,为什么会有那么多人疯狂购物呢? 天下皆知美之为美,斯恶已。我想这种带货的模式,也许就快要到尽头了。 8. 量化宽松 北京的白菜(一到)浙江,便用红头绳系住菜根,倒挂在水果店头,尊为“胶菜”;福建野生着的芦荟,(运往)北京就请进温室,且美其名曰“龙舌兰”. 《藤野先生》鲁迅 明明白白的通货膨胀,到了经济学家和政客的嘴里,美其名曰“量化宽松”。

2020-05-22 20:35:13 · 1 min · Eddie Wang

文件名以-开头

-.slice 用 – 表示参数已经结束 cat – -.slicevim – -.slice

2020-05-21 15:24:33 · 1 min · Eddie Wang

nginx 配置不显示版本号

隐藏版本号 nginx会在响应头上添加如下的头。 Server: nginx/1.17.9 如果不想在Server部分显示出nginx的版本号,需要在nginx.conf的http{}部分设置 http { server_tokens off; } 然后重启nginx, nginx的响应头就会变成。 Server: nginx

2020-05-14 09:44:46 · 1 min · Eddie Wang