知识总结
文章平均质量分 94
tangding12
这个作者很懒,什么都没留下…
展开
-
聊聊去年最火的前端库zx
&emsp根据github上的数据,去年最受欢迎的前端库为谷歌棋下的zx。今天我们就来聊一聊这个去年最火的前端库。zx是什么 zx 是谷歌实现的一个能在 node 中写 bash 的库。就像这样:await $`echo "hello world"`; 使用$``框起想要执行的命令,就可以直接执行 bash。 这个库的最大的便捷在于,node 和标准的 bash 都是我们非常熟悉的东西。只需要知道最基本的库的使用,就可以很快上手,写出功能很强大的工具。基本使用 只需要安装原创 2022-02-03 21:26:22 · 1518 阅读 · 0 评论 -
致胜 CORS
转载自翻自Jake Archibald的博文How to win at CORS。翻译有纰漏和不足之处请多多指教。 跨域资源共享 (CORS -> Cross-Origin Resource Sharing) 一直是一个老大难的问题,它是浏览器资源请求的一部分,它的一系列特性从最早一批浏览器开始至今已经有近30年的历史。从那时开始,cors 不断的发展,添加新的功能,提升默认能力,在不打破太多的 web 规则下修补过去的错误。 无论如何,我认为我应该写下我对 CORS 所知的一切,为了让翻译 2021-12-26 17:53:03 · 497 阅读 · 0 评论 -
如何组合两个不同版本的react
错误的开始 接到需求,我需要在 react-15 的项目中,嵌入一个最新 react 版本写的编辑器。 刚开始思考的很简单,编辑器是以包的形式发布在公司私有 npm 上的 -> npm 包是编译完发版上去的 -> 只要保证编辑器使用自己打包编译的 react 就不会造成影响。 为了保证打包进准确的依赖版本,我特意把 react 和相关的一些组件包申明在 dependencies 中,{ "name": "editor", "version": "0.0.1", "de原创 2021-07-05 18:55:28 · 3249 阅读 · 2 评论 -
没学过 rust 也能看懂的 rust 内存管理设计
ownership 是 rust 语言一个独有的功能,它让 rust 在没有垃圾回收的情况下安全的管理内存。数据类型与作用域 想要理解 rust 的 ownership,首先需要理清楚 rust 的变量类型和作用域。 和大多数编程语言一样,rust 通过 堆(Stack) 和 栈(Heap) 的数据结构来对数据进行管理。当数据的长度确定的时候,这个数据会被放入到堆中,反之则会放入到栈。let s_stack = "hello";let s_heap = String::from("hell原创 2021-05-15 22:32:29 · 529 阅读 · 0 评论 -
务实之道
我的源码被猫吃了好像是楼上的暹罗猫。 当我刚进上家名为某道智能的奇葩公司的时候,坐在我右侧的 java 开发总是和我说:这里不是善地,等我看完这本书就可以去面试跳槽了。我惊异于他的目标性,非常尊敬的冲他点了点头。然后看了一眼书,是一本关于 mysql 的书籍,看到第一章,大概110页的位置。 后来公司开始疯狂的加班和要求我们电销,当 CTO 在讲话时要求员工主动加班想办法为公司创造价值的时候,我知道是时候准备面试了。我和右侧的 java 开发说,老哥我明白你的意思了,我要开始准备面试了。他得意原创 2021-03-20 16:55:18 · 296 阅读 · 2 评论 -
一文会用 github 新利器——github ci
github ci 是什么 github ci 是 github 提供的一个依据 git 相关事件触发的自动化脚本服务。简单的说,当触发github的事件(push/pull request等)后,github官方会提供一个服务器环境,自动的运行先前配置的脚本,差不多近似于 gitlab 的 ci。为项目创建 github ci github 来检测项目是否存在 github ci 就是查看该项目根目录下的.github/workflows是否存在yml的配置文件。因此可以通过在根目录下创建 .g原创 2020-11-23 22:36:23 · 5347 阅读 · 0 评论 -
webpack,迈出你的第一步-2
原文为线上开源的英文书籍。你可以点击这里阅读原书籍。本篇对应书本第三篇,讲了如何处理css。 webpack 无法对 css 做到开箱即用,需要配置对应的 loaders 和 plugins 来处理 css 文件。加载css 加载css文件需要使用到 css-loader 和 style-loader。 css-loader 能让 webpack 可以正常去寻找引入使用 @import 和 url()方式引入的文件,style-loader则是把 css 文件以行内式(style标签+样式)的方原创 2020-11-16 11:06:17 · 126 阅读 · 0 评论 -
前端应该懂的网站优化思路
缓慢的开始 一次偶然中,我发现我的个人站打开需要长达半分多种的时间,吓得我赶紧打开Network看一下到底是什么问题导致的。NameSizeTimetime.gif83.7kb3.87smain.js1.68mb31s 事实上问题再简单不过了,资源过大了。自己自费的服务器仅仅有1M的带宽,意味着传输的每秒的极限值只能达到100kb。在硬件配置无法提升的情况下,只能通过软件的调整来进行对应的优化了。优化大体思路 web的优化一直是不存在标准答案的,是因原创 2020-08-30 22:57:41 · 239 阅读 · 0 评论 -
async await的多异步处理方式
写爬虫时候遇到的批量异步处理的一些思考和总结。async/await是什么 async/await是ES2017加入的标准,它允许用同步的写法来进行异步的操作,它的本质是ES6引入的Promise和Generator函数的语法糖。async function sleepy() { await sleep(1000, 'I awake'); await sleep(500, 'and sleep'); console.log('awake now'); return 0;}/原创 2020-07-23 19:31:54 · 592 阅读 · 0 评论 -
一文告诉你 Why React Hook
使用了将近一周的 react Hook,期间尝试将项目中原有的class component改造成Hook,比较Hook和class的区别,得出一些个人的思考与见解。什么是Hook react官网上面对 Hook 是这样描述的。Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。Hook提供了r...原创 2020-04-22 16:11:22 · 176 阅读 · 0 评论 -
《SEO深度解析》读书笔记(4-6)
SEO深度解析4-6章主要讲述了关键词、链接的设置取舍,以及具体如何在网站中进行相应的优化 其实一直比较好奇,为什么SEO的书籍和资料,大多数到2016年开始就浅藏辄止了。这个困惑在本周和一个做竞价的同学聊天中得到了解答。同学告诉我,现在已经没有多少企业去做SEO了,成效实在太慢了,大多数都直接去做SEM了。对于大多数的中小型企业来说没有那么多时间和人力投入到一个为期半年以上,不能保证见...原创 2019-12-25 09:45:24 · 360 阅读 · 0 评论 -
《SEO深度解析》读书笔记(1-3)
SEO(Search Engine Optimization),搜索引擎优化,根据搜索引擎(谷歌、百度)的规则来优化自己网站,提升在搜索引擎里面排名的一种技术。是前端技能树比较冷门的一环。 最开始接触到SEO,是最近自己接的一个外包官网项目,甲方要求SEO上优化几个关键的搜索词,在谷歌上面能够排到前列。至此踏入SEO的坑。在搜索了几个SEO相关的博客网站,看了SEO一些相关介绍之后,得出的...原创 2019-12-24 10:35:10 · 627 阅读 · 0 评论 -
关于JS的Date你所要知道的二三事
半个多月没更新博文了……鬼知道我经历了什么。连续十几天的班赶项目,在五一加班两天后,终于闲暇一会,整理一下前些时间项目所用到的Date对象进行处理的知识点。Date Date是JavaScript中一个原生构造函数,可以生成时间对象。但实际上可以使用非构造函数的方式来调用Date,此时生成的是一个当前时间的字符串。 与其他原生构造函数不同,Date没有字面量的声明方法。var ne...原创 2019-12-04 13:05:31 · 155 阅读 · 0 评论 -
都2019了,不要再说你git操作只会add、commit、push和pull 了。
前言 Git是一个我们最常使用用代码管理工具,它的命令操作快速而又优雅,分支开发特性形成的独特git工作流模式也非常符合实际工作开发需求。这篇文章用于整理汇总我在实际工作过程中遇到的分支操作处理情况。 整理前汇总几个概念:hash算法 hash算法是一个开源的文件加密算法,它的特性在于不管多大文件的输入,文件在没有变动的情况下,总是得到相同的输出。而文件只要变动一点,它得出的ha...原创 2019-12-03 14:47:38 · 687 阅读 · 0 评论 -
Promise的出现与实现
这篇文章总结一下JS本身单线程异步的局限性(promise出现的原因),以及实现一个简易的Promise。单线程与异步 JavaScript是一个单线程执行的语言,在不考虑异步编程的情况下,它执行的顺序就是一个eventLoop的简单循环。比如书写一段简单的JS代码:// 声明两个变量,和一个函数var demoVariA = 100;var demoVariB = 200;// 函...原创 2019-12-02 10:12:38 · 423 阅读 · 0 评论 -
JS模块的艺术
ES6的module导出引入总结。基本module语法 ES6提供了export和import语法,给予了JS模块化代码组织形式的能力。export语句用于从模块中导出函数、对象或原始值,以便其他程序可以通过import语句使用它们。export 我们假设我们拥有一个fileA.js的文件,它向外export了这些:// fileA.jsexport const DEMO_VALU...原创 2019-12-01 23:41:43 · 107 阅读 · 0 评论