7 Sahadev_

尚未进行身份认证

挨踢程序员-糖炒栗子

等级
TA的排名 5k+

我在小程序工程化方面的一些实践

我在小程序工程化方面的一些实践早期做小程序时,还是原始时代,项目结构混乱,各种冗余代码,每次迭代时由于高昂的维护成本,极为头疼。遂在一次次的更迭中完成了基础组件的初版,极为酸爽。从此之后在当时的情况下只需要关注于业务,对于通用的该封装分装,该分层分层,该解耦解耦,也出了一款独立于业务之外的基础组件。洋洋自得。后来入职新公司,遇到的问题也是同样的,在工作之余计划将此前抽象的基础组件集成进来,发现...

2020-03-04 20:20:36

随机/线性颜色生成器(RandomColorGenerator)

最近在实现https://javascript30.com/的课程,其中有一门课程要求利用Canvas实现一个效果,我发现这个效果其中的颜色是线性生成的。结合我之前已经写过一个随机颜色生成器,就想将这个随机颜色生成器写出来,作为一个工具使用,虽然实际应用场景不大,就当练练手了。本示例中使用了大量的Generator,在写的过程发现ES6所提供的Generator在这个场景中非常适用。可以参考学习...

2020-02-25 21:39:14

整理一波国外前端学习网站

国内的普通开发者对于掌握一门新的技术不知道从哪里下手,看哪些书。为了获得相关知识会关注各种公众号、购买各种视频课程来学习,但由于这些内容本身有碎片化的特点,效果往往不太理想。以至于付出了大量的时间到最后不能够形成系统化的知识。我同样也遇到过类似的问题,不是说公众号与视频课程不好,这些也有自身的优势,但是往往都是别人经过实践沉淀下来的,我们读过之后往往仅限于了解而已。如果要掌握还需要大量的实践、探...

2020-02-14 16:58:50

前端应用开发架构图谱

个人整理的前端架构图谱,之后会根据这个图谱不断的完善内容。希望这个图谱可以对开发同学的知识脉络有个梳理的作用。项目创建脚手架IDE脚手架IDE或社区提供的脚手架业务型脚手架根据业务特点通过Node写的工具,用于降低高频手写操作通用组件Element UIEchartIView项目分层组件错误数据采集业务代码与运行时框架隔离安全性兼容...

2020-02-11 17:52:50

Webpack构建性能优化指南

本指南翻译自webpack官方性能指南文档:https://webpack.js.org/guides/build-performance/构建性能本指南涵盖了对增进构建或编译性能的一些有效的提示。General以下提示对开发环境或者生产环境都有效。Stay Up to Date保持最新的webpack版本。我们总是在改进webpack的性能。目前最新的webpack版本为:v4.4...

2019-12-24 15:39:22

记一次Vue框架升级

框架升级背景公司目前业务迭代很快,且大部分的流量都在公众号上。然而我们公众号所使用的框架却是3年前的Vue 1.0.16。面对Vue这3年来带来的无数新特性,我们只能望洋兴叹:看得见,摸不着,因为升级这事看起来太难了。经常可以听到老同事、新同事对老框架频频吐槽,也听到很多同学说升级太难了,完全不可能。于是,我就寻思着整点事。升级概况我们的公众号承载的是一个电商购物平台,历经3年多的版本迭...

2019-12-12 17:43:07

axios网络请求框架源码解析

早期axios0.1.0版本做了对IE浏览器与包含XmlHttpRequest的浏览器的支持。并且做了对请求参数拼接、Json对象序列化等基本功能。到0.19.0版本时,内部请求已经变为了在Node环境下与主流浏览器的支持,其中Node环境下支持http请求与https请求。并且支持取消、拦截。Axios执行开始之初,首先执行createInstance方法,createInstance方法用...

2019-06-13 17:11:18

Promise源码解析

Promise源码解析纸上得来终觉浅,绝知此事要躬行。之前只是很浅显的知道Promise的用法,也大概猜测到它的内部是如何实现的。但是总是有一种不深究一下就不踏实的感觉。于是从npm上获得早期的Promise源代码,拿过来读一读,做一做笔记。Promise的源码写的非常的巧妙,凭空阅读会陷入入其中无法自拔。简单的Promise用法一个简单的Promise用法如下:const promis...

2019-05-31 20:34:59

深入解析Node.js setTimeout方法的执行过程

深入了解setTimeout源码之前,本有两个选择。一是通过chromium源码分析,二是通过Node.js源码分析。后来发现第一种方案的源码获取成本太大,于是从Node官网获取了几十兆的代码用来了解。setTimeout方法定义于timers.js文件中,源码整体如下:function setTimeout(callback, after, arg1, arg2, arg3) { // ...

2019-05-30 18:59:13

Vue源码探究笔记

一切从这张图开始:数据的入口: /** * ViewModel exposed to the user that holds data, * computed properties, event handlers * and a few reserved methods */ fun...

2019-02-27 20:06:57

VS Code HtmlFindClass 插件介绍

这款插件诞生于工作中,在写大量的前端代码之后,发现有的工作比较重复,浪费时间,于是想能不能通过工具来解决。期初是拿Java写的,但是它不利于推广,因为很多前端同学不掌握Java。以至于是一直我自己在使用。后来很长时间之后,我自己再用还得查一查以前的使用文档。这还得了,瞬间就有一个想法,搞一个插件出来。于是一下午时间加足马力写出了这个插件并发布了出来。Features在插件支持的文件中,单击...

2019-01-30 15:49:00

每日优鲜小程序基础组件介绍

每日优鲜小程序基础组件介绍1.基础组件介绍2.基础组件的结构与作用3.基础组件的接入方法初次引入初始化更新与维护基础组件接入1.基础组件介绍小程序基础组件基于每日优鲜主商城小程序业务实践演变而来。基础组件的名称为:mini_app_base_module。基础组件的项目地址为:https://github.com/sahadev/mini_app_base_module。2.基础组件的结...

2018-09-29 19:28:03

EventBus1.0.1源码解析

很久没有更新过源码解析类文章,以下内容作为源码分析类的笔记。分析方法适用于其它源码分析。分析工具说明许久以来,阅读源代码最得力的工具就非Source Insight莫属了。然,后来微软出了一款轻量级但功能强大的IDE就没Source Insight什么事了。微软的这款IDE就是大名鼎鼎的VSCODE,全名叫:Visual Studio Code。它的强大之处这里就不过多描述了。我们转回...

2018-04-11 16:42:51

Githug第42关rebase_onto通关秘籍

Githug是一个用来了解、熟悉Git的一个非常好的游戏。目前网站上收录的都是之前只有55关的解题方法,没有新增的rebase_onto这一关的内容。现在Githug一共有56关。现将新增的42关的解答内容更新如下:第42关的题目如下:Name: rebase_ontoLevel: 41Difficulty: **You have created your branch f

2018-01-23 15:10:32

Android自动化测试探索

Android自动化测试探索前言通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线。但是,随着时间的堆叠,一款产品的功能也越来越多。这时,我们为了保证产品的质量,就需要在每次测试时将所有的流程都走一遍。然而,对于一款庞大的产品来说这是困难又复杂的。因为我们自己手动测试需要花费大量的时间来完成主业务测试这种重复性工作。为了保证效率以及解决成本,我们就需要考虑将

2017-08-04 19:23:56

使用Kotlin开发Android应用初体验

使用Kotlin开发Android应用初体验昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢?Kotlin的简要介绍在开发之前,很多同学一定有很多疑问,Kotlin到底有啥好处,怎么和现有的项目共存呢?Java那么些特性Kotlin都有吗?嗯,让我们一一来看。

2017-05-18 17:20:17

简明扼要的反射入门教程

反射反射作为RTTI语言(比如Java)的基础之一被很多人所熟知,但是有些同学对反射本身还是懵懵懂懂的,不是很清楚它到底有什么用。今天这节课我们就对反射本身来一个通体的认知。定义反射所在的包为:java.lang.reflect它的英文版定义是:Reflection allows programmatic access to information about the fields, methods

2017-04-28 14:28:49

探索Glide对Gif图片资源的获取、解析过程

大家新年好,很久没写博客了。今天我们来探索一下Glide是如何支持Gif图片加载的。本篇博客的目的了解代码分析的基本思路与方法了解Glide是如何对Gif图片进行支持的探索背景为什么会有这么一个想法呢,一来一直对Glide是知其名而不知其所以然,二来还主要是工作中需要对它研究研究,以便更好的支持工作内容。我想很多同学都希望自己可以对某种著名的开源框架了解贯通,但是很多

2017-02-10 15:18:16

如何修改TextView链接点击实现(包含链接生成与点击原理分析)

*这篇文章的主要目的是想要大家学习如何了解实现,修改实现,以达到举一反三,自行解决问题的目的。某天遇到这么一个需求:在TextView中的文本链接要支持跳转,嗯,这个好办,TextView本身是支持的,我们只用添加一项属性就可以搞定: android:autoLink="web"在添加后发现确实是有效果了。但是如果我们不想使用系统默认的浏览器,而是想要这个地址跳入某个页面或者自己应用内的浏览器该怎

2016-12-14 14:57:36

令人振奋的好消息!2016年12月8日Google Developers中文网站发布!

令人振奋的好消息!2016年12月8日Google Developers中文网站发布!以往我们需要访问Android的开发网站、Google的开发网站都需要翻墙,苦不堪言。现在Google发布了中文网站,怎能不让人开心?!Android中文开发网站: https://developer.android.google.cn/index.htmlGoogle中文开发网站: https://devel

2016-12-08 10:45:15

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。