自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eswang的CSDN博客

你问我全世界是哪里最美~答案是你身边~

  • 博客(448)
  • 资源 (1)
  • 收藏
  • 关注

原创 简单看看很好用的Vite

前言Vite对于前端到底需不需要打包提出了自己的观点,在某些情况下他做的确实更好。打包首先回顾一下什么是打包,从结果导向来看,打包使得开发人员所写的代码和最终运行的代码是不甚相同的两个样子,这样做有什么好处呢?在HTTP2普及之前,浏览器对于多路复用是没有啥概念的,因此我们可以选择打包成一个bundle,目的是减少大量文件并行请求支持不足的问题。在ES6普及之前,为了兼容性,可能仍然需要编译乘ES5的代码保证run everywhere。vue和react这种JS库或者MVVM框架,我们总不能

2020-08-13 15:08:07 1384 1

原创 Web Component小记

前言前端组件化可以并不基于JS框架完成吗?本质上,JS完全可以做到,真正阻碍前端组件化的是另外两个小朋友,CSS和DOM。web componentWebComponent给出的解决思路是提供了对局部视图封装能⼒,可以让DOM、CSSOM和JavaScript运行在局部环境中,这样就使得局部的CSS和DOM不会影响到全局。这是一套技术的组合,包括自定义元素,shadow DOM和HTML模板,我们拿一段代码分析一下:<!DOCTYPE html><html lang="en"&g

2020-08-09 20:22:04 525

原创 第九周工作总结

不知道说啥突如其来的开学打乱了节奏,原本预计最少三个月的实习时间,大概离定格到了63天这个数字,回顾整个过程,从对整个流程的懵懵懂懂,到后来渐渐熟悉,妥善安排;对git,vue,甚至ts都有了更深刻的认识。同时,由于涉及到很多C端对业务,从CSS自身或者是涉及到Andr webview的一些UI的嘈点都有了一些自己的认识。两个月的时间说长不长,说短不短, 收获还是满满的,当然也有些遗憾,比如自己很少抽时间把这段时间学到的东西好好总结一下,因为感觉每天写的东西都有一部分是在不断的复习,仿佛没有了记录下来

2020-07-15 18:05:19 528 1

原创 第八周工作总结

前言这周的工作主要集中在后台的开发以及对于插件样式的一些修改,前者的问题主要是对于组件的不熟悉,后者的问题则全是集中在安卓的webview上,由于种种原因,安卓webview的垂直居中问题一直都没很好的解决,这篇文章也会抽出相当一段篇幅去总结一下一些相关经验。工作之外的其他和小伙伴们的关系自然也越来越好了,一方面是做过的业务基本和每个伙伴都对接过了,另一方面随着业务做的越来越多,懂得和不懂得都越来越多了,自然交流的也越来越多了。同时入职了新同学,虽然和我同级,但是因为是两年制,已经毕业了,除了羡慕还能

2020-07-04 23:12:23 330

原创 yarn yarn2 and pnpm的一些总结

之前做的组内分享,内容不说多丰富,也是精挑细选后总结的不少东西。前言yarn以及pnpm都是包管理工具的第三方解决方案,他们各自诞生的时代都是看到了npm本身的不足,如yarn最开始的版本针对的是npm3默认没有lockfile的问题,pnpm的作者则是对yarn没有针对node_modules进行太多优化的问题,然后通过自己的方式去解决这些不足。而yarn2(berry),以下统称berry,则是与yarn1的思路完全不同,抹去了node_modules的存在,目前还未发布正式版本。但相关文档已经占据

2020-06-26 00:41:03 3851

原创 第六/七周工作总结

前言上周末没有写东西,一方面是有点累,另一方面也是正好赶到假期,不至于在零散的一周再写点东西,因此就把这八天的东西结合到一块去写了,相对于一周五天的工作内容,八天干的确实要多出来很多。内容总结这几天新开发的东西并不多,只有一个插件,但是走查去修复的一些东西还是很多的,其中也遇到了几个之前觉得痛点的问题,在经验丰富的老大的帮助下也都很好的解决了。首先是一个浮层的问腿,要求顶层滚动,而底层不会随着顶层的滚动而滚动,看上去应该有个可以解决的CSS属性,而事实上确实也有,但是兼容性并不好,因此只能写CSS去

2020-06-26 00:28:52 193

原创 第五周工作总结

工作内容这周的工作主要集中在了一个活动榜单界面的开发,包括之前的插件开发的上线,东西还是比较充实的,尤其是涉及到的这种单独的活动页的开发,路由,每一块的组件都要去仔细斟酌,甚至页面打开的性能也要去思考一下。同时因为设计稿的很多东西其实是花儿胡少的,能用CSS的还是尽量去用CSS实现,由于对于公司的几个页面组件使用的还不是很熟练,因此前期在选型的时候其实是出现了一定的失误的,用了一个相对老一点的组件,包括后面配合tab栏去实现swiper和click跳转的逻辑也是自己去写的,因此对于这个页面的可用度我本身

2020-06-13 14:45:45 475

原创 第四周工作总结

前言这周开发任务比较重,C端把封装好的组件拆分,同时B端从头开始,体验了一下配置化开发的便利性,其中主要集中在对于vuera与Scalable Form Platform的结合。B端Scalable Form Platform是一个基于动态表单协议(JSON Schema)的表单解决方案,阿里系的,因为不是我从头开始封装,之前也有业务做过这方面的东西,所以到我做的时候基本都是照猫画虎,勉强达到了会用的地步,当然对于vuera这样的将vue与React结合起来的东西,使用过程中难免会遇到一些小BUG,目

2020-06-06 21:36:05 312

原创 第三周工作总结

前言熬过去了难顶的一周,工作渐渐步入了正轨,懂了很多,也对不懂的有了些系统的认识,难顶的当然不是指公司的事务,做完了最烦人的PPT,下下周再讲一次组会(俩小时),差不多就行了,也不指望论文能写出来啥了。心态扯远了,这周没什么大起大落,当然做的也是按部就班,C端需求看起来挺多,做起来并不算费劲,当然也犯了一些啼笑皆非的错误,好在是成本并不高,总体来说还是比较平淡的,毕竟东西都渐渐熟悉了;另一方面也渐渐会去安排一些工作,也会调整自己的状态去适应一些东西,自己可以说是感受到的明显的成长吧。要说最明显的心态

2020-05-30 00:53:39 368

原创 第二周工作总结

前言时间过的还算挺快的,不知不觉已经第二周了,整一周节奏也算明快,一些事情渐渐的熟悉了,开始觉得没有个系统培训有点伤,后来发现每个问题都自己慢慢的闻讯探索搞定还挺舒服的,这样边学边做边交流边改错也挺好。同时感谢老大的批评指导还有同学们的帮助,终于对一些工作有了些许熟悉的感觉。心态心态的转变可能是最重要的,第一周并没有接触太多的业务,发呆的看着一些代码也没有搞得太明白,反而有些时间是浪费掉的,所以整个第一周的收获就是知道了XHS是做什么的,我们需要投入的技术栈都是什么,我需要做什么,工作流是怎么样的,算

2020-05-22 22:59:37 1487

原创 第一周入职总结

做了啥一周的入职过去了,整个周也没有做太多东西,总结下来就是熟悉一些文档,熟悉整个工作流包括CICD的流程,然后通过修复BUG了解项目,同时也是了解一些开发工具的使用,顺便把之前一些模糊的概念也渐渐完善了。技术在技术上,最典型的就是真正的接触到了大项目,对于公司自身的CLI认识和理解虽然还是不够,但是对于基础的monorepo包括lerna的使用也有了些许新的认知,当然lerna的使用离不开npm,对于npm这个既熟悉又陌生的老朋友也是有了新的了解。之前我个人使用yarn较多,对lockfile文件

2020-05-17 00:43:01 560

原创 入职第一天--随便说几句话

前言入职小红书的第一天,感觉迈入了全新的阶段,走路的感觉都不一样了,虽然一个人都不认识,但是总体感觉还是很爽,估计是想快点逃离学生生涯的副作用吧。入职走出去地铁口就是小红书的广告牌:顺着牌子走一走,测了测体温,呈上了入职通知书,便是坐在小沙发上等人来接,签了签实习协议,被部门的人领到了自己的座位上,就这样平平淡淡的开始了实习之旅。本文完。感觉和记流水账一样,忽然有点不想写了,但是有一说一确实是平平无奇的入职,老大人挺好,带着走完了全部流程,嘱咐了日常的几点要求,还带着领了饭和饮料,可能日子就这样

2020-05-12 00:08:04 996 1

原创 多智能体强化学习简介

前言兜兜转转总算找到了一些看得进去的知识和文章,能把博弈论知识混杂到无人机集群之中的最好方式还是很少的,也算机缘巧合找到这个学习资料还算不十分贫瘠的领域。当然难度也是TOP级别的,毕竟自己连单智能体的强化学习都没整明白。最后,我是跌跌撞撞摸索了好久才终于摸到了一些探索的方向,所以特别想写出来告诉后生,一定要找个能带领你去研究的实验室,至少这个方向导师是熟悉的,不然什么都靠你自己去摸索能摸到锤子...

2020-05-08 22:21:50 3493 1

原创 Vue.js源码分析(六)--component vnode

Ctor前面讲vnode生成都是通过判断tag是否为string类型时的过程,当我们使用组件时情况就不一样了,这里主要是通过createComponent方法实现的。首先照常先看函数签名,由以下五个: Ctor: Class<Component> | Function | Object | void, data: ?VNodeData, context: Compon...

2020-05-04 10:23:40 452

原创 Vue.js源码分析(五)--update

_update这个方法是干什么的呢,前面我们生成了vnode,下一步就是把vnode映射到真实的DOM节点上,这里包含了初次渲染和后面的更新渲染,拿首次渲染为例,整理参数之后会去调用vm.__patch__方法,接着会去判断浏览器环境或node.js上,前者转到patch函数的调用,后者返回一个空函数,因为在服务端是不存在DOM的。让我们把目光转到patch函数上,他是createPatchF...

2020-05-03 23:59:45 297

原创 Vue.js源码分析(四)--createElement

前言今天开始看VNode了。

2020-05-02 12:20:09 477

原创 Vue.js源码分析(三)--render

render在instance的render.js里面可以找到renderMixin方法,里面定义了_render方法: const { render, _parentVnode } = vm.$options_parentVnode可以先暂时方瞎下,着重看render方法,其实就这一句: vnode = render.call(vm._renderProxy, vm.$...

2020-05-01 10:19:45 558

原创 Vue.js源码分析(二)--mount整体流程

$mount这一节看挂载,从有编译的运行时触发的$mount方法出发,这个函数里面只有一句话:el = el && query(el)这是用来保证el的类型的,我们来看query方法,实现的很直接,如果el是个字符串,使用querySelector拿到DOM节点,没有这个节点的话,生产环境会报错;否则返回createElement创建的DOM节点。如果不是字符串,直接返回...

2020-04-30 23:48:35 592

原创 2020 4月 月末总结(飞速流逝的一个月)

前言整个月基本没有再面试,拿到了mentor给出的一些学习方向,然后就是在应付导师的论文,一个月过的好快。总结这周主要是两块,一个是Vue全家桶和VCA的学习;另一块就是论文方向了,后者没啥好说的,也不是这个博客的初衷,咱们还是捋捋第一个。首先是找之前的QQ音乐项目,入门的时候看黄奕老师的课学到了不少,如今打算用Vue Composition API重写,今天下午终于全部搞定,一方面巩固...

2020-04-30 19:54:45 261

原创 Vue.js源码分析(一)--init

前言vue源码相对于React还是要简单一些的,今天开始踩这个坑,帮助我更好的去理解Vue深层的东西,也能更好的看懂Vue3吧。init首先,当我们new Vue时,会调用this._init方法,而这个方法是在initMixin里面定义的:export function initMixin (Vue: Class<Component>) { Vue.prototype._...

2020-04-27 08:52:10 393

原创 重学NPM

前言什么?npm还要学么?确实不咋需要学,所以推荐你看这篇文章。你用的npm前些日子Github把NPM纳入自家后宫,这个完虐pip的最大的包管理器从此也有了微软的印记。最近想打包个项目发到NPM上去,自然要对npm进行全面的学习。我们平时使用npm,大多是使用npm run scripts,npm install xxx之类的,所以下面的讲解首先从npm install这种最常见的开始。...

2020-04-26 22:36:38 178

原创 写storybook时报错 preview hooks及Webstorm与VS Code的全方位比较

描述其实是个小错误,就是怎么也想不通,还以为hooks不能直接写story,想想也不对啊,难道只是不支持useContext吗?之所以有这个想法是之前在使用react-three-fiber时遇到的一个BUG,redux的数据是不能在一个 canvas组件中通过useSelector等API拿到的,所以在这里想当然想偏了。错误是这样的:Storybook preview hooks can...

2020-04-26 00:42:23 847

原创 storybook生态初体验

前言上一篇文章简单介绍了一下storybook,这一篇用个实例来做一下。生态首先因为是配合React和CRA使用,所以需要一下几个插件:@storybook/addon-info@types/storybook__addon-inforeact-docgen-typescript-loader第一款是为了展示源代码等信息用的,第二款是类型文件,第三个是一款webpack插件,主要解...

2020-04-24 00:27:48 931

原创 storybook上手(安装分析,修改配置)

前言这个名字大家可能再很多地方都见过,今天我们来真正上手一下。安装storybook作为UI库设计的好朋友,在很多地方都有用武之地,不限于View库或者MVVM框架,这里以React为例。npx -p @storybook/cli sb init注意,下周速度感人!这里因为我已经使用CRA创建项目,所以项目会在原有工程上做一些修改。首先是package.json: "scrip...

2020-04-23 19:13:20 3363

原创 Jest和testing-library/react--React的单元测试

前言测试一直是忽略的东西,虽然之前简单上手过Jest,但是总体来说很浅显,这次深入一下React的单元测试。Jest关于Jest,这里简单回顾一下:test('test common', ()=>{ expect(2+2).toBe(4) expect(2+2).not.toBe(5)})test('true', ()=>{ expect(1).toBeTru...

2020-04-23 17:45:51 4445 2

原创 文献阅读笔记(1)

前言感觉要对度过的文献进行一下整理了,不然每篇还是和新的一样。

2020-04-21 18:19:39 921

原创 Vue3.0+vuex4.0尝鲜

前言做题3.0出了beta版,这一段时间使用VCA的过程中,也接触了不少3.0的特性,除了些生态相关的东西,别的体验已经很好了,今天就基于vue-cli-plugin-vue-next搭建一个工程化的Vue3.0样例。安装注意,这个插件的TS的支持还没有做好,这里我们基于JS做。yarn global add @vue/clivue create vue3-beta-js-all同...

2020-04-19 12:18:01 8111 1

原创 走一遍Vue渲染更新的流程

前言这个图估计大家都看烂了,这篇文章就从这幅图讲起。概览首先new Vue()之后会进入初始化阶段,初始化的东西有很多,如我们的常见的生命周期,事件,属性与状态,计算属性与watch,并实现数据的响应式。初始化完成之后就是挂载阶段,如果是使用template模板并且处于运行时编译的状态,那么会进行编译阶段。编译阶段由parse, optimize, generate组成,分别用来解析模...

2020-04-16 14:46:22 1394

原创 崎岖探索之VCA和Vuex到底怎么结合

前言最近在用VCA写个应用,收React思维的影响,有些东西写起来着实觉得不是很顺手,但是Vuex一直是我觉得比Redux要清晰的状态管理工具,直到今天用起来发现,并没有想象中那么简单。执行过程这是写的一段代码:export default { setup(_, { root }) { const store = root.$store; const router = ...

2020-04-14 23:38:09 343

原创 使用VCA过程中出现的几个问题(2)

前言最近在用VCA去写一些项目,出现的一些问题有的也挺烦人的,这里记录一下。setup的函数签名没了this的约束,没有见过风格良好的VCA编码规范,感觉自己的代码很松散,同时对于VCA的一些坑也是狠狠踩了。setup作为VCA最重要的入口,接收props和context两个参数,后者经常用结构的方式拿出来,最常见的有on,emit,root.$nextTick,我们可以直接如下拿到:s...

2020-04-13 21:07:25 689

原创 一脸懵逼的毕业设计--tensorflow.js

前言又到了被催进度的时候,然而自己的进度却是一片空白,之前应付了一周的开题现在发现有很多地方根本就不合理,导师自然不能帮到你什么,所以一切到头来还是要自己去折腾。内容说实话要是都和Three.js相关的内容其实还好做,偏偏里面还涉及启发式算法和神经网络拟合的问题,这就很麻爪了,而且还不知道到底要不要上神经网络。目前的问题主要有三大块,首先就是博弈支付矩阵的建立。...

2020-04-11 00:46:55 756

原创 基于Vue Composition API开发一个音乐App遇到的一些问题

前言最近一直在学习如何使用Vue Composition Api,事实是自己的Vue Options Api掌握的也不是很熟练,因此开发过程中还是出现了很多问题,在此记录一下。Better-Scroll首先是和Vue关系不大的移动端滚动神器,原理很简单,我们让父容器宽高小一点,子容器宽高大一点,这样子容器就能在父容器内滚动了。对于VCA,我们往往需要拿到Ref,并在nextTick中处理,...

2020-04-10 10:58:04 490

原创 重学Vue(六)--VCA

前言VCA是Vue3中最重要的特性之一,和Hooks一样的函数式编程思想使得VCA可以很好的支持类型系统,更好的性能,以及更方便的开发。使用很简单,在2.x中直接作为插件即可:import Vue from 'vue';import VueCompositionApi from '@vue/composition-api';Vue.use(VueCompositionApi);使...

2020-04-06 12:27:18 1532

原创 重学Vue(五)--typescript

前言在vue中使用typescript是有些缺憾的,首先Vue2的类型系统并没有为Typescript做兼容,因为最开始选择的就是flow而不是TS,因此在Vue2中使用TS需要vue-property-decorator的帮助,从名字也看得出来,这里我们需要大量借助装饰器。基本使用基于TS的Vue开发是需要vue-property-decorator的辅助的,因此编程方式与JS的开发也有很...

2020-04-05 23:55:52 212

原创 重学Vue(四)--全家桶

前言前面裹过了下基础,响应式和一点点高级特性,下面捋一下全家桶。Vuex首先Vue-router和Vuex都是作为Vue的专属插件存在的,尤其是Vuex,和Vue的响应式原理息息相关,这也使得Vuex的上手难度远远小于Redux。首先要做的就是在main.js里面引入注册的插件,这里我们使用上面提到的两个:new Vue({ router, store, render: h ...

2020-04-04 22:44:30 166

原创 重学Vue(三)--一点点高级特性

前言之前走过一遍Vue基础,和React的对比去学,上手也还可以,也着实感觉到Vue在某些方面是很方便的。这篇文章主要介绍一下Vue的高级特性。slot说slot是高级特性,但是感觉平时的使用中也会带来很大的方便。slot主要分为普通的slot使用,就是在调用的子组件中插点东西,同时把插入的东西在子组件合适的位置显示出来。接着还有些别的使用,如我们想在父组件中使用子组件的数据当作插槽,如下...

2020-04-04 12:46:00 177

原创 重学Vue(二)--响应式

前言不同于React的不可变数据,Vue的一套响应式机制成为Vue的一套核心原则,从2.x基于Object.defineproperty到3.0即将推出的proxy和reflect,弄懂这一套还是很有必要的。2.x首先,对于2.x中的响应式原理,官网已经有很详细的解释了,这里我们抛开整个响应式流程,只从JS的角度去研究一下。let a = 2, obj = {}Object.define...

2020-04-03 22:40:16 138

原创 撸一撸简单的操作系统知识

前言打开浏览器,做个简单计算,我们能看到控制台打印出计算结果,这个过程究竟发生了什么?一个简单计算首先,我们使用键盘输入计算式子,指令会被放入内存中,相应的控制器会取出内存中的指令,运算器拿到结果之后仍然会返回给内存,输出设备继续读取内存讲结果展示出来。那么操作系统是干什么的呢?如果没有操作系统,JS要处理硬件的协调工作,进程之间的切换等等,说到了进程,Node.js问这个的可能性可是很大...

2020-04-03 12:33:05 39767

原创 重学Vue(一)

前言因为种种原因,时隔半年,再次开始了Vue的系统学习,作为现在最火的类MVVM框架,之前前端基础一塌糊涂时就可以做出来些东西了,如今经过了各种查漏补缺各种洗礼,也更加期待通过学习这个框架进一步巩固自己的前端知识体系。模板语法当初放弃Vue的一个原因就是想用JSX更加深入到JS的编程中,中间拾起来Vue也是用JSX写点东西,在这个角度说来模板语法也是个人不是很喜欢的东西。不过所谓熟能生巧,归...

2020-04-03 00:49:46 161

原创 最近10余篇文章的一篇汇总

前言这个月基本都是记录一下面试时的一些知识点,这里找自己记得不是很熟练的汇总一下。手写手写部分,掌握的不熟的主要有深拷贝,JSONP和event bus。function dcopy(obj){ let map = new WeakMap() let help = function(obj){ if(typeof obj!=='object' && type...

2020-03-31 10:41:23 187

Flask_web开发.rar

经典的第二版Flask——web开发的书籍,有兴趣的同学可以学习

2019-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除