2018年,变动的一年,随着P2P的雷声不断轰鸣,各企业纷纷开始裁员过冬,“开猿节流”一词正式被创造,很不幸,笔者所在的金融公司也不得不进入“冬眠”,而我也在农历新年前变成了求职大军中的一员。
大家好,我是山月,这是我最近新开的专栏:「前端部署系列」。包括 Docker、CICD 等内容,大纲图示如下:
我们用nodejs为前端或者其他服务提供resful接口时,http协议他是一个无状态的协议,有时候我们需要根据这个请求的上下获取具体的用户是否有权限,针对用户的上下文进行操作。所以出现了cookies session还有jwt这几种技术的出现, 都是对HTTP协议的一个补充。使得我们可以用HTTP协议+状态管理构建一个的面向用户的WEB应用。
原文:https://blog.insiderattack.net/deep-dive-into-worker-threads-in-node-js-e75e10546b11
许多人都有这样一种映像,NodeJS比较快; 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务; 它比较适合对并发要求比较高,而且简单的业务场景。 在Express的作者的TJ Holowaychuk的 告别Node.js一文中列举了以下罪状: Farewell NodeJS (TJ Holowaychuk) • you may get duplicate callbacks • you may not get a callback at all (lost in li
先来说说nodejs最常被提到的几个关键词,“单线程”,“非阻塞异步IO”,“事件循环”。接下来主要来通过这几个关键字总结一下nodejs的内在原理,以及引申出的一些问题。
最近想学习下web前端,原因是这样的,当前中国(公元2018年)的网络环境,表现形式基本是web+移动端,像微信的小程序只要写js应该就可以了,移动端的app很多也是以web的形式展示,应用程序内是html+css+js,不仅方便发布,而且做起来也快,写完页面样式,更新资源,就好了,类似热更
event loop是指由libuv提供的,一种实现非阻塞I/O的机制。具体来讲,因为javascript一门single-threaded编程语言,所以nodejs只能把异步I/O操作的实现(非阻塞I/O的实现结果的就是异步I/O)转交给libuv来做。因为I/O既可能发生在很多不同操作系统上(Unix,Linux,Mac OX,Window),又可以分为很多不同类型的I/O(file I/O, Network I/O, DNS I/O,database I/O等)。所以,对于libuv而言,如果当前系统对某种类型的I/O操作提供相应的异步接口的话,那么libuv就使用这些现成的接口,否则的话就启动一个线程池来自己实现。这就是官方文档所说的:“事件循环使Node.js可以通过将操作转移到系统内核中来执行非阻塞I / O操作(尽管JavaScript是单线程的)”的意思。
链接: https://pan.baidu.com/s/1hulIXwC 密码: 7udr
JWT是json web token的简称,本文介绍它的原理,最后后端用nodejs自己实现如何为客户端生成令牌token和校验token 一 为什么需要会话管理 我们用 nodejs 为前端或者其他服务提供 resful 接口时,http 协议他是一个无状态的协议,有时候我们需要根据这个请求的上下获取具体的用户是否有权限,针对用户的上下文进行操作。所以出现了cookies session还有jwt这几种技术的出现, 都是对HTTP协议的一个补充。使得我们可以用HTTP协议+状态管理构建一个的面向用户的WE
当需要查询两个表的交集、并集等数据时,除了嵌套子查询的方式外,还可以使用join的方式提升性能。对于MySQL的join语句,需要两个最基础的“角色”:主表即驱动表,关联表即驱动表。join描述的就是驱动表与被驱动表的关联关系。MySQL有三种关联逻辑处理策略,分别为:Index Nested-Loop Join、Simple Nested-Loop Join、Block Nested-Loop Join。在编写SQL时,需要配合explain使语句选择性能最优的策略。
- Node.js : 如果没有安装 Node,请到官网 Node.js website 下载并安装。如果这样的项目你感兴趣并且你也在寻找 Node 更深入的教程请查看另一篇文章 Top Three Node.js courses
1、Nodejs 1) 简单的说 Node.js 就是运行在服务端的 JavaScript。 2) Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 3) Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 4) 我们写下的js代码,是在单线程的环境中执行,但nodejs本身不是单线程的。如果我们在代码中调用了nodejs提供的异步api(如IO等),它们可能是通过底层的
因为驱动结果集越大,意味着需要循环的次数越多,也就是说在被驱动结果集上面所 需要执行的查询检索次数会越多。
经常听到初学python的小伙伴在抱怨,python安装第三方库太慢,很容易失败报错,如果安装pandas、tensorflow这种体积大的库,简直龟速。
在我很小的时候,曾听闻路边的喇叭说,破了烂了不用的手机不要丢,也不要拿给小孩玩,都可以换不锈钢脸盆,统统可以换不锈钢脸盆,我蠢蠢欲动地拿起大哥大试了下,嗯,真的可以换不锈钢脸盆的,中国人不骗中国人。随着社会的发展,技术的更新迭代,人们现在用的手机功能越来越丰富,我开始犹豫了,还换不换脸盆呢?最终我找到了一种和过去的手机和解的办法,我不换了,我准备结合termux这个软件把它打造成一款迷你型服务器,
实际上浏览器的事件循环标准是由 HTML 标准规定的,具体来说就是由whatwg规定的,具体内容可以参考event-loops in browser。而NodeJS中事件循环其实也略有不同,具体可以参考event-loops in nodejs
在MySQL中,join语句想必大家都不陌生,今天我们围绕join语句展开,说一些可能平时不关注的知识点。
今天优化了一个,join关联查的语句,需要优化join的语句,那我们肯定得了解他的一个执行过程。正所谓知己知彼,百战百胜!!
nodejs 和 浏览器的 eventLoop 还是有很大差别的,值得单独拿出来说一说。
本文讲详细讲解 nodejs 中两个比较难以理解的部分异步I/O和事件循环,对 nodejs 核心知识点,做梳理和补充。
对于 MySQL 的 JOIN,不知道大家有没有去想过他的执行流程,亦或有没有怀疑过自己的理解(自信满满的自我认为!);如果大家不知道怎么检验,可以试着回答如下的问题
Webpack+Vue2项目结构生成 ---- 参考文档: Vue2.0 新手完全填坑攻略 Vue2.0+Vue-router2.0+Vuex2.0搭建简书 基本需求 nodejs环境 参考:https://nodejs.org/en/ npm和cnpm(node依赖包管理) 参考:https://npm.taobao.org/ npm install -g cnpm –registry=https://registry.npm.taobao.org webpack安装 cnpm
翻译:疯狂的技术宅 原文:https://smalldata.tech/blog/2018/11/01/copying-objects-in-javascript
熟悉javascript的朋友应该都使用过事件,比如鼠标的移动,鼠标的点击,键盘的输入等等。我们在javascript中监听这些事件,从而触发相应的处理。
最近使用 NODE-RED 跟 TCP 打交道。NODE-RED 里内建了一个节点叫“tcp-out”,看文档呢使用这个节点可以很方便的把 payload 用 TCP 协议发送出去,但是事实上事情没有这么简单。其实当我第一次看到这个节点用法的时候我就觉得会有问题,果不其然。既然节点有问题,那么就干脆写代码吧,反正 NODE-RED 支持自定义 javascript function 。于是就花了点时间研究了下用 Nodejs 来发送 TCP 消息。
这里的public不会显示在url中, 为了方便判别静态文件的url请求, 我们在public内新建一个static文件夹, 这样所有请求静态文件的url,都会以static开头(这里借鉴了django处理静态文件的方法)
第一部分 MVVM如何实现模板绑定,依赖是如何收集的? vue2中的diff算法是怎样实现的? 请详细说出vue生命周期的执行过程? vue组件间的交互有七种你知道几种? vue-cli3.0如何实现的? 说说hash路由和history路由,你能自己编写一个前端路由吗? 你能手写vuex状态管理吗? 你能开发自己的组件库吗(树组件,日期组件,表格组件)? 第二部分 vue里面的虚拟dom是怎么回事 vue双向绑定讲一讲 讲vue-lazyloader的原理,手写伪代码 讲express框架的设计思想 讲事
也许对于浏览器中的 EventLoop 大多数开发者已经耳熟能详了,掌握 EventLoop 它对于每一个前端开发者的重要性不言而言。
总说 RNN( Recurrent Neural Network 循环(递归)神经网络) 跟人的大脑记忆差不多。我们的任何决定,想法都是根据我们之前已经学到的东西产生的。RNN通过反向传播和记忆机制,能够处理任意长度的序列,在架构上比前馈神经网络更符合生物神经网络的结构,它的产生也正是为了解决这类问题而应用而生的。 RNN及改进的LSTM等深度学习模型都是基于神经网络而发展的起来的认知计算模型。从原理来看,它们都是源于认知语言学中的“顺序像似性”原理:文字符号与其上下文构成一个“像”,这个“像”可
本文根据 JavaScript 规范入手,阐述了JS执行过程在考虑时效性和效率权衡中的演变,并通过从JS代码运行的基础机制事件队列入手,分析了JS不同任务类型(宏任务、微任务)的差别,通过这些差别给出了详细分析不同任务嵌套的复杂 JS 代码执行的分析流程。
如果你用朴实无华的 node 命令去运行 nodejs 应用,那它是不稳定的,运行一段时间就会挂掉,不适合用在生产环境。
我们知道对于Oracle的表连接,根据SQL连接条件主要支持如下三种连接方法(算法):
RNN( Recurrent Neural Network 循环(递归)神经网络) 跟人的大脑记忆差不多。我们的任何决定,想法都是根据我们之前已经学到的东西产生的。RNN通过反向传播和记忆机制,能够处理任意长度的序列,在架构上比前馈神经网络更符合生物神经网络的结构,它的产生也正是为了解决这类问题而应用而生的。
在构建你的第一个Node.js应用程序时,了解node开箱即用的实用工具和API是很有帮助的,可以帮助解决常见的用例和开发需求。
在选择Join算法时,会有优先级,理论上会优先判断能否使用INLJ、BNLJ: Index Nested-LoopJoin > Block Nested-Loop Join > Simple Nested-Loop Join
一、初识FIS 在做项目中遇到了静态资源浏览器缓存更新的问题,于是在网络上寻找解决方案。之前虽然没有解决过这个问题,但方法无非就是为其设定新URI使得浏览器强制更新。这个过程听起来还是相当简单的。 也是无意中搜索到了知乎上的一个帖子大公司里怎样开发和部署前端代码? 看到这个文章中提到了FIS,跟随着文章开始学习走起,有点小兴奋,只不过很快便发现问题更多。 二、尝试 原本只是想着有个工具可以将前端资源打个标识,这样就可以轻松的解决浏览器静态缓存更新问题。FIS的描述也确实如此,那么就开始动手搞起吧。 安装 F
前端爱好者的知识盛宴 导语 这是Vue多页面框架系列文章的第二篇,上一篇中,我们尝试从webpack-simple原型项目改造为一个多页面的Vue项目。而这里,我们继续往前,尝试把Vue多页面改造为Nodejs直出。由于步骤较多,所以本文片幅较长。 上一篇:纯前端Vue多页面改造 本文源代码: https://github.com/kenkozheng/HTML5_research/tree/master/Vue-SSR-Multipages-Webpack3 正文 1 认识原理 稍微详细的信息,大家可以
本文适用于vue.js新人,因为作者也是刚刚接触vue.js,也只记录作者学习过程。
How to Monitor Your Web Page's Total Memory Usage with performance.measureMemory()
“成语接龙”的话,大家应该很熟悉,就是以一个成语开始,根据成语最后一个字,找到另一个可以接上的成语;再根据最后一个字继续找,一直连接下去。本身就是一个递归的过程,这是一个富有挑战且充满乐趣的语言游戏。
之前的文章中对于explain的数据结果中的字段已经进行了一部分介绍了,今天来说一说剩下的几个字段,为了防止忘记,先看看这个表结构:
( 这里因为我的另一个磁盘分区装了其他OS,只剩C盘了,如果你有其他盘推荐放到其他盘里 )
最近在项目中遇到一个问题,需要将一个依赖异步网络通信的功能,封装成同步API供第三方调用。
领取专属 10元无门槛券
手把手带您无忧上云