自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 图床共享云存储

图床项目是一个可以允许用户上传、下载文件和图片以及分享图片的平台。使用Fastdfs架构存储图片和文件,使用MySQL、redis实现性能的优化。

2024-07-23 01:00:50 580

原创 华为od(技术一面总结)

我面的是od的python开发岗,有需要的同学可以参考一下。首先是自我介绍,主要是让面试官对你有个整体的了解,讲一下会哪些技能,做过哪些项目等等。下面就开始问一些八股文了1、python中有哪些数据类型整型、浮点型、布尔型、字符串、列表、元组、字典、集合2、列表和元组有哪些差别列表是一种可变的数据类型,可以使用 [] 进行创建, 元组是一种不可变类型,可以使用 () 进行创建,列表用于需要修改元素的场景,元组用于不需要对修改元素的场景。3、python中的异常处理机制。

2024-07-22 23:29:04 715

原创 基于协程的kv存储

3. Hook重定向:每个协程在进行io操作之前,通过hook重定向到自定义的io函数,函数内部将协程io的socketfd加入到调度器底层实现的epoll中,让出CPU(yield),处理其它准备就绪的协程io,待调度器resume给当前协程再执行io操作,实现异步效率。协程是一种轻量级的线程,可以在一个线程中创建多个协程,协程通过让出自身的控制权来实现协程之间的切换,当有事件就绪时,再恢复到之前的状态继续执行,协程之间的切换是在用户态之间进行的,性能开销更小。

2024-07-22 23:19:50 554

原创 Redis入门

Redis(Remote Dictionary Service)直译为远程字典服务,是一种内存数据库,KV 数据库,数据结构数据库;redis中的key为字符串类型,但value有多种类型,常见的有五种,分别是字符串、列表、哈希、有序集合和无序集合。下面是redis中一些常见的操作。

2024-07-17 20:21:15 508

原创 迭代器-->生成器-->协程的进化过程(python)

首先看一个示例, Python 内置模块 itertools 中有很多实用的方法,其中之一是 chain 方法,它可以接受任意数量的可迭代对象作为参数,返回一个包含所有参数中的元素的迭代器,下面我们分别用yield 关键字和yield from关键字来实现 chain 方法。协程对象,使用 asyncio.coroutine 装饰器装饰的函数被称作协程函数,它的调用不会立即执行函数,而是返回一个协程对象,即协程函数的运行结果为协程对象,注意这里说的 “运行结果” 不是 return 值。

2024-07-17 17:38:43 1621

原创 面试算法(排序)附带c++/python实现

排序算法是面试中会经常会被问到的一类问题,如果可以掌握较多的排序算法,在面试过程中才更有机会被面试官看重哦,下面我们准备了一些常见的面试算法,并分别给出了c++和python的代码实现,小伙伴们一起学起来吧!冒泡排序(Bubble Sort)基于交换的排序,每次遍历需要排序的元素,依次比较相邻的两个元素的大小,如果前一个元素大于后一个元素则两者交换,保证最后一个数字一定是最大的(假设按照从小到大排序),即最后一个元素已经排好序,下一轮只需要保证前面n-1个元素的顺序即可。

2024-07-15 10:54:52 796

原创 Nginx基础入门

Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。Nginx是为性能而生,从发布以来一直侧重于高性能、高并发、低 CPU 内存消耗;在功能方面:负载均衡、反向代理、访问控制、热部署、高扩展性等特性又十分适合现代的网络架构。更可贵的是配置简单文档丰富,大大降低了学习的门槛。

2024-07-12 13:35:17 1483

原创 网络编程入门(2)

计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成,CPU 作为运算器,执行运算,速度是最快的。存储器,输入输出设备存储数据,供 CPU 读写数据,在距离 CPU 的越远读写速度就会越慢。内存读写数据、磁盘寻址、网络传输相对于 CPU 运算都是很慢的。CPU 在需要数据时是通过 I/O 传输数据,I/O 速度较慢,CPU 大部分时间都是在等待 I/O 完成操作,浪费了大量的时间。I/O 成了最大的性能瓶颈。

2024-07-12 11:39:25 1492

原创 网络编程入门(1)

发送数据方将数据标好接收者的 IP 地址和端口号后就将信件(数据)塞到邮箱里(网络中)了,而接收信件(接收方)需要守在固定的邮箱中等待邮递员(网络)将数据送过来,一旦发现邮箱中(UDP 套接字)中有信件(数据)到达,那么就会取出信件(数据)进行读取。在 Linux 操作系统下,socket 套接字有一系列相关的系统 API 函数,这里分别简单介绍一下,在后面的网络编程应用中,这些都是最基本的操作接口,借助这些操作接口我们能够在操作系统上实现网络程序的数据传输和应用。在进入等待接听后,调用。

2024-07-12 11:07:13 722

原创 Reactor网络模型

和普通函数调用的不同之处在于:应用程序不是主动的调用某个 API 完成处理,而是恰恰 相反,Reactor 逆置了事件处理流程,应用程序需要提供相应的接口并注册到 Reactor 上, 如果相应的时间发生,Reactor 将主动调用应用程序注册的接口,这些接口又称为“回调函数”。Reactor 模式是处理并发 I/O 比较常见的一种模式,用于同步 I/O,中心思想是将所有要 处理的 I/O 事件注册到一个中心 I/O 多路复用器上,同时主线程/进程阻塞在多路复用器上;负责处理特定事件的处理函数。

2024-07-12 09:20:16 231

原创 池化技术(连接池、线程池、内存池)

数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成 一个连接池,由程序动态地对池中的连接进行申请,使用,释放。

2024-07-11 23:51:09 768

空空如也

空空如也

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

TA关注的人

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