20190309 前端开发日报

同样做前端,为何差距越来越大?-云栖社区-阿里云;13 个超实用的 Vue PC 端框架;记一次Promise在api接口合并中的妙用;WebView:Google,我已经长大了,知道自己区分安全;【高性能JS】重绘、重排与浏览器优化方法;JavaScript常用的快速高级技巧;并不是所有的 GitHub 写在简历上都加分;我的 HTTP/3 学习笔记

  1. 13 个超实用的 Vue PC 端框架 1. Element Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 2. iView 一套基于 Vue.js 的高质量UI 组件库 3. vue-element-admin vue-element-admin是基于 Vue2.0,配合使用 Element UI 组件库的一个前端管理后台集成解决方案。它使用了最新的前端技术栈,提炼了典型的...
  2. 记一次Promise在api接口合并中的妙用 关于接口合并(不知道有没有专门的术语,这里姑且如此描述),在这里解释一下,就是打开新页面第一次请求数据是一个api接口,滚动到底部加载更多数据时是另一个api接口 一. 前言 上次作者在个人项目中遇到的post预检请求bug,水了一篇小文《 记一次跨域post请求数据之preflight request 》,这次再分享一下个人在...
  3. WebView:Google,我已经长大了,知道自己区分安全 一、前言 如果你在用 Android 原生系统(Google Play 服务),在使用 WebView 加载某些网页时,一定遇到过以下的安全警告红屏。 这是 WebView 的安全浏览保护策略,在 Android 8.0(API Level 26)开始的默认策略,被应用在所有 App 的 WebView 当中。 Google 会自己维护一套“不安全”网站...
  4. 【高性能JS】重绘、重排与浏览器优化方法 浏览器下载完页面中的所有组件--HTML标记、JS、CSS、图片--之后会解析并生成两个内部数据结构: DOM 树:表示页面结构 渲染树:表示DOM节点如何显示 网页生成的过程 HTML被HTML解析器解析成DOM 树 css被css解析器解析成CSSOM(CSS Object Model) attachment DOM 树和CSSOM,生成渲染树(Rende...
  5. JavaScript常用的快速高级技巧 1.1 typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型;该运算符数据类型(返回字符串,对应列表如图) 1.2 instanceof var str = "This is a simple string"; var num = 1111; var boolean = true; var und = undefined; var nl = null; var sb = Symbol('1111'); var obj =...
  6. 并不是所有的 GitHub 写在简历上都加分 点击上方蓝色字体,选择“置顶公众号” 优质文章,第一时间送达 为什么 Github 可以加分 很多招聘描述上面都会备注 github加分项,那么为什么它是加分项呢? 停,如果看到这里你还不知道 Github 是什么,可以看一下 Phodal的手记 https://github.com/phodal/github (手动粘贴或者...
  7. 我的 HTTP/3 学习笔记 2019年1月,上海,南京西路。 去年(2018年)1月,沪江的两位前端工程师翻译了O’Reilly的《HTTP/2基础教程》。似乎到目前为止,这似乎仍然是唯一关于HTTP/2的中文技术资料。 然而技术的发展总是让人目不暇接,去年10月,HTTP/3又发布了。虽然已经有一些中文技术媒体做了报道,但大多数是翻...
  8. 浅谈js防抖和节流防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。所以还是很有必要早点掌握的。(信我,你看完肯定就懂了)
  9. 理清代码提交记录:代码管理的 git 变化总是存在。 如果有一天,你们代码仓库服务器挂了怎么办? 如果有一天,你们需要分离测试与线上代码仓库,那怎么合并代码,手工合并吗? 如果你们好多个版本,不同的版本对应不同的用户,用户希望他们的代码仓库在他们的服务器而不是你的,怎么办? 千万不要相信那些诸如"你先弄...
  10. TypeScript 和 Babel:一场美丽的婚姻 原文地址: TypeScript With Babel: A Beautiful Marriage 作者: Matt Turnbull, Feb 12,2019 感谢 Babel 的 TypeScript 插件 ( @babel/preset-typescript ), TypeScript 从未变得如此简单,这是 TypeScript 和 Babel 团队长达一年的官方合作成果。本文列举出了4条理由来证明 TypeScript 和 Babe...
  11. Reqman,一个可以快速帮助后端工程师进行api测试的工具,同时也是一个基于nodejs的爬虫工具 Reqman是一个可以快速帮助后端工程师进行api测试的工具,同时也是一个基于nodejs的爬虫工具。 github: github.com/lisniuse/re… 安装 这是一个通过npm registry 提供的Node.js 模块。 在安装之前,下载并安装Node.js。需要Node.js 8.0或更高版本。 使用 npm install 命令完成安...
  12. Golang,NodeJS(express和nestjs)自动生成swagger Golang 自动生成swagger 安装 go get -u github.com/swaggo/swag/cmd/swag 在项目下执行 swag init ,会生成docs目录。如果目录存在则会报错。 docs目录下会生成docs.go,swagger.JSON和swagger.yaml,根据需求使用。 Gin 集成例 main.go // @title Sample ...
  13. JS 中的 Reflect 和 Proxy Proxy 和 Reflect 是 ES6 新增 API。 Reflect Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。Reflect不是一个函数对象,因此它是不可构造的。 Reflect 的所有的方法都是静态的就和 Math 一样,目前它还没有静态属性。 Reflect 对象的方法与 Proxy 对象的方法相同。 ...
  14. Nodejs教程11:assert(断言)模块 assert(断言)通常用来对代码进行校验,若出错则阻止程序运行,并抛出一个错误。 assert的用法 示例代码:/lesson11/assert.js 尝试运行如下代码: const assert = require('assert') assert(2 > 1, '2 > 1') assert(1 > 2, '1 > 2') 复制代码 代码在运行到assert(2 > 1, '2 > 1')时,由...
  15. 同样做前端,为何差距越来越大?阿里妹导读:前端应用越来越复杂,技术框架不断变化,如何成为一位优秀的前端工程师,应对更大的挑战?今天,阿里前端技术专家会影结合实际工作经验,沉淀了五项重要方法,希望能对你的职业发展、团队协作有所启发。
  16. 使用vue开发移动端管理后台独立完成一个移动端项目(不是很明白为何会有这样的商品管理后台),还是有些经验不足,包括对产品的全局思考,对插件的选择等,都有考虑不周的缺点,导致自己中途想换图形界面插件,浪费了点时间,这里记录下,总...
  17. 从零开始 Redux(四):提炼组件 前言 接上一篇,在明白了如何组合状态转移之后,我们回过头来再来看看整个实现,我们提炼了一些简单的展示性的组件,例如FilterLink: class FilterLink extends Component { constructor(props) { super(props); } render(){ let {curFilter, value, onClick} = this.props ...
  18. 刚刚,阿里宣布开源Flutter应用框架Fish Redux3月5日,闲鱼宣布在GitHub上开源Fish Redux,Fish Redux是一个基于 Redux 数据管理的组装式 flutter 应用框架, 特别适用于构建中大型的复杂应用,它最显著的特征是 函数式的编程模型、可预测的状态管理、可插拔...
  19. 为你的 JavaScript 项目添加智能提示和类型检查 本文首发于我的博客( 点此查看 ),欢迎关注。 前言 最近在做项目代码重构,其中有一个要求是为代码添加智能提示和类型检查。智能提示,英文为 IntelliSense,能为开发者提供代码智能补全、悬浮提示、跳转定义等功能,帮助其正确并且快速完成编码。说起来,JavaScript 作为一门动态弱类型解释型语言,变量声明后可...
  20. vue + iview 项目实践总结 一直想把一大篇的总结写完、写好,感觉自己拖延太严重还总想写完美,然后好多笔记都死在编辑器里了,以后还按照一个小节一个小节的更新吧,小步快跑:joy:,先发出来,以后再迭代吧。 最近我们参与开发了一个(年前了)BI项目,前端使用vue全家桶,项目功能基本开发完成,剩下的修修补补,开发过程还算顺畅,期间遇到好...
  21. Nodejs教程17:multiparty 上一节虽然完成了完整的文件上传流程,但实际工作中不可能自己从头开发所有功能,这样效率很低。 我们可以尝试使用第三方库来完成POST请求的处理,如 multiparty 。 multiparty demo 通过如下例子,可以测试一下multiparty的功能。 它会在field事件中,将数据信息的字段名和值返回。在file事件中,将文件...
  22. 你也许不知道的 Vuejs:最佳实践(三) by yugasun from https://yugasun.com/post/you-may-not-know-vuejs-15.html 本文可全文转载,但需要保留原作者和出处。 相信大多数使用 Vue 项目都会面临国际化的问题,而 vue-i18n 便是国际化的不二之选,它用起来非常简单,但是同时也会带来一些问题和挑战。本篇是个人在项目上国际化时一些经验的总结,希...
  23. 2019前端面试题(持续更新)浅拷贝只是拷贝基本类型的数据,如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,因此存在父对象被篡改的可能,浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象...
  24. Python如何爬取实时变化的WebSocket数据 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据、股市实时数据或币圈实时变化的数据。如下图: web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSocket 这两种。轮询指的是客户端按照一定时间间隔(如 1 秒)访问服务端接口,从而达到 '实时' ...
  25. 动手写 js 沙箱市面上现在流行两种沙箱模式,一种是使用iframe,还有一种是直接在页面上使用new Function + eval进行执行。 殊途同归,主要还是防止一些Hacker们 吃饱了没事干,收别人钱来 Hack 你的网站。 一般情况, 我们的代码量...
  26. 用 Node.js 写一个多人游戏服务器引擎听说过文字冒险游戏吗? 如果你的年龄足够大的话(就像我一样),那么你可能听说过、甚至玩过“back in the day”。在本文中,我将向你展示编写的整个过程。这不仅仅是一个文本冒险游戏,而是一个能让你和你的朋友...
  27. 使用 Vue 实现 Context-Menu 的思考与总结 项目是基于 vux 做的,本想着偷懒直接在 vux 库翻组件用,但看了一圈下来,居然这么通用的组件在 vuex 中没有!接着又去翻开源的解决方案,看了几个库还算 ok,但此时前端小哥来了,说实现这个菜单不需要用到这么重的东西,直接写就行了。 当时我的脑海中在思考了把 context-menu 封装成一个 compon...
  28. Web 应用安全性: HTTP简介这是关于web安全性系列文章的第2篇,第一篇可点击以下查看: Web 应用安全性: 浏览器是如何工作的 HTTP是一个美好的东西:一个存在了20多年而没有太多变化的协议。 正如我们在前一篇文章中看到的,浏览器通过HTTP...
  29. NodeJS Https HSM双向认证实现 工作中需要建立一套HSM的HTTPS双向认证通道,即通过硬件加密机(Ukey)进行本地加密运算的HTTPS双向认证,和银行的UKEY认证类似。 NodeJS可以利用openSSL的HSM plugin方式实现,但是需要编译C++,太麻烦,作者采用了利用Node Socket接口,纯JS自行实现Https/Http协议的方式实现 具体实现可以参考如下 node-https...
  30. CSS3新增的伪类有哪些 与 居中div的多种方法css3新增伪类有那些? p:first-of-type:选择属于其父元素的首个<p>元素 p:last-of-type:选择属于其父元素的最后<p>元素 p:only-of-type:属于父元素的特定类型的唯一子元素 p:only-child:属于父元素的...

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多

原文:20190309 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20190309.html)