自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的知识星球!!!

长风破浪会有时,直挂云帆济沧海

  • 博客(78)
  • 收藏
  • 关注

原创 如何设计一个安全的对外接口

个人觉得安全措施大体来看主要在两个方面,一方面就是如何保证数据在传输过程中的安全性,另一个方面是数据已经到达服务器端,服务器端如何识别数据,如何不被攻击;下面具体看看都有哪些安全措施。

2022-10-20 20:30:37 412

原创 进程和线程

今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而缩短程序的执行时间,同时也让用户获得更好的体验。因此在当下不管是用什么编程语言进行开发,实现让程序同时执行多个任务也就是常说的“并发编程”,应该是程序员必备技能之一。为此,我们需要先讨论两个概念,一个叫进程,一个叫线程。

2022-09-05 09:18:42 493 1

原创 Python 列表的深浅复制

Python的列表可以复制,但是这里面有浅复制和深复制,我相信有些人不明白什么是深复制和浅复制,今天我们就来谈谈。

2022-08-17 16:16:58 1037

原创 Python 的切片语法为什么不会出现索引越界呢?

对于一个非空的序列对象,假设其长度为 length,则它有效的索引值是从 0 到(length - 1)。如果把负数索引也考虑进去,则单个索引值的有效区间是 -length, length - 1 闭区间。但是,当 Python 切片中的索引超出这个范围时,程序并不会报错。...

2022-08-16 18:14:21 475

原创 Django入门教程——ORM增删改操作

我们建立模型、保存数据为的就是在需要的时候可以查询得到数据。Django自动为所有的模型提供了一套完善、方便、高效的API。

2022-08-16 15:51:48 971

原创 Django教程:Django常用命令

Django常用的命令。安装Django:pip install django 指定版本 pip3 install django==2.0新建项目:django-admin.py startproject mysite新建APP :python manage.py startapp blog启动:python manage.py runserver8080同步或者更改生成 数据库:...

2022-08-16 15:18:06 213

原创 Django中如何使用Mysql数据库

在Django中使用Mysql数据库

2022-08-16 15:15:48 1182

原创 Django——全局配置settings详解

Django设置文件包含你所有的Django安装配置。这个文件一般在你的项目文件夹里。比如我们创建了一个名为mysite的项目,那么这个配置文件setting.py就在项目里的mysite文件夹里。下面列表一些常用的settings配置供参考。...

2022-08-16 15:12:49 2322

原创 使用Pycharm里的Database对数据库进行可视化操作

Pycharm是一个十分强大的工具,它本身自带着一个叫Database的数据库管理工具。我们可以使用它对数据库进行可视化操作。首先打开database,一般在pycharm的右边侧栏中,也可以通过(View-->Tool Windows --> database)打开...

2022-08-16 14:33:58 4628

原创 Python进阶——哈希和加密

哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。原理是把Key通过一个固定的算法函数即所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value,如此一来,就可以充分利用到数组的定位性能进行数据定位。...

2022-08-14 10:34:36 1215

原创 Python进阶——Socket编程

现在的软件开发基本都需要网络通讯。不管是传统计算机软件,还是手机软件,还是物联网嵌入系统软件,这些都要和其他网络系统进行通讯。而当今网络世界 基本上 都是使用TCP/IP协议进行通讯的。任何应用,比如 浏览网页、微信、支付宝、抖音 或者我们开发的 等等都是 通过TCP/IP协议进行通讯的。...

2022-08-14 10:24:18 2574 2

原创 Python进阶——装饰器

装饰器,英文称之为decorator。我们开发Python代码,会经常碰到装饰器。Python中装饰器通常用来装饰函数、或者类的方法。通常被装饰后的函数, 会在原有的函数基础上,增加一点功能。比如 前面我们在学习到类里面的静态方法,就是使用了staticmethod 这个装饰器,被装饰的方法 就增加了一层含义,表示这个方法是个静态方法。...

2022-08-13 23:20:53 653

原创 Python进阶——正则表达式

这种从字符串中搜索出某种特征的子串有没有更简单的方法呢?解决方案就是我们今天要介绍的正则表达式。如果我们使用正则表达式,代码可以这样

2022-08-13 23:15:57 385

原创 Python进阶——JSON

我们怎么把这样的一个存在于内存中的数据对象传递给 客户端呢?客户端收到 数据后,又要怎样转变为 它的程序语言中 的数据对象呢? 因为变成 程序语言中的对象,这样才方便处理。这个过程,就好像 两个人聊天时,双方 需要把自己脑子中的 事物 转化为 语言描述传递给对方, 接收到对方的语言描述,再转化为自己的脑子中的事物一样。通常,我们把程序的各种类型数据对象 变成 表示该数据对象的 字节串 这个过程 称之为序列化。而把 字节串转化为 程序中的数据对象 这个过程 称之为反序列化...

2022-08-13 22:50:00 454

原创 Python进阶——多进程多线程

前言学习Python多进程多线程前,大家先要了解什么是线程,什么是进程、共享内存、锁等相关知识点,方便理解后续的内容。进程和线程的区别进程是系统进行资源分配和调度的一个独立单位,最小的资源管理单位。线程是进程的一个实体, 是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,最小的 CPU 执行单元。线程拥有的资源:程序计数器、 寄存器、 栈 、状态字。...

2022-08-13 11:38:40 702

原创 Python——异常

这就是解释器向我们报告, 有一个 ZeroDivisionError 错误对象 或者说 异常对象 产生了。这个 ZeroDivisionError 对象 代表的是一个除以0 的异常。 我们知道0是不能作为除数的。因为这个问题,解释器没有办法继续执行后面的代码了。所以程序就此结束执行了。ZeroDivisionError就是一个异常对象的类,继承自标准库里面的 Exception 类。...

2022-08-12 21:53:42 6109

原创 Pycharm 代码调试——IDE的断点调试

我们开发的程序运行的时候,经常会发现运行的结果和我们预期的不符。这就是程序运行的错误,我们通常叫做bug。有两种类型的bug: 语句错误 和 逻辑错误 。

2022-08-12 21:03:14 1804

原创 Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解

Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解

2022-08-12 11:38:25 1125

原创 Django后台样式丢失django.core.exceptions.ImproperlyConfigured: You‘re using the staticfiles app without ha

Django后台样式丢失,报错:django.core.exceptions.ImproperlyConfigured: You’re using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path

2022-07-23 16:52:37 1927

原创 File “manage.py“, line 14 ) from exc ^ SyntaxError: invalid syntax出错的原因及解决方法

在linux上安装django,并将项目上传后,执行python manage.py runserver 时,报错了,报错如下:File "manage.py", line 14 ) from exc ^SyntaxError: invalid syntax原因是因为我是用pip3安装的django(pip3 install django),但是却是用运行时我用的是python manage.py runserver,但我的linux上的python还是指向的python...

2022-07-23 09:41:27 1085

原创 centos7安装Python3并且将pip设置为Python3中的pip

这一篇文章主要是教大家如何在centos的服务器下安装Python3,并且在既有Python2又有Python3的情况下如何把pip转为Python3中的pip。这都是我自己走过的坑,所以写出来给大家看看,防止大家也在这个坑里面浪费时间。大家只需要按照下面的步骤一步一步来,是不会出错的!...

2022-07-23 09:37:27 1564 1

原创 django.db.utils.OperationalError: (2002, “Can‘t connect to local MySQL server through socket ‘/var/r

问题:python3 manage.py makemigrations 时报错如下:django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

2022-07-23 09:31:42 1088

原创 MySQL调优(D)

索引是数据库优化中最常用也是最重要的手段,通过使用不同的索引可以解决大多数 SQL 性能问题,也是面试经常会问到的优化方式,围绕着索引,面试官能让你造出火箭来,所以总结一点就是索引非常非常重!要!不只是使用,你还要懂其原!理!......

2022-07-21 21:19:18 462 1

原创 MySQL高级篇(C)

我们知道,MyISAM 和 MEMORY 存储引擎支持表级锁定(table-level locking),InnoDB 存储引擎支持行级锁定(row-level locking),BDB 存储引擎支持页级锁定(page-level locking)。各个锁定级别的特点如下页级锁:销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般表级锁:表级锁是对整张表进行加锁,MyISAM 和 MEMORY 主要支持表级锁,表级锁加锁快,不会出现死锁,锁的粒度比较粗,并发度最低行

2022-07-21 11:28:35 619

原创 MySQL进阶(B)

数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模式来理解...

2022-07-20 22:23:15 154 1

原创 MySQL 入门基础(A)

MySQL 是一种关系型数据库,说到关系,那么就离不开表与表之间的关系,而最能体现这种关系的其实就是我们接下来需要介绍的主角SQL,SQL 的全称是Structure Query Language,结构化的查询语言,它是一种针对表关联关系所设计的一门语言,也就是说,学好 MySQL,SQL 是基础和重中之重。SQL 不只是 MySQL 中特有的一门语言,大多数关系型数据库都支持这门语言。...

2022-07-20 11:18:39 1418

原创 Linux操作系统——基础详解

UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。...

2022-07-17 12:44:12 10705

原创 计算机网络——什么是 QUIC 协议?

QUIC 协议的一个重要特点就是可插拔性,能够动态更新和升级,QUIC 在应用层实现了拥塞控制算法,不需要操作系统和内核的支持,遇到拥塞控制算法切换时,只需要在服务器重新加载一边即可,不需要停机和重启。而 QUIC 也实现了流量控制,QUIC 的流量控制也是使用了窗口更新window_update,来告诉对端它可以接受的字节数。...

2022-07-15 14:35:15 715 1

原创 计算机网络——NAT协议

我们的计算机要想访问互联网上的信息,就需要一个地址,而且这个地址是大家(其他主机)所认可的,是公共的,这个地址也叫做公有 IP 地址。与之相对的,除了公有 IP 地址外,还有私有 IP 地址,私有 IP 地址就是我们在私有网络中使用的地址,比如局域网或者公司内部的网络。不知道你没有观察过自己家路由器所分配的 IP 地址,当你登上路由器的网关 192.168.1.1 时,在分配的网络下面一般会看到一些 IP 地址,都是 192.168.1.x ,这种地址就是私有 IP 地址。...

2022-07-13 14:33:24 1461

原创 计算机网络——什么是 Socket?

关于对 Socket 的认识,大致分为下面几个主题,Socket 是什么,Socket 是如何创建的,Socket 是如何连接并收发数据的,Socket 套接字的删除等。

2022-07-12 14:27:35 1429

原创 LeetCode刷题 Python实现——常用内置算法和数据结构

使用Python刷题经常要使用python 内置模块,一般如果内置的可以满足需求,我们优先使用内置模块, 因为在性能和容错性方面内置模块要好于我们自己实现(比如有些是 c 实现的),列举出一些常见模块供大家参考, 如果有需要最好的学习方式就是参考 Python 的官方文档。很多高级的数据结构我们也可以通过 google 搜索现成的库拿来直接用。...

2022-07-07 20:44:31 3196

原创 【LeetCode刷题】sorted(enumerate(nums),key=lambda x:x[1],reverse=True)

sorted(enumerate(nums),key=lambda x:x[1],reverse=True)用法解释

2022-07-06 21:24:50 776

原创 计算机网络基础——Web 页面的请求历程

这个仓库试图回答一个古老的面试问题:当你在浏览器中输入 google.com 并且按下回车之后发生了什么?不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节。这将是一个协作的过程,所以深入挖掘吧,并且帮助我们一起完善它。仍然有大量的细节等待着你来添加,欢迎向我们发送 Pull Requset!......

2022-07-06 15:40:02 1488

原创 计算机网络核心概念——名词解释

主机:计算机网络上任何一种能够连接网络的设备都被称为主机或者说是端系统,比如手机、平板电脑、电视、游戏机、汽车等,随着 5G 的到来,将会有越来越多的终端设备接入网络。通信链路:通信链路是由物理链路(同轴电缆、双绞线、光纤灯)连接到一起组成的一种物理通路。传输速率:单位是 bit/s ,用来度量不同链路从一个端系统到另一个端系统传输数据的速率。分组:当一台端系统向另外一台端系统发送数据时,通常会将数据进行分片,然后为每段加上首部字节,从而形成计算机网络的专业术语:分组。这些分组通过网络发送到端系.

2022-07-06 10:37:29 3537 1

原创 计算机基础知识——操作系统和应用、控制硬件(三)

在操作系统诞生之后,程序员不需要在硬件层面考虑问题,所以程序员的数量就增加了。哪怕自称对硬件一窍不通的人也可能制作出一个有模有样的程序。不过,要想成为一个全面的程序员,有一点需要清楚的就是,掌握硬件的基本知识,并借助操作系统进行抽象化,可以大大提高编程效率。...

2022-07-05 13:02:33 3547 2

原创 计算机基础知识——二进制、压缩算法(二)

IC元件两侧排列的四方形块就是引脚,IC的所有引脚,只有两种电压:0V和5V,IC的这种特性,也就决定了计算机的信息处理只能用 0 和 1 表示,也就是二进制来处理。一个引脚可以表示一个 0 或 1 ,所以二进制的表示方式就变成 0、1、10、11、100、101等,虽然二进制数并不是专门为 引脚 来设计的,但是和 IC引脚的特性非常吻合。...

2022-07-03 22:48:37 3751 1

原创 计算机基础知识——基础入门(一)

CPU 是计算机的心脏和大脑,它和内存都是由许多晶体管组成的电子部件。它接收数据输入,执行指令并处理信息。它与输入/输出(I / O)设备进行通信,这些设备向 CPU 发送数据和从 CPU 接收数据。.........

2022-07-02 19:37:15 3495 1

原创 计算机网络之——TCP传输控制协议(三握四挥)

TCP 是一种面向连接的单播协议,在 TCP 中,并不存在多播、广播的这种行为,因为 TCP 报文段中能明确发送方和接受方的 IP 地址。在发送数据前,相互通信的双方(即发送方和接受方)需要建立一条连接,在发送数据后,通信双方需要断开连接,这就是 TCP 连接的建立和终止。...

2022-06-30 10:59:55 1018 1

原创 计算机网络 ——TCP/IP 基础

TCP/IP 协议是程序员接触最多的协议,OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在 TCP/IP 协议中,它们被简化为了四个层次。......

2022-06-29 09:21:44 1126

原创 了解 HTTPS 看这一篇文章就够了

本篇文章我们主要讲述了 HTTPS 为什么会出现 ,HTTPS 解决了 HTTP 的什么问题,HTTPS 和 HTTP 的关系是什么,TLS 和 SSL 是什么,TLS 和 SSL 解决了什么问题?如何实现一个真正安全的数据传输?

2022-06-27 10:56:33 761 1

空空如也

空空如也

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

TA关注的人

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