自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刺猬的开发笔记之万字企业级订阅任务c端链路开发

本文介绍了一个基于通用存储中心的活动订阅系统设计方案。该系统采用自上而下的设计思路,通过Thrift RPC框架与通用存储中心交互,实现了高扩展性的活动管理功能。通用存储中心提供统一的数据存储接口、多层存储架构、灵活的数据模型和强大的扩展能力。系统定义了ActivitySwitch等数据结构来管理活动订阅状态,并通过DataApiDelegate接口进行数据操作。这种设计实现了业务逻辑与数据存储的解耦,支持动态字段管理,无需修改数据库即可调整数据结构,为活动系统提供了良好的扩展性和维护性。

2025-06-17 20:25:06 410

原创 刺猬的开发笔记之css基础

刺猬在开发第一个小需求的时候,用到了scss,有一些用到的css样式,有些知其然不知其所以然,学习一下。

2025-06-16 16:46:44 487

原创 刺猬的开发笔记之createPortal

在开发Toast组件时,发现父组件的居中样式会导致Toast显示错位。通过使用React的createPortal方法,可以将Toast渲染到document.body中,从而脱离父组件DOM结构,避免样式干扰。createPortal接收要渲染的React节点和目标DOM节点作为参数,将内容直接插入目标节点。这种方法特别适合模态框、Toast等需要全局显示的组件,确保它们不受父容器样式影响。示例显示,使用createPortal后Toast能正确显示,而不使用时则会受父容器裁剪影响。

2025-06-06 14:51:55 366

原创 刺猬的开发笔记之useEffect简单实战

useEffect和useState一样,是React里的一个钩子函数,如果你不知道useState是什么,请左转React官方文档状态管理部分,很快我的学习笔记也会增加一个React专栏,虽然useEffect在官方文档的脱围机制里也介绍了,但是既然在系统学习之前开发的时候先遇到了那还是先写一个开发笔记,讲一讲实用的而非理论的,简短的而非冗长的。其实这个组件使用的既不是轮询机制,也不是传统的事件通知机制,而是 React 的 “依赖驱动副作用” 机制。

2025-06-05 18:59:38 343

原创 刺猬的开发笔记之一文讲明白React.FC是什么

React 16.8+版本React.FC成为了一个函数式组件,引入了Hooks之后,可通过 useState 管理状态并通过 useEffect 处理副作用,是有状态组件,也不再是严格纯函数了。这里使用了&符号将任意的Props类型P和children属性合并,children是可选属性,类型为React.ReactNode,也就是任意合法的React子元素。React 16.8 前,函数组件是一个纯函数,纯函数仅接收 props并返回JSX,无生命周期/状态管理,是无状态组件。

2025-06-05 15:37:26 1917

原创 全栈之路——前端(二):TS之接口(interface)

本文摘要:TypeScript接口是定义对象结构的关键工具,具有以下特性:接口通过描述对象形状进行类型检查2.支持可选属性(?)和只读属性(readonly)3.可通过类型断言或索引签名处理额外属性4.可描述函数类型,参数名不敏感但类型需匹配5.支持数字和字符串两种索引类型,数字索引返回值必须是字符串索引返回值的子类型接口为TypeScript的类型系统提供了灵活的对象结构定义方式。

2025-06-04 16:21:24 766

原创 全栈之路——前端(一):ES6之函数的扩展

学习笔记。

2025-06-03 01:15:10 1873

原创 全栈之路——前端(一):ES6之数值、运算符的扩展

JS中所有数字都是64位双精度浮点数,进而导致数值的精度只能精确到53个二进制位,及16个十进制位,大于这个范围的整数无法精确表示,大于或等于2的1024次方的数也会无法表示,返回Infinity。表示JS的最小精度,相当于2的-52次方,主要是为了给浮点数计算设置一个误差范围,比如,误差范围设为 2 的-50 次方(即Number.EPSILON * Math.pow(2, 2)),即如果两个浮点数的差小于这个值,我们就认为这两个浮点数相等。Math.log2(x)返回以 2 为底的x的对数。

2025-06-01 03:06:22 1002

原创 全栈之路——前端(一):ES6之字符串、正则的扩展

ES6对字符串和正则表达式进行了多项增强。字符串方面,扩展了Unicode表示法,支持大括号码点;增加Iterator接口,使for...of能正确识别Unicode字符;允许直接输入U+2028和U+2029特殊字符;引入模板字符串支持嵌入变量和表达式。正则方面,新增u修饰符处理四字节字符,y修饰符实现粘连匹配,s修饰符(dotAll模式)让.匹配所有字符;提供flags属性获取修饰符;支持Unicode属性类和具名组匹配。这些改进使JS更好地处理Unicode字符和复杂正则匹配场景。

2025-05-30 15:22:08 927

原创 全栈之路——前端(一):ES6之解构赋值

而这种情况下,则会得到不一样的结果,这是因为上面的代码是在为x和y这两个变量指定默认值,而下面的代码是在为move的参数执行默认值,因此需要参数为undefined才会生效。这时p是模式,是一种用来描述如何从数据结构中提取属性的模板,不是变量,可以理解为取出obj对象中在p路径下的属性键值对赋给x和y变量,因此模式本身不会被赋值。最后,不建议在解构赋值中使用圆括号,除了赋值语句的非模式部分,其余在解构赋值中使用圆括号的情况都会导致报错。类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值。

2025-05-28 16:37:21 564

原创 全栈之路——前端(一):ES6之let和const

笔者在个人项目前端开发中经常用到let和const命令,开始系统学习后才发现这两个命令来自于ES6的规范。

2025-05-27 21:20:38 1614

空空如也

空空如也

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

TA关注的人

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