<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jim]]></title><description><![CDATA[Six \]]></description><link>https://blog.youkuaiyun.com/zzy_zatan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zzy_zatan]]></copyright><item><title><![CDATA[Paddle使用pyinstaller打包出错的解决方法]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/133696393</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/133696393</guid><author>zzy_zatan</author><pubDate>Mon, 09 Oct 2023 11:05:13 +0800</pubDate><description><![CDATA[使用PyQt5开发了一个基于paddle ocr的文字识别程序，打包的时候报错了。给大家分享一下解决方法]]></description><category></category></item><item><title><![CDATA[python打包wheel文件]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/105746029</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/105746029</guid><author>zzy_zatan</author><pubDate>Wed, 02 Sep 2020 11:08:29 +0800</pubDate><description><![CDATA[1.创建功能性函数
pytest.py
def test():
    print('print test')

2.创建setup.py文件
from setuptools import  setup
setup(
    name='printtest',
    version='1.0',
    py_modules=['printtest']
)

3.制作wheel文件
python...]]></description><category></category></item><item><title><![CDATA[Django分页前后端处理]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358337</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358337</guid><author>zzy_zatan</author><pubDate>Wed, 02 Sep 2020 11:03:20 +0800</pubDate><description><![CDATA[1.view处理
view.py
from django.core.paginator import Paginator
def book_list()
    page = request.GET.get('page')# 页码
    limit = request.GET.get('limit')# 每页n条
    questset = BookInfo.objects.all().order_by('-create_time')
    lens = len(questset)
    pages]]></description><category></category></item><item><title><![CDATA[反馈系统简单设计]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358313</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358313</guid><author>zzy_zatan</author><pubDate>Wed, 02 Sep 2020 11:02:29 +0800</pubDate><description><![CDATA[技术源于生活，服务生活

反馈系统
源码和部署说明参见    Talk
项目gunicorn+nginx配置启动
部署地址：api.imibi.cn
后台地址：api.imibi.cn/admin/
后台测试账户：admin   Admin123456
E-R模型
RoleUser ： 普通用户/专业人员/管理员
专业人员/根据type（区域或问题类型）查看对应分配的问题列表/解决问题，更改问题状态
管理员：维护系统，用户，模块，专业人员
用户：提交问题

用户端
1.提交反馈
输入框：
问题标题【tex.]]></description><category></category></item><item><title><![CDATA[用户IP访问次数统计]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358252</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/108358252</guid><author>zzy_zatan</author><pubDate>Wed, 02 Sep 2020 11:00:38 +0800</pubDate><description><![CDATA[技术源于生活，服务生活


线上地址：https://api.imibi.cn

Redis存储
1.使用Redis的0号数据库，数据格式是hash.
import redis
con = redis.Redis(host='localhost', port=6379, decode_responses=True, db=0)

2.hash的键值对分别是key=ip,value=访问次数

数据统计
数据统计函数

def set_len_data(ip):
    """访问次数统计"""
    i.]]></description><category></category></item><item><title><![CDATA[python参数启动]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/105746011</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/105746011</guid><author>zzy_zatan</author><pubDate>Sat, 25 Apr 2020 10:43:21 +0800</pubDate><description><![CDATA[技术源于生活，服务生活

demo.py
import sys


# 传入3个参数，具体操作根据个人情况
def main(argv):
    print(argv)
    print(argv[1])
    print(argv[2])


if __name__ == "__main__":
    main(sys.argv)

运行：
$ python demo.py 1 2 3...]]></description><category></category></item><item><title><![CDATA[modbus tcp]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/105745981</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/105745981</guid><author>zzy_zatan</author><pubDate>Sat, 25 Apr 2020 10:42:11 +0800</pubDate><description><![CDATA[技术源于生活，服务生活

demo.py
# demo:modbus_tcp应答机制
import modbus_tk.defines as md
import modbus_tk.modbus_tcp as mt
from xlwt.compat import xrange


class ConfigModbus(object):
    host = "127.0.0.1"
    por...]]></description><category></category></item><item><title><![CDATA[CSS Grid网格布局浅尝]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/105745971</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/105745971</guid><author>zzy_zatan</author><pubDate>Sat, 25 Apr 2020 10:41:11 +0800</pubDate><description><![CDATA[技术源于生活，服务生活


地址：api.imibi.cn:8080

简单的Grid
  .container-r-btm {
      display: grid;
      /* grid-template-columns: repeat(auto-fill, 160px);
      grid-template-rows: repeat(auto-fill, 160px); */
...]]></description><category></category></item><item><title><![CDATA[Ubuntu MySQL密码重置]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/104678101</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/104678101</guid><author>zzy_zatan</author><pubDate>Thu, 05 Mar 2020 16:48:35 +0800</pubDate><description><![CDATA[Step1：修改mysqld.cnf配置文件

在ubuntu的terminal（也即终端）上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件，文末加入skip-grant-tables这句话。
skip-grant-tables

保存:wq，退出。输入：service mysql restart，重新启动mysql。

step2...]]></description><category></category></item><item><title><![CDATA[ubuntu MySQL 卸载重装]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/104676036</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/104676036</guid><author>zzy_zatan</author><pubDate>Thu, 05 Mar 2020 15:32:30 +0800</pubDate><description><![CDATA[首先删除mysql:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*


然后清理残留的数据

dpkg -l |grep ^rc|awk '...]]></description><category></category></item><item><title><![CDATA[modbus tcp]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/103612567</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/103612567</guid><author>zzy_zatan</author><pubDate>Fri, 20 Dec 2019 14:59:23 +0800</pubDate><description><![CDATA[demo.py
在这里插入代码片


]]></description><category></category></item><item><title><![CDATA[python打包wheel文件]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/103627911</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/103627911</guid><author>zzy_zatan</author><pubDate>Fri, 20 Dec 2019 10:19:29 +0800</pubDate><description><![CDATA[1.创建功能性函数
pytest.py
def test():
    print('print test')

2.创建setup.py文件
from setuptools import  setup
setup(
    name='printtest',
    version='1.0',
    py_modules=['printtest']
)

3.制作wheel文件
python...]]></description><category></category></item><item><title><![CDATA[反馈系统简单设计]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/103612826</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/103612826</guid><author>zzy_zatan</author><pubDate>Thu, 19 Dec 2019 13:32:15 +0800</pubDate><description><![CDATA[反馈系统
E-R模型
USER角色：普通用户/维修人员/管理员
维修人员/根据type（区域或问题类型）查看对应分配的问题列表/解决问题，更改问题状态
管理员：维护系统，用户，模块，维修人员
用户：保修

用户端
1.提交反馈
输入框：
问题标题【text】
问题详情【text】
问题标签/分类【多选框】
提交按钮【button】

2.反馈列表
统计数据： 已解决 / 未解决
反馈列表：
分页/...]]></description><category></category></item><item><title><![CDATA[python内存管理]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/100018480</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/100018480</guid><author>zzy_zatan</author><pubDate>Thu, 22 Aug 2019 16:40:22 +0800</pubDate><description><![CDATA[Python内存管理机制
Python内存管理机制主要包括以下三个方面：
引用计数机制
垃圾回收机制
内存池机制
1. 引用计数机制
可以用is判断两个引用是否指向同一个对象
可以用sys.getrefcount()获得引用计数
引用计数增加
1.对象被创建：x=4
2.另外的别人被创建：y=x
3.被作为参数传递给函数：foo(x)
4.作为容器对象的一个元素：a=[1, x, ‘33’]
引用...]]></description><category></category></item><item><title><![CDATA[中间件]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/100017680</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/100017680</guid><author>zzy_zatan</author><pubDate>Thu, 22 Aug 2019 16:17:40 +0800</pubDate><description><![CDATA[MVC模式下的中间件的执行过程

中间件(middleware)
中间件的执行过程是HttpRequest – 中间件 – view – 中间件 – HttpResponse.
a. 应用名/middleware.py（定义中间件类，中间件函数。文件名可以任意）

from django.http import HttpResponse
 
 
# 定义中间件类。 (类名可以任意，但类中的方法名...]]></description><category></category></item><item><title><![CDATA[RSA算法]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/100016033</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/100016033</guid><author>zzy_zatan</author><pubDate>Thu, 22 Aug 2019 15:27:08 +0800</pubDate><description><![CDATA[简介
RSA是非对称加密算法。RSA算法是第一个能同时用于加密和数字签名的算法，也易于理解和操作。RSA是被研究得最广泛的公钥算法，从提出到现今的三十多年里，经历了各种攻击的考验，逐渐为人们接受，截止2017年被普遍认为是最优秀的公钥方案之一。


生成公钥、私钥


from Crypto import Random
from Crypto.PublicKey import RSA


# ...]]></description><category></category></item><item><title><![CDATA[财经资讯爬虫]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/99696250</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/99696250</guid><author>zzy_zatan</author><pubDate>Sat, 17 Aug 2019 18:16:34 +0800</pubDate><description><![CDATA[数据来源
港股金融界 ：http://hk.jrj.com.cn/
资本邦 ：http://www.chinaipo.com/
智通财经网：http://www.zhitongcaijing.com/
腾讯财经：https://pacaio.match.qq.com/


资讯表结构



使用 requests 模块爬取资讯，清洗数据，存放到Django models中


"""
发现页新...]]></description><category></category></item><item><title><![CDATA[HTTP协议（B/S架构下的请求与响应）]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/99696086</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/99696086</guid><author>zzy_zatan</author><pubDate>Sat, 17 Aug 2019 17:59:29 +0800</pubDate><description><![CDATA[HTTP协议
定义：超文本文件传输协议（https: 代表加密） ，协议规定了双方之间传送数据的格式
理解：http协议主要是浏览器与服务器之间的交互；浏览器的底层是socket套接字
验证：使用网络调试助手给浏览器发送给数据

http协议的请求和相应



 请求： 构成（请求头，空行 ，请求体）
请求头 ：请求方式 请求地址 http协议  （GET/index.html HTTP/1.1...]]></description><category></category></item><item><title><![CDATA[Python守护进程、进程互斥锁、进程间通信ICP（Queue队列）、生产者消费者模型]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/99695902</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/99695902</guid><author>zzy_zatan</author><pubDate>Sat, 17 Aug 2019 17:47:45 +0800</pubDate><description><![CDATA[守护进程
守护进程
守护进程：p1.daemon=True
守护进程其实就是一个“子进程“，守护=》伴随
守护进程会伴随主进程的代码运行完毕后而死掉
进程：当父进程需要将一个任务并发出去执行，需要将该任务放到以个子进程里
守护：当该子进程内的代码在父进程代码运行完毕后就没有存在的意义了，就应该
将该子进程设置为守护进程，会在父进程代码结束后死掉


from multiprocessing i...]]></description><category></category></item><item><title><![CDATA[python 常见面试题]]></title><link>https://blog.youkuaiyun.com/zzy_zatan/article/details/80915429</link><guid>https://blog.youkuaiyun.com/zzy_zatan/article/details/80915429</guid><author>zzy_zatan</author><pubDate>Sat, 17 Aug 2019 17:22:36 +0800</pubDate><description><![CDATA[1. 装饰器（给函数增加功能）

# 多个装饰器的装饰过程就是：离函数最近的装饰器先装饰，然后外面的装饰器再进行装饰，由内到外的装饰过程
​
def test_a(func):
     def test_b():
         return func
     return test
 
@test
def func():
     pass

# @类装饰器名：等价于“函数引用 = 类名(...]]></description><category></category></item></channel></rss>