自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【设计模式】面向对象的优点

我们知道面向过程是以过程(函数、方法、操作)作为组织代码的基本单元,数据与方法相分离是其主要的特点。而面向对象是以类、对象作为组织代码的基本单元,数据与方法往往相关联。面向过程编程语言的特点是不支持类和对象两个语法概念,不支持面向对象编程特性,仅支持面向过程编程。

2024-06-15 17:25:32 448

原创 【设计模式】封装、继承、抽象、多态

接口类指的是编程语言提供的接口语法。抽象并不需要编程语言提供特殊的语法机制就能实现,只需要提供函数这一基本特性就能实现,本质上就是包裹具体的实现逻辑,让调用者在使用的时候不需要了解内部的逻辑,通过对函数的命名、注释或文档的阅读即可了解功能,然后实现它。抽象是降低问题复杂性的重要手段。

2024-06-10 16:01:21 547

原创 【设计模式】面向对象与UML

不使用OOPL同样可以进行面向对象编程,而使用OOPL不能保证写出来的代码一定是符合OOP的。实际上,现在对于OOP和OOPL并没有准确的定义,按照不同人的理解,对二者有着不同的定义。

2024-06-10 15:38:20 543

原创 【设计模式】基本名词

面向对象是其中最主流的编程风格,得益于其封装、继承、抽象、多态等特性,可以实现许多复杂的设计,因此大部分的项目都是使用面向对象的风格进行开发的。

2024-06-10 15:25:13 405

原创 ubuntu22.04 静态IP设置脚本

【代码】ubuntu22.04 静态IP设置脚本。

2024-04-04 13:03:38 453

原创 四川大学校园网自动登录

【代码】四川大学校园网自动登录。

2024-03-13 15:05:18 416

原创 ubuntu 配置root远程登录shell脚本

以下是一键配置脚本,直接新建rootlogin.sh脚本文件,打开后把以下命令粘贴进去然后,运行脚本文件即可。

2024-02-26 00:14:45 548

原创 【Effective Python】读书笔记-06元类与属性

元类可以说是一种在类之上、超乎于类的概念。简单来说,我们可以认为元类能够拦截 Python 的 class 语句,让系统每次定义类的时候,都能实现某些特殊的行为。

2023-09-16 14:59:52 186

原创 【Effective Python】读书笔记-05类与接口

python 内置的 collections.abc 模块定义了一系列抽象基类(abstract base class),把每种容器类型应该提供的所有常用方法都写了出来。我们只需要从这样的抽象基类里面继承就好。同时,如果忘了实现某些必备的方法,那么程序会报错,提醒我们这些方法必须实现。

2023-09-16 14:58:14 228

原创 同源策略与解决方法

同源策略(same origin policy),一种安全策略,用于限制一个源的文档或者它加载的脚本如何能与另一个源的资源进行交互。浏览器默认两个不同的源之间是可以互相访问资源和操作 DOM 的。两个不同的源之间若是想要访问资源或者操作 DOM,就会受到同源策略的制约。

2023-08-29 21:50:07 1641

原创 1. 学习 K8S: Docker 基础

2013 年 3 月 15 日,在北美的圣克拉拉市召开了一场 Python 开发者社区的主题会议 PyCon,研究和探讨各种 Python 开发技术和应用,在当天的会议日程快结束时,有一位名为 Solomon Hykes 开发者(Docker 公司的创始人)在“闪电演讲”(lighting talk)的小环节,用了 5 分钟的时间,做了题为 “The future of Linux Containers” 的演讲,展示了 Docker 技术,不过临近末尾因为超时而被主持人赶下了台。

2023-08-26 14:37:54 673

原创 类加载器与双亲委派

loadclass:双亲委派机制,子加载器委托父加载器加载,父加载器都加载失败时,子加载器通过 findclass 自行加载。该方法使用了模版方法模式,继承 ClassLoader 后,不需要我们实现。findclass:当前类加载器根据路径以及 class 文件名称加载字节码,从 class 文件中读取字节数组,然后使用 defineClassdefineclass:根据字节数组,返回 Class 对象。int port;// 读取class文件,转化为字节数组。

2023-08-24 00:56:31 118

原创 Java数据结构学习和源码阅读(线性数据结构)

拿到当前的尾节点,记为 l使用需要创建的元素 e 创建一个新的节点 newNode,prev 属性为 l 节点,next 属性为 null将当前尾节点设置为上面新创建的节点 newNode如果 l 节点为空则代表当前链表为空, 将 newNode 设置为头结点,否则将 l 节点的 next 属性设置为 newNode/***/elsesize++;modCount++;

2023-08-21 17:04:42 491

原创 Spring基础学习

面向对象的设计原则,降低耦合度将对象创建和之间的调用过程,交给 Spring 管理Spring 框架中提供的一个对象,是对原始 JDBC API 对象的简单封装。操作关系型数据的:JdbcTemplate 和 HibernateTemplate。操作 nosql 数据库的:RedisTemplate。操作消息队列的:JmsTemplate。对 JDK 9 运行时兼容性在 Spring Framework 代码中使用 JDK 8 特性响应式编程支持函数式 Web 框架。

2023-08-19 09:56:47 248

原创 【Effective Python】读书笔记-04推导与生成

因为不需要写 lambda 表达式。可以很容易地跳过原列表中的某些数据。

2023-08-18 04:12:38 287

原创 【Effective Python】读书笔记-03函数

场景:函数装饰器返回的是装饰后的新函数,而不是原始函数,即修改了函数的元数据,可能导致 help()、对象序列化器无法正常运转。print('前置处理')@func# 前置处理# hellofunc1()解决:改用 functools 内置模块之中的 wraps 辅助函数来实现。wraps 本身也是个修饰器,它可以帮助你编写自己的修饰器。把它运用到 wrapper 函数上面,它就会将重要的元数据(metadata)全都从内部函数复制到外部函数。print('前置处理')@func# 前置处理。

2023-08-18 04:06:14 92

原创 【Effective Python】读书笔记-02列表与字典推导

【Effective Python】读书笔记-02列表与字典推导

2023-08-18 03:40:13 121

原创 【Effective Python】读书笔记-01培养Pythonic思维

Effective Python的读书笔记---培养Pythonic思维

2023-08-18 03:23:56 148

原创 MacOS开发环境配置

macos开发环境配置

2023-04-26 11:35:39 1104 1

原创 MacOS 配置JDK和Maven

MacOS 配置JDK和Maven。

2023-03-31 23:21:56 724 3

原创 npm、pnpm、yarn、nodemon、nvm的介绍、安装和使用

一文介绍node的包管理工具

2023-03-21 20:31:06 4102

原创 HTML表单

HTML form表单

2023-01-27 13:03:23 1342

原创 【ubuntu22.04】解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题

【ubuntu22.04】解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题

2023-01-15 21:31:10 3065 2

原创 Ubuntu22.04无法访问VMware中虚拟机的网络

ubuntu 虚拟机 网络配置

2023-01-14 13:12:28 1227

原创 Centos安装Docker、MySQL5.7以及配置ssh

centos安装mysql5.7 docker 以及配置sshd

2023-01-12 20:10:17 235

原创 手把手教你如何在Ubuntu22.04下驱动 EPSON系列打印机---以爱普生 EPSON L380为例

系统:Ubuntu22.04目标打印机:爱普生 EPSON L380。

2022-12-30 21:24:56 2586 1

原创 开发软件的实用技巧

一些开发软件的小技巧

2022-12-15 19:30:42 106

原创 Ubuntu22.04软件兼容问题和一些tips

ubuntu 兼容问题以及一些软件的bug

2022-07-23 21:10:49 8193

原创 【2022】Centos7.4安装anaconda3(anaconda2021.11)

一、下载anaconda如果你要将anaconda共享给同一主机的其他用户使用,不要用root用户安装anaconda,其他用户无法共享root用户的anaconda。我的服务器就我一个人使用,我还是选择root用户安装。1.1 进入清华镜像源下载anacondawget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh可能提示:错误: 无法验证 mirrors

2022-01-23 20:33:44 5808 1

原创 ubuntu安装PyPy以及pypy在anaconda虚拟环境中的使用

Ubuntu安装PyPy1. 下载下载地址:https://www.pypy.org/download.html我选择的是PyPy3.82. 将下载后的安装包解压注意,不要解压到tmp文件夹下。解压命令:tar -xvf 文件名解压 (将文件名改为你的压缩包文件名) tar -xvf pypy3.8-v7.3.7-linux64.tar.bz23. 创建软链接软链接:符号连接(Symbolic Link),软链接文件有类似于Windows的快捷方式。/usr/local/bi

2022-01-09 22:02:53 2997

原创 Django的序列化和反序列化

在开发REST API接口时,视图中做的最主要有三件事:将请求的数据(如JSON格式)转换为模型类对象操作数据库将模型类对象转换为响应的数据(如JSON格式)序列化可以理解为:将程序中的一个数据结构类型转换为其他格式(字典、JSON、XML等),例如将Django中的模型类对象装换为JSON字符串,这个转换过程我们称为序列化。反之,将其他格式(字典、JSON、XML等)转换为程序中的数据,例如将JSON字符串转换为Django中的模型类对象,这个过程我们称为反序列化。总结在开发REST

2021-01-29 19:56:27 3247

原创 django 开发使用redis遇到的问题

django 开发使用redis遇到的问题1、redis.exceptions.DataError: Invalid input of type: ‘dict’. Convert to a bytes, string, int or float first.参考博客:https://www.cnblogs.com/hanfe1/p/12634473.html用python向redis写入数据报错出错原因:python使用的redis模块版本过高解决方案:对python中的redis模块进行降级

2020-08-10 22:13:25 1004

原创 Typora使用教程

Typora使用教程参考文档:Typora入门:全网最全教程Typora 完全使用详解typora是什么?A truly minimal markdown editor.Typora 首先是一个 Markdown 文本编辑器,它支持且仅支持 Markdown 语法的文本编辑。Markdown标准由于目前还没有一个权威机构对 Markdown 的语法进行规范,各应用厂商制作时遵循的 Markdown 语法也是不尽相同的。其中比较受到认可的是 GFM 标准,它是由著名代码托管网站 GitHub

2020-07-29 20:20:12 2953

原创 centos安装redis以及实现远程连接

centos安装redis以及远程连接安装内容参考:https://www.cnblogs.com/heqiuyong/p/10463334.html远程连接内容参考:https://www.cnblogs.com/fps2tao/p/9969539.html一、安装redis1、安装gcc由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v)yum install -y gcc 2、下载并解压redis安装包# 下载wget http://down

2020-07-21 19:42:00 664

原创 利用flask-mail发送邮件(以qq邮箱为例)

利用flask-mail发送邮件(以qq邮箱为例)首先安装flask-mail扩展pip install flask-mail# 如果太慢就使用镜像下载pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask-mail在qq邮箱中开启stmp,并获取授权码授权码长这样为什么要获取授权码因为部分邮箱服务提供商校验的时候,不要求邮箱的密码,而要求授权码配置config创建config.py文件写入# 发送邮

2020-06-23 17:29:20 846

原创 配置git和github

git github

2020-05-23 17:26:17 104

原创 python3连接mysql数据库

python3连接mysql数据库需要安装如下包:PyMySQL : python操作mysql的包,如果未安装,安装语句如下:pip3 install pymysql# 如果太慢,可以使用如下连接pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysqlSQLAlchemy:s数据库的ORM框架pip3 install SQLAlchemy# 如果太慢,可以使用如下连接pip3 install -i ht

2020-05-20 22:34:23 260

原创 使用sqlyog连接阿里云rds数据库

使用sqlyog连接阿里云rds数据库查看rds云数据库的外网地址查看本机ip地址配置白名单填写上本机的ip然后点击确认设置数据库的账号和密码建议设置成普通账号普通账号记得配置权限使用sqlyog进行连接...

2020-05-20 19:50:13 1223

原创 CentOS快速安装python3

CentOS快速安装python3由于编译安装比较慢,下面提供一种快速安装的方法(以centos安装python3.6为例)将python3.6安装到系统yum install python36安装相关依赖yum install python36-devel执行上面两步后python3可以正常使用,请跳过建立软连接ln -s /usr/bin/python3.6 /usr/bin/python3安装pippython3 -m ensurepip...

2020-05-17 10:19:55 528

原创 利用pandas 重新设置csv文件的索引

利用pandas 重新设置csv文件的索引1、首先读取文件,并指定文件的某一列为索引以指定文件的第一列索引为例子# 读取csv文件 并 指定第1列为索引df = pd.read_csv('1.csv',index_col=0)2、重新设置索引利用reset_index方法、# 重新设置索引 从0开始df.reset_index(drop=True, inplace=True)利用df.index = []# 设置索引 从1开始df.index = [index fo

2020-05-16 20:29:53 4337

空空如也

空空如也

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

TA关注的人

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