- 博客(590)
- 资源 (20)
- 收藏
- 关注
原创 GraphQL 工程篇:分页、数据优化与 React Hooks 实战
如果有额外的业务需求,需要在 React 组件外调用 GQL,那么可以 GQL 保存为对应的方法,再在不同的地方进行调用。是会 cache 数据的,也就是说,如果使用 singleton,在永远都有 1 个实例的情况下,就只能获取实例初始化时获取的资料。如果这是一个只读数据库,那么不会有很大的问题,不过在大多数的业务场景下,还是需要考虑 CRUD 四个操作的**本身接管了状态管理的部分,因此相比较原本的实现,使用 apollo-client 提供的 hooks 的代码更加的简洁明了。
2025-06-11 06:40:37
662
原创 GraphQL 实战篇:Apollo Client 配置与缓存
从主页面到子页面还会进行 fetch——因为缺乏必要的 description,但是当从子页面返回主页面时,数据在已经存在的情况下,就不会自动更新了。尽管这种调用方式比较少见,但是也是具有特定的业务场景的,因此返回值并不推荐使用强制非空操作,而是建议使用 custom error。但是,这也会同样触发其他的问题,比如说下面这个情况,当所找的公司不存在,又如果使用非空操作就会跑出内部异常错误,同时。我觉得应该是可以满足大多数的业务需求了。具体的认证流程就不说了,这里依旧用的是基础的 jwt 进行认证。
2025-06-09 06:06:11
1002
原创 Fullstack 面试复习笔记:HTML / CSS 基础梳理
本来是想把H5C3JS的东西放一起整理的,然后看了下有点长……毕竟主自用,还是先拆开来方便自己复习了。
2025-06-07 06:38:52
1123
原创 Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理
这篇笔记主要会过一遍 Spring 的核心内容,不会特别的详尽,知识需要过一下脑子的关键点,毕竟虽然说是全栈,不过最近找的项目还是以重前端为主。
2025-06-06 11:12:02
796
原创 Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理
HTTPS(HyperText Transfer Protocol Secure)是HTTP 协议在 SSL/TLS 层上的加密封装版本,本质上是:对称加密(传输内容加密)非对称加密(交换密钥)摘要校验(验证内容完整性)证书认证(验证服务器/客户端身份)防窃听:请求和响应内容会被加密,避免被中间人窃取。防篡改:即使截取了数据,也无法修改内容而不被发现。身份认证:通过证书确认服务器身份,防止伪装攻击(如钓鱼网站)。客户端请求https://页面,发起 TLS 握手。
2025-06-02 08:29:47
1323
原创 GraphQL 入门篇:基础查询语法
最近准备面试的东西,所以就开始查漏补缺,就发现缺的东西还是蛮多的吧……(挠头果然还是得定时找找工作之类的,和市场上的行情校对一下,这样才能够知道最近市场上需求的人才/知识是什么。之前的话有点太沉溺于 React 的垂直发展,最近找纯前端不太顺利,全栈纵向发展又有点不太够……能补一点是一点吧 😮💨用的就是课程名。
2025-06-01 10:00:40
1053
原创 API Gateway CLI 实操入门笔记(基于 LocalStack)
Tags: aws主要先简单的走一下流程,熟悉一下在 terminal 操作 API Gateway。
2025-05-26 16:19:47
950
原创 Notion 系列(二):进阶用法与工作流整合实践
最近也是一直在自己的个人项目里面使用 notion,确实蛮喜欢的,也遇到了一些问题,这里就记录一下一些学到的新特性,以及对之前的使用/学习进行一个补充notion1 的内容比较系统,这里稍微零散一些,主要是过去大半个月碰到什么就记了下来,日常生活中也不是非常用得上。
2025-05-25 12:17:00
812
原创 yup 使用 3 - 利用 meta 实现表单字段与表格列的统一结构配置(适配 React Table)
手写验证+自己抽离 UI 逻辑这个是最初开始接触 React 时,在写了几个项目需求的表单后,自己琢磨出来的一套,在当时的项目里可以使用的功能。因为当时项目的需求要求 bundle 要小,需要 minimal dependency,所以很多东西都必须自己实现,也就自己造了些轮子大体的逻辑是,每个 state 抽出来这样的逻辑:const form = [},
2025-05-12 07:48:30
1002
原创 Notion 系列(一):页面与数据库的结构化实践
这篇笔记会从自己使用的角度记录一下这段时间关于 notion 的学习,预计是会分成 2-3 篇去完成,第一篇就是一些比较简单的 notion 笔记使用方法 AKA Markdown 的写法,第二篇会记录一些数据库的学习和使用,以及一些想法。
2025-05-02 08:15:46
1091
原创 [MERN 项目实战] MERN Multi-Vendor 电商平台开发笔记(v2.1 基础工程化:Turborepo + Yarn Workspaces)
又是一起比想象中出现的早的文章,写这一篇的初心主要是来自于 2.0 的笔记中提出了一个疑问:微前端是解决业务逻辑重复的问题吗?这里直接做个回答吧,不是 ❌,前端工程化才是解题思路,而经历过两个大版本的变更,从 1.0 的基础后端+dashboard UI,到 2.0 的 storefront UI,现在已经出现了 2 个 UI 界面,也确实迎来了更多重复代码的挑战在花了两天的时间学习和研究,自觉有了些成果,打算趁着记忆还没消退的时候,系统性地整理一下。
2025-04-28 08:37:33
832
2
原创 JBoss Web 安全问题实战总结(Session / CSP / Host Header)
最近几天还在继续折腾 JBoss 的安全问题,有些问题能够从代码层解决,有些从代码层解决起来太麻烦了,不管怎么说,都先记录一下,省得以后如果碰到同样的问题,至少有资料可以参考一下真的,搞了两个礼拜了,快放过我吧 🙏 这么老的东西继续折腾下去会秃的……这次 copilot 真的是帮了倒忙了,我总觉得自己多 stack overflow 一下不至于花这么多的时间在正确的设置上……当然,我也没亏太多就是了……反正学到了就是自己的 wwwww。
2025-04-26 11:36:42
906
原创 [MERN 项目实战] MERN Multi-Vendor 电商平台开发笔记(v2.0 从 bug 到结构优化的工程记录)
其实之前没想着这么快就能把 2.0 的笔记写出来的,之前的预期是,下一个阶段会一直维持到将 MERN 项目写完,毕竟后期很多东西都是 cv 了。不过没想到,一个 frontend(2C 端的商城页面)写着写着还是碰到了不少的问题。
2025-04-24 13:22:00
941
原创 JBoss 项目修复笔记:绕开 iframe 安全问题,JSF 与 Angular 最小代价共存方案
前端还在使用 JSF毕竟这是一个老项目了,还在 active support 这个项目的那段时光里,JSF 毕竟还是主流前端尝试使用 AngularJS是 AngularJS,不是 Angular;是 1.x 的版本,不是 2.0+。当时的开发大概是感受到了 JSF 混合 xhtml 的问题——冗长、结构特别复杂、沉重并难以增添新的功能。
2025-04-21 07:07:51
771
原创 JBoss + WildFly 本地开发环境完全指南
其实原因很简单,就是项目需求……这两个月被 onboard 了一个新的老项目,原因大体是因为 InfoSec 发现了该项目里存在的一个安全隐患——通过 iframe 将 session id 传到了另一个 HTML 文件中,导致 session id 在 URL 上可见。这个项目本身也非常的老了——这个项目至少 17 年了,比 docker 的历史还久,因此之前修改了点内容,就得让后端的同时重新 deploy 到我们的测试环境去做测试。
2025-04-20 14:53:54
1187
原创 [MERN] 项目实战】MERN Multi-Vendor 电商平台开发笔记(v1.0 初版结构 + 技术实践)
这是最近在做的一个新的个人项目,主要是想从 B2B 转一下 B2C,自己再完整的实现一个从后端到前端的一个实现,技术栈的选择依旧是 MERN——当然,技术栈的选择其实很看个人以我来说,我主要还是写 React/JS/TS 前端的功能,后端部分以前 on bench 的时候简单的抄过一点 controller 的实现,后来自己也看了一点 express 的用法,不过一直以来都不算特别的体系化。
2025-04-16 16:05:00
968
原创 【实战笔记】TypeScript 服务端热更新配置全解(含 ts-node-dev + 路径别名 + VSCode 调试)
很久之前写过一篇,不过当时还没有很注重后端的部分,只是想快速的搭建 UI,然后测试一些新做的功能。不过这次开始写了 MERN 的一个项目之后就发现,用和nodemon的解决方法还是不太成熟,尤其是两个大问题没有办法解决:debugger使用和nodemon监听的还是编译后的代码,这也就意味着如果想要打断点,在编译前的 TS 代码中进行 debug,这个操作就有些力有不怠path 的变化这个是从相对路径改成绝对路径的导入方法,之前导入的方法基本都是这种,最近改成了这种。
2025-04-14 08:11:49
779
原创 [React] 如何用 Zustand 构建一个响应式 Enum Store?附 RTKQ 实战与 TS 架构落地
简单的描述一下我们现在有的功能,以及我想要提升的部分我们的项目是一个大型的 B2B 的项目,因此后端部分的检查配置特别多,这也就导致我们有很多的 enum——真的很多,一千多行,上百个 enums,而这只是在我内部使用的 data definition 文件中的。前端的业务相对而言会更加的复杂,尤其是 UI 需要基于不同的业务场景,将本来的 enum 进行切片,只渲染与当前业务场景相关的 enum。
2025-04-13 07:57:55
727
原创 [spring] spring AOP - 面向切面编程の学习
✅ 推荐使用 AOP 处理:日志、权限校验、上下文清理、异常封装、性能监控✅ 配合 MDC + ThreadLocal 实现 traceId 链路追踪更实用这里没提到,有空再研究下❌ 不推荐用 AOP 处理:复杂业务流程控制、数据库事务强控制、请求参数转换这部分的内容大体都会通过框架管理,使用 aspect 可能会 break 框架的管理🚫 Advice 中避免直接修改返回值、吞掉异常。
2025-04-06 12:09:46
733
原创 [Redux Toolkit] RTKQ & Refresh Token 的方法
省流:太长不想看,可以直接拖到最后拉 RTKQ 的解决方法先简述一下问题的背景情况,起源于自己做的一个私人练手项目的 jwt token 验证,结构大体如下:access token,其中 access token 的过期时间比较短——目前设置成 15 分钟该 token 本身会包含更多的信息,具体取决于项目需求,以目前主流的 OIDC 来说,规范可以包含以下信息:可以看到,常见的用户信息都在 OIDC 的规范里。
2025-03-31 08:20:40
901
原创 [React 进阶系列] 组合组件 & 复合组件
今天写个人项目练手的时候搜到了一个比价有趣的实现,于是用了一下,发现这个 concept 不是特别的熟,于是上网找了下,返现了一个叫的概念。搜索了一下后,发现 csdn 上关于这方面的比较少,很多搜出来的结果虽然写的是复合组件,但是实际上的逻辑更像是组合组件(composite components)甚至是 deepseek 给出来的结果都有些混淆:React 复合组件设计模式复合组件是一种常见的 React 设计模式,它通过组合多个子组件来构建复杂的 UI 结构。
2025-03-24 08:47:57
1017
原创 [spring] Spring JPA - Hibernate 多表联查 3
进行实现这是目前对于 Hibernate 学习的最后一步了,主要学习一下 many-to-many 的关系之前的内容都覆盖的差不多了,整体来说这篇笔记会比较短,也没这么多代码。
2025-03-23 22:49:42
960
原创 lodash 学习笔记/使用心得
简单记一下 lodash 的一点学习笔记+使用心得,最近也是打算清理一下所有的 dead code,然后发现我们用了好多的 lodash 方法。对比了之前的写法,重新看了一下官方文档,再自己重新动手写了点 util 之后发现……lodash 确实是怪好用的 😯 之前用法其实没能够使用到 lodash 最方便的地方,而且 lodash 对于 null/undefined 这种 falsy value 的支持很好,至少是一致的,这。当然,用不好的话也有可能会造成 debug 的困难就是了……
2025-03-23 12:33:56
1027
原创 [spring] Spring JPA - Hibernate 多表联查 2
这篇笔记基于之上进行的实现,主要的 skeleton 都在那里了,代码不一定会全部 cv这篇主要实现的是 one-to-many 和 many-to-one 的关系。这个实现起来和上一篇里用@OneToOne以及的方向是一致的,同样是一个表里设有 foreign key(一半在 many 的那个实例中),另一个没有 foreign key 的通过 mappedBy 去做 join 搜索。
2025-03-19 10:12:40
643
原创 [spring] Spring JPA - Hibernate 多表联查 1
之前在和简单的学习了一下怎么使用 Hibernate 实现 CRUD 操作,不过涉及到的部分都是逻辑上比较简单的实现——只在一张表上进行操作关于多表关联的部分,只是在关键字中提到了有提到过 Relationship 的注解,之后这两章内容就会对 Relationship 进行学习。
2025-03-18 11:52:53
1105
原创 [MERN] 使用 socket.io 实现即时通信功能
效果实现如下:MERN-socket.io 实现即时聊天项目使用了 MERN(MongoDB, Express, React, Node.js) + socket.io 实现即时通信功能,并且使用了进行 monorepo 的后端、前端和 socket 的模块管理用到的具体技术栈有:MongoDB实现了数据的持久化Express实现的后端,负责登陆/注册/获取聊天记录的功能React实现 UI 功能Redux实现了 UI 部分的状态管理。
2025-03-09 12:35:29
946
原创 Redux 持久化的简易实现
自从换了 redux toolkit 之后还没实现过持久化,本来还是想用 redux-persist 的,毕竟以前一直用它,而且 RTK 的官方文档上也有列举……不过很可惜的事情就是,redux-persist 上一次更新还是 2021 年从 JS 升级到 TS,然后这也导致了在 audit 这个 package 的时候出现了一些 security warning,会导致项目没办法部署……最后因为要实现的功能比较简单,最后参考了一下另一个 n 多年没更新的包,自己实现了一下功能。
2025-02-24 10:15:48
887
原创 keycloak - 开发环境的配置持久化
前情提要:本来是想顺便试一下 Okta 集成的,但是发现 Okta 没有本地的 docker 镜像,他们毕竟是做 Identity as a service……算了……主要的区别就是添加了一些指令、镜像源换成官方镜像,随后更新了一下 volume 和环境名,其他和前文基本都一样。
2025-02-23 07:46:59
264
原创 [Spring Boot] Expense API 实现
记账(expenses API)类型(categories API)用户(登录/注册/更新/删除 API)整体的验证是通过 JWT Token 去实现的,没有实现管理员权限。java17docker运行方式可以直接跑根目录下的start.sh,脚本会运行指令打包 spring boot jar 文件。
2025-02-16 14:03:09
1101
原创 [java] comparable & comparator
Comparable 和 Comparator 是两个看起来比较相似的两个实现,主要的差别就是 comparable 是和自己比较——同时也实现了自然顺序,comparator 用来比较两个对象也因此,比较常见的使用案例是在 entity 对象上实现 comparable,以及新建一个帮助类去实现 comparator。
2024-12-23 00:23:20
450
原创 Eleven Table Tennis 资料备份
key:467057.24(如失效尝试 605362.1)虽然评论区里面说的有不同的配置,不过我下载了 605362.1 试了一下,发现如置顶评论一样,黑色胶皮的配置都是一样的,同样的胶皮不同名字下配置也不太一样……不过我个人试了一下,比默认配置好一些,就将就着用了……反正我练习拍就是银河 U2+729 套胶,比赛主拍是本 A+正手省狂蓝海棉+反手罗泽纳 和 超本+正手 D09C+反手罗泽纳,本身就差很大,有些内劲能打就行……这个配置里目前我用的是 O……但是没什么差别就是了……
2024-09-20 10:49:15
734
原创 [React 进阶系列] useSyncExternalStore hook
这个新的 hook 可以监听到 React 外部 store——通常情况下可以是 local storage/session storage 这种——的变化,随后在 React 组件内部去更新对应的状态官方文档其实解释的比较清楚了,使用监听的 store 必须要实现以下两个功能:subscribe其作用是一个 subscriber,主要提供的功能在,当变化被监听到时,就会调用当前的 subscriber。
2024-07-15 19:48:14
1374
原创 yup 基础使用以及 jest 测试
写在前面的一些碎碎念……与具体功能无关,想要跳过的话可以直接跳到下下个 section 进入实现。这次尝试用了 vite 而不是 webpack 的 cra,发现开发过程中真的是快很多,也许下下个 initiative 确实会从 webpack 的 cra 转变到 vite。
2024-07-15 08:20:17
1604
原创 [spring] Spring MVC - security(下)
前面的实现都是用默认的 spring boot 实现,即用户的表为users,而权限的表单为。但是在实际的应用场景中,更多的业务情况是需要使用更特定的表名。spring 同样也有对这个需求的支持,其实现方式则需要写少量的 sql 语句这里需要更新的也是,之前是直接返回@Bean。
2024-07-08 09:45:44
1044
1
原创 [spring] Spring MVC - security(上)
这里有 3 个步骤要去做:重新写 spring 的安全配置,使用自己的 HTML 模板取代 spring boot 内置的 HTML 模板// 省略 inMemoryUserDetails 的实现@Beanconfigurerform主要是用来处理 HTTP 请求,对其进行安全处理则是具体对 HTTP 请求进行安全处理的配置代表所有的 HTTP 请求都必须要进行安全处理,即登录验证简单的说,访客是没有权限访问当前应用formLogin是表单登录验证这里主要进行 3 个处理。
2024-07-07 10:40:33
1278
原创 [spring] Spring MVC - CRUD 操作
除了 Rest API 部分改成了 Controller 之外,其他没什么变化,还是使用这个实现方式,因此关于 CRUD 的部分——即 hibernate 实现的部分,这里不会过多涉及也因此,这部分的代码实现应该还是挺快的,毕竟主要还是 HTML 模板+controller 实现。
2024-06-24 05:40:42
1219
typescript-handbook.pdf
2021-04-09
JavaScript实现区块链功能
2023-05-09
jQuery炫酷应用实例集锦 JQ3.0 重写版
2022-05-08
JS array数组部分功能实现
2022-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人