当前位置: 首页 > news >正文

saas建站系统是怎么实现的/企业文化案例

saas建站系统是怎么实现的,企业文化案例,wordpress绝对路径图片不显示,网版制作厂家python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中2、队列和栈的区别,并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下:5、CPU处理线程最慢的…

在这里插入图片描述


python知识点总结十

  • 1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中
  • 2、队列和栈的区别,并且用python实现
  • 3、设计实现遍历目录与子目录
  • 4、CPU处理进程最慢的情况通常发生在以下几种情况下:
  • 5、CPU处理线程最慢的情况通常发生在以下几种情况下:
  • 6、如何做到线程同步?
  • 7、手写代码:对于字符串bdackmkdbb,输出第二个只出现一次的字符, 输出c
  • 8、按按照题目要求写出对应的装饰器。

1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中

函数装饰器

def decator(file):def outer(func):def inner(*args, **kwargs):start = time.time()time.sleep(3)res = func(*args, **kwargs)with open(file,encoding='utf-8',mode='w') as f:f.write(str(res))end = time.time()print('执行时间:', end - start)return resreturn innerreturn outer@decator(file='1.txt')
def func(a, b):return a + ba = 2
b = 3
print(func(a, b))

类装饰器

class A:def __init__(self,file):self.file=filedef __call__(self, func, *args, **kwargs):def wrapper(*args,**kwargs):start = time.time()time.sleep(3)res = func(*args, **kwargs)with open(self.file, encoding='utf-8', mode='w') as f:f.write(str(res))end = time.time()print('执行时间:', end - start)return resreturn wrapper@A(file='a.txt')
def f(a,b):return a+ba=3
b=6
print(f(a, b))

2、队列和栈的区别,并且用python实现

队列(Queue)和栈(Stack)是两种常见的数据结构,它们之间的主要区别在于数据的存取方式:
队列(Queue):
先进先出(FIFO):队列是按照先进先出的原则存取数据的,即先进入队列的数据会先被取出。
操作:在队列中,数据的插入是在队尾进行(enqueue),数据的删除是在队头进行(dequeue)。
应用:队列常用于实现广度优先搜索(BFS)等算法,如消息队列、任务调度等。

栈(Stack):
后进先出(LIFO):栈是按照后进先出的原则存取数据的,即最后压入栈的数据会最先被弹出。
操作:在栈中,数据的插入和删除都是在栈顶进行,压入数据称为入栈(push),弹出数据称为出栈(pop)。
应用:栈常用于实现递归函数、表达式求值、回溯算法等。

队列的实现:

from collections import deque# 创建一个空队列
queue = deque()# 入队
queue.append(1)
queue.append(2)
queue.append(3)# 出队
while queue:front = queue.popleft()print("出队:", front)

栈的实现:

# 创建一个空栈
stack = []# 入栈
stack.append(1)
stack.append(2)
stack.append(3)# 出栈
while stack:top = stack.pop()print("出栈:", top)

3、设计实现遍历目录与子目录

import os 
def get_files(dir,suffix): res = [] for root,dirs,files in os.walk(dir): for filename in files: name,suf = os.path.splitext(filename) if suf == suffix: res.append(os.path.join(root,filename)) print(res) get_files("./",'.pyc')

4、CPU处理进程最慢的情况通常发生在以下几种情况下:

1、cpu负载过高:
当系统中的CPU负载达到极限或者过载时,CPU处理进程的速度就会变慢。这是因为系统资源不足,导致CPU长时间无法及时处理进程造成的。
2、竞争资源:
当多个进程竞争同一资源,如内存、硬盘或者网络宽带等,会导致CPU处理进程变慢。因为CPU需要需要等待资源的释放。
3、I/O操作:
当进程需要进行大量的输入输出操作时,CPU处理进程的速度会变慢,这是因为I/O操作相比于CPU处理速度较慢。
5、系统调度:系统调度算法不当或者优先级设置不合理可能会导致 CPU 处理进程的速度变慢,造成进程长时间等待。

5、CPU处理线程最慢的情况通常发生在以下几种情况下:

  1. CPU密集型任务:当系统中存在大量的 CPU 密集型任务,会导致 CPU 处理线程变慢。因为 CPU 需要不断执行这些耗时的任务,占用大量计算资源。

  2. 资源竞争:当多个线程竞争同一资源,如共享内存、文件、数据库连接等,会导致 CPU 处理线程变慢。因为线程需要等待资源的释放或者合适时机才能继续执行。

  3. I/O操作:和处理进程类似,线程进行大量的 I/O 操作也会导致 CPU 处理线程变慢,因为线程需要等待 I/O 操作完成才能继续执行。

  4. 死锁:当线程之间出现死锁情况时,CPU 处理线程会陷入等待状态,无法继续执行。这也会导致 CPU 处理线程变慢,直到死锁解除。

  5. 线程调度:系统调度算法或线程优先级设置不当可能会导致 CPU 处理线程变慢,造成线程长时间等待。

  6. 线程处于阻塞状态

6、如何做到线程同步?

  1. 互斥锁(Mutex):互斥锁是一种最基本的线程同步机制,用于保护共享资源不被多个线程同时访问。在访问共享资源之前,线程需要先锁定互斥锁,访问完成后再释放锁。这样可以确保在同一时刻只有一个线程可以访问共享资源。

  2. 信号量(Semaphores):信号量是一种用于线程同步的计数器,可以阻塞或唤醒线程。通过信号量实现同步操作,控制多个线程对共享资源的访问。可以实现信号量来控制资源的访问数量,从而保证线程同步。

  3. 读写锁(Read-Write Locks):读写锁允许多个线程同时读取共享资源,但只允许一个线程写入共享资源。通过读写锁,可以提高共享资源的并发访问性能。

  4. 屏障(Barriers):屏障用于多个线程需要在某个点同步,等待所有线程都到达后才能继续执行。屏障可以保证多个线程在执行过程中按一定顺序同步,实现前后依赖关系。

  5. 原子操作(Atomic Operations):原子操作是一种不可分割的操作,可以保证操作的完整性和线程安全性。在需要对共享资源进行简单操作时,可以使用原子操作来保证线程同步。

7、手写代码:对于字符串bdackmkdbb,输出第二个只出现一次的字符, 输出c

def test(s):dic={}res=[]for i in s:if i not in dic:dic[i]=1else:dic[i]+=1for key,value in dic.items():if value==1:res.append(key)return res[1]s="bdackmkdbb"
res=test(s)
print(res)

8、按按照题目要求写出对应的装饰器。

要求:有一个通过网络获取数据的函数(可能会因为网络原因出现异常),写一个装饰器让这个函数在出现指定异常时可以重试指定的次数,并在每次重试之前随机延迟一段时间,最长延迟时间可以通过参数进行控制。

点评:LeetCode上的企业面试题目,我们不止一次强调过,装饰器几乎是Python面试必问内
容,这个题目比之前的题目稍微复杂一些,它需要的是一个参数化的装饰器。

from functools import wraps
from random import randomdef retry(retry_time=3, max_wait_sec=5, error=(Exception,)):def decorate(fn):@wraps(fn)def wrapper(*args, **kwargs):for _ in range(retry_time):try:return fn(*args, **kwargs)except error:time.sleep(random() * max_wait_sec)return Nonereturn wrapperreturn decorate@retry(retry_time=4, max_wait_sec=4)
def request_():return '6666'print(request_())

在这里插入图片描述

相关文章:

python知识点总结(十)

python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中2、队列和栈的区别,并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下:5、CPU处理线程最慢的…...

【Python】探索 Python 编程世界:常量、变量及数据类型解析

欢迎来CILMY23的博客 本篇主题为 探索 Python 编程世界:常量、变量及数据类型解析 个人主页:CILMY23-CSDN博客 Python系列专栏:http://t.csdnimg.cn/HqYo8 上一篇博客: http://t.csdnimg.cn/SEdbp C语言专栏: htt…...

vue页面实现左右div宽度,上下div高度分割线手动拖动高度或者宽度自动变化,两个div宽度或者高度拉伸调节,实现左右可拖动改变宽度的div内容显示区

实现左右或者上下div两部分拖动,宽度或者高度自动变化,实现流畅平滑的变化,还可以是实现拖动到一定宽度就不让拖动了,如果你不需要最小宽度,就直接去掉样式就行 这是页面。分左中右三部分,中间我是用来作为拖动的按钮…...

知攻善防应急靶场-Linux(1)

前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全应急响应和知攻善防实验室靶场,记录自己的学习过程&am…...

ffmpeg命令行

ffmpeg 如果要在linux gdb 调试,需要在configure 时候不优化 开启调试 ./configure --enable-debug --disable-optimizations make如何开启gdb 调试 gdb ffmpeg_gset args -i test.hevc -c:v copy -c:a copy output_265.mp4rh264 的流生成mp4 文件,不转…...

VMware虚拟机更换引导顺序

前言 我用wmware装了黑群晖测试,将img转成vmdisk的格式之后发现系统引导盘之后1G,有点太小了 我准备把wmware的黑群晖系统迁移到新添加的虚拟磁盘里 1.登录黑群晖的SSH 请先在黑群晖的控制面板中的终端机和SNMP里面启用SSH功能,才能使用ss…...

RAFT:让大型语言模型更擅长特定领域的 RAG 任务

RAFT(检索增强的微调)代表了一种全新的训练大语言模型(LLMs)以提升其在检索增强生成(RAG)任务上表现的方法。“检索增强的微调”技术融合了检索增强生成和微调的优点,目标是更好地适应各个特定领…...

Stable Diffusion 本地训练端口与云端训练端口冲突解决办法

方法之一,修改本地训练所用的端口 1 首先,进入脚本训练器的根目录 例如:C:\MarkDeng\lora-scripts-v1.7.3 找到gui.py 2 修改端口号 因为云端训练器也是占用28000和6006端口 那么本地改成27999和6007也是可以的 保存退出,运行启动…...

C++学习day1

思维导图 定义自己的命名空间&#xff0c;其中有string类型的变量&#xff0c;再定义两个函数&#xff0c;一个函数完成字符串的输入&#xff0c;一个函数完成求字符串长度&#xff0c;再定义一个全局函数完成对该字符串的反转 #include <iostream> using namespace std;…...

openGauss CM

CM 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 CM&#xff08;Cluster Manager&#xff09;是一款数据库管理软件&#xff0c;由cm_server和cm_agent组成。 cm_agent是部署在数据库每个主机上&#xff0c;用来启停和监控各个数据库实例进程的数据库管理组件…...

北斗短报文+4G应急广播系统:实时监控 自动预警 保护校园安全的新力量

安全无小事&#xff0c;生命重如山。学生是祖国的未来&#xff0c;校园安全是全社会安全工作的一个重要的组成部分。它直接关系到青少年学生能否安健康地成长&#xff0c;关系到千千万万个家庭的幸福安宁和社会稳定。 灾害事故和突发事件频频发生&#xff0c;给学生、教职员工…...

2024河北石家庄矿业矿山展览会|河北智慧矿山展会|河北矿博会

2024中国&#xff08;石家庄&#xff09;国际矿业博览会      时间&#xff1a;2024年7月4-6日 地点&#xff1a;石家庄国际会展中心.正定      随着全球经济的持续增长和矿产资源需求的不断攀升&#xff0c;矿业行业正迎来前所未有的发展机遇。作为矿业领域的盛会&…...

ruoyi使用笔记

1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …...

论文《Exploring to Prompt for Vision-Language Models》阅读

论文《Exploring to Prompt for Vision-Language Models》阅读 论文概况论文动机&#xff08;Intro&#xff09;MethodologyPreliminaryCoOp[CLASS]位置Context 是否跨 class 共享表示和训练 ExperimentsOverall ComparisonDomain GeneralizationContext Length (M) 和 backbon…...

科普 | Runes 预挖矿概念

作者&#xff1a;Jacky X/推&#xff1a;zxl2102492 关于 Runes 协议的前世今生&#xff0c;可以点击阅读这篇文章 &#x1f447; 《简述 Runes 协议、发展历程及最新的「公开铭刻」发行机制的拓展讨论》 什么是传统预挖矿概念 这轮比特币生态爆发之前&#xff0c;预挖矿&…...

蓝桥杯真题Day40 倒计时19天 纯练题!

蓝桥杯第十三届省赛真题-统计子矩阵 题目描述 给定一个 N M 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 1 1&#xff0c;最大 N M) 满足子矩阵中所有数的和不超过给定的整数 K? 输入格式 第一行包含三个整数 N, M 和 K. 之后 N 行每行包含 M 个整数&#xf…...

Android 14.0 SystemUI下拉状态栏增加响铃功能

1.概述 在14.0的系统产品rom定制化开发中,在对systemui的状态栏开发中,对SystemUI下拉状态栏的QuickQSPanel区域有快捷功能键开关,对于增加各种响铃快捷也是常用功能, 有需要增加响铃功能开关功能,接下来就来分析SystemUI下拉状态栏QuickQSPanel快捷功能键开关的相关源码…...

docker学习笔记 二-----docker介绍

老套路哈&#xff0c;第一章先科普一下三种常见的云服务类型&#xff0c;第二和第三章节写docker学习笔记。 一 、IAAS、PAAS、SAAS IAAS (Infrastructure as a Service)&#xff1a;基础即服务&#xff0c;供应商仅提供给用户最基础设施的服务资源&#xff0c;也就是服务器资…...

螺旋矩阵的算法刷题

螺旋矩阵的算法刷题 本文主要涉及螺旋矩阵的算法 包括三个题目分别是 59. 螺旋矩阵 II54. 螺旋矩阵 中等LCR 146. 螺旋遍历二维数组 文章目录 螺旋矩阵的算法刷题一 、螺旋矩阵简单1.1 实现一&#xff08;我认为这个方法更巧妙&#xff01;&#xff01;&#xff09;1.2 实现二&…...

蓝桥杯算法赛(二进制王国)

问题描述 二进制王国是一个非常特殊的国家&#xff0c;因为该国家的居民仅由 0 和 1 组成。 在这个国家中&#xff0c;每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示&#xff0c;例如 101、 000、 111 等。 现在&#xff0c;国王选了出 N 户家庭参加邻国的庆典…...

7.JDK下载和安装

文章目录 一、下载二、安装三、JDK的安装目录介绍 写JAVA代码不是随随便便能写的&#xff0c;我们得先做一点准备工作。例如&#xff0c;我们平时想要玩一把游戏&#xff0c;就需要先下载、安装才能玩游戏。JAVA也是一样的&#xff0c;也是需要下载并安装相关的软件&#xff0c…...

Java序列化之Jackson详解

文章目录 1 Jackson1.1 Jackson简介1.2 为什么选择Jackson1.3 Jackson的基本功能1.3.1 将Java对象转换为JSON字符串&#xff08;序列化&#xff09;1.3.2 将JSON字符串转换为Java对象&#xff08;反序列化&#xff09; 1.4 Jackson库主要方法1.5 使用Jackson基本步骤1.5.1 添加…...

深入Facebook的世界:探索数字化社交的无限可能性

引言 随着数字化时代的到来&#xff0c;社交媒体平台已经成为了人们日常生活中不可或缺的一部分&#xff0c;而其中最为突出的代表之一便是Facebook。作为全球最大的社交媒体平台之一&#xff0c;Facebook不仅仅是一个社交网络&#xff0c;更是一个数字化社交的生态系统&#…...

HTML 怎么解决上下标问题呢?

当我们阅读内容时&#xff0c;经常会遇到特殊格式的文本&#xff0c;如化学式的下标和数学公式的上标&#xff0c;sub 标签和sup 标签就是用来解决这个问题的。 1. 基础语法 什么是 sub 和sup标签 sub 标签用于定义下标文本&#xff0c;而 sup 标签用于定义上标文本。 这些…...

题目 2880: 计算鞍点

题目描述: 给定一个5*5的矩阵&#xff0c;每行只有一个最大值&#xff0c;每列只有一个最小值&#xff0c;寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素&#xff0c;它是所在行的最大值&#xff0c;并且是所在列的最小值。 例如&#xff1a;在下面的例子中&#xff08;第…...

前端Web移动端学习day05

移动 Web 第五天 响应式布局方案 媒体查询Bootstrap框架 响应式网页指的是一套代码适配多端&#xff0c;一套代码适配各种大小的屏幕。 共有两种方案可以实现响应式网页&#xff0c;一种是媒体查询&#xff0c;另一种是使用bootstrap框架。 01-媒体查询 基本写法 max-wid…...

蚂蚁庄园今日答案

蚂蚁庄园是一款爱心公益游戏&#xff0c;用户可以通过喂养小鸡&#xff0c;产生鸡蛋&#xff0c;并通过捐赠鸡蛋参与公益项目。用户每日完成答题就可以领取鸡饲料&#xff0c;使用鸡饲料喂鸡之后&#xff0c;会可以获得鸡蛋&#xff0c;可以通过鸡蛋来进行爱心捐赠。其中&#…...

深度学习中的随机种子random_seed

在深度学习中&#xff0c;random_seed是一个用于控制随机过程的种子值。这个种子值用于初始化随机数生成器&#xff0c;从而确保在多次实验中&#xff0c;涉及随机性的步骤能够产生一致的结果。这对于实验的可重复性、调试以及结果对比都是至关重要的。 具体来说&#xff0c;深…...

【项目技术介绍篇】若依管理系统功能介绍

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…...

Maximum Sum(贪心策略,模运算,最大子段和)

文章目录 题目描述输入格式输出格式样例输入1样例输出1样例输入2样例输出2提交链接提示 解析参考代码 题目描述 你有一个由 n n n 个整数组成的数组 a a a 。 你要对它进行 k k k 次操作。其中一个操作是选择数组 a a a 的任意连续子数组(可能为空)&#xff0c;并在数组的…...