-
掌握这些linux常用命令基础运维就不用担心了(2023年linux常用命令有哪些)
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。 一、linux的目录结构 目录结构 · bin (binaries)存放二进制可执行文件 · s…... xiawuyouke- 0
- 0
- 35
-
Linux find运行机制详解
find用于搜索文件或目录,功能非常强大。该工具是findutils包提供的,该包中还包括一个老版本的oldfind工具,以及另一个非常强大的xargs命令,在搜索文件时,如果还要对搜索的文件进行后续的处理,一般都会结合xargs来实现。但本文并不过多涉及xargs,如果要了解xargs用法,见我的另一篇关于xargs的总结xargs的原理剖析及用法详解,目前在网上暂时还没找到比这篇文档更详细的x…... xiawuyouke- 0
- 0
- 17
-
Java基础知识:抽象类和接口知识详解(抽象类和接口的区别)
什么是抽象类? 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为抽象类。 如何构造出一个抽象类? 在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰 的方法称为抽象方法,抽象方法不用给出具体的实现体。 //抽象类 public abstr…... xiawuyouke- 0
- 0
- 42
-
Python大数据:关系型数据库与非关系型数据库的区别
关系型数据库与非关系型数据库的区别 存储方式 关系型数据库采用表的格式进行存储,数据以行和列的方式进行存储,读取和查询都十分方便。 非关系型数据库是以数据集的方式进行存储,即将大量数据都集中在一起存储,类似于键值对、图结构或者文档。 存储结构 关系型数据库按照结构化的方法存储数据,在插入数据前需定义好存储数据的表结构,这使得整张数据表的可靠性和稳定性都比较高,但数据表存储数据后,若要修改数据表的结…... xiawuyouke- 0
- 0
- 46
-
Python开发实例:Python中如何操作Surface对象绘制图形?
在Surface对象上绘制图形分为加载图片和绘制图片两个步骤。 (1)加载图片 加载图片即将图片读取到程序中,通过pygame中 image模块的load()方法可以向程序中加载图片,生成Surface对象。load()方法的声明如下: load (filename) -> Surface imgSurf =pygame.image.load('bg.jpg') 以上示例…... xiawuyouke- 0
- 0
- 63
-
Python开发实例:数字推盘游戏的动态效果绘制
大多数游戏都涉及动态效果,如植物大战僵尸中子弹的发射效果、僵尸的移动效果等。实现动态效果的原理是文本或图片的更换、位置的改变以及屏幕的刷新。基础的动态效果分为以下3种。 (1)多次修改Surface对象绘制的位置并连续绘制刷新,实现移动效果。 (2)在同一位置绘制不同的Surface对象,实现动画效果。 (3)连续绘制不同Surface对象的同时,修改绘制的位置,实现移动的动画。 这里以数字推盘游…... xiawuyouke- 0
- 0
- 55
-
Java基础知识:JSP运行原理及运行过程详解
JSP的工作模式是请求/响应模式,客户端首先发出HTTP请求,JSP程序收到请求后将进行处理并返回处理结果。在一个JSP文件第一次被请求的时候,JSP引擎(容器)把该JSP文件转换成一个Servlet,而这个引擎本身也是一个Servlet。JSP的运行原理如图1所示。 图1 JSP的运行原理 JSP的运行过程具体如下。 (1)客户端发出请求,请求访问JSP文件。 (2)JSP容器先将JSP文件转换…... xiawuyouke- 0
- 0
- 66
-
Python学习笔记:Lambda函数详解(Lambda 函数和常规函数之间的区别)
如果你刚开始使用 Python,那么理解什么是 lambda 可能会有些混乱。 lambda 也称为匿名函数,这是因为 lambda 没有名称。要在 Python 中定义 lambda,你可以使用关键字 lambda 后跟一个或多个参数、一个冒号 (:) 和一个表达式。 我们将从一个简单的 lambda 函数示例开始,以熟悉其语法,然后我们将了解 Python lambda 函数如何适用于不同的场…... xiawuyouke- 0
- 0
- 39
-
Python学习笔记:Functools模块详解
我最近在阅读 Django 的源代码,我遇到了 @wraps 装饰器,这让我找到了 functools 文档,在那里我发现了一些很棒的 functools 特性。这一发现导致了这篇文章的创作。本文将教你如何使用一些很棒的 functools 方法让你的编码更简单。 什么是functools? functools 是一个 Python 内置模块,包含可以与其他函数交互的高阶函数。可以在Python官…... xiawuyouke- 0
- 0
- 74
-
Python学习笔记:Pydantic菜鸟教程详解
今天的主题是使用 Python 类型提示进行数据验证和设置管理。我们将使用一个名为的 Python 包pydantic,它在运行时强制执行类型提示。它提供了对用户友好的错误,允许你捕获任何无效数据。根据官方文档,Pydantic 是 “……主要是一个解析库,而不是验证库。验证是达到目的的一种手段:建立一个符合所提供的类型和约束的模型。 换句话说,pydantic 保证输出模型的类型和约束,而不是输…... xiawuyouke- 0
- 0
- 334
-
Python学习笔记:Loguru日志模块详解(一个强大的日志记录模块)
今天给大家介绍一款强大的日志记录工具Loguru,它可以彻底提升你的日志记录体验,而且简单易用。 Loguru日志模块,即插即用具有多种方式滚动日志、自动压缩日志文件、定时删除等功能。此外,多线程安全、日志高亮、日志告警等功能也不是问题。 loguru安装 安装 Loguru 也非常简单,只需在使用pip命令即可 pip install loguru Loguru使用 在 Loguru 中,如果需…... xiawuyouke- 0
- 0
- 300
-
Python学习笔记:Python库Celery详细教程
什么是Celery Celery 是一个简单、灵活且可靠的分布式系统,可以处理大量消息,同时为操作提供维护此类系统所需的工具。它是一个专注于实时处理的任务队列,同时也支持任务调度。 官方网站:https ://docs.celeryproject.org/en/stable/ 上面的定义听起来很复杂吧?不用担心。我将用一个真实世界的例子来简化定义。 假设你在你最喜欢的餐厅与你的女朋友共进晚餐。 服…... xiawuyouke- 0
- 0
- 176
-
Python学习笔记:pymysql菜鸟教程
本篇文章重点介绍通过 PyMySQL 帮助程序在 Python 中处理 SQL 的最佳实践。此外,我们将使用该configparser模块来存储我们数据库的配置设置。 本文有 5个部分。 1、安装PyMySQL模块跟configparser模块 2、使用配置文件管理数据库连接 3、基本 API 调用 4、我常用的PyMySQL类文件Tips 5、总结 安装PyMySQL跟ConfigParse模块…... xiawuyouke- 0
- 0
- 74
-
Python学习笔记:SQLAlchemy(Python 数据持久层框架)
SQLAlchemy 提供了一种很好的与数据库交互的“Pythonic”方式。因此,与其处理传统 SQL(如 MySQL、PostgreSQL 或 Oracle)的特定方言之间的差异,不如利用 SQLAlchemy 的 Pythonic 框架来简化工作流程并更有效地查询数据。 本文有 6个部分。 1、什么是 ORM,它有什么作用? 2、安装相关模块及docker运行MySQL 3、连接数据库 4、…... xiawuyouke- 0
- 0
- 31
-
Python学习笔记:使用 Python 列出目录中文件的 4 种简便方法
你想了解如何使用 Python 列出目录中的文件吗?在本文中,你将了解如何以 4 种不同的方式进行操作,以便你可以选择自己喜欢的一种。 在所有示例中,我们将列出具有以下结构的目录中的文件。我们将调用目录test_dir: . ├── data │ └── tech.txt └── report.txt 1 directory, 2 files 如何使用 Python os.listdir() 列出…... xiawuyouke- 0
- 0
- 35
-
Python学习笔记:Python 8种排序算法
在这篇文章中,我将向你展示常见的排序算法并提供它们在 Python 中的实现。如果你是一名程序员,或者如果你已经面试过工作,那么你肯定知道了解和掌握算法对于提高你的编码水平或有机会被录用的重要性。即使它们看起来很容易,但它们真的会变得棘手。 排序算法 在处理数据时,排序是基本任务之一。即使有很多方法可以对数据进行排序,但其中一些方法比其他方法更好,一些方法对于特定用途更有效。根据使用的方法(递归、…... xiawuyouke- 0
- 0
- 34
-
Python学习笔记:Python 链表简介及创建方法
什么是 PYTHON 链表? Python 链表是 Python 中的一种抽象数据类型,它允许用户在节点中组织信息,然后链接到列表中的另一个节点。这使得在不更改列表中其他项目的索引的情况下更容易插入和删除信息。 链表的数据结构在以下情况下很有用: 你希望在其他项目之间轻松插入项目。 总集合大小未知 搜索项目时不需要随机访问。 无需担心存储数据的内存使用情况。 如何在 Python 中创建链表 考虑…... xiawuyouke- 0
- 0
- 96
-
Python学习笔记:python range()函数用法
当需要执行特定次数的操作时,Python内置的range函数十分方便。 读罢本文,你将: 理解Python的range函数是如何工作的 了解Python 2和Python 3中的实现方式有何不同 看过了不少range函数操作实例 有能力解决它的一些局限性 让我们开始吧! range函数的历史 虽然Python 2的range和Python3中的range共享了一个名字,但它们是完全不同的家伙。事实…... xiawuyouke- 0
- 0
- 38
-
Python学习笔记:python list介绍及相关方法总结
大家好,本篇文章我们一起学习下什么是 Python 中的 List 以及其相关的方法总结。 什么是 List ? List 数据类型是 Python 中一种非常重要和常用的序列数据结构。它可以存储多个值,每个值都有一个索引,从 0 开始。List 是一个可变的序列,意味着在 List 中添加、删除或修改元素是可以的。(类似 JavaScript 的 Array 数组) List 中的元素不需要是同…... xiawuyouke- 0
- 0
- 31
-
Numpy是什么?(NumPy 的功能和使用示例)
今天为大家准备了一篇关于Numpy的图解教程,本文用可视化的方式介绍了 NumPy 的功能和使用示例。 NumPy 软件包是 Python 生态系统中数据分析、机器学习和科学计算的主力军。它极大地简化了向量和矩阵的操作处理。Python 的一些主要软件包(如 scikit-learn、SciPy、pandas 和 tensorflow)都以 NumPy 作为其架构的基础部分。除了能对数值数据进行切…... xiawuyouke- 0
- 0
- 56
-
Python raise用法总结(超级详细,附测试代码)
是否可以在程序的指定位置手动抛出一个异常?答案是肯定的,Python允许我们在程序中手动设置异常,使用raise语句即可。 读者可能会感到疑惑,即我们从来都是想方设法地让程序正常运行,为什么还要手动设置异常呢?首先要分清楚程序发生异常和程序执行错误,它们完全是两码事,程序由于错误导致的运行异常,是需要程序员想办法解决的;但还有一些异常,是程序正常运行的结果,比如用raise手动引发的异常。 Pyt…... xiawuyouke- 0
- 0
- 39
-
Java面试题:限流算法有哪些?(计数器算法、漏桶算法和令牌桶算法)
限流的实现算法有很多,但常见的限流算法有三种:计数器算法、漏桶算法和令牌桶算法。 1.计数器算法 计数器算法是在一定的时间间隔里,记录请求次数,当请求次数超过该时间限制时,就把计数器清零,然后重新计算。当请求次数超过间隔内的最大次数时,拒绝访问。 计数器算法的实现比较简单,但存在“突刺现象”。 突刺现象是指,比如限流 QPS(每秒查询率)为 100,算法的实现思路就是从第一个请求进来开始计时,在接…... xiawuyouke- 0
- 0
- 90
-
Java基础知识:ConcurrentHashMap是如何保证线程安全的?(JDK1.7实现原理)
ConcurrentHashMap相当于是HashMap的多线程版本,它的功能本质上和HashMap没什么区别。因为HashMap在并发操作的时候会出现各种问题,比如死循环问题、数据覆盖等问题。而这些问题,只要使用ConcurrentHashMap就可以完美地解决。那问题来到了,ConcurrentHashMap它是如何保证线程安全的呢? 1、JDK1.7实现原理 首先,我们来看JDK 1.7中C…... xiawuyouke- 0
- 0
- 49
-
Java面试题:抽象类可以用final修饰吗?(抽象类知识点剖析和演示面试)
面试官提了这样一个问题: 抽象类可以用final修饰吗? 这个题也是没什么可深入挖掘的,面试的时候遇到这样的问题,你直接了当用几句话说清楚就完了。 不能。定义抽象类就是让其他类继承的,而final修饰的类不能被继承。 final 在 Java 中有什么作用? final 修饰的类叫最终类,该类不能被继承。 final 修饰的方法不能被重写。 final 修饰的变量叫常量,常量必须初始化,初始化之后…... xiawuyouke- 0
- 0
- 74
-
Java基础知识:为什么ConcurrentHashMap 读操作不需要加锁?(ConcurrentHashMap简介)
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢? 一、ConcurrentHashMap的简介 我想有基础的同学知道在jdk1.7中是采用Segment + HashEntry + ReentrantLock的方式进行实现的,而1.8中放弃了Seg…... xiawuyouke- 0
- 0
- 53
-
Java面试题:接口和抽象类有什么区别(接口和抽象类知识点剖析和演示面试)
面试官提了这样一个问题: 接口和抽象类有什么区别? 技术点剖析 关于接口和抽象类的区别,这个问题网上有大量的文章进行说明,但大多数的文章描述的都有种盲人摸象的感觉,就是好像问你印度神话里的湿婆和梵天有什么区别?你憋了半天说,湿婆有四条胳膊,梵天有八条胳膊。要说吧,你说的没错,这是区别,但你跟我这样描述湿婆和梵天的区别,我还是没法理解湿婆和梵天都是干啥的。 我们来看看接口和抽象类的区别的。 1 接口…... xiawuyouke- 0
- 0
- 63
-
Java面试题:Java的IO流有哪几种(IO流知识点剖析和演示面试)
面试官提了这样一个问题: Java的IO流有哪几种? 知识点剖析 IO流,即输入输出流,是比较明确的知识点,也没有啥难理解的。我先简单说一点,然后再做演示面试。 1 输入输出流是干什么的? 输入输出流是做数据读写的,比如读写文件、读键盘信号、读鼠标信号、输出信息到显示器、网络上传下载、浏览网页、微信聊天发信息、抖音播放小视频,这些都要用到输入输出流。 2 输入到哪里?从哪里输出? 我们用读写文件来…... xiawuyouke- 0
- 0
- 58
-
Java面试题:BIO、AIO、NIO的区别(BIO、AIO、NIO知识点剖析和演示面试)
面试官提了这样一个问题: 请说说BIO、AIO、NIO的区别? 知识点剖析 IO是什么 用中国话说,IO = 输入/输出 英文全写,IO = in/out 从表现上来看,IO = 读写文件,微信发消息,网上看电影,键盘信号,信息显示在显示器上,这些都是基于输入输出的。 从技术核心来说,IO = 一个个的字节从一个地方进入内存,或者从内存传到另一个地方。 IO的中心是内存,是针对内存的方向说的in(…... xiawuyouke- 0
- 0
- 70
-
Java面试题:File类有哪些常用方法(File类知识点剖析和演示面试)
面试官提了这样一个问题: 请说说File类有哪些常用方法? 知识点剖析: 首先说File类是干什么的。File类是用来操作文件和目录的,这里注意,不仅仅是文件,也包括目录的操作File都提供了很多方法。比如创建、删除、重命名,都是可以的。但并不提供文件内容的操作,如果需要操作文件内容必须基于IO来实现。 File还有两个常量很有用,PathSeparator 和 speparator ,第一个常量…... xiawuyouke- 0
- 0
- 53
-
Java性能优化:ConcurrentHashMap有十个提升性能的地方,你都知道吗?
如何在高并发下提高系统吞吐是所有后端开发者追求的目标,Java并发的开创者Doug Lea在Java 7 ConcurrentHashMap的设计中给出了一些参考答案,本文详细的总结了ConcurrentHashMap源码中影响并发性能的十个细节,有常见的自旋锁,CAS的使用,也有延迟写内存,volatile语义退化等不常见的技巧,希望对大家的开发设计有所帮助。 由于ConcurrentHashM…... xiawuyouke- 0
- 0
- 32
-
Java性能优化:Stream如何提高遍历集合效率?
什么是Stream? 现在很多大数据量系统中都存在分表分库的情况。 例如,电商系统中的订单表,常常使用用户ID的Hash值来实现分表分库,这样是为了减少单个表的数据量,优化用户查询订单的速度。 但在后台管理员审核订单时,他们需要将各个数据源的数据查询到应用层之后进行合并操作。 例如,当我们需要查询出过滤条件下的所有订单,并按照订单的某个条件进行排序,单个数据源查询出来的数据是可以按照某个条件进行排…... xiawuyouke- 0
- 0
- 33
-
Java基础教程:Javatrim方法——去除字符串中的空格
trim() 方法用于删除字符串的头尾空白符。 语法 public String trim() 参数 无 返回值 删除头尾空白符的字符串。 字符串中存在的首尾空格一般情况下都没有任何意义,如字符串“ Hello ”,但是这些空格会影响到字符串的操作,如连接字符串或比较字符串等,所以应该去掉字符串中的首尾空格,这需要使用 String 类提供的 trim() 方法。trim() 方法的语法形式如下:…... xiawuyouke- 0
- 0
- 36
-
Java基础教程:从String中移除空白字符的多种方式
字符串,是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中的空格。 其实,在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等。但是,在Java 11添加了一些新的功能,如strip、stripLeading、stripTrai…... xiawuyouke- 0
- 0
- 58
-
Java基础教程:String 方法中 replace 和 replaceAll 详解
String 方法中 replace 和 replaceAll 详解 我们先做一个简单的概述: replace() 和 replaceAll() 都是常用的替换字符串的方法; 两者都是全部替换,可以把源字符串中的某一字符或字符串全部换成指定的字符或字符串; 如果只想替换第一次出现的,可以使用 replaceFirst(); 这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只…... xiawuyouke- 0
- 0
- 76
-
Java正则表达式详细解析
元字符 正则表达式使用一些特定的元字符来检索、匹配和替换符合规则的字符串 元字符:普通字符、标准字符、限定字符(量词)、定位字符(边界字符) 正则表达式引擎 正则表达式是一个用正则符号写出来的公式 程序对正则表达式进行语法分析,建立语法分析树 再根据语法分析树结合正则表达式引擎生成执行程序(状态机),用于字符匹配 正则表达式引擎是一套核心算法,用于建立状态机 小结 正则表达式 => 语法分析…... xiawuyouke- 0
- 0
- 21
-
Java基础:什么是工作流(Workflow)?Workflow具体有什么作用?
1.工作流概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。 2.工作流系统 一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上…... xiawuyouke- 0
- 0
- 197
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!