自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker镜像仓库迁移

Docker镜像迁移我们使用的工具是syncer,项目地址:https://github.com/MR5356/syncer , 并且这个工具支持多对多的镜像仓库迁移。

2023-10-17 18:07:21 461

原创 不依赖docker客户端导出docker镜像

此项目已经开源发布至GitHub https://github.com/DockerContainerService/image-save1、支持linux、windows的amd64、arm64架构机器2、支持不安装docker客户端情况下导出镜像tar包3、支持公开镜像仓库/私有镜像仓库4、支持多线程加速下载镜像5、支持使用自定义镜像源加速下载镜像大家在使用过程中如果发现问题,欢迎提Issue。

2023-04-01 19:43:41 574 1

原创 Golang面试宝典——Go语言实现排序算法之快速排序

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-28 20:51:22 303

原创 Golang面试宝典——Go语言实现排序算法之插入排序

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-27 20:21:31 147

原创 Golang面试宝典——Go语言实现排序算法之选择排序

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-25 14:17:51 114

原创 Golang面试宝典——Go语言实现排序算法之冒泡排序

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-25 13:57:55 99

原创 Golang面试宝典——Go语言语法糖

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-22 20:05:10 411

原创 Golang面试宝典——Go语言切片知识点

len intcap int}array为数组的指针,len为数组的长度,cap为数组的容量。当我们使用append方法追加元素到预留的内存空间时,len会相应加1。如果预留空间已经用完,则会申请一块更大的内存空间,在cap < 1024之前,每次扩容都是之前的2倍,当大于1024后,扩容系数则在2-1.25之前。

2022-12-21 20:47:03 138

原创 Golang面试宝典——Go语言数组知识点

数组可以存放多个同一类型数据。在Go语言中,数组是值类型。

2022-12-20 18:42:36 528

原创 Golang面试宝典——Go语言基本数据类型转换

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-19 10:21:18 310

原创 Golang面试宝典——Go语言基本数据类型

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

2022-12-18 11:16:06 465

原创 Go语言实现23种设计模式之行为型模式(下)

提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

2022-12-14 19:57:29 230

原创 Go语言实现23种设计模式之行为型模式(中)

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

2022-12-13 21:52:24 351

原创 Go语言实现23种设计模式之行为型模式(上)

在不改变各元素的类的前提下定义作用于这些元素的新操作。

2022-12-12 12:09:20 185

原创 Golang面试宝典——Go语言实现23种设计模式之结构型模式(下)

隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口,使得这一子系统更加容易使用。

2022-12-11 21:37:52 241

原创 使用Go实现23种设计模式——结构型模式(上)

将一个类的接口转换成客户端希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作适配器模式优点可以让两个没有关联的类一起运行,复用了现有的类目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题适配器模式缺点增加了系统的复杂性降低了代码可读性桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化桥接模式优点抽象与实现分离,扩展能力强符合开闭原则、合成复用原则桥接模式缺点由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正

2022-12-08 11:42:34 189

原创 使用Go实现23种设计模式——创建型模式

一个类只能生成一个实例,提供一个全局访问点供外部获取该实例单例模式优点在内存中只有一个实例,减少了内存开销避免对资源的多重占用单例模式缺点没有接口,无法继承,一定程度上违背了单一职责原则(一个类应该只关心内部逻辑,而不关心外面怎么样来实例化)工厂模式定义一个创建对象的接口,让子类决定实例化哪个类父工厂类中只有创建产品的抽象接口,将产品对象的实际创建工作推迟到具体子工厂类当中工厂模式优点符合开闭原则,有很强的扩展性、弹性和可维护性,修改时只需要添加对应的工厂类即可使用了依赖倒置原

2022-12-07 11:54:23 190

原创 设计模式原则与分类

设计模式是指在软件设计中面临的一般问题的解决方案,这些解决方案是众多软件开发这经过相当长的一段时间的实验和错误总结出来的。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。在增加新功能的时候,尽量不修改代码,仅增加代码实现一个热插拔的效果子类可以扩展父类的功能,但不能改变父类原有的功能。换言之,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法要面向接口(抽象类)编程,不要面向实现(实现类)编程降低类之间的耦合度,提高模块的相对独立性采用合成/聚合的方式复用类时,可以将已有

2022-12-06 14:20:44 112

原创 Golang泛型实战 | 使用泛型结构体实现gorm baseMapper

Golang泛型实战 | 使用泛型结构体实现gorm baseMapper

2022-09-08 15:28:36 1269 1

原创 巧用powershell命令别名,在Windows上使用Linux命令

问题背景在Linux系统中,可以通过修改home路径下的.bashrc文件来设置命令的别称(使用alias),从而大大提高生产效率。如下:# .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfi在

2021-11-09 17:40:46 1417

原创 利用shell脚本自动拉黑暴力破解登录的IP

脚本#!/bin/bashDEFINE="10"ips=`lastb | awk '{print $3}' | egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'`for ip in $ipsdo NUM=`lastb | grep $ip | wc -l` if [ $NUM -gt $DEFINE ];then grep $ip /etc/hosts.deny &

2021-11-03 10:43:53 528

原创 VUE+echarts图表展示宽度不正确的解决方法(flex+echarts)

问题描述在VUE中使用ercharts时,如果在DOM没有渲染完成时就初始化了echarts,则会导致图表的宽度溢出。正确的做法是先渲染数据后渲染DOM。社区有很多方法可以解决这个问题,比如说使用this.$nextTick():this.$nextTick(() => { // 先进行数据请求 this.netRequest(); // 再进行DOM渲染 this.initCharts();})但是如果项目已经搭建,修改流程太麻烦,这里介绍一种简便的修复方法

2021-10-14 10:39:40 1971 1

原创 在iPad上运行一个Linux系统:iSH Shell

软件准备我们所需要使用的软件是iSH Shell,该软件可以直接在app store下载。软件配置包管理器该软件已经默认安装apk包管理器,所需无需手动安装,使用如下图所示:安装软件可以直接使用包管理器进行安装,如:apk add python3apk add vimapk add bash将默认Shell更改为bash软件中默认的shell是busybox ash,我们可以手动安装bash:apk add bash安装完成后我们需要继续配置,默认用户为root,所以我们直接

2021-09-28 09:12:32 8173 3

原创 VUE在开发环境、生产环境的跨域解决方案

开发环境中的跨域问题项目根目录下的vue.config.js中添加以下代码(如果没有该文件可以手动创建):module.exports = { devServer: { disableHostCheck: true, proxy: { "/api": { changeOrigin: true, target: "http://127.0.0.1:8081", pathRewrite: { "^/api":

2021-09-23 14:16:10 736

原创 微信小程序界面设计——自定义一个好看的头图

先看效果图源码<view style="overflow: hidden;"> <image src='http://static.iswenzi.com/image/headImg.jpg' mode='widthFix' style='width:100%; display: block; filter: blur(2rpx); transform: scale(1.2);'></image></view><view clas

2021-08-21 09:44:47 1392

原创 maven发布到私服与私服使用

写在前面写的有点儿匆忙,可能介绍的不太清楚,如果有疑问可以私信或者评论一起讨论。打包Java项目在这里使用install进行打包,如果使用package打包上传私服后不能使用版本号1.0.0.1-SNAPSHOT获取依赖。打包后的项目在本地maven仓库中,一般在用户目录下的".m2\repository"中,目录大概长这个样子:maven设置中设置私服的账号密码maven的设置一般在用户目录下的".m2"目录下,如果没有可以手动新建"settings.xml",在该文件中的servers标

2021-07-22 19:45:13 402

原创 将CERN的CVMFS挂载到自己的电脑上

引言在国内连接CERN的lxplus服务器受网络波动影响,并且很容易与服务器断开连接,给学习高能物理的小伙伴造成了很大的干扰,本文将介绍如何将CernVM File System(CVMFS)挂载到自己的电脑上。准备工作本文以centos7为例进行介绍,需要准备的工具如下:centos7系统电脑一台(目前lxplus系统版本为7.9.2009)有可用网络操作步骤将系统的软件包进行升级sudo yum update参照CVMFS官网介绍进行安装可参照:CVMFS官方文档以下内容以c

2021-04-12 21:06:17 1076

原创 Python通过蓝牙获取米家温湿度计2的数据

引言最近入手了一个米家温湿度计2,今天介绍一下如何使用Python获取它的数据。实验过程我们使用到了python的bluepy模块,用以连接蓝牙设备。温度、湿度和电压数据获得我们可以直接通过蓝牙直接获取温度、湿度和电压的数据,得到的为bytes格式:temp=int.from_bytes(data[0:2],byteorder='little',signed=True)/100humidity=int.from_bytes(data[2:3],byteorder='little')volt

2021-04-02 16:41:50 7752 18

原创 使用Python进行微信公众号开发(三)回复消息

写在前面《使用Python进行微信公众号开发》系列文章将与大家分享如何使用Python一步步搭建微信公众号后台服务器。效果体验扫码“是雯子吖”公众号进行体验配置自己的公众号后台进行体验想要体验效果的小伙伴可以将微信公众号后台的 开发-> 基本配置 -> 服务器配置 中的Token随意配置,服务器地址配置为 https://apit.toodo.fun/wechatMP/ + Token,如Token = hello # 可随意设置,但是要保证与服务器地址最后一项相同服务器地址:

2021-03-28 17:24:47 1760

原创 使用Python进行微信公众号开发(二)接收消息

写在前面《使用Python进行微信公众号开发》系列文章将与大家分享如何使用Python一步步搭建微信公众号后台服务器。效果体验扫码“是雯子吖”公众号进行体验配置自己的公众号后台进行体验想要体验效果的小伙伴可以将微信公众号后台的 开发-> 基本配置 -> 服务器配置 中的Token随意配置,服务器地址配置为 https://apit.toodo.fun/wechatMP/ + Token,如Token = hello # 可随意设置,但是要保证与服务器地址最后一项相同服务器地址:

2021-03-27 11:17:38 2387

原创 使用Python进行微信公众号开发(一)服务器对接

写在前面《使用Python进行微信公众号开发》系列文章将与大家分享如何使用Python一步步搭建微信公众号后台服务器。效果体验扫码“是雯子吖”公众号进行体验配置自己的公众号后台进行体验想要体验效果的小伙伴可以将微信公众号后台的 开发-> 基本配置 -> 服务器配置 中的Token随意配置,服务器地址配置为 https://apit.toodo.fun/wechatMP/ + Token,如Token = hello # 可随意设置,但是要保证与服务器地址最后一项相同服务器地址:

2021-03-26 12:48:09 2901 3

原创 uwsgi+flask+APScheduler定时任务不执行的解决

问题描述flask项目使用flask_apscheduler运行定时任务,直接运行可以执行定时任务,但是通过uwsgi部署到服务器后任务不执行。解决方法首先在uwsgi.ini中添加enable-threads = true然后值得注意的是,不要将以下代码写到if name == 'main’中:scheduler = APScheduler()scheduler.init_app(app)scheduler.start()应当将任务的注册放到入口外面,仅将app.run()放到入口里

2021-03-23 15:19:04 2643

原创 Python微信公众号框架ToodoWechat使用

toodoWechat 微信公众号开发框架安装克隆GitHub源码至本地或者点击下载源码包,然后拷贝ToodoWechat.py至你的项目路径git https://github.com/MR5356/toodoWechat.git使用实例化应用import ToodoWechata = ToodoWechat('appID', 'appSecret')上传图文中的图片,返回图片src地址,可直接在图文中使用picUrl = a.uploadNewsPicture('test.png

2021-03-09 18:34:13 396 1

原创 Centos添加IP黑名单以禁止某个IP进行访问

问题描述今天刚刚连接上我刚刚买的腾讯云服务器,发现了这么一幕:上次成功登录至今也不到一天的时间,竟然有12737条登录失败的请求,然后我再使用lastb命令进行查看:很明显服务器正在被人暴力破解,于是我就打算写一个脚本来自动将这些暴力破解的IP拉到黑名单中,以防止他们继续占用我的服务器资源。思路思路很简单,首先通过lastb命令获取所有的登录失败的信息,然后提取出这些信息中的IP地址并对所有的IP进行计数,如果计数大于5次,则视为暴力破解者并加入黑名单。并且定时重复以上操作。实现实现的方法

2021-03-08 20:46:30 1066 1

原创 解决偶尔Github打开慢的问题

问题描述Github作为全球最大的同性交友网站,在国内使用时总存在着打不开或者打开慢的问题。首先,GitHub并没有被墙,所以可以定位问题为域名解析服务器连接不上。这篇文章给出出现这种问题的解决办法。解决办法我们将GitHub的IP地址写到我们电脑的hosts文件中就可以了,IP不止GitHub主站IP,还有静态资源等内容的IP。我们主要用到下面几个网站进行查询:github.com IP地址GitHub的主站IP可以通过这个网址进行查询:https://github.com.ipaddress.

2021-02-28 20:22:02 2364 7

原创 对于Python中if __name__ == “__main__“的理解

在python编程中,最常见的一句话就是if __name__=='__main__'这句话是python的入口,如这样使用if __name__=='__main__': print("Hello world")这个程序得到的结果就是Hello world我们来解剖一下这一句话,进行下面这个操作def prt(): print(__name__) print(type(__name__))if __name__=='__main__': prt()

2021-02-23 20:20:16 147

原创 Pyqt5-多线程QThread的使用

在使用pyqt5进行GUI编程的时候,网上能够找到的材料寥寥无几,往下这几篇文章是我自己的踩坑记录,如果有遇到一些棘手的问题,可以私聊我,一起探讨。首先,pyqt5中使用多线程需要自己重写QThread的run函数class Search_movie(QThread): display_signal = pyqtSignal(str) ##此处定义了一个信号,可以用来与主程序交互 def __init__(self, name): super().__init__()

2021-02-23 20:16:33 2523 4

原创 centos上安装使用xdotool

在Centos7上如果需要使用自动化脚本,那xdotool肯定当仁不让了,号称Linux下的按键精灵,可以自动输入指令,移动鼠标,敲击键盘等等,下面就是安装使用xdotool的教程安装xdotool,在bash中输入下面的两条指令即可安装#/bin/bashsudo yum install epel-releasesudo yum install xdotoolecho "Done"xdotool可使用的命令 getactivewindow getwindowfocus g

2021-02-23 19:59:01 1172

原创 王者荣耀改空白名、重复名

王者荣耀中取名常常会遇到名字重复的情况,例如被别人抢先取名,或者自己想要多个号同名。这篇文章为大家讲解一下怎么取空白名或者重复名。实现原理王者荣耀的昵称最多由6个汉字组成,故至少留出一个字符的位置用来放置空白字符,所以最多输入5个字符。经过多次实验,ASCII码中8289-8291三个字符串可在游戏中成功识别为空白字符(在电脑上的常用办公软件中也无法显示这三个字符,但是可以在PyCharm等软件中显示),故无论是重复名还是空白名,都是用这三个字符来占据位置,从而看着像空白名或者重复名动手实践本文展

2020-11-17 17:29:27 2321 5

原创 Python 将窗口嵌入到任务栏,在任务栏显示文本

效果展示任务栏简介首先,大致了解以下Windows的任务栏,任务栏实质上是一个容器(类名为“Shell_TaryWnd”),在这个容器中有个二级容器(类名为“ReBarWindow32”),在这个二级容器中还有一个类名为“MSTaskSwWClass”的窗口,用来存放最小化后的窗口,他的窗口和“ReBarWindow32”的大小相同。为了更加直观的理解,如图所示,红色部分为“Shell_TaryWnd”,黄色部分为“ReBarWindow32”,蓝色部分为“MSTaskSwWClass”。将窗口

2020-11-06 09:30:34 3943 2

空空如也

空空如也

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

TA关注的人

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