- 博客(46)
- 收藏
- 关注
原创 java日常开发笔记和开发问题记录
比如整型定义成 Integer 而不是 int,Integer 可以为 null,可以区分出未赋值 null 和 0 的情况,而 int 是基本类型不能赋值为 null,除非是确定知道值或者定义枚举里(方便直接用 == 比较)。如果是 Integer 即使为 null 也可以直接set值的,而如果是 int 设置为 null 的值时就会报 NullPointerException 空指针异常。
2025-04-04 18:37:43
740
原创 前端开发日常工作每日记录笔记(2019至2024合集)
从2019年开始,在工作之余会主动记录一些东西,像每天遇到的问题、感想和学到的新的知识点,后面搭建了博客又开始写博客,也整理和记录了很多的笔记。
2025-04-04 18:29:42
778
原创 java练习项目记录笔记
同时运行多个 spring 服务,最下面的一个服务颜色是灰色的,不影响运行,但是看着别扭。代码块:跟类一起优先加载,优先于构造器加载,一般用于初始化静态资源,分为有static修饰的静态代码块(只加载一次)和无static修饰的构造代码块(实例代码块,属于对象,每次创建对象都会加载,一般不会用到)。程序要尽量依赖于抽象,不依赖于具体。某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等),产生数据的模块就形象地称为生产者,而处理数据的模块就称为消费者。
2025-04-04 18:21:55
611
原创 前端开发中JavaScript、HTML、CSS常见避坑问题
自定义属性不可以通过【元素.自定义属性名】来获取,要用 getAttribute(‘自定义属性名’)。
2025-04-04 18:07:59
645
原创 nodejs开发后端服务详细学习笔记
2022年4月20日2022年4月23日Structured Query Language 结构化查询语言,是一门数据库编程语言,只能在关系型数据库中使用查询数据 select插入数据 insert into更新数据 update删除数据 deletewhere 条件and 和 or 运算符order by 排序count(*) 函数。
2025-04-04 12:56:46
973
原创 nodejs开发后端服务学习笔记
内网穿透:NAT 穿透,内网也称为局域网,就是路由器搭建的网络,比如需要访问别的站点,就要是公网,我们的普通电脑只有一个局域网ip,没有公网ip,同一局域网内的设备可以通过局域网ip找到你,但是不在这个局域网内的设备则找不到你,最多只能找到你的路由器,但进不了你的局域网,局域网外的设备要访问你就需要内网穿透。package.json里记录要安装的包信息,以 ^开头的就是匹配安装第一位大版本的最新版本包,以 ~ 开头的就是要匹配第二位功能版本的最新版本包,没有其他符号的就是直接安装具体版本的包。
2025-04-04 12:35:34
546
原创 github和npm开启2FA双重身份验证无法登陆
2FA 是 two-factor authentication 的缩写,翻译成中文就是双重身份验证,是登录网站或应用时使用的额外保护层。当启用了 2FA 时,登录的时候除了用户名和密码外,还必须提供另一种只有你自己知道或可以访问的身份验证形式。这样就是别人盗取到了你的用户名和密码也没办法登录你的账号了,对我们来说也更加的安全。github 和 npm 从2023年起就强制要求账号只能用 2FA 登录了。
2025-03-25 22:03:28
788
原创 用git rebase命令合并开发阶段中多条commit提交记录
通过 git rebase 可以合并开发阶段的多个 commit,让我们的提交记录更干净。
2025-03-23 23:14:21
257
原创 DDD四层架构和MVC三层架构的个人理解和学习笔记
DDD的全称为Domain-driven Design,即领域驱动设计,从名字上就可以看出这里的核心就是Domain即领域。
2025-03-23 22:03:50
811
原创 前端开发中使用whistle代理工具
代理工具有很多像比较有名的Charles、Fiddler,最近发现了一款宝藏代理工具,看到团队中有很多人在用,刚开始还有点不太理解,前端我们一般代理接口解决跨域这些不都是直接在webpack、vite中配置代理规则就行了。直到使用了whistle之后发现真香,提供的功能也比较强大,下面就分享几个在前端开发中实际使用的场景。注意需要依赖本地node环境,谷歌浏览器中一般会配合SwitchyOmega插件来使用,具体的一些基础配置可以参考whistle官方文档。
2025-03-23 21:46:14
708
原创 程序员的35岁焦虑根源于只会写代码,在商业中技术只是很普通的资源!
大部分程序员的35岁焦虑,根源于只会写代码,离开了公司你的代码将一无是处,实际在商业中技术只是很普通的资源。写代码本质并不能称为一门手艺,只是整个商业流水线上的一个环节,和在工厂里打螺丝并无本质区别,都是不断地机械重复,所以普通人只能进工厂打螺丝赚工资,而不能自己在家打个螺丝就把钱赚了。还有就是3个月、6个月的码农遍地都是,深南大道路边的芒果树上掉下来一个芒果,砸中的10个人中有9个...
2025-03-12 00:39:45
370
原创 深圳宝安松岗五指耙公园徒步
五指耙公园地处深圳宝安区松岗镇大田洋六路,在松岗和光明区交界的地方,周围没有地铁,只能徒步????、骑行????或者自驾????过去。公园整体就是围绕着一个水库修建了一圈绿道,里面还有园林、古亭、观景台、露营区????️、游乐场????。公园里电动车????不能骑进去,入口这儿有专门停电动车的区域,公园里面有那种可以出租的三轮电动车。五指耙公园碧道入口公路旁边的碧道入口,上去就能看到水库。入口处给孩子们玩沙子的区域。螺旋观景台一个螺...
2025-03-12 00:28:50
274
原创 关于JavaScript性能问题的误解
因为 JavaScript 是单线程的,所以只能从上到下一行一行去执行代码,如果遇到大的数据量计算就会比较耗时,也就是我们大部分人理解的性能有问题。
2025-03-02 18:11:20
418
原创 前端后端测试程序员必备的查看后端日志技巧
日常工作中不管是前端、后端还是测试,其实我们都离不开日志,尤其对于后端来说日志更加重要,代码中合理地打印日志,能极大地提高我们定位和排查问题的效率。前端平时更多关注界面上的东西,习惯直接F12在控制台 network 中查看接口响应的数据,或者通过 console 来直接打印前端代码中的日志,所以也导致即使工作了几年还不会登录到服务器上查看日志。我以前也经历过这样的阶段,那个时候看见别的前端在小黑窗里敲了几个字母就能查看日志感觉好厉害。
2025-02-06 01:01:12
786
原创 抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
写这篇文章的初衷并不是要大家真的不用node和vscode,说实话前端发展成今天这样,在实际开发中确实离不开node和vscode这类工具了,但往往工具用多了我们自己也成了一个工具人!最近在开发wordpress插件的时候,需要在插件中生成一个wordpress网站前端页面,按照wordpress的开发路径,是需要在php代码中来动态拼装页面html代码,然后你会发现整个页面的php代码文件中有:php代码、javascript、html、css,可谓眼花缭乱,大部分逻辑就是php中混合着写javascr
2025-01-20 07:00:00
2622
原创 java代码优化:判断内聚到实体对象中和构造上下文对象传递参数
通过两个常见的java后端实例场景探讨代码优化,代码不是优化出来的,而是设计出来的,我们永远不可能有专门的时间去做代码优化,优化和设计在平时
2025-01-07 21:34:13
689
原创 java日常开发中如何写出优雅的好维护的代码
开发中合理添加注释,提高代码的可读性和易读性1、在类、接口、方法、属性、代码块、有特殊逻辑的地方都要添加注释说明2、推荐中文注释,减少理解成本3、遵循 javaDoc 注释规范,除方法内的代码块用 // 注释,其他地方推荐 javaDoc 注释
2024-12-15 23:44:29
931
原创 DDD架构中assembler和converter的区别
DDD四层架构模式中,各层的对象我们需要借助assembler或converter来进行转换,但在实际项目中assembler和converter大家使用都很随意,很多项目中每一层都建了一个assembler目录,里面有的是 XxooAssembler,有的是 XxooConverter,看着也没什么规范也不知道是根据啥定义出来的,所以萌生了想要一探这两者区别的想法。
2024-11-09 19:24:49
918
原创 mac和windows上安装nvm管理node版本
NVM 是 node version manager 的缩写,它是一个用来管理电脑上 node 版本的命令行工具,在日常前端开发中是一个跟 node 一样会经常用到的工具,可以很方便的让我们快速切换不同的node版本。
2024-08-22 07:15:00
1202
原创 mybatis动态SQL常用语法总结
在 mybatis 的 xml 文件里写的 sql 语句实际用的是一门叫做 OGNL 的表达式语言,OGNL 全称 Object Graph Navigation Language 对象图导航语言,是常应用于 Java 中的一个开源的表达式语言(Expression Language),它被集成在 Spring、Mybatis、Struts2 等 Java 框架中,通过简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现类型转化等功能。
2024-07-10 23:11:29
1332
原创 谁说forEach不支持异步代码,只是你拿不到异步结果而已
在前面探讨 forEach 中异步请求后端接口时,很多人都知道 forEach 中 async/await 实际是无效的,很多文章也说:forEach 不支持异步,forEach 只能同步运行代码,forEach 会忽略 await 直接进行下一次循环…
2024-07-10 21:44:32
1253
原创 遍历请求后端数据引出的数组forEach异步操作的坑
有一个列表数据,每项数据里有一个额外的字段需要去调另外一个接口才能拿到,后端有现有的这2个接口,现在临时需要前端显示出来,所以这里需要前端先去调列表数据的接口拿到列表数据,然后再遍历请求另外一个接口去拿到对应的字段数据,最后再塞到列表数据里,具体可以看下面的示例代码。
2024-07-09 22:52:14
690
原创 java常用数据判空、比较和类型转换
java 开发中我们经常会用到的数据判空、数据比较和不同数据之间的类型转换,尤其数据判空可以让我们避免经常会出现的 NullPointerException 空指针异常报错。
2024-06-30 21:00:01
832
原创 从0到1开发一个自己的npm包完整过程
很多人一想到封装这些就觉得是一件很难的事,其实除了前端中我们经常用到的 ui 组件库,还有很多东西都是可以自己来封装成 npm 包的,哪怕只是一个处理某些数据的 function 函数同样是可以发布成 npm 包的。当然,这里也不推荐大家往 npm 上随便发布一些无意义的包,但是对于我们很多项目中用到的一些自己的公共方法,就完成可以封装成一个自己的 npm 包以便在不同的项目中复用。这样就会在本地的全局 npm 目录中创建一个我们自己的包的符号链接,可以通过 npm list -g 命令来查看是否生效。
2024-05-27 22:49:23
1608
原创 小程序中使用npm安装vant组件实现按需引入减少代码包大小,避免触发用户隐私协议
微信小程序按需引入 vant 组件,自动清除项目中未使用的 vant 组件,减少代码包大小,避免因未使用到的 vant 组件触发隐私协议提交审核时被拒
2024-05-25 11:52:00
1180
原创 小程序中使用npm安装vant组件实现按需引入减少代码包大小,避免触发隐私协议...
在小程序中使用 vant 组件库主要有以下两种方式:下载源代码包放入项目中,可以自己删掉没用到的组件,不过后期只能自己手动更新,会不太好维护通过 npm 的方式安装管理依赖,后期更新可以直接交给 npm 来管理,方便维护正常项目中我们可能都会选择 npm 的方式,但是这种方式 vant 和小程序并不支持像我们一般的前端项目中的按需引入,小程序开发工具构建 npm 时会把整个 vant 的组件编译到...
2024-05-25 11:43:39
450
原创 苹果app开发apple-app-site-association文件配置
apple-app-site-associon 是苹果公司提供的一种能让app和网站关联起来的配置文件格式,用于在app中实现Universal Links。该文件包含app与网站之间的关联信息,使得用户在点击网站链接时可以直接唤起手机上的app,实现跳转到app内对应页面的功能,提升用户体验
2024-05-19 23:17:12
4429
1
原创 java项目中使用protobuf扫盲笔记
最近公司 Java 项目中有用到 protobuf,查了些资料还是一脸迷茫。主要纳闷这玩意到底有啥用呢?直接自己写 class、interface 不是更方便,还需要先写个 .proto 文件编译成 java 文件再来调用,这不是脱了裤子放屁吗? Protocal Buffers(简称protobuf)是谷歌开源的一种数据传输协议,类似于 XML、JSON 等技术,用于结构化的数据序列化、反序列化...
2024-01-29 11:50:36
522
原创 从前端开发的视角来搭建本地 java 开发环境
从前端开发的视角来搭建本地 java 开发环境,其实主要也就 java 环境、maven 包管理工具、IntelliJ IDEA 开发工具这3个方面,对应前端中的 nodejs 环境、npm 包管理工具、vscode 开发工具。java 环境jdk8 官方下载地址:https://www.oracle.com/java/technologies/downloads/#java8,下载解压后,先在环...
2024-01-28 23:37:47
477
原创 vue插槽slot、slot-scope、v-slot的区别以及嵌套插槽的使用
可以将 slot 理解成一个占位的东西,我们提前在模板中放置一个占位的标记,当其他地方要使用模板时就可以通过标记再传进来具体的内容,这样就可以实现更强的复用能力。slotslot 在英语中作为名词时表示:(可投入东西的)狭长孔,狭槽;(在一系列事件中为某事安排的)时间,空档;(组织、团体等中的)位置,职位。在 vue 中翻译成插槽:vue 实现了一套内容分发的 API,这套 API 的设计灵感源自...
2024-01-21 23:57:42
5110
原创 一篇文章搞懂TypeScript
TypeScript 是 JavaScript 的超集,一方面给动态类型的 js 增加了类型校验,另一方面扩展了 js 的各种功能。原始数据类型字符串数值布尔nullundefinedSymbolBigIntlet str: string = '周小黑'let age: number = 18let beautiful: boolean = truelet n: null = nullle...
2024-01-08 23:55:27
884
原创 JavaScript难点:原型、原型链、继承、new、prototype和constructor
我们可以通过将一个构造函数的 prototype 指向另一个构造函数来实现继承父类的属性和方法,但是往往还会额外加一个 Child.prototype.constructor = Child,这是因为直接通过 prototype 修改了原型后,当前子类原型里的 constructor 实际上还是指向的父类构造函数(因为 prototype 本来就是父类的),这不就和我们上面说的 “原型对象 prototype 中有 constructor,指向该原型的构造函数” 相矛盾了。实例对象的原型属性可以用。
2023-12-16 10:19:59
958
原创 手写JSON.parse和JSON.stringify
搞懂了有限状态机,手写各种解析器都不在话下,主要区别也就是考虑怎么去设计各种状态流转。如果不理解有限状态机建议先去阅读:用有限状态机实现一个简版html解析器,然后再来阅读本文就很容易理解了。手写JSON.parse有两种实现方式,第1种初级版没啥难度,第2种利用状态机自己去解析字符流,需要先学习下编译原理相关的知识,否则理解起来可能有点蒙。初级版本 JSON parse直接通过 eval 函数实...
2023-11-29 22:06:49
549
原创 用有限状态机实现一个简版html解析器
FSM(Finite State Machines) 有限状态机,也叫有限状态自动机,是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型,它拥有有限个数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态机有什么用代码编译器在工作时就需要通过词法分析、语法分析、语义分析来得到 AST(Abtract Syntaxt Tree) 抽象语法树。需要先词法分析拿...
2023-11-28 23:16:53
1056
原创 用uniapp开发跨端应用开发打包发布完整指南
一、uni-app项目介绍用uni-app开发多端项目,一套代码可同时打包出各端小程序、h5和app,uni-app支持通过 HBuilderX可视化界面 和 vue-cli命令行 两种方式创建项目,下面示例项目采用 HBuilderX可视化界面 的方式创建,cli项目可参考uni文档,大部分流程都是通用的。项目结构:├── common api文件 ├── compone...
2023-11-21 22:42:31
426
原创 用vitepress搭建文档网站踩坑记录
之前用 vuepress2 + vite 成功搭建了一个博客网站,这不 vue3 的文档改用 vitepress 搭建的,看着挺好看的,就想着也来折腾折腾搭建一个工作的文档网站。配置目录名叫 .vitepress注意不要走错频道了,这不是 vuepress 的片场,刚开始我就新建成了 .vuepress,配置了半天导航、侧边栏咋就是没效果呢,明明跟 Getting Started 上教的代码一毛一...
2023-11-17 12:02:00
250
原创 用vuepress2搭建自己的github网站
最近打算自己做一个博客网站记笔记,然后部署到github上,最终选择了vuepress的最新版本v2(使用的是vue3和TypeScript开发,默认使用Vite作为打包工具)。一、根据官方示例搭建项目直接根据官方文档先初始化项目就行了,注意文档的版本,v1和v2还是有很多地方不同的。二、将代码推到github上最终我们是要部署到github上,所以直接在github上新建一个自己的项目仓库就好了...
2023-11-16 22:43:16
122
原创 wordpress插件开发踩坑记
想要使用 REST API 需要自己额外安装插件:WordPress REST API,现在 WordPress 5.0以上的版本已经默认支持 REST API了,不需要额外去安装插件。新站首次用 Postman 去 访问 REST API 接口,如:http://cafe123.cn/wp-json/wp/v2/posts,会发现返回的是 404,需要自己在管理后台将:设置-固定链接-常用设置,...
2023-11-16 22:41:34
309
原创 webpack代理proxy配置
前端项目开发中我们经常会用到 proxy 代理来解决接口跨域问题,通常是在 webpack.config.js 或 vue.config.js 或 vite.config.js 中配置:devServer: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true,...
2023-11-16 22:40:40
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人