草庐IT

openwrt临时封禁ip

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2280端口映射到公网,发现经常被暴力破解,自己写了个临时封禁ip功能的脚本,实现5分钟内同一个ip登录密码错误10次就封禁这个ip5分钟,并且进行邮件通知使用步骤openwrt为19.07.03版本,其他版本没有测试过安装bashmsmtpopkgupdate;opkginstallbashmsmtp添加脚本/root/port-security.sh,内容参考下面附件,主要修改通知的邮箱脚本增加执行权限chmoda+x/root/port-security.sh添加定时任务crontab-e,10分钟执行一次脚本,如果脚本已经

Python中将字典转为成员变量

技术背景当我们在Python中写一个class时,如果有一部分的成员变量需要用一个字典来命名和赋值,此时应该如何操作呢?这个场景最常见于从一个文件(比如json、npz之类的文件)中读取字典变量到内存当中,再赋值给一个类的成员变量,或者已经生成的实例变量。使用__dict__定义成员变量在python中直接支持了__dict__.update()这样的方法来操作,避免了对locals()、vars()和eval()函数的使用,我们可以直接看这样的一个案例:In[1]:dict_a={'a':1,'b':2}In[2]:dict_b={'c':3}In[3]:classD(object):...

Python中将字典转为成员变量

技术背景当我们在Python中写一个class时,如果有一部分的成员变量需要用一个字典来命名和赋值,此时应该如何操作呢?这个场景最常见于从一个文件(比如json、npz之类的文件)中读取字典变量到内存当中,再赋值给一个类的成员变量,或者已经生成的实例变量。使用__dict__定义成员变量在python中直接支持了__dict__.update()这样的方法来操作,避免了对locals()、vars()和eval()函数的使用,我们可以直接看这样的一个案例:In[1]:dict_a={'a':1,'b':2}In[2]:dict_b={'c':3}In[3]:classD(object):...

Ruoyi字典源码学习

此文章属于ruoyi项目实战系列使用目的什么是字典数据:具体的值(0,1,"Y","N"),对应具体的业务逻辑("男","女","是","否")。字典数据不应该只写死在代码中,还应存入数据库,通过管理系统来增删改查。源码分析ruoyi项目在低于3.7.0的版本中,前端字典功能实现比较简单,每个index.vue页面都请求dict的api,获取数据再加工显示即可。3.7.0之后的版本使用了混入,所以复杂了一些。分析入口:查看全局入口文件main.js,DictData.install()是字典功能的入口位置。functioninstall(){Vue.use(DataDict,{//额外参数me

Ruoyi字典源码学习

此文章属于ruoyi项目实战系列使用目的什么是字典数据:具体的值(0,1,"Y","N"),对应具体的业务逻辑("男","女","是","否")。字典数据不应该只写死在代码中,还应存入数据库,通过管理系统来增删改查。源码分析ruoyi项目在低于3.7.0的版本中,前端字典功能实现比较简单,每个index.vue页面都请求dict的api,获取数据再加工显示即可。3.7.0之后的版本使用了混入,所以复杂了一些。分析入口:查看全局入口文件main.js,DictData.install()是字典功能的入口位置。functioninstall(){Vue.use(DataDict,{//额外参数me

13 个非常有用的 Python 代码片段

1:将两个列表合并成一个字典假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。这是在用Python编写代码时经常遇到的一个非常常见的问题但是为了解决这个问题,我们需要考虑几个限制,比如两个列表的大小,两个列表中元素的类型,以及其中是否有重复的元素,尤其是我们将使用的元素作为key时。我们可以通过使用zip等内置函数来解决这些问题keys_list=['A','B','C']values_list=['blue','red','bold']#Thereare3waystoconvertthesetwolistsintoadictiona

13 个非常有用的 Python 代码片段

1:将两个列表合并成一个字典假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。这是在用Python编写代码时经常遇到的一个非常常见的问题但是为了解决这个问题,我们需要考虑几个限制,比如两个列表的大小,两个列表中元素的类型,以及其中是否有重复的元素,尤其是我们将使用的元素作为key时。我们可以通过使用zip等内置函数来解决这些问题keys_list=['A','B','C']values_list=['blue','red','bold']#Thereare3waystoconvertthesetwolistsintoadictiona

Python基础之面向对象:1、面向对象与编程思想

一、人狗大战1、需求用代码模拟人、狗打架的小游戏人和狗种类不同,因此双方的属性各不相同推导一:人和狗各有不同属性使用字典方式储存属性较为方便,并可储存多种属性#1、在字典内储存‘人’属性person={'name':'阿拉蕾','age':18,'gender':'女','p_type':'战士','attack_val':8000,'life_val':99999999}#2、在字典内储存‘狗’特有属性dog1={'name':'小黑','d_type':'泰迪','attack_val':100,'life_val':8000}推导二:按照上述方法,如果想要定义多个‘人’和‘狗’就需要反复

Python基础之面向对象:1、面向对象与编程思想

一、人狗大战1、需求用代码模拟人、狗打架的小游戏人和狗种类不同,因此双方的属性各不相同推导一:人和狗各有不同属性使用字典方式储存属性较为方便,并可储存多种属性#1、在字典内储存‘人’属性person={'name':'阿拉蕾','age':18,'gender':'女','p_type':'战士','attack_val':8000,'life_val':99999999}#2、在字典内储存‘狗’特有属性dog1={'name':'小黑','d_type':'泰迪','attack_val':100,'life_val':8000}推导二:按照上述方法,如果想要定义多个‘人’和‘狗’就需要反复

在 Linux 命令行上使用 dict 文字工具

作为一个作家,我经常需要确定单词的正确拼写或定义。我还需要使用词库来寻找替代词,这些词的内涵可能与我可能使用的词有些不同。因为我经常使用Linux命令行和文本模式工具来完成我的大部分工作,所以使用命令行词典是有意义的。我非常喜欢使用命令行,原因有很多,其中最主要的原因是它对我来说更有效率。它也比任何一本或多本实体纸质字典,都要全面得多。我使用Linux的 ​​dict​​ 命令已经很多年了,我已经开始依赖它了。在Linux上安装dict​​dict​​ 程序在Fedora上没有默认安装,但它很容易安装。以下是如何在Fedora或类似发行版上安装:$sudodnfinstalldictd在Deb