摘要: 【进阶篇】一文搞清楚网页发起 HTTP 请求调用的完整过程 最近笔者在实际项目开发中会频繁涉及到服务之间的远程调用、域名的配置和请求的转发等与计算机网络相关的知识。 这些其实在读本科和考研的时候都有学习过理论,但为了更透彻地掌握便于在工作中使用,我还是决定写一篇文章来分享实际开发中是怎么应用的。 阅读全文
posted @ 2024-07-15 08:26 CodeBlogMan 阅读(555) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 项目中对使用递归的理解分享 笔者在最近的项目开发中,遇到了两个父子关系紧密相关的场景:评论树结构、部门树结构。具体的需求如:找出某条评论下的所有子评论id集合,找出某个部门下所有的子部门id集合。 阅读全文
posted @ 2024-07-02 08:12 CodeBlogMan 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念 RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。 作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。 阅读全文
posted @ 2024-06-25 08:19 CodeBlogMan 阅读(530) 评论(0) 推荐(2) 编辑
摘要: 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上) 消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。该系统既需要与文章系统、订单系统、会员系统等相关联,也需要和其它业务系统相关联,是一个偏底层的通用服务系统。 阅读全文
posted @ 2024-06-19 08:00 CodeBlogMan 阅读(610) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】使用 Stream 流对比两个集合的常用操作分享 Stream API 是 Java 8 中最为重要的更新之一,是处理集合的关键抽象概念,也是每个 Java 后端开发人员都必须无条件掌握的内容。 在之前的开发中,遇到了这样的需求:记录某个更新操作之前的数据作为日志内容,之后可以供管理员在页面上查看该日志。 阅读全文
posted @ 2024-05-27 08:13 CodeBlogMan 阅读(620) 评论(2) 推荐(2) 编辑
摘要: 【进阶篇】基于 Redis 实现分布式锁的全过程 这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较高,但整理成文章发布出来还是花了一点时间。在一些移动端、用户量大的互联网项目中,经常会使用到 Redis 分布式锁作为控制访问高并发的工具。 阅读全文
posted @ 2024-05-06 14:40 CodeBlogMan 阅读(1152) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 实际开发中积累的几个小技巧(二) 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,基于多租户的标准化开发项目也做过,项目的 PM 也做过... 在实际的开发中积累了一些技巧和经验,包括线上 bug 处理、日常业务开发、团队开发规范等等。现在在这里分享出来,作为成长的记录和知识的更新,希望与大家共勉。 阅读全文
posted @ 2024-04-16 10:09 CodeBlogMan 阅读(813) 评论(0) 推荐(3) 编辑
摘要: 【解决方案】多租户技术架构设计入门(一) 多租户的概念是我在毕业后不久进第一家公司接触到的,当时所在部门的业务是计划建设一套基于自研的、基于开放 API 的、基于 PaaS 的、面向企业(ToB)的多租户架构平台,将我们的服务可以成规模地、稳定高效地交付给客户使用。 阅读全文
posted @ 2024-04-07 10:06 CodeBlogMan 阅读(2369) 评论(0) 推荐(5) 编辑
摘要: 【主流技术】日常工作中关于 JSON 转换的经验大全(Java) 不知道大家在 Java 日常开发中是否会经常遇到关于 JSON 的各种转换的场景,我把自己日常工作中遇到的 JSON转换场景做了一个总结,希望可以对大家有帮助。 注:本文都是基于阿里的 fastjson 来讲解操作的。 阅读全文
posted @ 2024-03-11 16:56 CodeBlogMan 阅读(544) 评论(0) 推荐(3) 编辑
摘要: 【专业技能】程序员的软件工程素养之画好 UML 时序图 笔者在本科的时候上过软件工程的专业课,虽然也完成过类似的课堂作业,但是工作以后一直没怎么用上。碰巧前段时间有碰到一个复杂系统的部分功能设计,作为设计文档的一部分,时序图也被我拿起来派上用场了。 阅读全文
posted @ 2024-03-05 10:48 CodeBlogMan 阅读(861) 评论(0) 推荐(6) 编辑
摘要: 【进阶篇】使用 Redis 实现分布式缓存的全过程思考(一) 在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用户量大的互联网项目,经常会使用到 Redis 分布式缓存作为解决高并发的基本工具。但在使用过程中也有一些潜在的问题是必须要考虑的,比如:数据一致性、缓存穿透和雪崩、高可用集群等等。 阅读全文
posted @ 2024-02-27 14:11 CodeBlogMan 阅读(1122) 评论(0) 推荐(3) 编辑
摘要: 【解决方案】Java 互联网项目如何防止集合堆内存溢出(一) OOM 几乎是笔者工作中遇到的线上 bug 中最常见的,一旦平时正常的页面在线上出现页面崩溃或者服务无法调用,查看服务器日志后你很可能会看到“Caused by: java.lang.OutOfMlemoryError: Java heap space” 这样的提示,那么毫无疑问表示的是 Java 堆内存溢出了。 阅读全文
posted @ 2024-02-20 14:30 CodeBlogMan 阅读(612) 评论(2) 推荐(3) 编辑
摘要: 【进阶篇】Java 实际开发中积累的几个小技巧(一) 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,多租户下定制化开发项目也做过,项目的 PM 也做过... 在实际的开发中积累了一些技巧和经验,包括线上 bug 处理、日常业务开发、团队开发规范等等。现在在这里分享出来,作为成长的记录和知识的更新,希望与大家共勉。 阅读全文
posted @ 2024-02-04 15:19 CodeBlogMan 阅读(2185) 评论(16) 推荐(9) 编辑
摘要: 【深度思考】一线开发大头兵对于工作的感悟分享 笔者目前有两段工作经历,都是在一线当开发大头兵,职级倒是随着跳槽而有所上升。做过从0-1的SaaS、PaaS的自研项目,也做过基于多租户的标准化项目,还有过半年的 PM 的经历...这些都让我有了一些关于工作上的感悟。现在简单总结一下,拿出来和大家做分享交流。 阅读全文
posted @ 2024-01-29 09:37 CodeBlogMan 阅读(10110) 评论(68) 推荐(89) 编辑
摘要: 【解决方案】如何使用 Http API 代替 OpenFeign 进行远程服务调用 看到标题大家可能会有点疑惑吧:OpenFeign 不是挺好用的吗?尤其是微服务之间的远程调用,平时用的也挺习惯的,为啥要替换呢? 阅读全文
posted @ 2024-01-22 14:16 CodeBlogMan 阅读(910) 评论(8) 推荐(3) 编辑
摘要: 【进阶篇】使用 Stream 流和 Lambda 组装复杂父子树形结构 在最近的开发中,遇到了两个类似的需求:都是基于 Stream 的父子树形结构操作,返回 List 集合对象给前端。于是在经过需求分析和探索实践后有了新的认识,现在拿出来和大家作分享交流。 阅读全文
posted @ 2024-01-15 17:14 CodeBlogMan 阅读(1633) 评论(8) 推荐(7) 编辑
摘要: 【解决方案】MySQL 百万数据迁移到 ElasticSearch 的思考 在日常项目开发中,可能会遇到使用 ES 做关键词搜索的场景,但是一般来说业务数据是不会直接通过 CRUD 写进 ES 的。 因为这可能违背了 ES 是用来查询的初衷,数据持久化的事情可以交给数据库来做。那么,这里就有一个显而易见的问题:ES 里的数据从哪里来? 本文介绍的就是如何将 MySQL 的表数据迁移到 ES 的全过程。 阅读全文
posted @ 2023-12-06 15:23 CodeBlogMan 阅读(1805) 评论(4) 推荐(8) 编辑
摘要: 【主流技术】详解 SpringBoot 集成 ElasticSearch7.x 全过程 ElasticSearch 简称 es,是一个开源的高扩展的分布式全文检索引擎,目前最新版本已经到了8.11.x了。 它可以近乎实时的存储、检索数据,且其扩展性很好,是企业级应用中较为常见的检索技术。 下面主要记录学习 ElasticSearch7.x 的一些基本结构、在Spring Boot 项目里基本应用的过程,在这里与大家作分享交流。 阅读全文
posted @ 2023-11-22 17:29 CodeBlogMan 阅读(1106) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】聊一聊 Redis 的基本结构和简单应用(一) Redis 是目前互联网后端的热门中间件之一,在许多方面都有深度的应用,作为后端开发熟练掌握该技术是十分有必要的。 Redis 的五种数据类型是:1、String(字符串);2、Hash(哈希);3、List(列表);4、Set(集合);5、Sort Set (有序集合)。其余的用的比较少,本文暂不涉及。其中,String(字符串)是 Redis 中最基本的数据类型,一个 Key 对应一个 Value。 阅读全文
posted @ 2023-11-10 10:30 CodeBlogMan 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 【主流技术】MongoTemplate 与 Spring Boot 项目集成(附CURD技巧) MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 Spring 与 MongoDB 数据库的交互提供了丰富的功能集。 MongoTemplate 提供了创建、更新、删除和查询 MongoDB 文档的便利操作,并提供了编程语言的领域对象(POJO)和 MongoDB 文档之间的映射。 阅读全文
posted @ 2023-09-25 09:49 CodeBlogMan 阅读(351) 评论(0) 推荐(0) 编辑