自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(797)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 快试试这款自动化测试工具,性能起飞

在使用龙测 Agent 平台之前,也使用过其他平台的一些产品。相比之下龙测平台功能性和颜值都相当 Nice。下面会通过详细功能以及使用流程为大家详细介绍龙测平台的强大之处。

2023-03-23 10:02:42 15866 1

原创 iOS XCode 解决 Showing Recent Messages :-1: Unable to load contents of file list

Xcode 运行pod项目报错 Showing Recent Messages

2019-05-14 15:14:46 31338

原创 python 判断数字是奇数还是偶数

代码如下:while True: try: num=int(input('输入一个整数:')) #判断输入是否为整数 except ValueError: #不是纯数字需要重新输入 print("输入的不是整数!") continue if num%2==0: print('偶数') else: ...

2019-04-23 11:10:55 51443 6

原创 python 获取当前时间

Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。当前时间-时间戳#!/usr/bin/python# -*- coding: UTF-8 -*-import time; # 引入time模块ticks = time.time()print "当前时间戳为:", ticks运...

2019-04-23 11:08:54 26752

原创 人脸识别 -- 活体检测(张嘴摇头识别)

一:简介最近项目在做了身份证银行卡识别之后,开始实现人脸识别和活体识别,其中人脸识别包括人脸入库、人脸查找、人脸1:N对比、人脸N:N对比,另外活体识别运用在安全登录功能。大家都熟知的支付宝使用face++ 的服务来实现人脸识别,在实际项目中使用了讯飞的人脸识别SDK进行二次封装来实现活体识别。主要实现了张嘴和摇头两个活体动作的识别。据我所知,讯飞的服务是基于face++,识别率还是很高,...............

2018-03-21 17:11:39 30847 6

原创 别怕动老代码,3步识别黑盒逻辑,手把手教你重构启动

面对一个完全没有文档、代码混乱的遗留系统,很多开发者的第一反应是:“不敢动”。这类系统往往是业务中台的核心,一旦动错,风险巨大。本文将从实际工程出发,介绍如何通过行为分析、日志回放、静态分析等手段,逐步理解和重构这些“黑箱系统”,并补齐接口文档,最终为重构打下稳定基础。

2025-05-21 19:21:06 141

原创 为什么这段代码能让数组变成“节奏大师”?摆动排序揭秘

本文介绍了如何解决 LeetCode 第 280 题《摆动排序》,使用 Swift 实现了一个高效的解法。通过一次遍历数组,确保奇数索引位的元素大于等于前一个元素,偶数索引位的元素小于等于前一个元素,若不符合则交换。该方法的时间复杂度为 O(n),空间复杂度为 O(1)。文章还探讨了该算法在实际场景中的应用,如数据可视化展示和推荐引擎排序优化,并提出了未来可能的延伸问题。

2025-05-21 19:13:34 427

原创 用 Nginx/Spring Gateway 玩转绞杀者模式,帮你拆掉老系统

面对庞大老旧的遗留系统,直接替换既费时又高风险。绞杀者模式(Strangler Fig Pattern)提供了一种“边保留边替换”的方式,帮助团队逐步拆除旧模块,同时上线新能力,实现平滑过渡。本文将结合实际案例,深入介绍绞杀者模式的原理、阶段应用时机以及技术实现方式,最后提供可运行的 Spring Boot + Gateway Demo,供读者快速上手。

2025-05-20 21:56:29 513

原创 看似数学题,其实是算法套路!用 Swift 动态规划玩转最小平方组合

本文通过LeetCode第279题“完全平方数”介绍了动态规划的应用。题目要求找出组成给定正整数的最少完全平方数个数。文章详细解析了如何使用动态规划解决该问题,并提供了Swift代码实现。核心思想是通过状态转移方程dp[i] = min(dp[i], dp[i - j*j] + 1)逐步求解,最终得到最优解。文章还分析了算法的时间复杂度(O(n * √n))和空间复杂度(O(n)),并通过示例测试验证了代码的正确性。总结指出,该问题本质上是“完全背包”的变种,动态规划的关键在于状态定义和转移方程的设计。

2025-05-20 21:52:53 499

原创 Feature Toggle 不再乱:如何设计一个干净、安全、可控的特性开关系统?

在系统重构、灰度发布、A/B 测试等场景中,Feature Toggle(特征开关)是个很好用的“战术武器”。但一旦管理不当,它也可能变成“技术债收纳箱”——忘记清理、逻辑混乱、污染代码。本文结合实际案例,从设计、使用、清理三个阶段出发,探讨如何科学、安全地使用特征开关,并配合灰度发布工具(如 LaunchDarkly、Unleash)构建完整方案。

2025-05-19 22:07:49 1270

原创 Swift 二分查找实战:精准定位第一个“Bug版本”(LeetCode 278)

本文介绍了如何利用二分查找算法解决LeetCode第278题“第一个错误的版本”的问题。题目要求在多个版本中找出第一个出现bug的版本,通过调用isBadVersion(version)接口判断版本是否错误。文章详细解析了Swift语言的题解代码,展示了如何通过二分查找在O(log n)的时间复杂度内高效定位目标版本。代码分析部分解释了搜索区间的初始化、中点判断和终止条件,并通过示例测试验证了代码的正确性。最后,文章总结了二分查找在实际开发中的应用价值,强调了其在日志回溯、异常回滚等场景中的重要性。

2025-05-19 20:48:45 583

原创 语音转文字神器 Whisper,如何在项目中高效落地?

Whisper 是 OpenAI 开源的语音识别模型,能将多种语言的语音转为文本,准确率高、鲁棒性强,尤其在嘈杂环境中依然能保持良好识别表现。但与此同时,Whisper 模型对计算资源的需求也不低,这给边缘部署、实时识别等场景带来挑战。本文将深入讲解 Whisper 的工作机制,并结合实际示例,探索其优化方法,包括模型精简(如 Distil-Whisper)、与 RTC 音视频流结合的低延迟方案等,让你能把 Whisper 真正用在项目中,而不只是跑个 demo。

2025-05-17 23:55:10 1123

原创 从零开始找出“聚会隐藏王”!Swift 解密 LeetCode 名人问题

这篇文章介绍了如何在 LeetCode 上解决“名人问题”,即在一群人中找出一个被所有人认识但不认识任何人的“名人”。文章详细描述了问题的定义、解题思路以及用 Swift 实现的代码。通过两次遍历,首先筛选出可能的候选人,然后验证其是否符合名人的条件。文章还分析了算法的时间复杂度和空间复杂度,并探讨了该问题在实际场景中的应用,如社交网络和组织结构图。最后,文章总结了该问题的本质,并展望了未来在信息流向分析中的扩展应用。

2025-05-17 23:54:11 1015

原创 让GPT当逻辑老师:手把手教你用大模型搞定知识推理

随着人工智能的发展,传统基于规则的推理方法在处理复杂逻辑时显得力不从心。大语言模型(LLMs)如GPT-4的出现,为知识推理带来了新的可能性。本文将深入探讨如何利用大模型实现知识推理,并通过实际案例和可运行的代码示例,展示其在现实场景中的应用效果。

2025-05-16 23:51:03 1186 1

原创 涂色不踩雷:如何优雅解决 LeetCode 栅栏涂色问题

在LeetCode的「栅栏涂色」问题中,我们需要为一排n根栅栏涂色,使用k种颜色,且不能有超过两根相邻的栅栏使用同一种颜色。这道题通过动态规划的方法,将问题分解为两种状态:same(最后两根栅栏颜色相同)和diff(最后两根栅栏颜色不同)。通过递推公式,我们可以高效地计算出总的涂色方案数。Swift代码实现展示了如何通过动态规划解决这一问题,时间复杂度为O(n),空间复杂度为O(1)。该问题不仅是一个有趣的算法挑战,还与实际场景如装修设计、界面颜色搭配等密切相关,展示了动态规划在解决实际问题中的强大能力。

2025-05-16 23:33:55 884

原创 快速上线又不想返工?教你搞定“验证 + 演进”的技术策略

本文探讨了在项目开发中如何平衡快速上线与长期架构演进的问题。作者展菲提出通过最小可行架构(MVA)和概念验证(PoC)相结合的策略,既能快速验证市场需求,又能为后续系统扩展预留空间。文章详细介绍了MVA的设计原则,如预埋扩展点、接口封装等,并通过代码示例展示了从单体架构到微服务的演进路径。此外,作者还解答了关于何时启动演进、如何避免重构等常见问题,并展望了未来架构演进的自动化与标准化方向。本文为开发团队提供了实用的技术路线图,帮助他们在快速迭代的同时确保系统的可维护性与扩展性。

2025-05-15 23:48:14 1392

原创 Swift 快速解:用二分法拿下 H 指数 II,实现 O(log n) 的算法优雅突破!

本文介绍了如何在已排序的数组中使用二分查找算法高效计算研究者的 H 指数。H 指数是衡量研究者学术影响力的重要指标,定义为至少有 h 篇论文被引用至少 h 次。文章详细解析了 Swift 实现 LeetCode 275 题的解法,通过二分查找在 O(log n) 时间复杂度内求解 H 指数。代码分析展示了如何通过中间值判断和调整查找范围,最终找到符合条件的 H 指数。文章还通过示例测试验证了算法的正确性,并讨论了其在实际应用中的场景,如学术平台和推荐系统。最后,提出了关于未排序数组、引用浮动和分布式系统中的

2025-05-15 23:29:44 973

原创 文档中的代码不能跑?教你搞定“活样例”集成!

展菲是一位在人工智能项目研发管理领域有丰富经验的专家,热衷于分享编程知识,涵盖iOS、前端、鸿蒙开发等多个方向。他撰写了多本技术书籍,并在多个技术社区担任重要角色。展菲的博客内容广泛,包括技术教程、产品评测和前沿科技资讯,旨在为读者提供实用的技术洞察。他特别关注如何在技术文档中嵌入可运行的代码示例,以提升用户体验。文章探讨了使用Replit、CodeSandbox和Jupyter Notebook等工具实现“活样例”的方法,并提供了具体的代码示例和常见问题解答。展菲认为,这种“活文档”方式能显著提高文档的实

2025-05-14 23:34:30 1415

原创 用 Swift 解锁你的「学术含金量」:H 指数算法详解与实战

本文介绍了如何使用 Swift 语言解决 LeetCode 第 274 题「H 指数」问题。H 指数是衡量研究者学术影响力的指标,定义为至少有 h 篇论文被引用至少 h 次。文章详细解释了题目的要求,并提供了 Swift 代码实现,包括数组排序、遍历和边界条件判断。代码通过降序排序和遍历数组,找到满足条件的最大 h 值。文章还展示了示例测试及结果,分析了时间复杂度和空间复杂度,并探讨了 H 指数在学术平台、科研项目匹配和搜索权重排序等实际场景中的应用。最后,文章提出了未来可能的扩展方向,如不排序的线性时间解

2025-05-14 23:16:56 874

原创 TDD + 文档同步?这个组合让你再也不怕文档过时

在快速迭代的开发过程中,最让人头大的事之一就是 —— 接口改了,文档却没跟上。尤其是在多人协作时,文档滞后经常会导致前后端对接困难、测试失效、线上问题频出。有没有办法,让代码和文档保持同步演进?这篇文章就来聊聊一个思路:通过测试代码驱动文档更新。我们会结合 TDD/BDD 思维,介绍如何用自动化测试来校验接口文档的正确性,甚至自动生成接口文档,从根源解决“忘记写文档”的问题。

2025-05-13 22:42:14 1545

原创 手把手带你写一个数字转英文的 Swift 工具

这篇文章介绍了如何将非负整数转换为英文表示,并提供了Swift语言的实现代码。核心思路是将数字按三位一组进行分组,每组分别翻译成英文,并加上相应的单位(如Thousand、Million等)。文章详细解释了算法的实现步骤,包括如何处理三位数以内的数字、如何拼接完整的英文表达,并提供了示例代码和测试结果。此外,文章还讨论了该功能在实际应用中的场景,如发票系统、语音播报系统等。最后,文章总结了算法的关键点,并展望了未来的扩展方向,如多语言支持和语音合成。整体上,这篇文章通过一个具体的算法问题,展示了如何将数字转

2025-05-13 22:32:47 1067

原创 还在手动同步文档?用 Git 和 OpenAPI 让它自动跑起来!

很多团队都有这样的经历:API 改了,但文档没跟上,开发联调时一脸懵。这种文档与代码脱节的情况,不仅影响效率,还容易引发严重 bug。本文将探讨一种更稳妥的解决思路,让你的接口文档和代码版本实现真正的“同步演进”。

2025-05-12 23:34:02 1323

原创 Swift实战:如何优雅地从二叉搜索树中挑出最接近的K个值

这篇文章介绍了如何在二叉搜索树(BST)中找到与给定目标值最接近的 K 个数的算法问题,并以 LeetCode 第 272 题为例进行详细解析。文章首先描述了问题的背景和实际应用场景,随后提供了两种解题思路:中序遍历结合排序和使用堆结构进行优化。重点讲解了中序遍历结合排序的实现方法,并提供了 Swift 代码示例和测试案例。文章还分析了算法的时间复杂度和空间复杂度,并总结了该算法在实际中的应用场景。最后,文章展望了未来可能的研究方向,如动态查询和权重加入等。整体内容清晰易懂,适合开发者学习和参考。

2025-05-12 23:05:58 829

原创 为什么 Swagger UI 成了 API 联调神器?手把手带你搭一个能调试的文档页面!

你是不是也觉得,API 文档明明写得很好看,但就是调不通?明明有接口说明,但每次都得自己拿 Postman、Curl 一个个试……这体验真说不上多友好。那 Swagger UI 到底做了什么,能让我们一边看文档一边点按钮调接口?这篇文章我们就来把它搞明白,还会动手搭一个交互式的 API 文档页面,顺便聊聊其中的关键技术点。

2025-05-11 23:50:47 1600

原创 LeetCode 高频题实战:如何优雅地序列化和反序列化字符串数组?

本文详细解析了 LeetCode 第 271 题“字符串的编码与解码”,提供了一种可靠的方法将字符串数组编码为单个字符串,并能准确地解码回原始数组。通过在每个字符串前添加其长度和分隔符,避免了使用特殊字符作为分隔符可能带来的问题。文章还提供了 Swift 语言的实现代码,并分析了时间复杂度和空间复杂度。该方法在网络传输、数据存储等场景中具有较高的实用性和通用性。对于更复杂的数据结构,可以考虑使用更通用的序列化方法或框架。

2025-05-11 23:43:01 785

原创 深入理解缓存容灾:应对高并发下的三大致命风险

在高并发系统中,缓存机制是提升性能的关键,但若处理不当,可能导致“缓存穿透”、“缓存击穿”和“缓存雪崩”等问题,进而引发系统崩溃。本文通过Flask + Redis的接口Demo,探讨了如何构建有效的缓存防护机制。针对缓存穿透,建议缓存空值;对于缓存击穿,采用互斥锁和热点隔离策略;而缓存雪崩则可通过随机化过期时间和预加载来缓解。文章还提供了代码示例,展示了如何在电商秒杀系统和用户查询接口中应用这些策略。最后,强调了架构的渐进式演进,并展望了未来可能的优化方向,如双层缓存和异步刷新机制。通过这些措施,可以有效

2025-05-10 23:53:23 1636

原创 LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析)

本文解析了 LeetCode 第 270 题“Closest Binary Search Tree Value”,旨在帮助读者掌握在二叉搜索树(BST)中高效查找最接近目标值的技巧。通过利用 BST 的特性,代码从根节点开始,根据目标值与当前节点值的大小关系,决定向左子树还是右子树搜索,并记录最接近的节点。文章提供了 Swift 语言的解题方案,并通过示例测试验证了代码的正确性。该方法的时间复杂度在平衡 BST 中为 O(log n),空间复杂度为 O(1),适用于需要快速查找接近某个值的场景,如推荐系统或

2025-05-10 23:23:30 851

原创 库克加码中国,还是《哪吒2》粉丝! | Swift 周报 issue 74

以前我一直在躲、在藏,直到无路可走,我才明白该如何面对这个世界。**Swift社区**,真正的勇士,敢于面对挑战,勇敢前行。👊👊👊

2025-05-09 23:43:11 1384

原创 解密火星文:LeetCode 269 题详解与 Swift 实现

这篇文章介绍了LeetCode 269题“火星词典”(Alien Dictionary)的解法,通过有向图和拓扑排序来推断火星语言的字母顺序。文章首先描述了题目背景,要求根据给定的按火星字母顺序排列的单词数组,推导出可能的字母顺序。接着,提供了Swift语言实现的完整代码,并详细解释了代码中的图构建和拓扑排序步骤。代码通过扫描相邻单词,找到第一个不同的字母,建立有向边,并记录每个字母的入度。拓扑排序则通过处理入度为0的字母,逐步推导出字母顺序。文章还通过示例测试验证了代码的有效性,并分析了时间复杂度和空间复

2025-05-09 23:38:35 1042

原创 熔断机制的实战:高并发下怎么优雅“断电”保命?

当系统并发一上来,某个依赖服务开始响应变慢,如果你没有做任何保护,很快整个调用链就会卡死,系统也就跟着“崩”了。这种连锁反应被称为“雪崩效应”。为了防止雪崩,我们需要引入“熔断机制”这个自我保护手段。本文通过实例拆解熔断的核心原理、状态变化过程、典型策略配置,并结合 Hystrix、Sentinel、Resilience4j 等主流框架的实际使用场景,讲清楚为什么“断一时电,保系统命”。关闭状态(Closed):正常调用,监控失败率;打开状态(Open):达到阈值后断开调用,直接返回错误;

2025-05-08 20:30:35 1745

原创 找不到的那一个:Swift 解法带你轻松找出丢失的数字

这篇文章围绕 LeetCode 第 268 题“Missing Number”展开,讲的是如何从一个[0, n]的连续数字序列中,找出唯一缺失的那个数字。看上去像个数学题,但背后其实有不少技巧值得借鉴。我们将提供 Swift 解法,分析其背后的思路,并结合日常场景,聊聊为什么这种“对照差值”的方法在开发中非常常用。这道题背后其实考察的是“对数据整体结构的把握”。不是让你硬干暴力搜索,而是看你能不能抽象问题,用数学规律做“信息对照”。

2025-05-08 19:57:44 726

原创 为什么你系统一出问题就是“全链路崩”?问题可能在这里

在微服务架构中,服务间的调用链常常是一荣俱荣、一损俱损。如果某个下游服务不稳定,可能整个调用链都会被拖垮,最终演变成“服务雪崩”。服务依赖复杂时,如何识别并隔离故障?我们会结合真实业务案例,引出“舱壁模式”的概念,并通过 Python Demo 展示如何利用线程池做资源隔离,最终构建一个“核心服务不被拉下水”的健壮系统。简单说,就是一个服务挂了,其他服务也跟着挂。下游接口慢,主线程卡死;重试机制没控制好,请求打满线程池;所有服务共享一个连接池,某个服务占满后其他服务用不了。

2025-05-07 21:15:50 859

原创 LeetCode 267:回文排列 II —— Swift 解法全解析

本文将深入探讨 LeetCode 第 267 题 —— 回文排列 II。我们将提供 Swift 的解题方案,解析其背后的逻辑,并通过示例测试验证其正确性。通过本篇文章,你将了解如何判断一个字符串的某个排列是否可以构成回文,并生成所有可能的回文排列。通过统计字符出现次数并判断奇数次出现的字符数量,我们可以高效地判断一个字符串的某个排列是否可以构成回文,并生成所有可能的回文排列。这个方法简单而有效,适用于各种字符串输入。回溯算法在生成排列时,注意去重可以避免重复结果。希望本文对你理解回文排列问题有所帮助。

2025-05-07 20:48:29 770

原创 从抽象地狱逃出来:一段 Python 代码看清“过度设计”的代价

你可能见过这样的项目:刚起步就整上微服务框架、Kafka 消息中间件一把梭,再加上好几层抽象工厂 + 策略模式。等上线后才发现,系统只有两三个接口,压根没人用。这些“自我感动式”的开发,其实是一种隐形浪费。它不是技术能力的展现,而是一种“过度假设未来”的风险决策。本文就来聊聊,怎么在架构设计中避免掉进“过度工程”的坑,选对“当下最合适”的解法。架构设计的终极目标,不是“用最炫的技术”,而是“用最低的成本,跑通正确的业务”。一个好的工程师,不是技术最潮的那一个,而是能判断什么时间该用什么设计的那一个。

2025-05-06 23:40:13 1567

原创 字符串也能看风水?教你用 Swift 一眼看出回文潜力

本文将深入探讨 LeetCode 第 266 题 —— 判断一个字符串的某个排列是否可以构成回文。我们将提供 Swift 的解题方案,解析其背后的逻辑,并通过示例测试验证其正确性。通过统计字符出现次数并判断奇数次出现的字符数量,我们可以高效地判断一个字符串的某个排列是否可以构成回文。这个方法简单而有效,适用于各种字符串输入。

2025-05-06 23:16:36 270

原创 技术选型防翻车指南:教你用 Python 实现可回滚方案!

很多项目翻车不是因为不会做,而是走错了方向却没法回头。技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多。本文从实际项目出发,教你如何用 Python 构建一套“可回退、可灰度、可对比”的技术架构方案,让你的选型试错更放心,附带完整 Demo。我们在这篇文章里重点讲了这几个核心点:技术选型最怕“锁死”,要预留回退机制使用抽象接口 + Feature Toggle,可以轻松实现替换/切换灰度上线是风险控制的关键环节技术试点能降低“选型踩坑”的代价不是怕错,而是怕错了没法改。

2025-04-30 20:01:34 1239 1

原创 房子不能随便刷?教你用算法搞定颜色选择难题!

在这篇文章中,我们将深入探讨 LeetCode 的第 265 题——“粉刷房子 II”,并使用 Swift 语言实现一个高效的解决方案。通过动态规划的策略,我们将找到在不违反相邻房子颜色不同的前提下,粉刷所有房子所需的最小成本。本文将提供详细的代码分析、实际示例测试,以及时间和空间复杂度的讨论,帮助你全面理解并掌握这一问题的解决方法。通过动态规划的方法,我们成功地找到了粉刷一排房子的最小成本,同时满足相邻房子颜色不同的限制。虽然当前的实现时间复杂度为 O(n * k²),但在实际应用中,对于较小的k。

2025-04-30 19:46:33 298

原创 别让你的架构卡住业务增长,这份技术选型指南请收下

很多团队在早期选型的时候觉得“轻便就好”,等到业务真起来了,又发现“撑不住”。这篇文章就来聊聊技术选型这事儿怎么才能更聪明点。我们会拆解业务的不同阶段(探索期、增长期、稳定期),看看每一阶段适合什么样的技术策略,还会配上实际的 Demo 模块和选型建议。技术选型不是一次性决策,而是伴随业务成长的“持续演进”。关键是看清楚自己处在哪个阶段,然后选择能跟得上下一阶段的方案,而不是最酷最新最热门的技术。

2025-04-29 20:53:37 1324

原创 别再暴力猜了!用最聪明的方法找到第 N 个丑数(Swift 实战)

在日常算法刷题中,有一类非常经典的问题叫做“丑数问题”。这些数字听起来有点“不友好”,但它们背后的逻辑其实非常有趣。今天就来聊聊 LeetCode 第 264 题 —— 如何优雅地找到第n个只包含质因子 2、3、5 的正整数,也就是“丑数”。这道题虽然看起来很基础,但要写出又快又准的解法,其实挺考验算法设计能力的。尤其是当我们面临大数据量时,像这样用指针构造“丑数链表”的做法,比暴力遍历要高效得多。实际场景中有哪些类似的情况?生成排好序的时间戳序列(跳过某些无效状态)

2025-04-29 20:40:42 631

原创 从查询超时到秒回数据:多表 JOIN 查询性能优化全攻略

当数据库里的数据量越来越大时,分页查询就变得特别慢,尤其是翻到后面几百页的时候。本文会结合实际场景,聊聊常见的分页查询优化方法,并给出一些简单可跑的代码示例,帮你快速掌握怎么让分页查询又快又稳。分页查询优化,归根结底就是减少无效扫描,提高查询效率。根据实际业务场景,灵活选择优化策略:能 Keyset 就 Keyset,不能 Keyset 的话考虑缓存、预计算、近似估算等办法。切记,性能优化永远是折中和取舍,不存在放之四海而皆准的万能方案。

2025-04-28 22:50:12 1320

FBYBankCardRecognition-iOS-master.zip

快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。 比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。 今天我就和大家介绍一下银行卡识别功能,这个方法是通过图像识别,可以快速、高效的识别银行卡信息。可快速高效对银行卡进行识别,可识别卡号是平的和凹凸的银行卡。

2020-05-28

FBYBankCardOC-master.zip

实现仿支付宝银行卡钱包功能,功能接口支持 Swift 5.0 和 OC ,可添加管理银行卡,支持绑定和解绑功能。

2020-05-27

FBYFaceRecognitionDemo_iOS-master.zip

人脸识别 -- 活体检测源码分享,demo 人脸识别功能是对讯飞人脸识别sdk二次封装,活体检测功能是自己开发封装。

2020-04-28

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

TA关注的人

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