- 博客(35)
- 收藏
- 关注
原创 Nice Extension 解除网页限制,让你自由浏览网页内容
Nice Extension 解除网页限制,支持一键启用复制、去除 debugger 断点、屏蔽弹窗、解除右键、粘贴和键盘操作限制,让你自由浏览网页内容。
2024-12-23 00:57:26
468
原创 搭建 Redis 集群【Windows】
Redis 集群是一个分布式存储解决方案,它将数据分布在多个Redis节点上,以提高系统的可伸缩性、可靠性和性能。
2024-06-14 15:53:15
1187
2
原创 搭建 Tomcat 集群【Nginx 负载均衡】
当我们想要提高后端服务器的并发性能,可以通过分配更多的资源给 Tomcat 服务器,但是这只能提高一部分的性能。因为每台 Tomcat 的服务器是有最大连接数为 200.所以即可拥有无穷无尽的内存,也会因为单台 Tomcat 的原因而无法发挥这些资源的最大价值。所以我们就使用多台 Tomcat 来解决这个问题。然后使用 Nginx 负载均衡来将请求转发到后端服务器。首先你得先有 Nginx 的安装包,这里我就不演示这个下载安装的过程了。
2024-06-14 15:52:10
563
原创 Redis 搭建主从复制、哨兵模式【Windows】
定义:Redis 主从复制模式是一种数据同步策略,通过配置多台 Redis 服务器,一台作为主服务器(Master),负责处理写操作;而其他服务器作为从服务器(Slave),负责处理读操作。特点主从复制模式实现了读写分离,主服务器专注于处理写操作,而从服务器则专注于处理读操作,从而减轻主服务器的压力。主从复制模式提供了数据冗余,即使主服务器出现故障,从服务器仍然可以提供服务,保证系统的可用性。OK!关于 Redis 主从复制以及哨兵模式的搭建就到这里,之后我们还会介绍搭建 Redis 集群。
2024-06-11 12:37:09
1454
原创 前端渲染大量数据思路【虚拟列表】【异步机制】
当浏览器遇到性能瓶颈导致页面卡顿时,你会怎么处理?如何查找问题的原因?浏览器本身自带性能检测工具,通常我们分析由脚本导致的页面卡顿会选择选项卡,在其中我们可以找到导致页面卡顿的函数,另外通过观察我们可以看到脚本的执行时间占比以及页面卡顿的程度。此外还有内存选项卡,可以截取当前页面的内存快照,由于我们的页面通常不像服务器那样一直运行,所以平常我们也不会过于关注页面的内存使用问题。
2024-06-08 19:21:19
946
原创 ES5/ES6 的继承除了写法以外还有什么区别?
为子类没有自己的 this 对象, 而是继承了父类的 this 对象, 然后对其进行加工。注意: 在子类构造函数中, 调用 super 后, 才可使用 this 关键字, 否则。须先调用父类的 super()方法) , 然后再用子类的构造函数修改 this。ES6 的继承机制完全不同, 实质上是先创建父类的实例对象 this(所以必。ES5 的继承实质上是先创建子类的实例对象, 然后再将父类的方法添加。注意 super 关键字指代父类的实例, 即父类的 this 对象。必须使用 new 调用 class。
2024-06-08 19:20:16
627
原创 【SpringBoot】项目搭建基本步骤(整合 Mybatis)
搭建 SpringBoot 项目有两种方式:使用 IDEA、或者在 Spring 官网下载。
2024-06-08 19:19:45
392
原创 了解 Babel 的底层原理
是一个流行的 preset,它允许你指定你想要支持的 JavaScript 环境(如 ES2015、ES2016 等),然后 Babel 会自动包含必要的插件来转换这些特性。每个插件都定义了一个或多个访问者(visitor),这些访问者会在 Babel 的解析过程中被调用,用于处理特定的语法结构或模式。这意味着如果两个转换插件都将处理“程序(Program)”的某个代码片段,则将根据转换插件或 preset 的排列顺序依次执行。插件可以是官方的、第三方的,甚至是你自己编写的。插件的排列顺序很重要。
2024-06-08 19:19:07
901
原创 MyQL 事务隔离级别解析
脏读读取的是未提交的数据。不可重复读读取的是同一行数据,但数据内容已被其他事务修改。幻读针对的是多行数据,由于其他事务的插入或删除操作,导致满足条件的行数发生了变化为了解决这些问题,数据库提供了不同的事务隔离级别,如读未提交、读已提交、可重复读和串行化。每个隔离级别都有其优缺点,选择哪个级别取决于应用的具体需求和性能考虑。
2024-06-08 19:18:08
388
原创 快速入门 Git,大佬必经之路
主要用于跟踪和管理代码变更。它可以帮助开发者有效地处理从小到大的项目版本管理,是Linus Torvalds为了帮助管理Linux内核开发而开发的开放源码的版本控制软件。Git的主要功能包括初始化仓库、添加文件、提交变更、创建分支、切换分支、合并分支、撤销变更、查看历史、远程操作等。Git的特点在于速度快、断网也可以工作、可以随时撤销未提交到远程库的代码、可以查看历史提交记录等。同时,Git支持跨平台使用,具有强大的分支管理和团队协作功能,适合进行大规模项目的管理。
2024-05-19 15:42:59
1004
2
原创 深入理解 HTTP 缓存
浏览器缓存不是本地存储,要分清。浏览器缓存分为强缓存和协商缓存。讲解之前,我画了个简图来解释浏览器从缓存中获取资源的过程。
2024-05-19 15:42:26
1125
1
原创 这是 Python,而这是你熟悉的网站
这是一篇关于爬虫的文章,当然这篇文章并不是教大家去写爬虫程序,当然有兴趣的也可以学习一下有关爬虫和反爬虫的知识。另外我还搭建了个网站,此次爬取文章的目的就是为了丰富网站的内容。防止我那弱不禁风、一碰即碎的网站被不怀好意之人给噶了,所以网址我就不透露给大家了。
2024-05-19 15:41:45
702
原创 学习 JavaScript 闭包
闭包是 JavaScript 中一种非常重要的概念,它允许函数访问其外部作用域中的变量,即使在函数被返回或者在其原始定义的作用域之外执行时仍然可以访问这些变量。
2024-02-15 18:19:24
648
原创 使用纯 CSS 实现元素高度的过渡(不采用 max-height)
不知大家是否接触过元素高度的过渡,之前呢我是使用 CSS 加 JS 的方式来解决的,就是通过 JS 计算一下要过渡的元素的高度,然后自己给它加上 height 为某一数值。不知大家是如何解决的?相信大家在做高度过渡时,都会在想为什么无法实现?就比如下面的代码。top;left;;width;height;rgb;overflow;transition;display;padding;;rgb;height。
2024-02-15 18:18:05
2280
原创 css 是你永远学不会的语言——css 实现下划线动画
CSS 几乎是前端必学的一门语言,相信大家在编写 web 页面时,都会感叹 CSS 的强大和它的简单易用。我说 CSS 是一门学不会的语言,不知大家有何看法?相信大部分人都与我持不同意见,不过我得说一下,CSS 虽然简单,但是它也不简单,是不是如听一席话?哈哈~下面回到标题提高的下划线动画实现,我们来看一下下面的这个效果:不知道大家会如何实现这个效果,如果你说用 js 能实现,那你千万别划走,请认真听讲。下面这个效果如果用 js 来实现,那估计得难到天上去了。
2024-02-15 18:17:34
1065
1
原创 JavaScript 的设计缺陷
它的能力很强大,既能编写前端,又能编写后端,既能编写桌面应用,也能编写移动端应用。另外,JavaScript 的设计初衷是为了实现一些网页的简单互动(比如:检查用户名是否填写),并没有考虑到现今的复杂应用的开发。我们程序猿一般都是给别人打工,很少是自己开发一个程序并且能够自给自足的,JavaScript 的设计者也是这样,也是为了给公司交差,本人并不想这样设计。当然,标准的发布和标准的实现是两回事,上述的很多缺陷也许会一直伴随到Javascript存在的最后一天。目前,许多新项目大大扩展了它的用途,
2024-02-15 18:17:01
1058
1
原创 JavaScript 编程风格
不同的程序员,往往有不同的编程风格。有人说,编译器的规范叫做"语法规则"(grammar),这是程序员必须遵守的;而编译器忽略的部分,就叫"编程风格"(programming style),这是程序员可以自由选择的。这种说法不完全正确,程序员固然可以自由选择编程风格,但是。所以,有一点应该明确,。你选择的,不是你喜欢的风格,而是一种能够清晰表达你的意图的风格。这一点,对于Javascript这种语法自由度很高、设计不完全成熟的语言尤其重要。
2024-02-15 18:16:31
1002
1
原创 OAuth 2.0 协议介绍【实现 GitHub 第三方登录】
该文章主要介绍了一些 OAuth 2.0 的名词和术语。如果大家对 OAuth 感兴趣的话,后面我们还会讲解 OAuth 的使用。我们会以 GitHub 为例来实现第三方登录。实现 GitHub 第三方登录。
2024-02-15 18:14:48
2856
3
原创 今天!带你部署自个儿的网站!【Vuepress2 + GitHub Pages】
至此文章到这就结束了,不知对你有没有帮助。希望各位都能拥有自己的小网站,当然这是静态网站,相信如果是记录一下自己的学习成果还是没问题的。最后祝大家新年快乐!🎈🎁。
2024-02-15 18:14:08
1216
1
原创 推荐 21 个 AI 工具和网站(ChatGPT、AI 生成图片或视频等)
这几年 AI 大火,作为程序猿,必须得会一些有关的 AI 技术,不然被后来者淘汰的几率会大大增加。下面就分享一些我常逛的 AI 网站,希望在生存空间越来越小的今天,这些网站对大家能有所帮助!
2024-02-03 18:43:13
12248
1
原创 从零制作视频播放器——别人能搞得出来视频控件,我们能搞得更好!(第四章)
这篇是下面这篇文章的续章。因为上一篇文章篇幅过长,所以我强行让大家伙们休息一下,贴心吧?上一篇文章的链接在下面了哈~上一篇文章我们讲到了 js 实现渐现、渐隐对吧?前面我们介绍的几种方法都实现不了,所以只能靠 js 来实现了。为了大家,奥利给~ヾ(≧▽≦*)o。
2024-01-27 20:05:29
1044
原创 从零制作视频播放器——别人能搞得出来视频控件,难道我们不能搞?(第三章)
书接上回,前几篇文章我们大都在谈规划,当然后面我们还会谈规划,不过没有前面几篇文章谈的那么多,废话不多说,接下来我们进入正文。在这篇文章中我们会进行视频控件的编写,不过实现细节很多,后面会再撰写几篇文章细讲。实现一个功能我们要尽可能先将简单的功能实现,较难的功能放到较后来实现。所以这篇文章要讲的功能实现是视频控件面板的显示和隐藏。为了大家,爆发吧小宇宙!!!╰(‵□′)╯。
2024-01-27 20:04:03
1111
原创 从零制作视频播放器——安得广厦千万间,大庇天下 video 俱欢颜(第二章)
书接上回,这篇文章我们将为 video 设置一个容器,将其包裹起来,以便该播放器能适应不同的布局。当然布局千变万化,可能在这里可以正常展示,到另一个地方就不能正常展示了。为了尽量使我们的视频播放器能在各种布局下都能适应,下面我们将对 video 这个元素进行研究,看看怎么才能让它更好的适应千奇百怪的布局。为了大家,为了大家,我今天决定不睡了,熬夜更!!!
2024-01-27 19:47:38
429
原创 从零制作视频播放器——万事开头难,理清思路先(第一章)
我们编写一个功能并不是一摸到键盘就是哒哒哒的开始敲代码了,因为这时你写不出来。当然大多数人都是会在脑海里先进行思考,然后再去进行代码的编写,区别就是相同的时间里不同的人思考的深入程度了。根据以上几点,我们能对自己的最终成果有个大概的轮廓,不至于编写完成前都不知道自己的产品是什么样子的。为了大家,再苦再累也值得!!!(/≧▽≦)/
2024-01-27 19:45:30
695
原创 从零制作视频播放器——序言
这里对项目进行介绍,这是一个模仿哔哩哔哩视频播放器的样式的自制播放器,虽然是模仿,但是除了控件的布局类似外,没有其他相关性。从这个项目中可以学到许多东西:提高编写的代码的可维护性:如果你的代码并不是那么易懂,或者每当写一个复杂的项目时就往往会无从下笔,那么这个专栏会很适合你。如何实现一个功能:通常我们接到一个功能实现需求时,要在脑海里形成相应的思路,如果需求比较复杂,那得把它拆解成小问题慢慢解决。
2024-01-27 19:44:17
541
原创 offsetWidth、clientWidth、scrollWidth 的区别
讲解了 offsetWidth、clientWidth、scrollWidth 这三者的区别
2024-01-24 17:15:09
1057
原创 ssh: connect to host github.com port 22: Connection timed out
使用 ssh 连接 github 时出现连接超时
2024-01-23 17:29:20
463
1
原创 防止网页被嵌入 iframe
iframe 标签能将一个指定的 url 地址的网址展示在页面上。但是它同时造成了一些问题。由于 iframe 标签引用的网站在用户看来就像是当前网站的内容,这就给了一些人可乘之机。在以前,使用 iframe 标签嵌入他人的网站,然后在页面上加入病毒、广告等内容影响用户,由于 iframe 标签展示的内容与原网站十分相似,会给原网站作者带来负面影响。
2024-01-15 17:16:08
1282
原创 JavaScript + TypeScript 实现并发队列
JavaScript + TypeScript 实现并发队列。使用 JavaScript 异步,实现任务的并发性。
2023-12-17 18:11:20
1223
1
原创 实现大文件上传以及断点续传
分享大文件上传及断点续传,实现了分片上传,暂停等功能。使用原生的 JavaScript 编写前端,Java 编写后端
2023-12-04 16:21:00
2568
原创 isolation CSS 属性
isolation 可以用来创建一个新的堆叠上下文,下面是一个使用实例,在下面的例子中,使用 z-index: -1,会置于父盒子下面,这是因为父盒子与子元素位于 body 的堆叠上下文中,所以能置于父盒子下方,但是给父盒子加上 该属性,父盒子就是一个新的堆叠上下文,加上该属性不会比父盒子还要低,就像在 body 中的某个元素使用 z-index:-999,始终还能看到该元素,不会比 body 更低。
2023-11-22 11:40:26
185
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人