朱钟赫

前端科普系列(2):Node.js 换个角度看世界

懵懂的女人 提交于 2020-03-12 10:54:08
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/fPNMaeNYgU3eJsh0SLMRRg 作者:孔垂亮 【前端科普系列】往期精彩内容: 《前端科普系列(1):前端简史》 主要介绍 web 前端发展的历史、大事件。 本文为系列文章(2),主要介绍 Node.js 的前世今生、核心科技以及背后的故事。 一、关于 Node.js 1.Node.js 是什么 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. 按照 Node.js官网 的解释非常简单: Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时。 那我们该怎么理解这句话呢? Node.js 不是 JavaScript 的应用、也不是一种框架、更不是一门语言。它是一个 JavaScript 的运行环境,就和浏览器是一个 JavaScript 运行环境一样。 它是构建在 Chrome’s V8 这个著名的 JavaScript 引擎之上的。 这里不得不聊聊 Chrome & V8。 2.Node.js 诞生的背景 2008年, Google 开发了 Google 地图,但 Google 地图那时是安卓的原生应用。为了进一步扩展 Google

为 VOICE 而 voice 能 voice 出好内容吗?

Deadly 提交于 2020-02-21 10:10:40
受限于开放测试区域问题,大家对 Voice 的关注似乎自 2 月 14 日上线以来就开始持续下降。Voice 作为 Block.one 推出的首款面向 C 端用户的产品,集社交媒体与通证激励于一身,自然备受关注,自去年 6月发布消息到上线,酝酿 8个月,首站美国,因此 Beta 测试版亮相后大部分区域用户无缘体验,造成关注度下降也情有可原。但毕竟,Voice 是一款创新性的产品,也仍值得期待。 Voice Beta 究竟如何? EOS 42/ Chintai 运营总监和产品负责人Ryan Bethem 列出了他的评价与理由,他的观点较为鲜明、完整且具有一定的代表性,Block.one CEO Brendan 和 Voice CEO Salah 都转推并就此发表了自己的看法,社区其他伙伴也评论或延伸了他们的一些新看法,在此梳理与大家分享。 Ryan Bethem 认为,Voice 的设计有点像菠菜游戏,而不太像内容类应用。这种激励机制可能不利于产生好内容,而仅是激励了一场比拼谁敢花 VOICE 的游戏,并给出了详细的分析和理由(见下文)。Ryan 同时也表示,他会保持开放的心态来看待,现在下结论还为时过早,还有很多变数可能会发生。 Block.one CEO Brendan 的回应比较宏观,认为 Voice 本质上是一个广告平台,竞价获得推广位置曝光,这是一个自由竞价的过程

.NET程序员也学Node.js——初识Node.js

我怕爱的太早我们不能终老 提交于 2020-01-05 04:13:45
清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,尽管我一大波搞java的大学同学天天给我吹风说:来吧,java欢迎你。可我自然是打死都不会去学java的,没有为什么。于是乎,最近开始学习一些前端的开发技术,就让学习笔记来记录一下我的学习历程并同大家一起分享吧! 申明:我只是业余学着好玩的,顺便扩展一下视野,各位广大.NET同行不要被我带沟里去了,当然如果你想从事移动前端或者全栈开发的话还是有必要学习一下的。 Node.js简介 Node.js 的推出,不仅从工程化的角度自动化掉更多琐碎费时的工作,更打破了前端后端的语言边界,让 JavaScript 流畅的运行在服务器端。 为什么要学习Node.js? Node.js现在非常火而且很强,从2009年出现至今,已经风靡全球,微软的VS也已经将其集成进来了,我们知道微软总是喜欢将一些它觉得比较好的东西集成进来。 什么是Node.js? Node.js 是一个由C++编写的基于 Chrome V8 引擎的 JavaScript 运行环境。 速度非常快,性能非常好,Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器

docker挂载volume的用户权限问题,理解docker容器的uid

纵饮孤独 提交于 2019-12-25 15:48:39
docker挂载volume的用户权限问题,理解docker容器的uid 目录 遇到的问题 原因 容器共享宿主机的uid 如果不指定user,容器内部默认使用root用户来运行 容器内部用户的权限与外部用户相同 一定要确保容器执行者的权限和挂载数据卷对应 一个更加明显的demo 参考 docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题。 这里通过遇到的问题来理解docker容器用户uid的使用,以及了解容器内外uid的映射关系。 遇到的问题 本地有一个node的项目需要编译,采用docker来run npm install. sudo docker run -it --rm --name ryan \ -v pwd : pwd \ -w pwd node npm install --registry= https://registry.npm.taobao.org 可以看到,install之后,node_modules文件的权限变成root了。那么,作为使用者的我们就没有权限去删除这个文件了。 为什么docker输出的文件权限会是root? 原因 Docker容器运行的时候,如果没有专门指定user, 默认以root用户运行

Deno 并不是下一代 Node.js

Deadly 提交于 2019-12-05 14:13:45
这几天前端圈最火的事件莫过于 ry(Ryan Dahl) 的新项目 deno 了,很多 IT 新闻和媒体都用了标题:“下一代 Node.js”。 0. 为什么开发 Deno? 这是我上周做的一张图,介绍了 JavaScript 的发展简史。刚才修改了一下,添加了对 Node.js 和 Deno 发布时间的标注。 Node.js 和 Deno 分别是 Ryan Dahl 在 2009 年和 2018 年,基于当年最新的前端技术开发的 非浏览器 JavaScript 运行时 。 JavaScript 历史(Node & Deno) Ryan Dahl 开发 deno 并不是因为 “just for fun”,也 不是为了取代 node 。下面慢慢解释。 1. 目前 deno 只是一个 demo 这两天花时间看了 deno 的源码(好在是初级阶段,源码很少,也很容易理解),顺带看了所有的 issue 和 pr。不知道“从官方介绍来看,可以认为它是下一代 Node”是如何脑补出来的。 既然是 Node.js 之父的新作,在讨论中自然离不开 Node.js。而作者很皮的回复到: The main difference is that Node works and Deno does not work : ) 最大的区别就是:Node 可以工作,而 Deno 不行 : ) 目前 Deno

ryan

痞子三分冷 提交于 2019-12-05 11:41:25
古人云,非淡泊以明志,非宁静以致远。做人最重要的是能够认识自己、接纳自己。认识自己的不足,接纳自己的不足。没有了这些烦恼,然后就会有更多的时间和精力去做自己想做的、爱做的一些事情。切莫东搞一下,西搞一下,最后一事无成。 对于自身建设 拥有健康和强壮的身体 持续不断的进行学习和加强自身建设、教育(其中的方式之一就是广泛阅读) 爱我所爱(事物、家人、朋友……) 对于自身要求 自律 靠谱 热爱 来源: https://www.cnblogs.com/jy-xxr/p/11922924.html

day5: 正则

自作多情 提交于 2019-12-05 00:11:51
# coding=utf-8 # Author: RyAn Bi import re res = re.match('Ryan','Ryan123abcdefg456') #匹配2个字符串中相似的部分 print(res) print(res.group()) #只显示相同部分 res1 = re.match('Ryan\d','Ryan123abcdefg456') #显示匹配后面的数字 print(res1) res2 = re.match('Ryan\d+','Ryan123abcdefg456') #显示匹配后面的所有数字 print(res2) res3 = re.match('^.','Ryan123abcdefg456') #^是开头的意思(match都是从头),.是除了\n外的任意一个字符(这个就是取开头的字符) print(res3) res4 = re.search('b.+e','Ryan123abcdefg456e') #search 去开头b,结尾e的中间的字符 print(res4) res5 = re.search('a[a-z]+g','Ryan123abcdefgAbcdefg456e') #取a开头,g结尾,中间为a-z的字符串 print(res5) res6 = re.search('a[a-zA-Z]+g',

ModuleNotFoundError: No module named x

匿名 (未验证) 提交于 2019-12-03 01:27:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: This is the first time I've really sat down and tried python 3, and seem to be failing miserably. I have the following two files: test.py config.py config.py has a few functions defined in it as well as a few variables. I've stripped it down to the following: However, I'm getting the following error: ModuleNotFoundError: No module named 'config' I'm aware that the py3 convention is to use absolute imports: from . import config However, this leads to the following error: ImportError: cannot import name 'config' So I'm at a loss as to what to