- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 详解IPD流程之任务书(Charter)
例如,在产品定义阶段,需要深入洞察客户的真实需求,与客户进行深入交流,并保持同理心,实地考察客户的需求场景,以确保新产品能够满足客户的需要。同时,还需要分析竞争对手的战略控制点,预测竞争对手未来动向,剖析竞争对手的产品,并将分析结论体现到新产品的构想中,以确保产品的竞争力。商业计划书是一个详细的计划,包括市场分析、产品定位、竞争分析、技术路线、研发计划等,它是产品研发的基础。在Charter开发活动的每个环节中,通过深入了解客户需求和竞争对手的产品,能够更好地把握市场动态,为新产品的研发提供有力支持。
2024-03-15 20:56:56
1513
原创 一篇搞定分布式缓存
缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都 去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。如果一个查询返回的数据为空(不管是数据不 存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。(2)当有用户请求过来时,再判断这个请求所用到的缓存是否过期,过期的话就去底层系统得到新数 据并更新缓存。2. 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。
2024-03-08 21:22:01
420
原创 synchronized 和 ReentrantLock 的区别
7. Lock 是一个接口,而 synchronized 是 Java 中的关键字,synchronized 是内置的语言。2. ReentrantLock 可响应中断、可轮回,synchronized 是不可以响应中断的,为处理锁的。1. ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁。synchronized 是同步阻塞,使用的是悲观并发策略,lock 是同步非阻。,而 synchronized 却不行,使用 synchronized 时,
2024-03-08 21:11:08
377
原创 从敏捷到精益-漫谈敏捷实践
精益起源于丰田,只不过它之前适用于后产制造,而非软件开发,精益生产的思维是以人员为基础,尊重人性,注重培育员工,透过全员持续学习去参与改善,以更多的智慧、更优秀的人员、用更精实的方式去优化企业的营运,从而为人员、顾客、社会创造出更多的价值。和敏捷一样,精益,也是一种思想,它是战略,具体采用了哪些战术,不同的企业实践的也是千差万别。精益模式的精髓是只在必要的时候,按照需求的量,仅生产必要的产品,拒绝浪费,把这一点用在软件开发领域,就是精益软件开发。
2024-03-07 10:47:23
1098
原创 一文告诉你插入排序算法和归并排序算法原理和分水岭
很多情况下,只要跟算法相关的可能都有现成的开源工具包拿来就用,比如排序算法。现实业务开发时,为了提升效率,确实建议使用现成的成熟的开源工具。但是,我们如果只知道使用开源工具包的话,如果有一天你去面试被问到的话...(自行脑补)所以,我们应用抽点时间,去学习我们常用的工具包或框架的实现思想和细节。以备急需。这也就是我们需要不停学习的原因之一吧。
2024-03-06 16:57:27
487
1
原创 23种设计模式的必备结构图
简单工厂模式虽然也能解决这个问题,但这个模式只是解决对象的创建问题,而且由于工厂本身包括了所有的收费方式,商场是可能经常性地更改打折额度和返利额度,每次维护或扩展收费方式都要改动这个工厂。命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以 及支持可撤销的操作。解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2024-03-06 16:51:52
1030
原创 分布式高并发系统三把利剑之限流
限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。常用的限流算法有计数器、令牌桶和漏桶,而比较常用的为后面2种
2022-08-03 21:15:36
302
原创 JUC并发编程包Future模式详解
Future模式是多线程开发中常见的设计模式,它的核心思想是异步调用。对于Future模式来说,它无法立即返回你需要的数据,但是它会返回一个契约,将来你可以凭借这个契约去获取你需要的信息。
2022-01-23 20:30:15
467
原创 JUC并发编程包CountDownLatch详解
当你有一个函数代码中需要处理N个任务,而N个任务之间执行并没有关联,当N个任务都执行完毕后,你需要进行下一步处理数据,你该如何做?
2022-01-20 17:26:26
586
原创 微服务分布式事务解决方案实战(解决方案篇)
当你觉得一切都为时已晚的时候,其实恰恰是最早的时候。闲言碎语 在前面的章节我们讨论分布式事务的基础理论部分,我们也说明了单机事务是如何管理的。同时我们阐述了分布式事务产生的背景,及分布式事务实践相关基础理论,并分析了 "CAP理论" 以及分布式系统实践中"CAP"该如何进行取舍。 其实软件行业前辈们在分布式系统设计中,基于CAP理论基础进行了反复的实践,同时又在CAP理论基础之上总结延伸出了"BASE理论",本篇文章我们主要全篇幅讲分布事务的解决方案,但如果你对基础理论有兴趣可以...
2021-08-19 16:26:13
1114
原创 微服务分布式事务解决方案实战(理论基础篇)
分布式事务产生背景 传统单体项目单库大部分情况下,不会产生分布式事务。但随着系统数据量增大,单个数据库承受越来越大压力,系统开始变慢,单库出现性能瓶颈。用户开始抱怨,慢慢当前系统结构开始无法适应业务发展。 技术服务于业务,系统跟着业务发展进行架构演进,原有的架构已无法满足业务现状,同时也带来新的挑战,公司对系统提出重构和优化,把原来单体系统切换成主流微服务架构,、分布式系统架构。根据不同的业务将拆分成不同的微服务,比如会员服务、订单服务、商品服务。同时每个微服务对应独立的数据,业务数据被...
2021-07-29 14:25:19
493
原创 Linux下修改系统时间的简单方法
1、修改时区:timedatectl set-timezone Asia/Shanghai2、修改时钟:date -s "2021-06-02 18:02:00"3、修改硬件时钟:hwclock --set --date "2021-06-02 18:02:00"hwclock --hctosys修改时间一条命令全搞定:date -s "2021-06-02 18:02:00" && hwclock --set --date "2021-06-02 1
2021-06-02 18:53:35
2303
1
原创 Selenium+Jsoup框架实现爬虫与自动化测试实战
爬虫的场景小许同学想做一个新闻网站,但新闻网站需要很多新闻素材,并且新闻对实时性要求比较高,从发现新闻热点,写稿,审核,排版、发稿、投放需要多人多个部门协同完成,当你这些资源都不具备的时候,而你恰恰又有强烈的需求时,如果此刻你会一些爬虫技术,那么这些问题都迎刃而解,因为想喝牛奶,不一定真的要养一头奶牛。一、什么是爬虫网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索
2021-04-02 19:59:53
1252
原创 快速入门XXL-JOB搞定分布式调度及面试问题
一、面试题 小T同学在面试的时候,面试官出了这样一个场景题:2017年我们系统是单机部署的,那时用户量不大,单体应用能满足当前业务需求。同时系统中有大量的定时任务(扣款、计算逾期、结算)。2018年初由于业务扩张用户量暴增,为了给用户更好的用户体验,系统采用集群部署,如下图所示:系统集群部署后,第二天收到业务部门的投诉工单,工单反馈有用户被重复扣款多次,经过定位发现扣款服务集群部署的每个节点的定时都在00:00 分执行触发了一次扣款,而在实际业务中这种问题发生是不被允许的。请问该如何解决呢?..
2021-03-25 09:33:28
11646
2
原创 非对称加密RSA公钥加密私钥解密实现系统间鉴权方案设计
一、开场白如果系统间涉及2端调用 [调用方、被调用方] 是分离的 ,无论是后端对后端 还是前端对后端 或者终端对后端 正常情况都需要结合实际业务场景设计鉴权方案,数据会有加解的过程。这样设计的好处是:1、有助于防止外部请求非法获得系统数据2、有助于防止数据内容传输过程中被窃取、篡改,伪造3、有助于防止外部通过非法手段对系统发起攻击本文的例子主要是针对云云对接中 “后端对后端” 的Token鉴权方案,技术实现主要基于RSA公私钥加解密方案实现系统间调用。关键词:鉴权业务发生场景、R..
2021-02-07 19:34:45
1585
2
原创 手把手教学轻松带你排查Java程序死锁问题(泰坦尼克号剧情版)
《泰坦尼克号》想必这么多年过去了依旧是无数人心目中的经典,不知有多少人,因为露丝与杰克的爱情故事而流泪,尤其是杰克为了让露丝能够安稳地活下去,自己甘愿献出生命,最终在冰冷的海水里,被活活地冻死。而露丝在多年后嫁为人妇,幸福地度过了后半生,完成了杰克的临终遗愿。意外小插曲:爱情有时让人心情甜美但又充满磕磕碰碰。露丝和杰克都是鸭霸王的超级粉,下午露丝和杰克在船头夹板上嬉戏,露丝提议让杰克去餐厅打包一份鸭霸王。杰克打包"鸭霸王"的时候服务员只给了一双筷子。但杰克没有注意到,就屁颠屁颠的跑了夹板。...
2021-02-02 21:28:47
238
原创 一篇文章让你深刻理解事务的四大特性ACID(酸碱平衡)
毒鸡汤干一碗:如果现在的你改变不了环境,那你可以先改变自己,如果现在的你成为不了某某某、但你可以先成为你自己。引言今天之所以会写这个事务一、事务的四大特性(ACID)1、基本概念 原子性(Atomicity) 事务是一个或者多个SQL语句组成的整体,要么全部执行成功,要么全都执行失败 ,事务执行之后,不允许停留在中间某个状态。 -- 当前事务要么全部执行成功,要么全都执行失败,不会出现中间状态START TRANSACTION; -- 启动事务机制update sys_.
2021-01-31 01:21:02
3465
4
原创 手把手教学切面编程实战之Spring AOP基于注解实现
理论是实践的基础,实践是检验真理的唯一标准一、快速入门指引(所见即所得)SpringBoot启动类开启AOP:"@EnableAspectJAutoProxy(proxyTargetClass = true)" 定义切面注解类:"ArticleOperational" 定义切面核心类:"ArticleContentAspect" 在核心业务中切面注解:"@ArticleOperational(action = "取消置顶")"二、AOP切面编程实战 "记录业务操作行为" Sprin.
2020-12-29 19:10:28
2432
5
原创 快速入门Redisson实现分布式锁及原理浅析
1、分布式锁产生的背景 在系统单体架构下不会存在分布式锁的问题,通过JVM提供的synchronized 或 JUC中提供的ReentrantLock 就可以满足当前业务加锁需求,当随着业务发展,采用系统采用集群部署后,多个节点下相互独立,此刻用JVM提供的锁就无法在并发场景下锁住资源,需要采用分布式中间件来实现。项目实践中分布式锁的常见解决方案:1. 基于数据库实现分布式锁2. 基于缓存(Redis等)实现分布式锁3. 基于Zookeeper实现分布式锁特别注意:本篇文章中...
2020-12-25 11:09:10
704
2
JAVA抽奖活动大转盘(含前后端源码、数据库脚本, 抽奖算法)支持一键运行
2022-06-23
PMP项目管理五大过程组IT项目管理表格(包含146个DOC文档模板).zip
2021-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人