<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dd125130的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dd125130</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dd125130]]></copyright><item><title><![CDATA[去除水印之理论(作者谬论，看看即可)]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419571</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419571</guid><author>dd125130</author><pubDate>Sun, 21 Jul 2019 13:28:00 +0800</pubDate><description><![CDATA[水印分析
　　在去除水印之前，首先，我们需要明白水印的用途，不就是防止别人盗图(废话)。
那么水印到底是怎么打上去的呢？用代码、美工（可能这个美工得是个永动机），当
然美工是不可或缺得，因为像我这样庸俗得人永远做不出那么漂亮得水印，比方说这
样得：

　　那么，这种单一得水印去除其实用我们之前得效果还可以（是吧？其实说句心里话，
我觉得水印其实是不能真正去除得，因为他一定会...]]></description><category></category></item><item><title><![CDATA[python 利用opencv去除图片水印]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419570</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419570</guid><author>dd125130</author><pubDate>Mon, 15 Jul 2019 14:06:00 +0800</pubDate><description><![CDATA[python 去除水印“人工”智能去除水印
 这两天公司来了一个新的需求——去除水印，对于我一个从未接触过的这种事情的人来说，当时我是蒙的。不过首先我就去搜索了一下是否有该种合适的功能模块，经过我的筛选，发现opencv应该是最有满足我这个需求可能的模块了。
我先把我的测试例子放上来。
测试图片(你可能在别处看到过，没错就是你看到过的那个例子图)

第一种方法：
　　该方法...]]></description><category></category></item><item><title><![CDATA[PHP字符串函数、常量、数组排序]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419569</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419569</guid><author>dd125130</author><pubDate>Sun, 31 Mar 2019 21:13:00 +0800</pubDate><description><![CDATA[PHP字符串函数、常量、数组排序
strlen（）
说明：strlen()，可以统计字符串长度

用途：strlen() 常用于循环和其他函数，在确定字符串何时结束很重要时。（例如，在循环中，我们也许需要在字符串的最后一个字符之后停止循环）。
&lt;?php
    echo strlen("asdqwe");
?&gt;
str_world_count()
说明：str_world_...]]></description><category></category></item><item><title><![CDATA[PHP之基本操作]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419568</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419568</guid><author>dd125130</author><pubDate>Tue, 26 Mar 2019 17:20:00 +0800</pubDate><description><![CDATA[PHP基础操作1.session操作	　　手动设置session生存期方式一：		　　　　session_start();		　　　　// 设置生存时间		　　　　$lifeTime = 24*6000;		　　　　setcookie(session_name(),session_id(),time()+$lifeTime,"/");		　　　　注：该方法需要在session_start...]]></description><category></category></item><item><title><![CDATA[PHP基础介绍]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419567</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419567</guid><author>dd125130</author><pubDate>Mon, 25 Mar 2019 20:55:00 +0800</pubDate><description><![CDATA[php之基本操作
1.常用数据类型：	　　字符串、整形、浮点数、逻辑、数组、对象、NULL。	　　字符串: $x = "hello";	　　整形：$x = 123;	　　浮点数：$x =1.123;	　　逻辑: $x = true;	　　数组: $x = array(1,2,3,4,5)	　　对象: class	　　NULL: $x = NULL
2.PHP算数运算符：	　　+（加法...]]></description><category></category></item><item><title><![CDATA[day96]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419564</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419564</guid><author>dd125130</author><pubDate>Mon, 07 Jan 2019 22:04:00 +0800</pubDate><description><![CDATA[在服务器上部署上线项目
Linux数据库处理
　　首先我们需要在mysql中创建bbs库，并导入数据库SQL脚本(就是原本运行在我们项目中的数据库)
前提：需要进入mysql中

mysql&gt; create database bbs charset utf8mb4;
mysql&gt; use bbs
mysql&gt; source /opt/bbs.sql
my...]]></description><category></category></item><item><title><![CDATA[day95]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419565</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419565</guid><author>dd125130</author><pubDate>Fri, 04 Jan 2019 21:11:00 +0800</pubDate><description><![CDATA[Linux基本部署配置及常见扩展应用
Linux软件包安装方法
　　1. 安装：
　　　　整个安装过程可以分为以下几步：
　　　　1） 取得应用软件：通过下载、购买光盘的方法获得；
　　　　2）解压缩文件：一般tar包，都会再做一次压缩，如gzip、bz2等，所以你需要先解压。如果是最常见的gz格式，则可以执行：“tar 
–xvzf 软件包名”，就可以一步完成解压与解包工作...]]></description><category></category></item><item><title><![CDATA[day94]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419466</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419466</guid><author>dd125130</author><pubDate>Thu, 03 Jan 2019 20:33:00 +0800</pubDate><description><![CDATA[基于CoentOS 7.4系统的Liunx操作
1.常用软件安装

yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc


　　
2.主机名...]]></description><category></category></item><item><title><![CDATA[day93]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419465</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419465</guid><author>dd125130</author><pubDate>Wed, 02 Jan 2019 20:46:00 +0800</pubDate><description><![CDATA[虚拟机安装Liunx以及Xshell链接
首先安装VMware虚拟机软件
安装完成后打开会显示

选择创建新的虚拟机

我们选择自定义
来到一个选择虚拟机兼容性

下一步安装客户端操作系统这里我们先选择稍后安装

来到选择客户端操作系统，这里我们当然是选择liunx操作系统，选择coentOS7


我们这里可以为虚拟机命名，并选择保存地址

然后选择一...]]></description><category></category></item><item><title><![CDATA[day93之微信推送]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419470</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419470</guid><author>dd125130</author><pubDate>Thu, 27 Dec 2018 21:26:00 +0800</pubDate><description><![CDATA[python之微信推送详解
用什么推送　　-邮件　　-微信推送　　-短信推送微信推送　-公众号(不能主动给用户发消息)　　-认证的公众号:需要营业执照,需要交钱,可以发多篇文章　　-未认证的公众号:一天只能发一篇文章　-服务号(微信推送)　　-需要申请,需要认证　　-可以主动给用户推送消息　　-能给推送的人,必须关注我的服务号　　...]]></description><category></category></item><item><title><![CDATA[day92之支付宝支付]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419561</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419561</guid><author>dd125130</author><pubDate>Thu, 27 Dec 2018 20:49:00 +0800</pubDate><description><![CDATA[Python之支付宝支付
　　正式环境:用营业执照,申请商户号,appid
　　基于支付宝的测试环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info
　　支付宝提供接口:给商户使用,收钱
　　　　-Java,php,C#的demo,没有python的demo(git有人封装了)
　　需要安装模块:pip3 i...]]></description><category></category></item><item><title><![CDATA[day91-redis]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419562</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419562</guid><author>dd125130</author><pubDate>Thu, 27 Dec 2018 19:56:00 +0800</pubDate><description><![CDATA[Redis数据库
简介
  redis是一个key-value存储系统。和Memcached类似，它支持存储的value类型相对更多，包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash（哈希类型）。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作，而且这些操作都是原子性的。...]]></description><category></category></item><item><title><![CDATA[day90]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419559</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419559</guid><author>dd125130</author><pubDate>Fri, 21 Dec 2018 19:38:00 +0800</pubDate><description><![CDATA[Vue项目简介
　　　最终效果：Vue通过axios发请求给Django后台，Django返回数据给Vue
　　创建项目：

	创建vue项目:
		-安装node.js
		-vue脚手架
		-vue create 项目名字
	pycharm开发vue项目
		-需要安装vue.js插件
			-setting---&gt;plugins---&gt;左下方ins...]]></description><category></category></item><item><title><![CDATA[day89]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419560</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419560</guid><author>dd125130</author><pubDate>Fri, 21 Dec 2018 19:20:00 +0800</pubDate><description><![CDATA[跨域问题
　　同源策略（Same origin policy）
　　　　是一种约定，它是浏览器最核心也最基本的安全功能，如果缺少了同源策略，则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的，浏览器只是针对同源策略的一种实现。
　　请求的url地址，必须与浏览器上的url地址处于同域上，也就是域名，端口，协议相同。
　　比如：我在本地上的域名是127.0....]]></description><category></category></item><item><title><![CDATA[day88]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419556</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419556</guid><author>dd125130</author><pubDate>Thu, 20 Dec 2018 17:03:00 +0800</pubDate><description><![CDATA[ContentType
　　场景需求：比方说我们现有两种商品，但是他们对应着一个价格策略表，为了防止数据库的浪费，我们在价格策略中加入一个表名字段，一个表明对应的id字段，这样的设计既优化了数据库，还不怕商品的增加，若再增加一个商品我们只需要再增加一个表就好，但是这样查询起来就很不方便，需要写大量的查询语句，所以ContentType就帮助我们来搞定这些事情。
Models:
　　...]]></description><category></category></item><item><title><![CDATA[day87]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419558</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419558</guid><author>dd125130</author><pubDate>Tue, 18 Dec 2018 20:37:00 +0800</pubDate><description><![CDATA[分页器
PageNumberPagination（普通分页器）
说明：
　　配置分页器的中最大显示个数（也可在setting中做全局配置）　　　　page.page_size = 2

REST_FRAMEWORK = {
    # 每页显示两条
    'PAGE_SIZE': 2,
}

　　配置地址栏中的地址(http://127.0.0.1:8001/boo...]]></description><category></category></item><item><title><![CDATA[day86]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419553</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419553</guid><author>dd125130</author><pubDate>Mon, 17 Dec 2018 21:29:00 +0800</pubDate><description><![CDATA[视图组件
　　基于以往我们所用的视图函数，我们发现其中冗余的代码比较多，今天就来对其进行封装，争取做一个代码洁癖者
　　原来我们的视图函数：


class Book(APIView):
    def get(self, request):
        book = models.Books.objects.all()
        book_ser = Ser....]]></description><category></category></item><item><title><![CDATA[day85]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419554</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419554</guid><author>dd125130</author><pubDate>Fri, 14 Dec 2018 19:18:00 +0800</pubDate><description><![CDATA[频率校验
源码分析
声明：基于rest_framework的频率校验
　　1.首先我们进入到APIView下的dispatch，因为由此方法开始分发的

　　　　2.可以看到dispatch方法下有一个initial的方法，进入该方法

　　3.由此进入频率控制

　　4.进入check_throttles方法，我们发现他最终是调用了该方法，所以我们需要在自定义时，写上...]]></description><category></category></item><item><title><![CDATA[day84]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419551</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419551</guid><author>dd125130</author><pubDate>Thu, 13 Dec 2018 21:04:00 +0800</pubDate><description><![CDATA[认证组件
源码分析方法
首先我们来到views下的dispatch下，因为每次进入视图函数是由dispatch进行路由分发

绿线标注：rest'frame'work对于request的重新包装(包装后在视图函数可以直接request.data取值，并且可以直接取出JSON格式数据)
红线标注：就是认证时要进入的方法
（首先我们需要去查看一下他是如何包装的request）
...]]></description><category></category></item><item><title><![CDATA[day83]]></title><link>https://blog.youkuaiyun.com/dd125130/article/details/102419467</link><guid>https://blog.youkuaiyun.com/dd125130/article/details/102419467</guid><author>dd125130</author><pubDate>Wed, 12 Dec 2018 21:31:00 +0800</pubDate><description><![CDATA[今日内容
rest_framework序列化
首先序列化需要对写一个类继承serializers.Serializer
方式一：在models的publish写一个__str__方法返回出版社名字

publish = serializers.CharField()

方式二：可以用source指定一个models中的方法

publish = serializers....]]></description><category></category></item></channel></rss>