自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么外网需要我允许Cookie

cookie,其复数形式为Cookies。这个单词原意为“小甜饼”,在网络技术当中指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。这个网络术语并没有一个正式的中文译名,大家都直称其Cookie(s)。🍪 外国网站访问时常见的对话框,需点击“我同意”,涉及到 Cookie。🖥️ Cookie 是网站存储在用户本地终端上的数据,用于识别用户身份。💼 Cookie 让浏览器记住用户购买信息、登录信息,提升用户体验。

2024-04-07 11:26:32 429

原创 一文搞懂用户认证方案怎么做

一般网站用户认证不外乎以下步骤:以上单机版基本没问题,但是分布式系统中涉及到 session 共享问题,比如 项目部署在serviceA 和 serviceB。用户登录后 sessionId 存在 serviceA 内存中,这个时候如果 a 挂掉了(lb 打到 b 服务器也有可能),你再请求服务器 b,发现sessionId不存在,直接让你重新登录了。首先,问题的根源出在sessionId无法共享上,想要把sessionId共享,一个简单的思路就是把sessionId保存到数据库中(这里选择redis)

2024-04-03 19:31:20 1029

原创 Zookeeper 怎么实现分布式锁

基于ZooKeeper实现分布式锁的原理主要基于ZooKeeper提供的一些特性,包括有序性、唯一性、临时节点等。下面是基于ZooKeeper实现分布式锁的。

2024-04-02 13:19:20 576

原创 打卡记录怎么存比较好

使用位图(Bitmap)来存储Redis的打卡记录是一种常见的方法,特别适用于每日的签到、打卡等场景。而使用Redis的位图存储打卡记录时,每个用户只需要一个位图来表示打卡情况,每个位图占用的存储空间与打卡天数相关。可以看到,使用Redis的位图来存储打卡记录相比于使用MySQL表存储,可以节省大量的存储空间。通过使用位图来存储打卡记录,可以节省大量的存储空间,并且提供了高效的查询和统计功能。假设有一个用户打卡系统,需要记录用户每天是否打卡,可以使用Redis的位图来存储。

2024-04-02 07:18:39 316

原创 Docker 设置redis 集群

通过以上步骤,你可以使用Docker创建一个简单的Redis集群。请注意,这只是一个基本的示例,实际情况中可能需要根据具体需求进行更详细的配置和管理。是Redis节点的IP地址。

2024-04-02 07:06:34 600

原创 再谈敏捷开发

需要注意的是,Scrum和Kanban都是敏捷开发方法,它们的目标都是提高团队的生产效率和交付价值,但在实际应用中,选择哪种方法取决于项目的具体情况和团队的需求。这些实践工具可以帮助团队更好地实施敏捷开发和敏捷开发2.0的方法论,并促进团队成员之间的协作和沟通,提高团队的生产效率和交付价值。

2024-03-27 14:57:41 427

原创 为啥HTTPS比HTTP更安全

你肯定被问到过,为啥HTTPS比HTTP更安全?

2024-03-26 16:13:35 154

原创 达梦数据库对比mysql

总体而言,达梦数据库和MySQL都是常见的关系型数据库管理系统,它们在很多方面都有相似之处,但也存在一些差异,如支持的数据类型、存储引擎、许可方式等。选择哪种数据库取决于具体的需求和项目情况。

2024-03-25 12:41:04 275

原创 Web3不等于比特币

CryptoKitties是一个基于以太坊区块链的去中心化游戏,允许用户购买、繁殖和交易数字化的可收集的“猫咪”。该游戏通过智能合约实现猫咪的独一无二的属性,并允许用户在二级市场上交易猫咪。: DID(去中心化身份)是一个基于区块链技术的数字身份认证标准,允许用户在不同的应用之间安全地共享身份信息。: Uniswap是一个去中心化的交易平台,允许用户在不同的加密货币之间进行兑换。这些产品只是Web3技术应用的一小部分范例,随着技术的发展和创新,将会有更多有趣的产品涌现出来。

2024-03-25 12:17:03 139

原创 Java实现Cache Aside Pattern 例子

方法首先尝试从缓存获取数据,如果缓存中没有,则从数据库中获取,并将结果存入缓存。方法先从数据库删除数据,然后从缓存中删除。类模拟了一个数据源(比如数据库),方法先更新数据库,然后更新缓存。

2024-03-21 22:00:49 183

原创 Service Mesh 概述

这些是对 Service Mesh 的定义、功能、起源和未来发展的简要概述。

2024-03-21 18:06:42 219

原创 NIO学习笔记

NIO(Non-blocking I/O)是Java中的一种高性能I/O模型,用于处理大量并发连接。与传统的阻塞式I/O模型不同,NIO允许在单个线程上管理多个通道(网络连接或文件IO),并使用选择器(Selector)实现非阻塞式的事件驱动IO操作。这种方式可以大大减少线程的数量,提高系统的并发能力和性能。

2024-03-15 10:19:47 702

原创 如何写一个健壮的回调接口?

【代码】如何写一个健壮的回调接口?

2024-03-06 10:09:53 172

原创 「一致性问题」TCC实现代码示例

在分布式事务中,TCC(Try-Confirm-Cancel)模式是一种常见的解决方案之一,用于确保多个操作的原子性。

2024-03-05 13:05:49 187

原创 macos 上使用 java+opencv记录

java运行opencv 图像识别省去编译步骤

2023-12-22 09:10:50 842

原创 解决mac 下 docker-compose 不是命令

【代码】解决mac 下 docker-compose 不是命令。

2023-11-10 15:34:07 1263

原创 全局 id生成对比

对比 数据库自增 id、UUID、雪花算法的一些利弊:

2023-11-10 10:10:47 146

原创 一些心得-严谨

然后启动了portianer后,进去没有默认的 environment,新建一个需要创建 portainer agent 这就是奇怪了,我竟然有local 为啥不显示,果然不一样,所以做技术还得严谨的态度做事情,不能想当然的盲目试错。google 一圈,都指向没有权限上,开始以为 sudo能解决然而并没有,于是对比了之前的 portainer 容易发现问题就在这个。所以,从头开始捋,卸载了 docker 重新搞。等安装到 portainer 的时候卡住了。以我的认知,这个问题解决不了啦。

2023-11-09 11:41:25 144

原创 mysql explain extra值枚举

【代码】mysql explain extra值枚举。

2023-11-09 09:06:52 138

原创 mysql explain type 枚举

索引 explain

2023-11-09 08:52:54 159

原创 mysql 全文检索 demo

mysql5.6.7之后开始支持中文全文检索模拟插入点数据,是的 存储过程。

2023-11-06 14:38:31 462

原创 docker部署的mariadb忘记密码

尝试了修改 my.cnf 跳过密码 和修改 docker.cnf 跳过密码skip-grant-tables。docker 里的 mariadb 数据库密码忘了,如果以前我会选择直接干掉重装,但是数据怎么办?命令行执行 mysqld_safe --skip=grant-tables &我直接选择后者,跳过密码,mariadb10.4以后不能直接改密码了,以上操作都修改不了 ,因为 mariadb10.4以后吧 不能修改了。1 数据量小 就跳过密码登录进去备份出来。

2023-10-30 09:47:27 531

原创 java 对比文件 md5实现秒传

b、当标志位为 true 表示上传已经完成,此时如果有相同文件上传,则进入秒传逻辑。如果标志位为 false,则说明还没上传完成,此时需要再调用 set 方法,保存块号文件记录的路径,其中 key 为上传文件的 md5 + 一个固定前缀,value 为块号文件的记录路径。a、利用 redis 的 set 方法存放文件上传状态,其中 key 为文件上传的 md5,value 为是否上传完成的标志位;如何实现md5对比呢?

2023-10-22 22:21:57 434

原创 订单定时关闭几种方案对比

这个表格提供了四种不同方式定时关闭订单的比较,每种方式都有自己的优点和适用场景。您可以根据您的具体需求和应用程序规模来选择合适的方式。例如,如果您的应用程序是一个小规模应用,可以考虑使用数据库轮询。如果需要高精度和高性能的定时任务,可以考虑使用时间轮算法或 Redis 缓存的 ZSet。

2023-09-09 17:35:12 295

原创 刷题leetcode-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。需要注意的是,否则重复的情况比如[2,5,5,11],target 是10的情况。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。

2023-09-06 16:50:09 345

原创 程序员如何提升自己

同时,保持开放的心态,乐于接受新的挑战和变化,也是非常重要的。:了解与编程相关的其他领域,如设计、用户体验、产品管理等,有助于更全面地理解项目需求。:通过写技术博客或分享文章,不仅可以强化自己的理解,还可以为其他人提供有价值的信息。:持续学习是程序员的关键。:通过参与开源项目,可以与其他开发者合作,学习协作和代码审查的技巧。:定期回顾自己的工作,找到可以改进的地方,并持续追求更高的标准。:在社交媒体上分享自己的项目、见解和观点,树立自己的专业形象。:学习编写安全的代码,了解常见的安全漏洞和防御措施。

2023-08-29 13:53:16 185

原创 java开源微服务框架简单对比

开源微服务框架的选型需要根据项目的需求、技术栈、团队经验以及业务场景来决定。

2023-08-24 23:06:05 387

原创 chatgpt 使用技巧-画流程图

【代码】chatgpt 使用技巧-画流程图。

2023-08-09 09:50:25 412

原创 Spring Security vs Apache Shiro

安全性是应用程序开发领域的主要关注点,特别是在企业Web和移动应用领域。本教程将比较两种流行的Java安全框架 - Apache Shiro和Spring Security。

2023-08-09 09:22:10 174

原创 小白编写一个Chrome插件

指导一个小白编写一个Chrome

2023-08-08 17:31:46 1696

原创 一张表搞懂 JUC

注意:以上栗子仅用于演示使用,并未涵盖完整的实现细节。在实际使用中,需要根据具体的情况进行适当的异常处理和资源释放。以上总结via chatgpt。

2023-08-03 12:52:10 136

原创 Session和 cookie

一张表对比。

2023-07-17 09:13:44 109

原创 如果你在低谷,一定看看这本书

又或是从娘家跑回来的家珍,一生的无怨无悔,是那年运动会赛跑儿子拿了第一名,是全家宁愿饿死也不会再将女儿送走的坚定?而是忍受,忍受生命赋予我们的责任,去忍受现实给予我们的幸福,苦难,无聊和平庸…如果你现在正处于低谷,可以看看余华的 小说《活着》,福贵从小富二代,败家子,输了家产,还好媳妇儿不舍不离带俩孩子陪着过苦日子。这本小说虽然很沉痛,到我们看到了福贵唯一带给我们的活着的意志,永远不可能被带走!活着的福贵让我们感受到,活着是自己的感受,不属于任何人的看法!这本书是写人如何承受巨大的苦难,仍乐观的活着…

2023-06-30 14:36:21 81

原创 大文字搜索怎么处理

数据库索引:如果大字段内容存储在数据库中,可以针对字段建立索引,以加快搜索速度。创建索引和映射:在ES中,你需要先创建一个索引,然后定义映射(Mapping)以指定字段的类型和属性。数据预处理:对于经常进行搜索的大字段内容,可以预先进行处理,例如提取关键信息、标签化、摘要生成等。连接到Elasticsearch集群:使用Java客户端库,建立与Elasticsearch集群的连接,确保能够进行索引创建、文档插入和搜索等操作。执行搜索:使用Java客户端库提供的搜索API,构建搜索查询并执行。

2023-06-30 14:32:07 391

原创 java实现Saga模式代码示例

java 实现 saga 柔性事务代码示例

2023-06-27 15:16:29 423

原创 什么是Scrum敏捷开发?

第一次接触scrum 敏捷开发是7年前加入一直为服务团队。虽然不是第一个成规模的开发团队,但是跟以往的任务追踪制不同的是,沟通成了最大的利器。

2023-06-25 15:39:09 1079

原创 JOL学习

它提供了一组工具和API,可以用于查看对象的内部结构、字段排列顺序、内存对齐等信息,以及计算对象的大小和对齐方式。JOL 的主要目的是帮助开发人员更好地理解 Java 对象在内存中的布局,以及对象的内存占用情况。运行该示例代码,您将能够查看对象的内存布局信息和大小。查看对象的布局信息:JOL 允许查看对象的字段排列顺序、字段偏移量等内部结构信息,帮助理解对象在内存中的组织方式。研究对象的对齐方式:JOL 可以显示对象的对齐方式,帮助了解对象在内存中的对齐规则和内存分配情况。

2023-05-22 15:05:19 875

原创 java 引用类型和 java GC关系

java GC 引用类型

2023-05-22 14:53:02 75

原创 今天接到一个新需求-注销

今天老板提了个需求,,咱也不敢问,做吧。注销功能吧,需要考虑多个方面,包括用户界面、后端逻辑和数据库设计。

2023-04-20 16:05:06 102 1

原创 用 css before 多个词语加逗号,顿号等

CSS中的:before伪元素可以在一个元素的内容前面插入一个虚拟元素,并对其进行样式设置。使用:before伪元素时需要配合content属性使用,content属性用于定义要插入的内容。如果你需要给数组默认追加符号比如。

2023-04-11 15:55:00 353

空空如也

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

TA关注的人

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