avatar
Articles
59
Tags
41
Categories
8
首页
文章
生活
项目
关于
我做开发那些年
Search
首页
文章
生活
项目
关于

Web开发

搞前端还有出路吗?如果有,在哪里?
Created2025-07-28|Web开发
写代码对我来说是一件很开心的事,通过写代码来糊口,也算得上是一件很幸运的事了。但工作的时间久了,一些危机感和职业的通病,多多少少也会暴露出来。 从毕业到现在5年多了,算上加班,凑个7年工作经验,应该不算过分。 写前端写得越久,人往往也容易麻木。有时候在想,这玩意也算是个体力活吧,找个稍微动打字的人,学习两个多礼拜,也能上手啊。 这么想的人,必定不止我一人。 在互联网公司也是打螺丝就现在的Web开发而言,一个项目脚手架,渲染框架,状态管理,路由等等,几乎所有的东西都已经实现了模块化以及灵活集成。而开发者需要做的,就像是小孩子给格子涂颜色一样,给指定的格子涂上颜色,工作内容本身,并没有多大的难度。 “面试造火箭,上班打螺丝”,这还真不是句玩笑话。面试时的各种性能优化方式,代码规范,还有算法等等,基本上都是白扯。说到组件封装,很多时候都是个人自嗨。相似的功能,在不同的项目或者页面中却是高度定制化的,甚至在设计风格上都无法保持一致,再谈封装,多少有点自讨没趣。 前端开发被叫成 “切图仔” 不是没有道理的,长期的、重复性的写高度相似的东西,个人能力无法得到提升,而且还容易陷入舒适圈,当然...
从崩溃到稳定:前端开发者必学的 Node.js 守护进程实战指南
Created2025-07-15|Web开发
说到守护进程,绝大多数开发者其实都不陌生,甚至有些记性比较好的同学还能大段背诵关于进程的面试八股文呢。虽然在日常的Web开发工作中很少使用到它,而且可能从写Web第一天到离职都没有真正写过一个守护进程,即使有或许还是学校里教学用的–使用C语言实现的Demo。 不要怪作者嘴巴毒,事实就是这样的,即使一个工作5,6年的老Web开发,你让他现场写个守护进程,还真不一定就能立马写出来。今天就尝试着使用Node来实现一个守护进程,试着唤醒你那将要死去的记忆。 把一个大象关进冰箱分几步? 写一个守护进程又分几步? 1. 创建子进程并脱离控制终端当我们使用Node执行某一个js脚本时,Node会创建一个进程,当脚本执行结束了,进程也就结束了。 为了创建守护进程,需要在脚本执行的过程中(父进程)创建一个子进程,并且在子进程创建之后,要让其自立门户,脱离父进程,这样即使父进程退出,也不会影响子进程 123456789101112131415// start.jsconst { fork } = require('child_process');const p...
从第一个静态网页到 Vue:Web 技术的 “逆袭史”
Created2025-07-10|Web开发
1991年,有个叫蒂姆・博纳斯・李的英国科学家,写了世界上第一个静态网页。这个牛人不仅创造了超文本标记语言(HTML),而且还开发出世界上第一个网页浏览器,同时也由此发明了万维网(World Wide Web), 因此他也被称为万维网之父。 早期的网页是静态的,当时的HTML标签并不丰富,当时的内容除了直接链接条状之外,没有任何的交互。到了1994年的时候,当时有一家有名的浏览器公司,大家应该也都听说过,叫网景(Netscape), 它觉得页面缺少交互太单调了。脑袋一拍,Mocha出来了–也就是后来的JavaScript, JavaScript 的交互能力为网页广告弹窗(真讨厌)提供了技术基础。 页面是可以动了,但是样式还是单调了些,而且还完全取决于浏览器开发商。页面缺少布局和美化手段,太粗糙了点。在1994年的时候,一个叫Hkon Wiumlie的开发者提出了CSS (层叠样式表)的想法,通过编写样式实现对页面内容的布局和美化。因为后来各大浏览器厂商对CSS的支持与差异,直到两年后的1996 年,W3才推出CSS规范的第一版本。 虽然CSS因此遗留了很多历史的BUG, 但终...
一文读懂 Cookie、Session 和 Token:原理、区别与应用场景
Created2025-07-01|Web开发网络安全
一文读懂Cookie、Session和Token:原理、区别与应用场景咱上网冲浪的时候,天天和各种网站、APP打交道。但HTTP协议有个“毛病”——它记性不好,每次请求都像第一次见面,根本不记得之前和你聊过啥。为了解决这个问题,程序员们整出了Cookie、Session和Token这三个“神器”,它们就像我们在网络世界的身份证、通行证,帮服务器记住你是谁,都干了啥。今天咱就唠唠这仨到底是干啥的,有啥不一样! 一、Cookie、Session和Token都干啥用?1.1 Cookie:浏览器帮你记事儿的小本本Cookie就是服务器给浏览器塞的小纸条,存的都是些用户信息,像登录状态、浏览偏好啥的。举个例子,你第一次进某个网站,选了中文界面、深色模式,下次再访问,网站秒变你喜欢的样子,这背后就是Cookie在偷偷“记笔记”。不过这小纸条存你电脑里,容易被人偷看,所以得小心点用! 1.2 Session:服务器的专属“私人档案库”Session相当于是服务器自己的“小账本”,专门用来存用户的会话数据。当你登录网站,服务器就给你开个“档案袋”,把你购物车有啥、订单到哪一步了这些信息全塞进去...
从 Vuex 到 Pinia:Vue 3 状态管理的全面升级
Created2025-07-01|Web开发
在Vue 3的“江湖”里,状态管理这块可是发生了大变化!当咱们从Vue 2“升级打怪”到Vue 3,以前常用的Vuex逐渐被更“香”的Pinia替代了。今天就来唠唠Vuex和Pinia到底有啥不一样,帮大家轻松拿捏新的状态管理姿势! 1. API风格与设计:告别繁琐,拥抱简洁Vuex就像个“老学究”,用的是类似Redux的那一套,非得让开发者把逻辑按mutations、actions、getters这些规矩分好类。虽然确实规范,但写起代码来可太啰嗦了,一堆模板代码看着就头大! Pinia就不一样,它紧跟Vue 3的“潮流”,用组合式API设计,直接把mutations“踢出局”(只保留state、getters、actions)。代码一下子变得超扁平、超直观,再也不用为那些复杂的条条框框费脑筋,开发起来轻松多啦! 2. TypeScript支持:天生适配,用着超爽要是你用Vuex搭配TypeScript,那可得费点劲!得额外捣鼓不少配置和类型定义,不然根本用不顺手,就像给自行车硬装上火箭发动机,麻烦得很。 Pinia可就贴心多了,它对TypeScript是“真爱”,天生适...
为什么团队总在写烂代码?因为 “背锅侠” 根本不存在
Created2025-06-25|Web开发
CV: Copy & Paste, 复制的意思 草台班子的代码现状:烂却能跑的魔幻现实做开发越久,你就越能感受到“这个世界,就是个巨大的草台班子”这句话的含金量。很多看似不错的项目,其代码质量和整理设计往往都经不起推敲。 项目中的冗余代码堆砌,不做修改的暴力复制,混乱的逻辑判断,以及令人作呕的文件命名,有时候自己都会不禁发出灵魂拷问: “这东西能跑起来吗? 这东西为什么能跑起来?” 可是,没有人一开始就是奔着要把整个项目写烂为目的的吧? 没有吧! 但事实就是这样啊,它虽然很烂,但它能用。虽然它能用,但也是真的烂。 Why? Tell me why? 熵增的起点:一次复制、一个else if的蝴蝶效应它肯定不是一开始就是这么烂的,但随着时间的推移,版本的迭代,似乎有种 力量在不断地将他慢慢往变烂的的方向推。而且随着时间的变长,作为项目的开发者,能够明显的感觉到这种力量越来越强,整个项目的维护成本也越来越高。 而这一些,最初可能只是一次简单的代码复制,文件拷贝,也可能只是在原来的判断逻辑上加了一条 else if 判断语句… 而做这些的原因,可能是一次的需求变更,也可能...
Node安装保姆级教程
Created2025-06-08|Web开发
方法1:安装包安装 step1: 前往Node官网下载安装包,或者关注公众号“我做开发那些年”,后台回复“Node安装包”获取。 step2 双击安装包,开始安装, 傻瓜式的点击 Next. 点击 next 如果你不想Node默认安装在C盘目录下,可以在这一步修改安装盘 点击 next 点击 Install 方法2:可移动二进制文件安装 step1: 前往Node官网下载安装包,或者关注公众号“我做开发那些年”,后台回复“Node独立文件包”获取。 step2: 将包解压任意目录,如我的是 在D:\software_install\develop下 step3: 将Node目录下的 bin下的配置到window环境变量中a) win+s,搜索 环境变量, 点击编辑系统环境变量 b) 点击环境变量 c) 找到 path, 点击 编辑 d) 点击 浏览 e) 选择 step2 中解压的目录路径 最后点击 确定关闭所有窗口,将环境变量保存应用。 安装验证打开DOS窗口,输入 node -v, 查看是否输出对应的 Node 版本号,如果有,则说明安装成功。如果报...
Javascript中两种不同的继承方式对比
Created2025-05-23|Web开发
Dog.prototype = new Animal() 和 Dog.prototype.proto = Animal.prototype的两种继承方式的区别1. Dog.prototype = new Animal()语法和机制 ​目的:通过创建 Animal 的实例来继承其原型链。 ​底层逻辑:将 Dog.prototype 替换为一个新的 Animal 实例。 ​原型链结构: 1Dog.prototype → Animal 实例 → Animal.prototype → Object.prototype → null 因此,Dog 的实例通过原型链可以访问 Animal 实例的属性和 Animal.prototype 的方法。 ​特点 ​调用父类构造函数: 会执行 Animal() 构造函数,初始化父类属性(如 this.name) 继承实例属性:Dog.prototype 会包含 Animal 实例的属性(如 name),即使这些属性是实例级别的。 覆盖原有原型:替换 Dog.prototype 后,原先定义在 Dog.prototy...
糟糕,Vite proxy error ECONNREFUSED
Created2025-05-23|Web开发
最近正在开发一款应用,前端框架是vite+vue, 后台服务也是使用的node+express组合,当一切工作都在顺利进行的时候,不出意外,意外出现了。 当我尝试使用axios直连本地服务地址的时候,丝滑得如同德芙一样。然而每次请求地址都需要拼写全链接–即host+port+service-path,这是一件很愚蠢的事情。 为了让事情变得简单一些,减少重复工作,我和聪明的各位一样决定使用vite的代理。 因为web的地址9000,本地启动的后台服务地址是8080,所以我最初的配置如下: 1234567891011121314export default defineConfig({ # ... 其它配置 server: { host: '0.0.0.0', port: 9000, proxy: { '/api': { target: 'http://localhost:8080/', changeOrigin: tru...
avatar
jvxiao
全栈前端开发者 | Vue & Node.js
Articles
59
Tags
41
Categories
8
Follow Me
Recent Posts
张雪峰离世的背后:当“人生导师”输给身体,我们该反思什么2026-03-26
虚拟 DOM 要凉了?Vue 3.6 Vapor Mode 凭什么颠覆前端性能?2026-02-02
Cursor 封神,Trae 免费,Claude Code 扫地2026-01-29
面试被问HTTP请求头?别慌,这篇“大白话”带你稳过!2026-01-27
HTTP 与 HTTPS:一字之差,安全性有何天壤之别?2026-01-24
Categories
  • ES6进阶11
  • Vue11
  • Vue源码阅读1
  • Web开发9
    • 网络安全1
  • life1
  • 小程序开发1
  • 搭建博客4
Tags
组件 Token Web开发,JQuery 守护进程 packages 个人IP 小程序 Node安装 Vue 依赖收集 Node 随笔 微信云 JavaScript进阶 Web开发 MVVM 前端进阶 程序人生 Set 对象存储 闭包,作用域 npm error Cookie Javascript Pinia JavaScript进阶, ES6进阶 JavaScript 源码阅读 Proxy 前端开发 Map Vuex 博客搭建 Array Vue, JavaScript进阶 微信小程序 生活 Vite Session
Archives
  • March 2026 1
  • February 2026 1
  • January 2026 11
  • December 2025 19
  • October 2025 3
  • September 2025 2
  • August 2025 4
  • July 2025 5
Website Info
Article Count :
59
Total Word Count :
96.4k
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By jvxiaoFramework Hexo 7.3.0|Theme Butterfly 5.5.4
Search
Loading Database