自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孤独的狼

全栈工程师

  • 博客(127)
  • 资源 (14)
  • 收藏
  • 关注

原创 如何解决启动系统设置页面无法回调onActivityResult的问题

onActivityResult() 在 onResume() 之前调用是 Android 系统设计的合理行为,确保数据在界面恢复前处理完毕。为了避免在 onResume() 中直接依赖 onActivityResult() 的数据,应通过标志位或直接处理你的业务来解决时序问题。最后在 onResume 或通过 ActivityResultLauncher 的回调中主动检测并再次校验你的业务代码来解决此类问题;

2025-03-09 11:36:35 991

原创 Android ObjectBox数据库使用与集成指南

ObjectBox是一个跨平台的经量级数据库,一般有这几种使用场景:⓵移动应用:高频读写的本地缓存(如聊天记录、日志);⓶IoT 设备:传感器数据的快速存储和查询;⓷嵌入式系统:资源受限环境下的持久化存储;⓸实时数据分析:需要低延迟读写的场景;前面我们介绍过《Android Realm数据库使用与集成指南》但好像从各种指标上来看都没有ObjectBox好,个人也是推荐使用ObjectBox作为终端存储数据库的;

2025-02-26 16:40:40 1199

原创 Android Realm数据库使用与集成指南

Realm 是一款专为移动端和嵌入式场景设计的高性能、跨平台的 对象数据库(NoSQL),由 MongoDB 团队维护。它的核心思想是将数据模型直接映射到对象(如 Java/Kotlin、Swift 等语言中的类),开发者无需编写复杂的 SQL 语句或 ORM 代码即可高效操作数据。

2025-02-25 16:15:45 1138

原创 Android MMKV集成指南

MMKV 是腾讯开源的一款专为移动端设计的高性能键值存储组件,旨在替代传统的 SharedPreferences 和 SQLite,尤其在频繁读写和数据安全性要求高的场景下表现优异。基于mmap内存映射将文件直接映射到内存,省去传统 I/O 的数据拷贝步骤,读写操作直接操作内存,大幅提升性能。通过系统内核确保数据持久化,即使应用崩溃也能保证数据一致性。编码模式使用 Protobuf 进行序列化/反序列化,数据体积更小,解析速度更快,适合移动端资源受限环境。

2025-02-25 13:09:15 808

原创 Android数据库SQLite、Room、Realm、MMKV/DataStore、ObjectBox性能比较

默认选择:Room(官方维护、开发高效、生态完善)。高性能需求:ObjectBox(本地 NoSQL 王者)或 Realm(跨平台)。简单键值对:MMKV(性能极致)或 DataStore(协程集成)。历史项目/底层控制:SQLite(灵活但需手动优化)。个人一般会选择MMKV、Realm、ObjectBos,因为这三个库的读写相对都还不错。

2025-02-25 11:48:32 969

原创 Python编程之数据分组

python数据分组大致可按照规模和需求来划分,进而选择你自己的合适方法处理:如果考虑数据结构化为优先的情况,就可以利用python的pandas库的groupby函数实现。一般情况下也可以使用迭代器 itertools的方式,不过这种方式是需要先进行排序的;说回来如果仅仅只是对一维数据(简单的任务)进行分组,即可以用常规的字典方法手动来处理。

2025-02-19 21:33:09 623

原创 关于人工智能的学习方向应该怎么选择

通过上面的了解与学习,如果想更快的进入业界并成为业界的佼佼者,我们可以先尝试从自身熟悉的基础语言和技能开始入手,再通过项目的实践逐步的进行聚集和专向学习。举个例子,若对自然语言文本生成感兴趣的话,我们可以从Hugging Face的Transformer库入手,当然现在来说自然语言生成以及其它模块、人工智能方面的模型与开源项目也很多,根据自己的情况去选择即可。兴趣驱动:优先选择能激发长期有学习兴趣和动力的方向;小步验证:通过项目实践来测试当下的努力方向是否符合自身的期望;

2025-02-19 15:41:31 849

原创 A9. Jenkins Pipeline自动化构建,飞书通知

这里从服务构建、镜像上传、到服务部署,最后到版本发布通知整个过程已经介绍完成了;整个过程我们利用pipeline进行自动化构建发布;当然如果要进行CICD可持续集成的话,也可以创建gitlab webhook地址与jenkins进行绑定;在当前专栏中我们阐述的是服务自动化构建的基础原理与过程,后期也可以该过程制作成自动化可视化操作流程;关注我,在之后将了解到更多的相关技术文档和实用的工具介绍;

2025-02-18 22:17:49 882

原创 一文搞懂Android应用元素查看器(Appium+Appium-inspector)——定位微信布局元素

Appium 是一个开源的自动化测试工具,它支持多种语言和平台,用于移动应用(包括原生、混合和Web应用程序)的自动化测试。Appium 通过客户端和服务器架构,接收客户端请求,并使用WebDriver协议与移动设备进行通信,执行测试脚本所需的操作。Appium 使用的WebDriver协议是基于Selenium WebDriver的,它定义了一个服务端/客户端协议(也称为JSON Wire Protocol),使得使用任何语言编写的客户端都可以向服务端发送请求。而Appium Inspector 是 A

2025-02-18 00:08:29 1089

原创 JS事件总线组件,如何解决数据流统一分发

今天我们介绍一款JS的事件总结组件,那么什么是事件总线、以及它能够解决哪些问题?比如有这么一个场景,当我们在项目开发时需要进行跨页面的数据传输、页面状态通知等。如订购场景、订阅场景、页面事件更新场景等,需要实现事件(流)、数据订阅、分发场景可以称之为事件总线。它能够解决复杂项目模块与模块之间的耦合度、以及降低跨组件数据传输的复杂度。

2025-02-15 00:47:13 770

原创 JS设计模式之单例原型

单例模式的核心是确保一个类只有一个实例,可以通过构造函数、静态方法、闭包或模块化等方式实现。一般适用于需要全局唯一或单一对象的情况下使用;

2025-02-12 15:14:47 460

原创 ES6中的Class方法与早期JavaScript方法有哪些本质区别

在ES6中引入了class 使JavaScript 的面向对象编程更加直观和简洁变得容易使用,它在功能性、使用技巧和对象编程上更加直观了,其底层的原型及本质上依然是语法糖的方式实现相关不大。特点ES6 class早期JavaScript语法简洁,类似传统面向对象语言基于构造函数和原型链继承使用 extends 和 super手动设置原型链静态方法使用 static 关键字直接挂载到构造函数上私有属性支持(ES2022)需要通过闭包模拟getter和setter支持。

2025-02-12 08:30:00 1064

原创 16. k8s二进制集群之可用性验证

kubenetes服务一般是通过定义Deployment和Service配置文件创建的服务,对于其它服务其实也可以参照上面的配置做相应的修改即可。那么问题来了一般在实际场景对于微服务项目,可能涉及到要部署的服务会非常多(几十个甚至几百个),可不可能每个服务都去手动的定义和部署呢?显然不是,那么我们应该怎么利用更加智能以及自动化的方式去部署呢。

2025-02-11 15:30:00 774

原创 15. k8s二进制集群之CoreDNS部署

CoreDNS 是一个高性能、模块化的 DNS 服务器,专为云原生环境设计。它是 Kubernetes 的默认 DNS 服务,支持 Service 和 Pod 的域名解析。通过插件架构,CoreDNS 可以灵活扩展,满足各种 DNS 需求。

2025-02-11 08:30:00 1558

原创 14. k8s二进制集群之集群网络插件calico部署

Calico作为k8s的网络插件,它支持多种网络模式(如 BGP、Overlay),并提供了强大的网络策略功能,适用于大规模 Kubernetes 集群。

2025-02-10 15:00:00 1774 1

原创 13. k8s二进制集群之Kube-Proxy部署

实现Kubernetes中Service 网络代理的核心组件。通过配置节点上的网络规则(如 iptables 或 IPVS),实现流量转发和负载均衡。支持多种代理模式,适应不同的性能和功能需求。为Kubernetes集群提供服务发现和负载均衡的关键组件。

2025-02-10 08:30:00 777

原创 12. k8s二进制集群之kubelet部署

Kubelet 是 Kubernetes 的核心组件之一,运行在每个节点(Node)上,负责管理该节点上的 Pod 和容器。它确保 Pod 中的容器按预期运行,并与 Kubernetes 控制平面(Control Plane)通信。

2025-02-09 20:30:00 1265 1

原创 A8. Jenkins Pipeline自动化部署过程,多模块远程服务协调实战

这里通过将服务打包成docker镜像并推送到harbor仓库,然后由jenkins调度部署主机的本地化脚本,虚拟化出目标主机的远程环境来达到远程服务动态更新的目的。当然构建-部署方式的有很多种,个人觉得这种方式虽然实现起来稍微有点麻烦,但相对能用性比较强。在实际应用场景根据自己的情况选择合适的方式且善长的知识才有利于项目推进。

2025-02-09 11:29:36 1080

原创 Liunx PEM证书生成与远程登录(记录篇)

我们利用ssh-keygen工具进行证书的公私钥生成,然后将公钥上传到远程服务器后,客户端通过私钥进行登录操作。一般对于生产环境中为安全性考虑,推荐禁用ssh的账号密码方式登录。

2025-02-08 15:11:13 331

原创 11. k8s二进制集群之容器运行时

容器运行时(Container Runtime) 是负责管理和运行容器(如 Docker 容器)的核心组件。它直接与操作系统内核交互,执行容器的生命周期的操作(创建、启动、停止、删除等)。Kubernetes 本身并不直接操作容器,而是通过容器运行时接口(CRI, Container Runtime Interface)与不同的容器运行时进行交互的过程。

2025-02-08 10:58:28 1178

原创 禅道社区版项目管理软件部署(记录篇)

禅道(ZenTao)是一款国产开源的项目管理软件,专注于敏捷开发流程,支持 Scrum 和 Kanban 等多种方法论。其社区版(开源版)免费且功能完整,适合中小团队、创业公司及个人开发者使用。除了项目管理,还可以将bug管理与跟进、CICD等集成溶于一体。

2025-02-07 00:00:53 379

原创 10. k8s二进制集群之Kube Scheduler部署

Kube Scheduler 支持自定义调度策略,通过 Policy 配置文件定义过滤和评分的优先级,例如禁用某些插件或调整权重。总之Kube Scheduler 是 Kubernetes 集群的“智能调度中心”,通过资源评估、策略匹配和负载均衡,确保 Pod 被高效、可靠地分配到最佳节点。理解其工作原理和扩展机制,能帮助优化应用部署,提升集群稳定性。

2025-02-06 23:27:38 1076

原创 9. k8s二进制集群之kube-controller-manager部署

k8s中的kube控制器管理工具kube-controller-manager部署,主要是集群控制平面的核心组件之一,负责运行各种控制器(Controller),确保系统的实际状态与用户声明的期望状态一致。作为自动化引擎,持续监控并修复集群中的资源状态,是 Kubernetes 实现声明式 API 和自愈能力的关键。

2025-02-05 23:59:55 1066 2

原创 8. k8s二进制集群之Kubectl部署

通过kubectl可以与k8s集群进行交互与操作,可以用它来创建、更新、删除和描述集群中的各种资源,如节点、部署、服务、Pod、ReplicaSet、StatefulSet、DaemonSet、Job 、 CronJob,包括故障排查、信息获取和配置管理等。本篇文章主要讲一讲k8s中的命令行管理工具kubectl的详细配置过程。

2025-02-05 16:47:05 1029

原创 7. k8s二进制集群之Kube ApiServer部署

Kube API Server 是 Kubernetes 核心组件之一,负责处理所有的 API 请求,实现集群管理和操作的中心枢纽。主要提供 Kubernetes集群的RESTful API,使用户可以通过命令行工具(如 kubectl)或者编程方式(使用各种语言编写的客户端库)来管理集群。为集群承载着对外提供服务的重要枢纽。

2025-02-04 21:09:30 995

原创 6. k8s二进制集群之各节点部署

k8s二进制部署跟进之kubelet、kube-proxy节点同步

2025-02-04 20:17:25 552

原创 5. k8s二进制集群之ETCD集群部署

k8s二进制集群之ETCD高可用部署详解

2025-02-03 23:15:31 1354 3

原创 服务SDK三方新版中央仓库和私服发布详解

服务SDK(jar)构建产物发布至新版中央仓库和私服的配置过程详细

2025-02-03 18:33:47 1233

原创 4. k8s二进制集群之ETCD集群证书生成

k8s中数据库etcd证书生成与配置

2025-02-02 22:29:48 733

原创 3. k8s二进制集群之负载均衡器高可用部署

k8s二进制集群负载均衡器部署详细。

2025-02-02 21:33:24 877

原创 2. K8S集群架构及主机准备

主机基础配置完后最好做个快照备份。

2025-02-01 23:59:24 924

原创 1. Kubernetes组成及常用命令

Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被越来越多的企业用于管理和编排容器化应用程序。K8s的设计哲学、可扩展性和强大的社区支持是其成功的关键因素。主要由Pods、ReplicaSet&Label、Deployments、Services几大部分组成。

2025-02-01 23:40:00 1200 2

原创 Springboot集成WebFlux响应式开发详解

WebFlux提供一种构建现代化、高性能 Web 应用程序的方法。通过使用响应式编程模型和非阻塞 I/O,它能够提高资源的利用率和处理高并发的能力。与 Spring 生态系统兼容的 WebFlux,不仅支持反应式流,还支持背压机制,能够极大的为后续的服务应用开发带来便利。

2025-01-31 11:21:47 1072

原创 缓存框架Guava Cache、Caffeine、Ehcache性能对比

各缓存框架功能和性能对比参考

2025-01-31 01:30:00 363

原创 一文搞懂LFU、LRU、ARC、FIFO、MRU各缓存策略

缓存是一种提高计算机系统性能的重要技术,它允许快速访问经常使用的数据。不同的缓存淘汰策略决定了当缓存满了之后,哪些数据会被移除。每种策略都有其适用场景和优缺点。在选择缓存策略时,需要考虑到数据的特点、应用的需求以及系统的性能目标。

2025-01-30 20:51:43 1215

原创 Java实现LFU缓存策略实战

LFU与LRU稍有不同,LFU是根据数据被访问的频率来决定去留。尽管它考虑了数据的近期使用,但它不会区分数据的首次访问和后续访问,淘汰那些访问次数最少的数据。

2025-01-30 10:09:16 735

原创 Java实现LRU缓存策略实战

LRU算法通过保留近期最活跃的数据项,淘汰最久未使用的数据项,来优化数据访问的效率和性能。通过这种方式,LRU算法帮助系统更有效地使用有限的资源,提高响应速度和吞吐量。

2025-01-29 13:48:34 1002

原创 Java实现FIFO缓存策略实战

FIFO(First In First Out,先进先出)策略是一种基本的数据处理和存储管理方法,在Java中,这种策略通常用于管理那些需要按照顺序处理的数据项,比如任务的队列、数据的传输缓冲区等。在Java中,java.util.Queue 接口以及实现了这个接口的类,比如 LinkedList 和 PriorityQueue,都可以用来实现FIFO队列。

2025-01-29 00:00:09 252

原创 DeepSeek:突破传统的AI算法与下载排行分析

在人工智能技术飞速发展的当下,搜索引擎市场也迎来了新的变革。DeepSeek,作为一款基于深度学习技术和大数据算法的搜索引擎,以其独特的优势在国内外市场上引起了广泛关注。

2025-01-28 13:00:09 1438

原创 A7. Jenkins Pipeline自动化构建过程,可灵活配置多项目、多模块服务实战

jenkins Pipeline服务自动化构建全过程,支持多项目、多模块灵活配置,在团队实际开发中是一个非常实用的利器。

2025-01-27 22:37:44 2285

springboot集成Google Guava缓存插件实现LRU策略示例

LRU算法通过保留近期最活跃的数据项,淘汰最久未使用的数据项,来优化数据访问的效率和性能。通过这种方式,LRU算法帮助系统更有效地使用有限的资源,提高响应速度和吞吐量。 适用人群:基础开发者以及项目中需要使用Guava缓存技术开发者 使用场景: - 操作系统内存管理-页面转换算法; - 数据库缓存优化; - Web资源缓存优化; - 对象池和缓存优化;

2025-01-29

springboot-fifo-策略模式-实现过程示例代码

项目资源利用springboot工程实现了FIFO(队列先进先出)工具类封装与具体实现过程示例代码 适用人群:初学者 使用场景: 1. 任务调度:在多线程环境中,任务调度器可以使用FIFO队列来确保任务按照添加的顺序被执行。 2. 缓冲区管理:网络通信中,发送和接收数据通常使用FIFO队列来保证数据包的顺序。 3. 打印队列:打印任务通常按照提交顺序进行处理。 4. 数据库查询结果处理:数据库查询的结果集可能会按照某种顺序(如插入顺序)进行处理。

2025-01-29

springboot2.x集成swagger2和springboot3.x集成springdoc的示例代码

Springboot接口文档代码示例,详细使用文档请搜索查看《[Springboot集成Swagger和Springdoc详解](https://blog.youkuaiyun.com/smart_ljh/article/details/145367070)》 适用人群:Java零基础开发人群 使用场景:在Springboot或SpringCloud开发项目中使用 目标:通过此资源可以快速的实现swagger和springdoc接口文档集成,让基础开发快速使用REST API使用,减少因匹配问题踩坑。

2025-01-26

一款Windows免安装的磁盘管理工具

这是一款windows上免安装的磁盘管理工具,简单、常用功能完全免费,高级功能是需要收费。其功能非常强大包括分区、修复、数据恢复、镜像备份等功能,且支持多种文件系统类型;

2025-01-14

Springboot3.x集成LLama3.2源码

资源实现了Springboot3.x集成LLama3.2,实现OpenAI类似的功能。部署完本地大语言模型后,再下载资源部署服务后可以直接提供给客户端使用。如果想查看更详情的信息,可移步我发布的《[A3. Springboot3.x集成LLama3.2实战](https://blog.youkuaiyun.com/smart_ljh/article/details/145097940)》文章。

2025-01-12

springboot3.x新工程配置及基础引用demo

springboot3.x新工程配置及基础引用demo(压缩包解压后为llama-apis只是个名字忽略即可,实际的内容与描述一致),详细步骤说明在我前面发的《[Springboot3.x工程创建及必要引用(基础篇)](https://blog.youkuaiyun.com/smart_ljh/article/details/145038311)》文章中都做了一一介绍,适合零基础的小白用户下载查看。

2025-01-09

安卓ADT项目及升级AS(Android Studio)全攻略

安卓ADT项目及升级AS(Android Studio)全攻略

2016-05-13

GestureLockDemo访支付宝手势控件

android访支付宝手势控件 1.纯代码实现手势控件; 2.可根据分辨自动缩放控件大小;

2015-05-26

visualSVN配置限制客户端提交时输入message最少字符数

visualSVN配置限制客户端提交时输入message最少字符数

2015-05-26

Android开发规范及常用(配置)说明

Android开发规范及常用(配置) 命名规范 代码规范 包注释package-info.java使用说明 eclipse配置类代码注释方式

2015-05-26

FormEditText文本验证提示

In your xml import an extra namespace on the root of your layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:whatever="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" > .... <!-- Your actual layout --> .... </LinearLayout> Note: It's not mandatory to use it on the root element. Also remember to change the xmlns value with your package name Whenever you need to use the FormEditText just do the following in your xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:whatever="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" > <!-- Some stuff --> <com.andreabaccega.widget.FormEditText whatever:testType="alpha" android:id="@+id/et_firstname" android:layout_width="match_parent" android:layout_height="wrap_content" /> <!-- Some other stuff --> </LinearLayout> As you noticed there is a whatever:test attribute setted to alpha. This let the FormEditText know that the data inside it should be only Alpha characters. There are several values you can set to the test attribute: regexp: for custom regexp numeric: for an only numeric field alpha: for an alpha only field alphaNumeric: guess what? personName: checks if the entered text is a person first or last name. personFullName: checks if the entered value is a complete full name. email: checks that the field is a valid email creditCard: checks that the field contains a valid credit card using Luhn Algorithm phone: checks that the field contains a valid phone number domainName: checks that field contains a valid domain name ( always passes the test in API Level < 8 ) ipAddress: checks that the field contains a valid ip address webUrl: checks that the field contains a valid url ( always passes the test in API Level < 8 ) date: checks that the field is a valid date/datetime format ( if customFormat is set, checks with customFormat ) nocheck: It does not check anything except the emptyness of the field. For most of the test type values this library comes with a couple of default strings. This means that error strings ( english only ) are already available for the following test types: numeric, alpha, alphanumeric You can customize them using the attributes testErrorString used when the field does not pass the test emptyErrorString used when the field is empty

2015-05-26

Android-PullToRefresh-master列表上拉下拉刷新

列表上拉下拉刷新支持 ListView ExpandableListView GridView WebView ScrollView HorizontalScrollView ViewPager

2015-05-26

Android_PullToRefresh(下拉刷新上推加载)

列表下拉刷新加载包括listview、gridview、scrollview等

2013-03-27

.net或C#中多级栏目分类获取并排序的通用做法

1.可实现无限级栏目分类 2.执行效率高,速度快 3.只需表id(主键)、classname(名称)和parentid(父级id),其它字段任意 4.采用对象方式进行参数传递 5.对任意数据库任意表都可用 6.用时只要将:无限级栏目获取.txt文件中的内容放到一个独立的类中即可 7.不要忘了把构造方法名称改一下哦

2010-05-24

酒店管理系统开题报告.doc

1、课题研究的现状和意义 2、课题研究预期效果及可行性分析 3、课题要解决的问题或研究的基本内容 4、课题研究进程计划 5、研究成果形式 6、课题研究的主要参考资料

2008-12-06

CSharp编程规范

CSharp编程规范很详细的介绍CSharp编程一种大体的编程规则.里面包括变量的命名规则,还包括一些控件的命名规则等.

2008-11-08

Excel导入至DataGridview(2000,2003,2005,20007版的Excel均可导入)

Excel导入至DataGridview(2000,2003,2005,20007版的Excel均可导入)

2008-10-31

能对电脑中的磁盘进行隐藏和显示的"磁盘隐藏助手"vista XP均可用

能对电脑中的磁盘进行隐藏和显示,使用方便.在vista 和XP系统下均可用.

2008-10-31

能将多种格式的图片转换成ICO的图标转换工具

可将多种格式的图片转换成*.ICO图标格式.在图标转换时易操作控制,转换方便.

2008-10-31

Windows注册表的加解锁,XP Vista均可用

可实现对注册表进行禁用,防止木马及恶意软件向注册表中写东西.禁用以后还可以对注册表进行解锁.

2008-10-29

空空如也

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

TA关注的人

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