自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 【从前端入门到全栈】Node.js之大文件分片上传

你会学到什么?可能学不到什么东西,该系列是作者本人工作和学习积累,用于复习作者介绍江辰,前网易高级前端工程师系列介绍现在的 Web 前端已经离不开 Node.js,我们广泛使用的 Babel、Webpack、工程化都是基于 Node 的,各个互联网大厂也早已大规模落地 Node 项目。因此,想要成为一名优秀的前端工程师,提升个人能力、进入大厂,掌握 Node.js 技术非常有必要。Node.js 不仅可以用来完善手头的开发环境,实现减少代码和 HTTP 请求,降低网页请求消耗的时间,提升服务质量。

2024-04-07 09:54:29 391

原创 【从前端入门到全栈】前端框架之核心概念

你会学到什么?可能学不到什么东西,该系列是作者本人工作和学习积累,用于复习作者介绍江辰,前网易高级前端工程师,混迹于多家大厂系列介绍现在的 Web 前端已经离不开 Node.js,我们广泛使用的 Babel、Webpack、工程化都是基于 Node 的,各个互联网大厂也早已大规模落地 Node 项目。因此,想要成为一名优秀的前端工程师,提升个人能力、进入大厂,掌握 Node.js 技术非常有必要。

2024-03-31 21:12:26 820

原创 toB开发范式

B端开发,也被称为后台开发或者企业级开发,是针对企业或者组织的业务需求进行的软件开发。在 B 端开发中,我们通常关注的是系统的功能性、稳定性、可扩展性以及安全性,从面向过程编程 -> 面向对象编程 + 组合式编程技术栈:B 端开发通常涉及到复杂的技术栈,包括编程语言( JavaScript )、框架(React)等等。架构设计:因为 B 端业务的复杂性,所以架构设计尤为重要。包括如何有效地分层(视图层,逻辑层,服务层)、如何进行微服务化、如何保证系统稳定性等等。性能优化:B 端开发需要关注系统的性能。

2024-03-10 20:57:56 621

原创 搭建自托管密码管理器

e SMTP_USERNAME=你的邮箱 \-e SMTP_PASSWORD=邮箱密码 \文章同步更新平台:掘金、CSDN、知乎、思否、博客,公众号(野生程序猿江辰)我的联系方式,v:Jiang9684,欢迎和我一起学习交流完。

2023-12-17 10:59:27 896

原创 【前端面试题】2023年前端面试真题之JS篇

闭包是函数和声明该函数的词法环境的组合。词法作用域中使用的域,是变量在代码中声明的位置所决定的。闭包是即使被外部函数返回,依然可以访问到外部(封闭)函数作用域的函数。为什么使用闭包?利用闭包实现数据私有化或模拟私有方法。这个方式也称为模块模式(部分参数函数()柯里化(currying).事件循环是一个单线程循环,用于监视调用堆栈并检查是否有工作即将在任务队列中完成。如果调用堆栈为空并且任务队列中有回调函数,则将回调函数出队并推送到调用堆栈中执行。

2023-09-20 09:47:40 91

原创 【前端面试题】2023年前端面试真题之Vue篇

在 Vue.js 中,指令(Directives)是一种特殊的 token,可以在模板中使用,以表示对 DOM 元素的行为。指令以v-开头,后面跟着指令的名称,例如v-bindv-if等。指令用于将模板中的数据与 DOM 元素进行绑定,控制元素的显示、隐藏、渲染和行为等。v-bind作用:用于绑定元素的属性,将元素的属性值与 Vue 实例的数据进行绑定。v-model作用:用于实现表单元素与 Vue 实例数据的双向绑定,使用户输入能够自动更新数据,反之亦然。v-for。

2023-09-20 09:46:51 198

原创 【前端面试题】2023年前端面试真题之React篇

在实际开发过程中,前端性能问题是一个必须考虑的问题,随着业务的复杂,遇到性能问题的概率也在增高除此之外,建议将页面进行更小的颗粒化,如果一个过大,当状态发生修改的时候,就会导致整个大组件的渲染,而对组件进行拆分后,粒度变小了,也能够减少子组件不必要的渲染。

2023-09-20 09:45:59 104

原创 【前端面试题】2023年前端面试真题之HTML篇

在 JavaScript 框架变得流行之前,前端开发者经常使用data-属性,把额外数据存储在 DOM 自身中。当时没有其他 Hack 手段(比如使用非标准属性或 DOM 上额外属性)。这样做是为了将自定义数据存储到页面或应用中,对此没有其他更适当的属性或元素。而现在,不鼓励使用data-属性。原因之一是,用户可以通过在浏览器中利用检查元素,轻松地修改属性值,借此修改数据。数据模型最好存储在 JavaScript 本身中,并利用框架提供的数据绑定,使之与 DOM 保持更新。

2023-09-20 09:45:21 64

原创 【前端面试题】2023年前端面试真题之CSS篇

精灵图,也称雪碧图。因常见碳酸饮料雪碧的英文名也是 Sprite,因此也有人会使用雪碧图的非正式译名。精灵图是把多张图片整合到一张上的图片。它被运用在众多使用了很多小图标的网站上(Gmail 在使用)。使用生成器将多张图片打包成一张精灵图,并为其生成合适的 CSS。每张图片都有相应的 CSS 类,该类定义了和属性。使用图片时,将相应的类添加到你的元素中。减少加载多张图片的 HTTP 请求数(一张精灵图只需要一个请求)。但是对于 HTTP2 而言,加载多张图片不再是问题。

2023-09-20 09:43:48 76

原创 【前端面试题】2023年前端面试真题之编码篇

人的一生,总是难免有浮沉。不会永远如旭日东升,也不会永远痛苦潦倒。反复地一浮一沉,对于一个人来说,正是磨练。因此,浮在上面的,不必骄傲;沉在底下的,更用不着悲观。必须以率直、谦虚的态度,乐观进取、向前迈进。——松下幸之助大家好,我是江辰,在如今的互联网大环境下,想必大家都或多或少且有感受,浮躁的社会之下,只有不断的保持心性,才能感知不同的收获,互勉。2023年最新的面试题集锦,时刻做好准备。本文首发于微信公众号:野生程序猿江辰。

2023-09-20 09:43:14 54

原创 微信小程序 web-view 问题

大家好,我是江辰,这篇文章记录一次在真实的线上环境中,关于 web-view 的问题,大家可以跟随作者一起看看心路历程。本文首发于微信公众号:野生程序猿江辰。

2023-09-11 20:09:28 179

原创 【前端资源分享】推荐收藏的前端学习资源

今天分享一些个人收藏的前端学习资源,按一下几个维度简单划分了下,有 3D、框架、构建工具等等。由于这些地址都是我个人收藏的,所以带有一些强烈的主观意识,还有很多优秀的网址没有收录进来,会不断更新的,欢迎大家点赞,收藏。

2023-08-30 11:01:43 545 7

原创 EventSource 引发的一系列事件

不同的是,服务端推送是单向的。大家好,我是江辰,最近小小的实现了下 chatGPT 的问答式回复,调研了前端如何实现这种问答式请求,有几种方案,Http、EventSource、WebSocket,三种实现方案各有优缺点,Http 和 WebSocket ,想必大家耳闻能详,这里我讲讲 EventSource。

2023-04-28 22:16:24 3270 1

原创 对数字孪生的思考

数字孪生来源1991 年, David Gelernter 出版了《 镜像世界》,首次提出数字孪生技术的想法。 但是,Michael Grieves 博士(后来在密歇根大学任教)于 2002 年第一次将数字孪生概念应用于制造业,正式宣布数字孪生软件概念的诞生。 最终,美国宇航局的 John Vickers 在 2010 年引入了一个新名词 “数字孪生”。但其实,在更早之前,已经出现了利用数字孪生研究物理对象的核心理念。 实际上,可以说是美国宇航局在 1960 年代太空探索任务中就率先使用了数字孪生技术

2022-05-22 17:07:00 3197

原创 Tauri 与 Electron

Tauri什么是 Tauri ?Tauri 是一个为所有主流桌面平台构建小型、快速二进制文件的框架。开发人员可以集成任何编译成 HTML、 JS 和 CSS 的前端框架来构建他们的用户界面。应用程序的后端是一个 Rust 二进制文件,具有前端可以与之交互的 API。安装方式Xcode$xcode-select--installRust$curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs|sh...

2022-04-08 22:20:45 1917

原创 React Router v6 探索

前言没事翻了翻 React Router 的文档,发现已推到了 v6.2.2 版本,这个版本做了很大的改动,让我们一起看看吧为什么推出 v6推出 v6 的最大原因是 React Hooks 的出现v6 写的代码要比 v5 代码更加紧凑和优雅我们通过代码来感受下,这是 v6 写的伪代码import { Routes, Route, useParams } from "react-router-dom";function App() { return ( &l

2022-03-28 01:14:50 790

原创 【个人成长】专科如何进入互联网大厂

专科学历,如何突破困境,入职大厂

2022-03-19 12:50:23 615

原创 多入口 Webpack 热更新失效?

前言Webpack 对于现代前端开发者,想必是相当熟悉了,在很多项目中,应用非常广泛,而 webpack-dev-server,相信大家应该也都接触过。最近,作者在配置多入口,热更新在单入口是好使的,结果到了多入口不好使?,然后通过 Google 寻找答案,找到了一篇 issue,HMR not working with multiple entries,跟我的问题类似,好像真的有 BUG?看到作者回复v4 修复了该问题,我丢,我还在使用 v3,翻看 v4 文档此时,只有一个感觉,热更新都多久的东

2021-06-15 09:20:19 640

原创 【个人成长】如何搭建前端架构和团队体系

背景自我介绍下,四年工作经验,头两年全栈开发,后两年专职做前端,目前已达到高级前端工程师水平,经历过三家公司。第一家公司,电商行业,做阿里 ISV 供应商,为淘宝卖家服务,也是我第一次接触百万 UV 级别的产品,在第一家公司呆了两年,由于达到技术瓶颈期,随跳槽,第二家公司,航运物流行业,呆了六个月(工作强度对我来说,是真的高),身体不适,没有同意转正。目前这家,担任项目管理和前端组长,两个角色,目前呆了两年,做了很多东西,把自己的一些想法跟大家聊一聊。入职时的环境这是一家做保险和金融行业的公司,属于传

2021-05-06 22:48:42 594 4

原创 从零搭建 Vite + React 开发环境

前言大概在 2019 年,自己搭建 React 开发环境的想法萌芽,到目前为止,公司的很多项目上,也在使用中,比较稳定。为什么要自己造轮子?起初是因为自己并不满意市面上的脚手架。另外,造轮子对于自己也有一些技术上的帮助,学别人二次封装的东西,不如直接使用底层的库,这样也有助于自己系统的学习一遍知识,废话不多说,直接进入正文,如何搭建自己的开发环境。初始化创建文件夹并进入:$ mkdir tristana && cd tristana初始化 package.json$ npm i

2021-02-15 22:47:30 2433 1

原创 Webpack4 性能优化实践

为什么需要性能优化在使用 Webpack 时,如果不注意性能优化,可能会产生性能问题,会导致在开发体验上不是非常丝滑,性能问题主要是编译速度慢,打包体积过大,因此性能优化也主要从这些方面来分析。本文主要是自己平时的工作积累和参考别人的文章,而进行总结,基于 Webpack4 版本。构建分析编译速度分析对 Webpack 构建速度进行优化的首要任务就是去知道哪些地方值得我们注意。speed-measure-webpack-plugin插件能够测量 Webpack 构建速度 SMP ⏱ Gen

2020-11-13 10:55:28 666 1

原创 如何搭建前端异常监控系统

什么是异常是指用户在使用应用时,无法得到预期的结果。不同的异常带来的后果程度不同,轻则引起用户使用不悦,重则导致产品无法使用,从而使用户丧失对产品的认可。为什么要处理异常增强用户体验远程定位问题无法复现问题,特别是移动端,各种原因,可能是系统版本,机型等等前端有哪些异常异常频率JavaScript异常(语法错误、代码错误)经常静态资源加载异常(img、js、css)偶尔Ajax 请求异常偶尔promise异常较少iframe 异常较少

2020-07-05 11:21:25 537

原创 Webpack 如何配置热更新

什么是HMR是指 Hot Module Replacement,缩写为 HMR。对于你需要更新的模块,进行一个"热"替换,所谓的热替换是指在不需要刷新页面的情况下,对某个改动进行无缝更新。如果你没有配置HMR,那么你每次改动,都需要刷新页面,才能看到改动之后的结果,对于调试来说,非常麻烦,而且效率不高,最关键的是,你在界面上修改的数据,随着刷新页面会丢失,而如果有类似Webpack热更新的机制存在,那么,则是修改了代码,不会导致刷新,而是保留现有的数据状态,只将模块进行更新替换。也就是说,既保留了现有的数

2020-05-29 15:52:21 1604 1

原创 关于如何在 MobX 中组织 Stores

Stores(存储)Store 可以在任何 Flux 系架构中找到,可以与 MVC 模式中的控制器进行比较。 Store 的主要职责是将逻辑和状态从组件中移至一个独立的,可测试的单元,这个单元在 JavaScript 前端和后端中都可以使用。单一StoresRootStoreimport { observable, action, configure } from 'mobx';// ...

2020-04-21 22:47:10 345

原创 基于 React、Mobx、Webpack 和 React Router 的项目模板。

前言自己利用业余时间,基于React、Ant、Webpack、Mobx、React-Router写了一个后台管理模板,接下来会出三部曲系列,分为前端、后端、运维到发布,从零搭建React后台管理模板,目前已在公司内部搭建了几套项目,并都已上线,希望这个系列,帮助自己梳理各技术最新知识点,同时也希望对看到的人有所帮助。项目效果:登录页:404页:列表页:源码地址Tristana...

2020-03-16 13:20:44 247

原创 【前端资源分享】VS Code 提高前端开发效率插件

Auto Close Tag自动添加HTML/XML关闭标记,与Visual Studio IDE或Sublime文本相同键入开始标签的结束括号后,将自动插入结束标签。Auto Rename Tag自动重命名配对的HTML/XML标记Beautify为VS代码美化代码选中需要美化的代码,右键Format DocumentGitLens增强Visual Studio代码中内置的...

2020-03-10 00:00:32 1161

原创 关于 TRTC (实时音视频通话模式)在我司的实践

TRTC腾讯实时音视频(Tencent Real-Time Communication,TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。TRTC流程图加入房间创建流this.client = TRTC.createClient({ ...

2020-02-29 16:25:32 6733 2

原创 MobX 源码解析-observable

前言最近一直在用Mobx开发中小型项目,开发起来真的,真的很爽,响应式更新,性能快,样板代码减少(相对Redux)。所以,想趁2019年结束前把Mobx源码研究一遍。Tips由于MobX的源码很大,因此只会把个人认为比较重要的部分截取说明阅读的MobX源码版本@5.15.0由于本人对TypeScript经验尚浅,所以我会将其编译成JavaScript阅读下面会用mobx-source...

2020-01-15 17:16:33 500

原创 MobX or Redux?

前言在过去的项目中一直用的都是Redux,觉得挺不错的,按照官方推荐的一些写法,再加上团队风格,打造了一套关于Redux的架构,但是,现在觉得写Action、Reducer太繁琐,随着业务不断的增量,相应的文件和代码也会不断的增加,而且对新人来说不是非常友好(理解Redux比较困难),听说一方诸侯MobX非常不错,所以在尝试使用了,目前项目中两套架构都是并存,写下自己的一些感想。都解决什么问题...

2020-01-15 17:15:48 147

原创 JS 数组扁平化之简单方法实现

扁平化一句话解释,数组扁平化是指将一个多维数组(含嵌套)变为一维数组扁平化之es5toStringconst arr = [1, 2, 3, [4, 5, [6, 7]]];const flatten = arr.toString().split(',');console.log(flatten);优点:简单,方便,对原数据没有影响缺点:最好数组元素全是数字或字符,不会跳过空...

2020-01-15 17:14:41 181

原创 JS 语法规范

采用小写驼峰式命名// goodstudentInfo// badstudentinfoSTUDENTINFO常量命名方式// goodconst COL_NUM = 10;// badconst col_num = 10;使用字面量// goodconst obj = { name:'faker'}// badlet obj = {};o...

2020-01-15 17:13:53 140

原创 CircleCI 自动化部署

添加ssh密钥$ ssh host_name$ cd ~/.ssh/$ ssh-keygen -t rsa创建公钥(.pub)和私钥$ cat id_rsa复制私钥所有内容要使CircleCI能够将文件发送到服务器,单击"构建"屏幕上项目名称旁边的cog来访问项目的构建设置。在设置屏幕上,找到权限部分下的SSH权限链接。单击“ 添加SSH密钥”按钮,然后添加服务器的主机名和私钥的内容...

2020-01-15 17:12:35 1072

空空如也

空空如也

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

TA关注的人

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