- 博客(160)
- 资源 (17)
- 收藏
- 关注
原创 Opencv Python图像处理笔记一:图像、窗口基本操作
随着人工智能和计算机视觉技术的迅猛发展,OpenCV(Open source Computer Vision library)成为了广大开发者和研究者们不可或缺的利器之一。OpenCV 是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法,涵盖了从简单的图像处理操作到复杂的目标检测和跟踪等领域。本文旨在帮助读者系统地学习 Opencv Python,从基础的图像输入输出开始,逐步深入到图像处理的各个领域,涵盖 GUI 编程、图像操作、二值化等多个重要主题。
2024-04-22 18:00:00 847
原创 Python开源工具库使用之图片去水印IOPaint
最近发现一款去除图片水印的开源软件 IOPaint,感觉很不错,分享一下。它是一款基于 SOTA AI 模型的软件,可以实现从图片中擦除任何不需要的物体、缺陷、人,还可以替换掉(通过stable diffusion),并且还能够支持 CPU 运行(当然替换功能 stable diffusion 使用 CPU 太慢了,不建议使用),以往的深度学习软件只能使用 GPU,这款工具还可以支持 CPU 就很满足需求。并且这款工具还通过插件支持其它功能,如脸部修复、图片超分辨率、移除背景等。
2024-04-22 11:26:51 1134
原创 Python开源工具库使用之词云Wordcloud
当我们需要将大量文本数据可视化展示时,WordCloud 库是一个非常有用的工具。它能够将文本中的关键词以词云的形式呈现出来,使得人们可以直观地了解文本的主题和关键词。WordCloud 库不仅能够简单地生成词云,还提供了丰富的配置选项,使用户可以根据自己的需求定制词云的外观和布局。作为Python开源库中的一员,WordCloud 库已经被广泛应用于各种领域,包括数据分析、自然语言处理、社交媒体分析等。
2024-04-12 17:12:39 1243
原创 plantUML使用指南之序列图
在软件开发、系统设计和架构文档编写过程中,图形化建模工具扮演着重要的角色。而PlantUML作为一种强大且简洁的开源工具,深受开发者和架构师们的喜爱。通过使用简单的文本语法,PlantUML 能够将复杂的概念转化为直观而易于理解的图形表示,使得软件设计和沟通变得更加高效和便捷。本文旨在介绍和探索 PlantUML 的应用领域、语法规则和关键功能。我们将研究 PlantUML 的序列图,并通过实际案例和应用场景来展示其实际价值。
2024-03-09 18:23:16 1261
原创 重温MySQL之索引那些事
MySQL 是一种广泛使用的开源关系型数据库,它提供了强大的数据存储和查询功能。在处理大量数据时,数据库的性能是至关重要的,而索引是提高数据库性能的关键因素之一。索引是一种数据结构,用于快速定位和检索数据,类似于书籍的目录。通过合理地创建和使用索引,可以大大提高数据库查询的效率,减少数据扫描的时间。在本博文中,我们将深入探讨 MySQL 索引的概念、原理以及创建和管理索引的最佳实践。我们还将介绍不同类型的索引,并讨论索引失效场景。此外,还会分享一些优化 MySQL 查询性能的技巧。
2024-01-01 14:05:43 867
原创 JVM调优
JVM(Java Virtual Machine)是 Java 底层的核心部分,它是一个在物理计算机上运行 Java 字节码的虚拟机。Java 字节码是通过将 Java 源代码编译而成的中间代码,可以在任何支持 Java 虚拟机的平台上运行。JVM 充当了 Java 程序与底层操作系统之间的桥梁,提供了垃圾回收、内存管理、线程管理等功能,使得Java程序在不同平台上具有良好的可移植性和跨平台性。JVM 调优 (JVM tuning) 是指通过优化 JVM 的配置和参数设置,以达到最佳的性能和资源利用效率。
2023-12-11 09:00:00 921
原创 FFmpeg命令行使用小结
FFmpeg 是一个强大的开源多媒体框架,被广泛应用于视频编辑、视频转码、流媒体处理、视频直播等领域。FFmpeg 包含了一系列的库和工具,用于处理和操作音视频文件。这些库包括音视频编解码器、格式转换器、滤镜、封装器等,可以处理几乎所有常见的音视频格式.
2023-12-02 19:56:58 840
原创 Java开源工具库使用之线上监控诊断库Arthas
在现代软件开发中,应用程序的监控和调试是非常重要的环节。特别是在复杂的 Java 应用程序中,排查问题、优化性能和定位异常往往成为开发者的一项挑战。针对这个问题,阿里巴巴开发了一款强大而灵活的 Java 诊断工具,名为Arthas。Arthas 框架被誉为"Java开发者的神器",它旨在帮助开发者实时监控和深入调试 Java 应用程序,提供了丰富的功能和便捷的操作。无论是在开发、测试还是生产环境中,Arthas 都能够以低侵入性的方式提供全面的应用程序观测和问题诊断能力。
2023-11-14 14:36:45 375
原创 重温数据结构与算法之前缀和
前缀和(Prefix Sum),也被称为累计和,是一种在计算机编程算法领域中广泛应用的重要概念和技巧。它通过将一个序列中的元素累加起来,得到一个新的序列,其中每个元素表示原序列中对应位置及其之前所有元素的和。前缀和的简洁性和高效性使其在各种算法和问题中有着广泛的应用。前缀和有许多实际的应用。例如,前缀和可以用于计算区间内的和。无论是静态区间查询还是动态更新的场景,前缀和都可以为我们提供快速的求解方法。它可以在常数时间内计算出任意区间的和,而不受区间长度的影响。这种特性使得前缀和在处理数据流问题时非常有用。
2023-11-10 17:54:16 134
转载 Mazur 的 SQL 风格指南
发现一个SQL风格的文章,原文链接: https://github.com/huangxinping/sql-style-guide/blob/zh-cn/README.md它就像大写 SQL 一样易读,而且你不必总是按住 Shift 键。2. 单行查询 vs 多行查询只需要查询单列,则推荐单行:一旦你需要查询更多的列或比较复杂,分散在多行可以变得更容易阅读:3. 左对齐 SQL 关键字有些 IDE 能够自动格式化 SQL,以便 SQL 关键字之后的空格垂直对齐。手动做这个格式化非常麻烦(在我看
2023-10-23 20:21:38 112
原创 Java开源工具库使用之Lombok
Lombok是一款在 Java 开发中广受欢迎的工具库,它能够显著简化 Java 代码的编写过程并减少样板代码的冗余。在面对频繁的getter和setter方法、构造函数、日志记录等重复性代码任务时,Lombok 的出现为开发者带来了极大的便利,无需手动编写这些重复性的代码,减少了代码量,提高了开发效率。Lombok的使用非常简单,只需在项目中引入 Lombok 库,并在需要的类上添加相应的注解即可。
2023-09-29 21:28:30 2020
原创 Nginx使用指南
Nginx是一款高性能的开源 Web 服务器软件,也可以用作反向代理服务器、负载均衡器和 HTTP 缓存服务器。由 Igor Sysoev 于 2002 年创建,2004年公开,并且在开源社区得到广泛的支持和贡献。Nginx 的设计目标是解决 C10K(Concurrency 10,000) 问题,即同时处理成千上万个并发连接的能力。相比传统的Web服务器,如 Apache,Nginx 使用了异步非阻塞的事件驱动架构,更高效地处理大量的并发请求,提供更快地响应速度和更低的资源消耗。高性能。
2023-09-22 10:55:57 154
原创 Java开源工具库使用之Apache Commons IO
Apache Commons IO 是 Apache 软件基金会的一个开源项目,提供了一组用于处理 I/O 操作的实用工具类。它的目标是简化常见的文件和流操作,提供更方便、更高效的方式来处理输入和输出。
2023-08-29 21:47:59 283
原创 重温数据结构与算法之Manacher算法
回文子串,顾名思义,即字符串中满足回文性质的子串。在算法设计与分析中,回文子串经常作为研究和讨论的重点,例如 POJ 3974 题目中的最长回文子串问题,以及 LeetCode 0005 题目中求解最长回文子串长度的问题。中心扩展算法是一种简单直观的方法,它通过以每个字符为中心向两边扩展来寻找回文子串,然而其时间复杂度为On2O(n^2)On2,动态规划同样,也存在效率低下的问题。马拉车算法(Manacher Algorithm)是一种高效解决回文字符串问题的算法。
2023-08-08 23:19:26 242
原创 《编程匠艺》读书笔记(二)
最近读了《编程匠艺》这本书,它是由美国作者 Pete Goodliffe 编写的,它不仅是一本学习指南,更是一本激发编程激情的读物,展示了一种追求卓越的编程态度。在我看来,它带来不仅仅是技术上的提升,更好地掌握编程技巧、提高自己的开发效率和质量,更重要的是对编程的思考和理解。书中一共分24个章节,下面是读书笔记+个人理解,一共分4篇博文发布,每篇6章,当前是 07章-12章。
2023-08-05 19:25:36 258
原创 《编程匠艺》读书笔记(一)
最近读了《编程匠艺》这本书,它是由美国作者 Pete Goodliffe 编写的,它不仅是一本学习指南,更是一本激发编程激情的读物,展示了一种追求卓越的编程态度。在我看来,它带来不仅仅是技术上的提升,更好地掌握编程技巧、提高自己的开发效率和质量,更重要的是对编程的思考和理解。下面是读书笔记+个人理解,书中一共分24个章节,当前是 01章- 06章。
2023-07-19 10:21:25 316
原创 Python自动化之win32利器pywin32
PyWin32是一个Python库,用于在Python脚本中访问Windows API。它提供了很多模块,允许开发者使用Python代码来操作Windows操作系统。安装方法离线文档:离线文档在Python安装路径下有Lib\site-packages\PyWin32.chm 可以查找具体使用模块名作用备注win32api提供许多与Windows系统进行交互的函数和常量一些难以分类的api被放在这个模块win32com。
2023-07-14 21:57:56 1544
原创 重温数据结构与算法之KMP算法
KMP 算法是一种字符串匹配算法,它可以在一个主串中查找一个模式串的出现位置。在实际应用中,字符串匹配是一个非常常见的问题,比如在搜索引擎中搜索关键词、在文本编辑器中查找字符串等等。 KMP 算法的发明者是 DonaldKMorris 和 VaughanPratt,他们在1977年发表了一篇论文《Fast Pattern Matching in Strings》,其中Donald Knuth 还是《计算机程序设计艺术》的作者。 相比于暴力匹配算法的时间复杂度OnmO(nm)Onm。
2023-06-28 08:30:00 300
原创 机器学习小结之决策树
决策树(Decision Trees)是一种基于树结构的机器学习算法,它是近年来最常见的数据挖掘算法,可以用于分类和回归问题。它可以作为预测模型,从样本的观测数据推断出该样本的预测结果。按预测结果的差异,决策树学习可细分两类。分类树,其预测结果仅限于一组离散数值。树的每个分支对应一组由逻辑与连接的分类特征,而该分支上的叶节点对应由上述特征可以预测出的分类标签。回归树,其预测结果为连续值。决策树可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
2023-06-23 21:21:06 3076
原创 重温数据结构与算法之A star 算法
A*(A-Star)算法是一种静态路网中求解最短路径有效的直接搜索方法,也是解决许多搜索问题的有效算法。A*算法属于启发式搜索算法,它结合了最佳优先(Best-First)搜索和Dijkstra算法的优点,能够快速地在图中找到一条从起点到终点的最短路径。自从1968年由 Peter Hart, Nils Nilsson 和 Bertram Raphael 提出以来,A* 算法已经成为了许多领域中最常用的路径规划算法之一。最佳优先搜索通过使用启发函数来评估每个节点的优先级,从而快速地找到目标节点。
2023-06-06 14:37:05 1145 1
原创 常用监控方案 Prometheus + Grafana 简单使用小结
Prometheus 是用 GO 语言开发的一个开源的系统监控和告警工具包,最初是 2012 年 SoundCloud 发布的,后面被很多大公司组织所使用,于2016年加入了云原生云计算基金会(Cloud Native Computing Foundation,CNCF),并于2018年毕业,它现在是一个独立的开源项目,并独立于任何公司进行维护。 Prometheus是一个非常优秀的监控工具,准确的说,更是一套监控方案。
2023-05-26 13:01:55 2478
原创 Java开源工具库使用之压测JMeter
是一款开源的 Java 应用程序,用于对软件进行性能测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等。 JMeter 提供了图形化用户界面,使得测试人员可以轻松地创建和运行测试计划,并查看测试结果。JMeter 还可以模拟多种负载类型,包括静态和动态资源,如文件、图片、视频、数据库等。
2023-05-19 20:18:03 1647 1
原创 机器学习小结之KNN算法
KNN(K-Nearest Neighbor)算法是一种最简单,也是一个很实用的机器学习的算法,在《机器学习实战》这本书中属于第一个介绍的算法。它属于基于实例的有监督学习算法,本身不需要进行训练,不会得到一个概括数据特征的模型,只需要选择合适的参数 K 就可以进行应用。KNN的目标是在训练数据中发现最佳的 K 个近邻,并根据这些近邻的标签来预测新数据的标签。每次使用 KNN 进行预测时,所有的训练数据都会参与计算。分类问题,同时天然可以处理多分类问题,比如根据音乐的特征,将其归类到不同的类型。
2023-05-04 10:21:20 1645
原创 使用WireShark抓包分析TCP_IP协议
TCP/IP 协议是一组用于互联网通信的协议。它由两个主要协议组成:传输控制协议(TCP)和互联网协议(IPTCP/IP协议是互联网上最常用的协议之一,它使得不同类型的计算机和网络设备能够相互通信。TCP负责将数据分割成数据包,并确保它们在网络上的传输。IP负责将数据包从源地址路由到目标地址。在计算机网络(谢希仁编著)这本书中,详细介绍了TCP/IP网络传输涉及的分层,及各个比特的含义。在这篇文章中,我们将使用Wireshark抓包分析 TCP/IP 协议,用实践来验证理论。
2023-04-26 11:34:35 7873 3
原创 重温数据结构与算法之摩尔投票法
在统计学中,众数是一种重要的集中趋势指标,它表示一组数据中出现次数最多的那个值。此外在一个集合中,如果一个元素的出现次数比其他所有元素的出现次数之和还多,那么就称它为这个集合的绝对众数(等价地说,绝对众数的出现次数大于总元素数的一半)。例如,在{1,2,3,3,4}这组数据中,3就是众数,因为它出现了两次,而其他值都只出现了一次,但是没有绝对众数。寻找众数可以帮助我们了解数据的主要特征和分布情况,在某些场合下也可以作为数据代表或近似值。例如,在民意调查中,我们可能会关注哪个候选人得到了最多人的支持;
2023-03-27 11:00:00 906
原创 Java开源工具库使用之ZooKeeper
分布式系统是由多个节点协同工作的系统,它们可以提供高可用性高性能和高扩展性的服务。然而,分布式系统也面临着很多挑战,如网络延迟、节点故障、数据一致性等。为了解决这些问题,分布式系统需要一个协调服务来管理节点之间的通信和协作。ZooKeeper就是一个高性能的分布式应用协调服务。它提供了一些常用的服务, 如命名、配置管理、同步和组服务。在一个简单的接口中,让你不用从头开始编写,可以直接使用它来实现一致性、组管理、领导选举和存在协议等功能。当然,你也可以在它的基础上构建自己的特定需求。
2023-03-20 11:00:00 1276
原创 重温数据结构与算法之宽度优先搜索
广度优先搜索(,简称BFS),是一种遍历图存储结构的一种算法,它既适用于无向图,也适用于有向图。BFS 算法的基本思想是从一个起始顶点开始,依次访问其相邻的未被访问过的顶点,并将它们加入到一个队列中,然后从队列中取出一个顶点作为新的起始顶点,重复上述过程,直到队列为空或者找到目标顶点为止。从一个顶点开始,按层次访问其相邻的顶点,然后再访问下一层的顶点,直到遍历完所有的顶点。使用队列来存储待访问的顶点,保证先进先出的顺序。能够找到最短路径,适用于寻路等问题。
2023-03-14 11:29:05 836
原创 重温数据结构与算法之深度优先搜索
深度优先搜索(DFS)是一种遍历或搜索树或图数据结构的算法。该算法从根节点开始(在图的情况下,选择一些任意的节点作为根节点),并在回溯之前尽可能地沿着每个分支进行探索。需要额外的内存,通常是一个堆栈,来跟踪到目前为止沿着指定分支发现的节点,这有助于回溯。从一个起始节点开始,沿着一条路径不断访问邻接节点,直到没有未访问的邻接节点为止,然后回溯到上一个节点,继续访问其他邻接节点。利用栈或递归来实现。可以产生目标图的相应拓扑排序表。简单易实现。占用空间少。
2023-03-08 10:00:24 1773
原创 Java开源工具库使用之httpclient
HttpClient成立于2001年,是项目下的子项目,2004 年离开Commons,提升成为一个单独的 Jakarta 项目。2005 年,Jakarta 创建了项目,目标是开发的继任者。2007 年,Commons项目,也就是HttpClient项目的发源地,离开了Jakarta, 成为了1个新的顶级项目。不久之后,也离开了Jakarta, 成为一个独立的顶级项目,负责维护HttpClient的工作。HttpClient提供了高效、最新、功能丰富的支持HTTP。
2023-02-22 11:26:45 2486
原创 重温数据结构与算法之约瑟夫问题
约瑟夫问题,是一个计算机科学和数学中的问题,在计算机编程的算法中,类似问题又称为约瑟夫环,又称“丢手绢问题”。据说著名犹太历史学家 Josephus 有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。
2023-01-29 23:41:24 1420
原创 Java开源工具库使用之JWT
官网介绍JWT 是什么?JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑和独立的方式,可以作为 JSON 对象在各方之间安全地传输信息。这个信息可以被验证和信任,因为它是用数字签名完成的。jwt 可以使用密钥(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对进行签名。虽然 JWT 也可以加密以提供各方之间的保密,但专注于签名 Token。签名 Token 可以验证其中包含的声明的完整性,而加密Token 可以向其他各方隐藏这些声明。
2023-01-17 23:24:42 1246
原创 Python数据分析之Pandas
Pandas: 功能强大的Python数据分析工具包,主要特点: 易于处理浮点和非浮点数据中的缺失数据(表示NaN、NA或NaT); 大小可变性:可以从数据框架和更高维对象中插入和删除;列自动和显式的数据对齐:对象可以显式地对齐到一组标签,或者用户可以简单地忽略标签,让系列、数据帧等。在计算中自动为您对齐数据功能强大、灵活的分组功能,对数据集执行拆分应用组合操作,用于聚合和转换数据使将其他Python和NumPy数据结构中的不规则、不同索引的数据转换为数据框架对象变得容易基于标签的智能切片
2023-01-11 22:07:50 1076 2
原创 SpringBoot学习小结之滑块验证码生成库tianai-captcha
最近发现一个有趣的 Java 验证码库,能够生成各种行为验证码:滑块、旋转、点选验证码。github: https://github.com/tianaiyouqing/tianai-captchapom
2022-12-19 08:30:00 2677 5
原创 Python数据分析之Numpy
NumPy是使用 Python 进行科学计算的基本包,增加了对大型、多维数组和矩阵的支持,以及在这些数组上操作的大量高级数学函数。NumPy 最初是由 Jim Hugunin 和其他几个开发人员创建的。2005年,Travis Oliphant 结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。它提供了一些很实用的功能功能强大的n维数组对象复杂的(广播)功能集成C/C++和Fortran代码的工具。
2022-12-12 08:30:00 562 1
原创 Python自动化之跨平台GUI利器PyAutoGUI
是一个跨平台GUI自动化Python模块,用于用编程方式控制鼠标和键盘,不仅支持 Windows, 还支持Linux、MAC。pyautogui 支持以屏幕左上角为原点,往右为X轴正方向,向下为Y轴正方向的坐标系
2022-12-05 08:30:00 1045
原创 Python自动化之Excel利器openpyxl
openpyxl 是一个 用于读写Excel 2010 xlsx/xlsm/xltx/xltm 文件的Python库,最初是基于PHPExcel。可以通过pip安装。
2022-12-01 11:09:32 1084
原创 Java并发之线程池
在高并发的 Java 程序设计中,编写多线程代码可以最大限度发挥现代多核处理器的计算能力,提升系统的吞吐和性能。线程是多线程代码的基础工具,但不能无限制增加线程的数量,线程的创建和销毁、所占内存都要消耗系统资源,如果处理不当,可能会导致 OOM,并且大量线程的回收也会给 GC 带来压力,延长停顿时间。在并发环境下,系统不能够确定在任意时刻中,有多少任务需要执行,有多少资源需要投入。为解决资源分配这个问题,线程池采用了“池化”(Pooling)思想。
2022-11-23 21:03:06 642
原创 浏览器自动化利器Selenium IDE使用指南
Selenium 是一个浏览器自动化框架,专门为规范提供了一个与所有主要的 web 浏览器兼容的平台和语言中立的编码接口。Selenium IDE 是作为 Selenium 在浏览器 Firefox 和 Chrome 的插件,用于记录、重放测试脚本,并且脚本也可以导出到 C#,Java,Ruby 或 Python 等编程语言。
2022-11-16 11:03:14 3635
原创 重温数据结构与算法之并查集
并查集是一种树型的数据结构。它的特点是由子结点找到父亲结点,用于处理一些不交集()的合并及查询问题。Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并成同一个集合。摘自 Wiki在计算机科学中,不相交集数据结构(Disjoint Sets),也称为并查集或合并查找集(),是存储不相交(非重叠)集合的数据结构。同样地,它将一个集合的一个分区存储为不相交的子集。它提供添加新集、合并集合(用联合替换它们)和查找集合成员的操作。
2022-11-09 22:33:14 407
原创 Java开源工具库使用之高性能内存数据查找库CQengine
CQEngine(Collection Query Engine) 集合查询引擎,是一个高性能的Java集合,可以使用类似 SQL 的查询语句进行搜索,且延迟极低。每秒实现数百万个查询,查询延迟以微秒为单位从数据库中卸载查询流量,扩展应用程序层即使是在低端硬件上,其性能也比数据库高出数千倍支持堆内持久化、堆外持久化、磁盘持久化,并支持 MVCC 事务隔离。
2022-11-02 14:49:17 1896
openjdk-1.8.0-internal.zip
2019-12-22
jrockit-jdk1.6.0_45-R28.2.7-4.1.0源码
2019-03-01
grafana-5.4.2.windows-amd64
2018-12-19
telegraf-1.7.4_linux_amd64.tar.gz
2018-09-12
Navicat Premium_11.2.7简体中文版
2018-08-27
telegraf-1.7.3_windows_amd64.zip
2018-08-27
docker-17.09.1-ce.tgz
2018-08-27
算法精解-C语言描述源代码
2018-06-30
C++ cookbook 中文版
2018-06-28
opencv的js版opencv.js
2018-03-24
Code Architects Regex Tester
2017-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人