技术记录分享
文章平均质量分 80
涉及到前端,大前端,javascript,nodejs,thinkjs,koa,浏览器,缓存,vue,vuex,webApp,cordova,混合安卓开发,jquery,数据可视化,webGL,css3,html5,http,https,http2.0
松宝写代码
他大舅他二舅都是他舅
展开
-
看VR发展史,VR技术成熟度曲线的趋势是?
hello,大家好,我是「松宝写代码」。近期给大家带来了「VR领域」分享,主要大纲如下:VR发展史 - VR技术介绍 - VR行业数据 - VR未来发展路线 - 更全面了解VR今天我们带来的是VR发展史,欢迎关注,留言交流学习。VR发展史1930s 科学幻想上个世纪30年代,作家 Stanley 就在其小说《皮格马利翁的眼镜》中,提到了这样一种 虚拟现实的眼镜,当人们戴上它时,可以 看到、听到、闻到 里面的角色感受到的事物,有如真实的生活在其中一般。1950s-1960s早期研究上原创 2022-03-31 23:49:15 · 593 阅读 · 0 评论 -
【研究】低代码/无代码的研究
【研究】低代码_无代码的深入浅出研究hello,大家好,我是「松宝写代码」。上一篇:【唠唠】低代码/无代码界定,https://blog.csdn.net/saucxs/article/details/123886780?spm=1001.2014.3001.5502导语:从国内低代码/无代码厂商的商业模式看,主要分为四类,分别是低代码开发平台、低代码产品、低代码开发功能和云厂商的低代码生态。全球市场2021年低代码市场规模为71亿美元,预计到2025年市场规模将达到154亿美元。一、低代码与无原创 2022-03-31 23:46:34 · 445 阅读 · 0 评论 -
【唠唠】低代码_无代码的界定
hello,大家好,我是「松宝写代码」。最近看到很多关于低代码的介绍和分析,说几点自己的想法💡今天来聊聊,低代码如何来界定?低代码属于PaaS中的应用开发aPaaS层面,通过可视化方式实现应用开发,降低写代码的成本。引入了PaaS和aPaaS的概念,我们来看下面的图1、SaaS,PaaS,IaaS分别是云计算的不同服务模式。2、aPaaS 和 IPaaS是基于PaaS的解决方案。3、aPaaS = 高代码 + 低代码/无代码(1)低代码/无代码,简单来说:开发人员可以通过图形化的用户界面,原创 2022-03-31 23:37:20 · 310 阅读 · 0 评论 -
vuex系列--浅析Vuex 的设计思想
一、前言在聊之前,大家要始终记得一句话:一切前端概念,都是纸老虎。不管是Vue,还是 React,都需要管理状态(state),比如组件之间都有共享状态的需要。什么是共享状态?比如一个组件需要使用另一个组件的状态,或者一个组件需要改变另一个组件的状态,都是共享状态。如果不对状态进行有效的管理,状态在什么时候,由于什么原因,如何变化就会不受控制,就很难跟踪和测试了。如果没有经历过这方面的...原创 2019-06-14 13:35:01 · 4540 阅读 · 0 评论 -
vue系列--vue是如何实现绑定事件
一、前言vuejs中的事件绑定,使用<v-on:事件名 = 函数名>来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法。二、事件绑定方式1、 直接在标签中写js方法 <button v-on:click="alert('hi')">执行方法的第一种写法</button>2、调...原创 2019-05-27 22:00:48 · 10511 阅读 · 0 评论 -
happyChat开发系列:使用websocket.io实现双向通信的乐聊大前端开发
一、前言乐聊是一个自己用websocket写一个完整的应用,虽然功能比较欠缺,但是实现了基本的文字聊天,以及群聊,私聊,机器人聊天等功能。因为这个自己做了PC端,无线端(手机端),以及使用cordova打包成一个android的apk。实现了一个大前端的项目,虽然现在android端还是有点有问题,在修改bug。二、websocket的原理介绍1、为什么需要websocket?...原创 2019-04-10 10:39:36 · 505 阅读 · 0 评论 -
懒加载实践--js图片懒加载及优化
一、前言为啥要对图片使用懒加载?我们首先来聊聊这个问题,对于页面来说架子啊速度影响着最大的就是图片,一张普通的图片可以达到4-5M的大小,而代码压缩也就只有几十KB。当页面图片过多的时候,页面加载速度很缓慢,一个页面加载几秒没有完成,用户体验不好,会丧失很多用户的。所以对于图片过多的页面,可以为了加速页面加载速度,很多时候我们需要将页面内未出现的可视区域内的图片先不加载,等到滚动到可视区的...原创 2019-06-14 13:38:51 · 447 阅读 · 0 评论 -
webAssembly系列--webAssembly初探究竟
一、前言自从JavaScript诞生开始,到现在开始变成流行的编程语言,背后的是web发展所推动的。web应用的变得更多更复杂,但是渐渐暴露出JavaScript的问题:(1)语法太灵活导致开发大型web项目困难;(2)性能不足满足一些场景的需要。二、为什么需要WebAssembly针对以上的问题,JavaScript出现了一些代替语言,比如:(1)微软的TypeSc...原创 2019-06-14 13:36:58 · 4369 阅读 · 0 评论 -
vue系列--Virtual DOM 真的比操作原生 DOM 快吗?
一、前言网上都说操作真实dom怎么怎么慢,这儿有个例子:http://chrisharrington.github.io/demos/performance/,例子循环2000个随机数组,点击按钮重新生成随机数组渲染页面,也是自己用的js 操作dom 比用react 和angular 都要快。这是引用知乎上的一个问题。觉得写的很好。文章内容主要是来源于尤大大的回答。二、原生dom操作...原创 2019-06-10 14:11:37 · 1816 阅读 · 0 评论 -
JavaScript数组reduce()方法详解及奇淫技巧
一、前言reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 可以作为一个高阶函数,用于函数的 compose。reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但是总有一条路...原创 2019-06-06 16:06:00 · 2884 阅读 · 0 评论 -
JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890到 1,234,567,890;argruments 对象(类数组)转换成数组
一、前言之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳https://www.mwcxs.top/page/746.html介绍了sleep函数和获取时间戳的方法。接下来我们来介绍数字格式化1234567890-->1,234,567,890二、数字格式化1234567890--&...原创 2019-05-31 14:41:04 · 395 阅读 · 0 评论 -
JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳
一、前言有些东西很好用,但是你未必知道;有些东西你可能用过,但是你未必知道原理。实现一个目的有多种途径,俗话说,条条大路通罗马。发散一下大家的思维以及拓展一下知识面。二、实现一个简短的sleep函数sleep函数主要用来做延迟执行的,很多编程语言都有sleep函数,但是javascript没有这个函数,我们实现一下:1、简单版本function sleep(sleep...原创 2019-05-31 14:37:44 · 345 阅读 · 0 评论 -
JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和
一、前言简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/746.html数字格式化 1234567890 --> 1,234,567,890;argruments 对象(类数组)转换成数组:https://www.mwcxs.top/page/749.html今天我们来介绍一下数字取整,数组求和。二、数字取整1、普通版...原创 2019-06-04 21:10:14 · 480 阅读 · 0 评论 -
浅析SSR(服务端渲染)和SPA(客户端渲染)
一、前言C端项目重构成首屏服务端渲染(SSR:serve side render),对于重构成SSR,redux不是必须的。本文以vue为栗子的项目。二、什么是服务端渲染将组件或页面通过服务器生成html字符串,再发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。我以weekly周报的登陆页面为例登陆页没有使用服务端渲染,请求到login页面,返回的b...原创 2019-05-24 17:53:32 · 9486 阅读 · 1 评论 -
JavaScript系列--类型判断的4种基本方法,研究jquery的type方法,空对象的检测方法,类数组对象
一、前言类型判断有时候真的头疼,但是一旦熟练使用就会觉得不过如此。初级的,会判断数字和字符串。中级的,会判断数组和对象。进阶的,会判断日期,正则,错误类型。高级的,会判断plainObject,空对象,window对象等等。基本类型:String、Number、Boolean、Symbol、Undefined、Null引用类型:Object基本类型也称为简单类型,由于其占据空间固定...原创 2019-05-23 11:04:12 · 128 阅读 · 0 评论 -
如何使用elementUI调用一次接口同时上传图片和文件,同时需要携带其他参数,实现调用后端接口
今天有一个坑,同时要上传图片和文件,而且图片要展示缩略图,文件要展示列表。我的思路是:首先,只上传附件照片,这个直接看ele的官方例子就行,不仅仅上传附件照片,还同时上传其他参数。然后,再做上传照片和文件,上传其他参数,其实也就是文件合并。一、上传照片和其他参数页面样式大约就是这样的,参数有优先级,发生时间,服务单名称,服务单描述,图片附件上传。(一)...原创 2018-12-11 09:19:12 · 6709 阅读 · 0 评论 -
linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限
最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题1、准备阶段我使用xshell工具管理服务器,相应下载和安装自行百度2、安装接下来主要介绍Linux下使用yum安装MySQL,以及启动、登录和远程访问MySQL数据库。2.1安装mysql客户端yum install mysql如何出现下面这个,说明,已...原创 2018-11-02 10:23:01 · 448 阅读 · 0 评论 -
浅析JavaScript解析赋值、浅拷贝和深拷贝的区别
一、赋值(Copy)赋值是将某一数值或对象赋给某个变量的过程,分为:1、基本数据类型:赋值,赋值之后两个变量互不影响2、引用数据类型:赋**址**,两个变量具有相同的引用,指向同一个对象,相互之间有影响对基本类型进行赋值操作,两个变量互不影响。// saucxslet a = "saucxs";let b = a;console.log(b); // saucxs...原创 2019-04-19 09:07:03 · 230 阅读 · 0 评论 -
javascript系列--认识并理解构造函数,原型和原型链
一、前言介绍构造函数,原型,原型链。比如说经常会被问道:symbol是不是构造函数;constructor属性是否只读;prototype、[[Prototype]]和__proto__的区别;什么是原型链?等等问题。文章首发地址(sau交流学习社区)二、构造函数1、什么构造函数构造函数就是通过new关键词生成实例的函数。js的构造函数和其他语言不一样,一般规范都是首字母...原创 2019-04-29 09:16:37 · 207 阅读 · 0 评论 -
深入javascript的主流的模块规范
一、前言目前主流的模块规范:1、UMD通用模块2、CommonJs3、es6 module二、UMD模块(通用模块)(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = fact...原创 2019-04-18 17:57:29 · 954 阅读 · 0 评论 -
javascript正则表达式学习(一)--字符匹配
一、前言正则表达式是匹配模式,要么匹配字符,要么匹配位置。正则里面的元字符太多了,没有系统性,可以分为:(1)字符匹配攻略(2)位置匹配攻略二、字符匹配包括:两种模糊匹配,字符数组,量词,分支结构。1.1两种模糊匹配正则精确匹配乜有意义的,比如正则/saucxs/,只能匹配字符串中的"saucxs"这个子串。var regex = /saucxs/;c...原创 2019-03-28 22:43:23 · 4745 阅读 · 0 评论 -
ES6--浅析Promise内部结构
首发于:sau交流学习社区一、前言什么是promise?promsie的核心是什么?promise如何解决回调地狱的?等问题1、什么是promise?promise是表示异步操作的最终结果;可以用来解决回调地狱和并发IO操作的问题Apromiserepresents the eventual result of an asynchronous operation.2...原创 2019-03-26 09:05:02 · 286 阅读 · 0 评论 -
javascript之this指向和apply,call,bind三者的区别
一、前言this指向,apply,call,bind的区别是一个经典的面试问题,同时在项目中会经常使用到的原生的js方法。同时也是ES5中的众多坑的一个。ES6中可能会极大的避免了this产生的错误,有时候需要维护老的项目还是有必要了解一下this的指向和apply,call,bind三者的区别。二、this的指向在ES5中,其实this的指向,始终坚持一个原理:this永远指向...原创 2019-03-25 10:20:07 · 123 阅读 · 0 评论 -
javascript数组的常用算法解析
一、不改变原数组,返回新数组(字符串)1、concat() 连接两个或者多个数组,两边的原始数组都不会变化,返回的是被连接数组的一个副本。2、join() 把数组中所有的元素放入到一个字符串中,返回字符串var a = [1,2,3];a.join([4,5,6]); // "14,5,624,5,63"a.join('sau'); // "1sau2s...原创 2019-03-18 20:14:43 · 120 阅读 · 0 评论 -
javascript深入理解--作用域,作用域链,闭包的面试题解
一、概要作用域和作用域链是js中非常重要的特性,关系到理解整个js体系,闭包是对作用域的延伸,其他语言也有闭包的特性。那什么是作用域?作用域指的是一个变量和函数的作用范围。1、js中函数内声明的所有变量在函数体内始终是可见的;2、在ES6中有全局作用域和局部作用域,但是没有没有块级作用域(catch只在其内部生效);3、局部变量的优先级高于全局变量。文章首发:https:/...原创 2019-03-11 21:48:00 · 470 阅读 · 0 评论 -
javascript深入理解-从作用域链理解闭包
一、概要红宝书(P178)对于闭包的定义:闭包就是有权访问另外一个函数作用域中变量的函数。MDN,对于闭包的定义:闭包就是指能够访问自由变量的函数。那么什么是自由变量?自由变量就是在函数中使用,但既不是函数参数arguments,也不是函数的局部变量的变量,就是说另外一个函数作用域中的变量。闭包组成?闭包 = 函数 + 函数能够访问的变量同步首发地址:https://www...原创 2019-02-28 17:03:08 · 184 阅读 · 0 评论 -
免费购买SSL证书,nginx无缝升级https
最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录。以下包括以下部分:一、阿里云免费购买SSL证书1、自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书2、我选择DNS验证3、在SSL证书中,下载cert证书,然后放到nginx服务器上二、nginx无缝升级https4、查看nginx是否支持ssl5、配置ssl模块6、重新编译一下7、因为这次...原创 2018-11-02 09:49:28 · 565 阅读 · 0 评论 -
vue官方vue-cli构建的vue项目结构分析
一、概要vue现在在很多公司会大量使用,研究一下vue-cli脚手架构建项目的项目结构,有助于理解vue。博客首发地址:https://www.mwcxs.top/page/570.html使用vue-cli脚手架搭建vue项目的具体步骤如下:npm install -g vue-clicd E:(跳转到项目目录)vue init webpack vueproject (vu...原创 2019-02-20 10:43:58 · 600 阅读 · 0 评论 -
vue.js框架原理浅析
vue.js是一个非常优秀的前端开发框架,不是我说的,大家都知道。首先我现在的能力,独立阅读源码还是有很大压力的,所幸vue写的很规范,通过方法名基本可以略知一二,里面的原理不懂的地方多方面查找资料,本文中不规范不正确的地方欢迎指正,学生非常愿意接受各位前辈提出宝贵的建议和指导。使用vue的版本是v2.5.13,采用了flow作为类型管理工具,关于flow相关内容选择性忽略了,不考虑类型系...原创 2019-02-17 19:22:24 · 17686 阅读 · 2 评论 -
this指向以及apply,call,bind三者的区别
一、前言this指向,apply,call,bind的区别是一个经典的面试问题,同时在项目中会经常使用到的原生的js方法。同时也是ES5中的众多坑的一个。ES6中可能会极大的避免了this产生的错误,有时候需要维护老的项目还是有必要了解一下this的指向和apply,call,bind三者的区别。 二、this的指向在ES5中,其实this的指向,始终坚持一个原理:this永远指向...原创 2019-02-25 21:58:13 · 479 阅读 · 0 评论 -
javascript深入浅出图解作用域链和闭包
一、概要对于闭包的定义(红宝书P178):闭包就是指有权访问另外一个函数的作用域中的变量的函数。关键点:1、闭包是一个函数2、能够访问另外一个函数作用域中的变量文章首发sau交流学习社区:https://www.mwcxs.top/page/571.html二、闭包特性对于闭包有下面三个特性:1、闭包可以访问当前函数以外的变量function getOuter...原创 2019-02-23 23:09:54 · 141 阅读 · 0 评论 -
javascript引擎执行的过程的理解--执行阶段
一、概述同步更新sau交流学习社区(nodeJSBlog):javascript引擎执行的过程的理解--执行阶段js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍了语法分析和预编译阶段,那么我们先做个简单概括,如下:1、语法分析: 分别对加载完成的代码块进行语法检验,语法正确则进入预编译阶段;不正确则停止该代码块的执行,查找下一个代码块并进行加载,加载...原创 2019-02-13 09:58:25 · 256 阅读 · 0 评论 -
javascript引擎执行的过程的理解--语法分析和预编译阶段
一、概述js是一种非常灵活的语言,理解js引擎的执行过程对于我们学习js是非常有必要的。看了很多这方便文章,大多数是讲的是事件循环(event loop)或者变量提升的等,并没有全面分析其中的过程。所以觉得把这个js执行的详细过程整理一下,帮助更好的理解js。1.1基础概念js是单线程语言。在浏览器中一个页面永远只有一个线程在执行js脚本代码js是单线程怨言,但是代码解析是...原创 2019-01-08 17:25:44 · 347 阅读 · 0 评论 -
彻底理解浏览器的缓存机制(http缓存机制)
一、概述浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文,HTTP报文分为两种:同步sau交流学习社区(首发):https://www.mwcxs.top/page/565.html。1、HTTP请求(Request)报文,报文格式为:请求行 – HTTP头(通用信息头,请求头...原创 2019-02-18 16:04:31 · 2400 阅读 · 2 评论 -
彻底搞清楚浏览器渲染过程
一、概述在分析浏览器的渲染过程之前,我们先了解一下什么是进程和线程:(1)什么是进程?进程是CPU进行资源分配的基本单位(2)什么是线程?线程是CPU调度的最小单位,是建立在进程的基础上运行的单位,共享进程的内存空间。那么我们可以得出结论:1、进程是会占用系统资源;2、一个进程内可以存在一个或者多个线程,这就是单线程和多线程;3、无论是单线程还是多线程都是在一个进程内。...原创 2019-02-21 22:30:21 · 350 阅读 · 0 评论