【业务】一次组件开发引发的对自动配置的思考
在现代软件开发中,组件化开发和业务开发有着明显的区别。业务项目专注于解决具体的功能需求,而组件开发则更多关注提供通用的、可复用的功能模块,供多个项目引用和使用。具体项目通过 pom 依赖引入组件后,组件的配置和初始化通常需要与业务无缝对接,自动完成对象的注入和配置,使开发者无需手动处理复杂的初始化逻辑。 在这篇文章中,我们将以 动态线程池组件 为例…
【从零开始刷leetcode-4】283. 移动零
题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0] 示例 2: 输入: nums = [0]输出: [0] 提示…
【从零开始刷leetcode-3】128.最长连续序列
题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2…
【从零开始的大力扣杀】梦开始的地方-两数之和
题目:两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1…
thumbnail
【设计模式】策略模式 – 平台杀熟、差异化定价
类型:行为型设计模式 核心思想:定义一系列算法或行为,将它们封装起来,使得它们可以互换。 针对场景:当需要为同一个行为提供不同的实现(如不同类型用户的定价策略、不同支付方式的选择等)实例如下: 电商平台的杀熟策略,针对不同活跃度用户,实现不同的定价策略。例如新用户优惠策略、忠诚用户策略、老用户高价策略等。 某多多的营销系统中,根据不同的用户行为(签…
【业务】高效实现策略概率权重装配
需求/亮点:实现strategy_rule中的rule_weight策略 4000:102,103,104,105 5000:102,103,104,105,106,107 6000:102,103,104,105,106,107,108,109 根据用户当前积分数,提供一个分段概率奖品控制机制,当用户积分达到特定范围时,只能抽出对应award_i…