草庐IT

从“把大象装进冰箱”来谈谈面向对象程序设计

引子把大象装进冰箱需要3步:打开冰箱门,把大象装入冰箱,关闭冰箱门。 扩展一下,我们考虑把动物装进冰箱的场景。比如,把猪?装进冰箱,把狗?装进冰箱,等等。 怎么利用面向对象的思想来进行程序设计呢? talkischeap,showmethecode. 把大象装进冰箱的程序设计及实现把大象装进冰箱,这个比较简单,简单到只有某些初级程序员写不出来。如下,估计都是这个玩法。 代码就不贴了。 把动物装进冰箱的程序设计及实现推而广之,要把不同的动物装进冰箱,并且假定每种动物装进冰箱的方式不同。那么,该怎么进行程序设计来实现这个需求呢?程序结构图类结构图   model-模型类Animal是抽象类(你可以

从“把大象装进冰箱”来谈谈面向对象程序设计

引子把大象装进冰箱需要3步:打开冰箱门,把大象装入冰箱,关闭冰箱门。 扩展一下,我们考虑把动物装进冰箱的场景。比如,把猪?装进冰箱,把狗?装进冰箱,等等。 怎么利用面向对象的思想来进行程序设计呢? talkischeap,showmethecode. 把大象装进冰箱的程序设计及实现把大象装进冰箱,这个比较简单,简单到只有某些初级程序员写不出来。如下,估计都是这个玩法。 代码就不贴了。 把动物装进冰箱的程序设计及实现推而广之,要把不同的动物装进冰箱,并且假定每种动物装进冰箱的方式不同。那么,该怎么进行程序设计来实现这个需求呢?程序结构图类结构图   model-模型类Animal是抽象类(你可以

我用Python做了个动图生成器,把一千个MM生成了GIF设置桌面,只为每天愉悦心情

现在的年轻人都开始每天保温杯里泡枸杞,这怎么能行呢?想要每天过的好,美女必然少不了,每天看美女,只为了愉悦心情,心情好了,才长寿。于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器,想要用Python来做成美女壁纸,行动起来。这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片。设置界面化的操作,只需要将选中的图片导入最后直接生成动态图片。这样的话就人人可以用了,到时候还可以传给你的好兄弟,让他去找资源,做好了给你用哈哈~代码实战导入相关需要使用的模块fromPyQt5.QtWidgetsimport*fromPyQt5.QtGuiimport*importimageioimp

我用Python做了个动图生成器,把一千个MM生成了GIF设置桌面,只为每天愉悦心情

现在的年轻人都开始每天保温杯里泡枸杞,这怎么能行呢?想要每天过的好,美女必然少不了,每天看美女,只为了愉悦心情,心情好了,才长寿。于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器,想要用Python来做成美女壁纸,行动起来。这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片。设置界面化的操作,只需要将选中的图片导入最后直接生成动态图片。这样的话就人人可以用了,到时候还可以传给你的好兄弟,让他去找资源,做好了给你用哈哈~代码实战导入相关需要使用的模块fromPyQt5.QtWidgetsimport*fromPyQt5.QtGuiimport*importimageioimp

如何把thinkphp5的项目迁移到阿里云函数计算来应对流量洪峰?

原文链接:https://developer.aliyun.com/article/9827461.为什么要迁移到阿里云函数?我的项目是一个节日礼品领取项目,过节的时候会有短时间的流量洪峰。平时访问量很低。之前的架构是购买的阿里云alb+多台ecs+云msyql+云redis。最大的问题就是成本问题。平时流量低的时候ecs成本也无法缩减。阿里云函数计算是serverless,即无服务架构,就比如你的业务流量短时间突然很多。函数计算就会毫秒级别启动多个实例(阿里云函数计算FC用来运行函数的最小单元),如果没人访问可以没有实例运行,做到0费用。但是有人访问的时候第一次冷启动就稍微慢一点,可以根据实

如何把thinkphp5的项目迁移到阿里云函数计算来应对流量洪峰?

原文链接:https://developer.aliyun.com/article/9827461.为什么要迁移到阿里云函数?我的项目是一个节日礼品领取项目,过节的时候会有短时间的流量洪峰。平时访问量很低。之前的架构是购买的阿里云alb+多台ecs+云msyql+云redis。最大的问题就是成本问题。平时流量低的时候ecs成本也无法缩减。阿里云函数计算是serverless,即无服务架构,就比如你的业务流量短时间突然很多。函数计算就会毫秒级别启动多个实例(阿里云函数计算FC用来运行函数的最小单元),如果没人访问可以没有实例运行,做到0费用。但是有人访问的时候第一次冷启动就稍微慢一点,可以根据实

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在测试环境拼装这条SQL,刚过了几分钟,同事已经自信的写好了这条SQL,于是拿给DBA,到线上跑一下,用客户端工具导出Excel就好了,毕竟是临时方案嘛。就在SQL执行了之后,意外发生了,先是等了一下,发现还没执行成功,猜测可能是数据量大的原因,但是随着时间滴滴答答流逝,逐渐意识到情

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在测试环境拼装这条SQL,刚过了几分钟,同事已经自信的写好了这条SQL,于是拿给DBA,到线上跑一下,用客户端工具导出Excel就好了,毕竟是临时方案嘛。就在SQL执行了之后,意外发生了,先是等了一下,发现还没执行成功,猜测可能是数据量大的原因,但是随着时间滴滴答答流逝,逐渐意识到情

MyBatis-Plus修改数据,会不会把其他字段置为null

前两天在用MyBatis-Plus写了一张单表的增删改查,在写到修改的时候,就突然蹦出一个奇怪的想法。MyBatis-Plus的BaseMapper中有两个关于修改的方法。如下:intupdateById(@Param("et")Tentity);intupdate(@Param("et")Tentity,@Param("ew")WrapperupdateWrapper);就我在想,在修改的时候,给这个entity个别字段赋值,部分字段不管它,在调用update方法的时候,会不会在修改完之后,数据库的其他字段被置为null。开始测试1.测试updateById方法首先这是未修改之前的数据点击查

MyBatis-Plus修改数据,会不会把其他字段置为null

前两天在用MyBatis-Plus写了一张单表的增删改查,在写到修改的时候,就突然蹦出一个奇怪的想法。MyBatis-Plus的BaseMapper中有两个关于修改的方法。如下:intupdateById(@Param("et")Tentity);intupdate(@Param("et")Tentity,@Param("ew")WrapperupdateWrapper);就我在想,在修改的时候,给这个entity个别字段赋值,部分字段不管它,在调用update方法的时候,会不会在修改完之后,数据库的其他字段被置为null。开始测试1.测试updateById方法首先这是未修改之前的数据点击查