shadowingszy
码龄9年
  • 258,909
    被访问
  • 63
    原创
  • 12,313
    排名
  • 343
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2013-08-19
博客简介:

ZY的博客

查看详细资料
  • 4
    领奖
    总分 636 当月 9
个人成就
  • 获得423次点赞
  • 内容获得152次评论
  • 获得1,599次收藏
创作历程
  • 4篇
    2022年
  • 14篇
    2021年
  • 12篇
    2020年
  • 24篇
    2019年
  • 9篇
    2018年
成就勋章
TA的专栏
  • 架构
    1篇
  • 前端
    44篇
  • 广告系统
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jswebpack
  • 后端
    node.js
  • 微软技术
    typescript
  • 小程序
    小程序
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【架构整洁之道系列】(一)设计与架构

最近一直在读《Clean Architecture》这本书,书中对与软件设计与架构的阐述是非常深刻的。因此开了一篇专栏,来记录《Clean Architecture》书中一些优秀的架构设计理念,以及我对这些内容的思考。一、设计与架构是什么?设计(Design)与架构(Architecture)这两个概念让大多数人十分迷惑——什么是设计?什么是架构?二者究竟有什么区别?实际上,两者说的是相同的东西,“架构”这个词往往使用于“高层级”的讨论中,这类讨论一般都把“底层”的实现细节排除在外。而“设计”一.
原创
发布博客 2022.04.21 ·
2200 阅读 ·
0 点赞 ·
0 评论

优雅地处理前端中的重试逻辑

「请求重试」是前端开发中一个非常常见的场景,本文会一步一步地带你写一个简洁明了且逻辑优雅的请求重试函数
原创
发布博客 2022.03.29 ·
1272 阅读 ·
0 点赞 ·
0 评论

【带你看看JS生态圈的技术趋势】state-of-js 2021 详细解读

【带你看看JS生态圈的技术趋势】state-of-js 2021 详细解读
原创
发布博客 2022.02.16 ·
464 阅读 ·
0 点赞 ·
0 评论

【带你看看CSS生态圈的技术趋势】state-of-css 2021 详细解读

带你看看CSS生态圈的技术趋势 —— state-of-css 2021 详细解读
原创
发布博客 2022.01.06 ·
278 阅读 ·
0 点赞 ·
0 评论

万字好文,手把手教你做一个「vue3+express+typescript」的全栈模板项目

本篇文章记录了做「vue3+express+typescript」全栈模板项目的全过程。按照这篇文章一步一步操作,你就能够搭建出一个属于自己的全栈模板项目,非常适合各位前端同学食用。
原创
发布博客 2021.12.23 ·
651 阅读 ·
0 点赞 ·
0 评论

写代码也能防沉迷?「反内卷 & 防沉迷插件 wlb-webpack-plugin 开发纪录」

一、这个插件是干什么的?wlb-webpack-plugin 插件会在非工作日及下班时间自动将「反内卷和代码防沉迷逻辑」注入到 webpack 打包产物中,是追求 work-life-balance 的前端工程师们的最佳选择。(手动滑稽)项目地址(欢迎各位star):https://github.com/shadowings-zy/wlb-webpack-plugin防沉迷前:防沉迷后:并且使用webpack打包时会有如下提示:二、这个插件是怎么做的?要实现 wlb-webpack-pl
原创
发布博客 2021.09.30 ·
407 阅读 ·
3 点赞 ·
1 评论

校招前端面试常见问题【6】——NodeJS

校招前端面试常见问题【6】——NodeJSNodeJSQ:NodeJS的IO模型特点是什么?Q:V8引擎垃圾回收机制是什么样的?Q:实现一个EventEmitter?NodeJS相关框架Q:请简述一下Koa的洋葱模型?
原创
发布博客 2021.08.28 ·
74 阅读 ·
0 点赞 ·
0 评论

校招前端面试常见问题【5】——前端框架及常用工具

校招前端面试常见问题【5】——前端框架及常用工具ReactQ:请简述一下虚拟DOM的概念?Q:请简述一下React的生命周期?Q:请简述一下React Fiber的概念?Q:React setState的时机?VueQ:什么是mvvm模式?Q:请简述一下v-model双向数据绑定的原理?Q:请简述一下Vue的生命周期?Q:请简述一下Vue router的原理?打包工具Q:介绍一下webpack?Q:除了webpack之外你还用过什么打包工具,他们和webpack相
原创
发布博客 2021.08.28 ·
181 阅读 ·
0 点赞 ·
1 评论

校招前端面试常见问题【4】——网络及浏览器

校招前端面试常见问题【4】——网络及浏览器1、网络相关Q:请简述一下HTTP协议,以及HTTP1.0/1.1/2.0/3.0的区别?Q:请简述一下HTTPS协议?Q:请简述一下HTTP协议中的缓存策略?2、浏览器相关Q:请列举一下你知道的浏览器内核的种类?Q:请简述一下浏览器内核的工作原理?Q:请简述一下浏览器的渲染流程?Q:请简述一下浏览器从输入请求到呈现页面的全过程?Q:localstorage、sessionstorage的区别,以及使用场景是什么?...
原创
发布博客 2021.08.28 ·
89 阅读 ·
0 点赞 ·
0 评论

校招前端面试常见问题【3】——CSS

校招前端面试CSS常见问题1、盒模型Q:请简述一下CSS盒模型?Q:inline、block、inline-block元素的区别?2、选择器Q:请列举出你用过的CSS选择器?Q: CSS选择器的权重是什么样的?3、常见规则Q:position的值有哪几种,布局方式是什么样的?Q: 简单描述下flex布局?Q: transition/animation的用法是?4、常见概念Q:BFC和IFC是什么?Q:如何清除浮动?Q:如何做响应式布局?Q:请简述移动端布局方
原创
发布博客 2021.08.28 ·
76 阅读 ·
1 点赞 ·
1 评论

前端开发校招面试问题整理【2】——HTML

前端开发校招面试问题整理【2】——HTML1、HTML元素(element)简单介绍下你用过哪些HTML元素?语义化元素是指?HTML5新增了哪些元素?2、HTML事件描述一下HTML的事件机制?事件捕获/事件冒泡指的是?如何阻止事件冒泡?...
原创
发布博客 2021.08.26 ·
29 阅读 ·
0 点赞 ·
0 评论

前端开发校招面试问题整理【1】——JavaScript

前端开发校招面试问题整理【1】——JavaScript1、JavaScript基础介绍js的基本数据类型?基本类型(值类型):String,Number,Boolean,Null,Undefined,Symbol,BigInt。数字类型包含整数与浮点数,整数精度为2^53,浮点数值最高精度为17 位小数。另外注意的是,NAN属于数字类型,代表非数字,即1/0=NAN,NAN/1=NAN。Infinity代表超过了范围的数,有正负号。undefined:表示变量已声明,但不含有值。null
原创
发布博客 2021.08.25 ·
268 阅读 ·
4 点赞 ·
2 评论

简单聊聊“客户端渲染”、“服务端渲染”和“同构渲染”

一、客户端渲染(CSR)1-1、渲染步骤客户端渲染主要有以下三个步骤:1、浏览器发起http请求。2、服务端响应http请求,返回html文件内容。3、浏览器加载html文件中的资源文件(js、css、图片、音频、视频等)。4、浏览器渲染并显示页面内容。1-2、优劣势优势:1、实现简单(相比于SSR)。劣势:1、由于需要加载js文件以及后台接口数据,所以首屏加载时间会比较长,用户体验不好。2、由于不能直接在首屏时渲染出页面内容,所以网站SEO不好做。二、服务端渲染(SSR)服务端
原创
发布博客 2021.08.20 ·
115 阅读 ·
0 点赞 ·
0 评论

从零开始手写一个「开箱即用的大文件分片上传库」

一、写在前面相信各位小伙伴在实际做业务的时候都遇到过「大文件上传」的场景。在这种场景下,我们不能直接将大文件直接丢给服务器进行处理,这会对服务器的性能产生巨大的影响,并且上传速度也过于缓慢。因此我们会采用「大文件分片上传」的技术方案,尽可能快地上传文件,并对服务器的性能产生尽可能小的影响。刚好最近趁着业余时间,详细了解了下「大文件分片上传」的技术细节,发现已有的一些分片上传库的使用体验都不太好,因此在这里从零开始手写一个大文件分片上传库,一是加深理解,二是方便大家后续直接使用。二、大文件分片上传技术方
原创
发布博客 2021.07.14 ·
54 阅读 ·
0 点赞 ·
0 评论

JSBridge原理解析

一、什么是JSBridge?JSBridge是一种webview侧和native侧进行通信的手段,webview可以通过jsb调用native的能力,native也可以通过jsb在webview上执行一些逻辑。二、JSB的实现方式常用的实现JSBridge方式有两种:(1)拦截URL请求(2)MessageHandler我们以比较火的WebviewJavascriptBridge为例(源码地址:https://github.com/marcuswestin/WebViewJavascriptB
原创
发布博客 2021.05.30 ·
237 阅读 ·
0 点赞 ·
0 评论

Nodejs也能Serverless?从0开始用Nodejs打造一个FaaS服务

本篇文章并不是教你怎么用阿里云、谷歌云等等云框架的FaaS服务,而是教你如何从0开始打造一个自己的FaaS服务。受限于人力及成本原因,现在的FaaS服务基本上可以说是“大厂玩物”,而网上鲜有相关代码的实现,因此我才打算写一篇文章,和大家分享如何从0开始打造一个Nodejs的FaaS服务。本篇文章中的项目tiny-node-faas已经上线并开源至GitHub,欢迎各位使用。访问链接:http://www.shadowingszy.top/tiny-node-faas/index.html源码地址:h
原创
发布博客 2021.02.18 ·
2429 阅读 ·
3 点赞 ·
13 评论

使用async_hooks实现Nodejs应用全链路埋点

一、背景随着Nodejs应用的不断迭代,我相信不少开发者都会遇到这样的问题——平台功能越来越多,相关逻辑也越来越复杂,导致请求链路变得越来越长,耗时也越来越久。因此,为了优化服务响应速度,首先我们要知道我们服务的链路埋点信息。这篇文章会简单介绍如何「使用async_hooks实现Nodejs应用全链路埋点」。二、实现过程2-1、async_hooks官方API可以看这里:https://nodejs.org/api/async_hooks.html首先来简单介绍下async_hooks:asy
原创
发布博客 2021.02.04 ·
364 阅读 ·
0 点赞 ·
0 评论

带你看看JS的新趋势「State of JS 2020」中文解读

「State of JS 2020」数据来源:https://2020.stateofjs.com/zh-Hans/technologies/一、技术趋势一些新兴的JavaScript库在开发者间有很高的满意度,但使用率偏低——这可能会让开发者难以选择合适的技术。下面这些数据可以帮我们选择合适的技术。1-1、时间变化趋势第一张图代表着这些库随时间变化的趋势。它有四个象限,纵向由下至上代表着使用率由低到高;横向由左至右代表着使用体验由坏到好。也就是说,这张图中每条线越往右上走(线条颜色是红色),代表着
原创
发布博客 2021.01.14 ·
722 阅读 ·
2 点赞 ·
1 评论

互联网黑话生成器(一款能熟练应用“赋能、抓手、闭环、沉淀、打通”等词汇的文章生成器)

效果图在线地址点击这里:http://www.shadowingszy.top/text-generator/index.html源代码html部分:<!DOCTYPE html><html><head> <title>互联网黑话生成器|一款能熟练应用“赋能、抓手、闭环、沉淀、打通”等词汇的文章生成器</title> <link rel="stylesheet" href="https://cdn.jsdel
原创
发布博客 2020.12.19 ·
68894 阅读 ·
28 点赞 ·
7 评论

浅谈浏览器中的进程和线程

浏览器的多进程架构大部分浏览器都是多进程的,以chrome浏览器为例,当用户打开chrome浏览器浏览网页时,会启动多个进程用于呈现页面。一般来说,在打开浏览器时,chrome浏览器会启动以下四个进程:1、浏览器进程浏览器最核心的进程,负责管理各个标签页的创建和销毁、页面显示和功能(前进,后退等)、网络资源的管理,下载等。2、插件进程负责每个第三方插件的使用,每个第三方插件使用时候都会创建一个对应的进程。3、GPU进程负责3D绘制和硬件加速。4、渲染进程渲染进程就是我们常说的浏览器内核,我
原创
发布博客 2020.10.17 ·
471 阅读 ·
0 点赞 ·
1 评论
加载更多