193Eric
码龄10年
关注
提问 私信
  • 博客:374,947
    374,947
    总访问量
  • 75
    原创
  • 1,614,557
    排名
  • 5,206
    粉丝

个人简介:多年后的你,一定会感谢现在拼命的自己

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2014-12-01
博客简介:

越努力越幸运

博客描述:
多年后的你,一定会感谢现在拼命的自己
查看详细资料
个人成就
  • 博客专家认证
  • 获得678次点赞
  • 内容获得101次评论
  • 获得586次收藏
  • 代码片获得137次分享
创作历程
  • 9篇
    2022年
  • 5篇
    2021年
  • 15篇
    2020年
  • 13篇
    2019年
  • 5篇
    2018年
  • 26篇
    2017年
  • 2篇
    2016年
成就勋章
TA的专栏
  • 缓存
    1篇
  • 前端搞搞基建
    6篇
  • 微前端
    1篇
  • 摸鱼前端自检
    9篇
  • javascript
    27篇
  • node
    14篇
  • webgl
    2篇
  • 网络
    3篇
  • react
    1篇
  • vue
    18篇
  • thinkphp
    3篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6webpackxhtml前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

学redis看这里就行了

redis学习看这里
原创
发布博客 2022.08.17 ·
402 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

为你的项目搭建sentry并且通过企微推送

sentry是一个开源的监控系统,能支持服务端与客户端的监控,还有个强大的后台错误分析、报警平台。本篇文章主要介绍 搭建sentry、使用sentry、接入企业微信推送 …更多学习案例尽在我的。
原创
发布博客 2022.08.05 ·
2147 阅读 ·
1 点赞 ·
2 评论 ·
6 收藏

⚡性能优化之首屏秒开

最近做了c端的h5产品,上线后,部分用户投诉说打开很慢,经过调查发现,在网速慢的情况下,部分用户首屏展示需要5-10s,网速快的情况也要将近3s。在对项目做了一些优化处理后,再次无缓存打开可以发现网页几乎是秒开,平均耗时在1s以内在这里总结记录一下,基本上都是一些常规可复制的优化手段,希望能为同样想优化网页性能的你提供思路~这是优化前的效果。............
原创
发布博客 2022.07.29 ·
874 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

你不知道的web性能指标

web应用的常见性能指标:页面加载时间、全部页面加载时间、首字节时间、DNS时间、TCP时间、页面渲染、下载速度、页面流畅度、网络丢包率、网络时延、请求响应时间、事务响应时间、并发用户数等。web的性能指标1、页面加载时间从页面开始加载到页面onload事件触发的时间。一般来说onload触发代表着直接通过HTML引用的CSS,JS,图片资源已经完全加载完毕。2、全部页面加载时间全部页面载入时间指从最初启动浏览开始,直到所有元素都被加载完成后,在2秒后仍然没有网络活动的时间。0-2秒:.
原创
发布博客 2022.04.11 ·
1556 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

怎么做好团队代码review

基于gitlab的不同角色的code review流程
原创
发布博客 2022.02.21 ·
1329 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Threejs/Webgl智慧城市部分效果实现

很多同学看到许多智慧城市的效果,却始终苦苦无法学会,而且网上大多数特效都没有给到完整的开源代码。大家的学习之路,困难重重。本人在学习智慧城市效果查阅资料的时候,也是花了大量的时间,太多的误导代码。...
原创
发布博客 2022.02.18 ·
7664 阅读 ·
17 点赞 ·
14 评论 ·
125 收藏

vue项目 history模式在nginx多级目录的配置

起因因为测试环境的链接一般都是一个主链接后面加文件目录的形式来配置nginx。例如:www.xxxx.com/admin 、www.xxx.com/clond …admin和clond是不同的项目,只是通过nginx代理使用同一个域名下面。所以我们如果在这种域名下面配置nginx,满足history模式的话,需要更改一些配置。vue官方告诉我们配置方式是:前端:const router = new VueRouter({ mode: 'history', routes: [...]}
原创
发布博客 2022.01.19 ·
3485 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

搭建适合自己团队的构建部署平台

使用Node+react+mysql 搭建构建部署平台。功能包括:git拉取、代码检测、构建、发布、植入sh脚本、查看日志、统计等等... 可扩展性较强
原创
发布博客 2022.01.19 ·
2492 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

一篇文看懂IO阻塞、非阻塞和多路复用

IO阻塞一直到多路复用,其实是发展的过程。先讲讲传统的网络 IO 的弊端,再看多路复用 IO 的优势。为了方便理解,以下所有代码都是伪代码,知道其表达的意思即可。阻塞 IO服务端为了处理客户端的连接和请求的数据,写了如下伪代码。listenfd = socket(); // 打开一个网络通信端口bind(listenfd); // 绑定listen(listenfd); // 监听while(1) { connfd = accept(listenfd); .
原创
发布博客 2022.01.12 ·
743 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

前端与DSL的秘密

DSL 简介DSL(Domain Specific Language)中文翻译为领域特定语言,例如 SQL、JSON、正则表达式等。与之形成对比的是 GPL(General Purpose Language),中文翻译为通用编程语言,我们熟悉的C、C++、JavaScript、Java 语言等就是。DSL特点是一门便于人们理解的编程语言或规范语言,并且可以被计算机解释执行用于专门领域,不能用于其他领域表现力有限不描述解答域,仅描述问题域DSL主要分为二类:外部 DSL、内部 DSL。外部DS
原创
发布博客 2021.12.15 ·
985 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

如何高效提高前端代码质量

原则首先说一个最重要的优化原则:代码优化是每天都要进行的,而不是一两个月做一次大优化, 那个时候就太晚了。另外由于优化是每天做的,所以你不需要一次的就过度优化,保持小步快跑即可。这个原则为什么重要?因为很多程序员会在写代码的时候说「先不优化了,等不忙的时候再优化」,然后……就没有然后了。基本上「烂代码」就是因为「不忙的时候再优化」造成的。为什么会有烂代码一些长寿命技术公司都会遇到的问题,一个系统开发了4,5年走了一批核心人员后,代码质量就会直线下降,代码质量和项目成立时间成反比,越新的项目质量越
原创
发布博客 2021.12.13 ·
1471 阅读 ·
3 点赞 ·
1 评论 ·
10 收藏

Node层次解析

本文内容主要分为两大部分,第一部分是 Node.js 的基础和架构,第二部分是 Node.js 核心模块的实现。Node.js 基础和架构Node.js 的组成Node.js 代码架构Node.js 事件循环组成Node.js 主要由 V8、Libuv 和第三方库组成。v8:实现js解析、执行、自定义扩展之类的Libuv:跨平台的异步 IO 库,但它提供的功能不仅仅是 IO,还包括进程、线程、信号、定时器、进程间通信,线程池等第三方库:http,Dns解析之类的。结构上.
原创
发布博客 2021.11.18 ·
2382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

threejs看这里就行了

threejs技术预研现代浏览器都支持WebGL,这样我们就不必使用Flash、Java等插件就能在浏览器中创建三维图形。虽然WebGL提供的接口非常丰富和强大,但使用起来过于繁琐和复杂。Three.js的出现完美地解决了这个矛盾。它提供一个很简单的关于WebGL特性的JavaScript API,使得用户不需要详细地学习WebGL,就能轻松创作出好看的三维图形样例。1、基本介绍1.1 Three.js 的功能特点创建简单和复杂的三维几何图形。 在三维场景下......
原创
发布博客 2021.06.07 ·
4796 阅读 ·
7 点赞 ·
0 评论 ·
51 收藏

微前端架构实现(项目引入,消息总线,构建部署,监听服务)

简介为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservices):微服务是面向服务架构(SOA)的一种变体,把应用程序设计成一系列松耦合的细粒度服务,并通过轻量级的通信协议组织起来具体地,将应用构建成一组小型服务。这些服务都能够独立部署、独立扩展,每个服务都具有稳固的模块边界,甚至允许使用不同的编程语言来编写不同服务,也可以由不同的团队来管理然而,越来越重的前端工程也面临同样的问题,自然地想到了将微服务思想应用(照搬)到前端,于是有了「微前端(micro
原创
发布博客 2021.01.21 ·
4556 阅读 ·
3 点赞 ·
6 评论 ·
7 收藏

从源码角度了解react工作原理

为什么要用虚拟domDOM操作很慢,轻微的操作都可能导致⻚面重新排版,非常耗性能。相对于DOM对象(dom对象打印出来很大,很难diff),js对象 处理起来更快,而且更简单。通过diff算法对比新旧vdom之间的差异,可以批量的、最小化的执行dom 操作,从而提高性能。React中用JSX语法描述视图,通过babel-loader转译后它们变为React.createElement(…)形式 ,React 17中的 JSX 转换不会将 JSX 转换为 React.createElement,而是自动从
原创
发布博客 2020.12.21 ·
424 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

AST语法树和babel原理

AST(抽象语法树)在计算机科学中,抽象语法树(abstract syntax tree 或者缩写为 AST),或者语法树(syntax tree),是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。无论是LL(1)文法,还是LR(1),或者还是其它的方法,都要求在语法分析时候,构造出相同的语法树,这样可以给编译器后端提供了清晰,统一的接口。即使是前端采用了不同的文法,都只需要改变前端代码,而不用连累到后端。即减少了工作量,也提高的编译器的可维护性。
原创
发布博客 2020.12.10 ·
924 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

高级前端必备--自动化测试

测试分类常见的开发流程里面,都有测试人员,这种我们称之为黑盒测试。测试人员并不需要去管实现机制,只看最外层的输入输出。比如一个计算机加法页面,设计人员会设计n个case,去测试该加法的正确性。这种如果我们开发人员用代码去做的话,我们称之为e2e测试。还有一种测试叫白盒测试。我们针对⼀些内部机制的核⼼逻辑,使⽤代码进行编写,我们称之为单元测试。其实我们代码里面的console.log,也算是一种测试的雏形。测试的好处组件的单元测试有很多好处:提供描述组件⾏行行为的⽂文档节省⼿手动测试的时间
原创
发布博客 2020.11.25 ·
835 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

高级前端必备--设计模式

设计模式发布订阅订阅/发布模式 (观察者) pub/sub这个应该⼤大家⽤用到最⼴广的设计模式了了,在这种模式中,并不不是⼀一个对象调⽤用另⼀一个对象的⽅方法,⽽而是⼀一个对象订阅另⼀一个对象的 特定活动并在状态改编后获得通知。订阅者因此也成为观察者,⽽而被观察的对象成为发布者或者主题。当发⽣生了了⼀一个 重要事件时候发布者会通知(调⽤用)所有订阅者并且可能经常已事件对象的形式传递消息vue代码里面的on,emit事件就是发布订阅,双向绑定也是。单例单例例模式的定义:保证⼀个类仅有⼀个
原创
发布博客 2020.11.23 ·
1719 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

高级前端必备--数据结构

数据结构时间空间复杂度一个是运行时间的长短,一个是占用内存空间的大小。衡量程序好坏的重要因素逻辑结构和物理结构逻辑结构线性结构 (顺序表、栈、队列…)非线性结构 (二叉树、图…)物理结构顺序存储结构(数组)链式存储结构(链表)数组的访问速度最快,直接访问下标就行。链表单向链表双向链表查找元素的时候,链表不像数组可以通过下标,快速定位,只能从头结点一个个往下找。数组在内存中是顺序存储,所以可以直接用下标查找,而链表是乱序存储,只能通过next指针一个个往下找
原创
发布博客 2020.11.18 ·
1678 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

如何构建一个高可用的node环境

如何构建一个高可用的node环境主要解决问题:故障恢复多核利用多进程共享端口项目源码和更多案例放在github上面,欢迎star.cluster (集群)cluster可以多核监听同一个端口。实现多进程共享端口,这个在node底层已经做好了。folk(child_process.fork)方式不能实现多进程共享端口,还需要nginx去做多个端口的负载均衡,一般来说用cluster要好点,folk方式适用与多个程序之间。建立一个cluster.js文件var cluster = re
原创
发布博客 2020.11.11 ·
2127 阅读 ·
5 点赞 ·
5 评论 ·
0 收藏
加载更多