<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[github_38970218的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_38970218</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_38970218]]></copyright><item><title><![CDATA[2018-08-01-16-变量的作用域&变量的指向]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771593</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771593</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:16:32 +0800</pubDate><description><![CDATA[变量的作用域
参考:https://blog.youkuaiyun.com/bylhjcsmmd/article/details/76372110
python的作用域并不是哪里都能访问的，分全局和局部的。
python变量的作用域大致分为已下四类:

L	(local)	局部作用域
E     (Enclosing)    闭包函数外的函数中
G    (Global)    全局作用域
B    (Bui...]]></description><category></category></item><item><title><![CDATA[2018-04-01-hash-pbkdf2-rainbow_table]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771561</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771561</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:12:57 +0800</pubDate><description><![CDATA[rainbow table
彩虹表（Rainbow Tables）就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合，不一定是针对MD5算法的，各种算法的都有，有了它可以快速的破解密钥
Hash (散列函数)
Hash，一般翻译做“散列”，也有直接音译为“哈希”的，就是把任意长度的输入（又叫做预映射， pre-image），通过散列算法，变换成固定长度的输出，该输出就是散列值。这种转换...]]></description><category></category></item><item><title><![CDATA[2018-04-01-UUID]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771503</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771503</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:11:22 +0800</pubDate><description><![CDATA[UUID
是 通用唯一识别码（Universally Unique Identifier）的缩写
定义
UUID是由一组32位数的16进制数字所构成，是故UUID理论上的总数为1632=2128，约等于3.4 x 10^38。
UUID的标准型式包含32个16进制数字，以连字号分为五段，形式为8-4-4-4-12的32个字符。示例：

550e8400-e29b-41d4-a716-4466554...]]></description><category></category></item><item><title><![CDATA[2018-07-25-15-re]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771467</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771467</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:09:41 +0800</pubDate><description><![CDATA[strip
&gt;&gt;&gt; s = '&lt;b&gt;cfgghjkjlsdfghj&lt;/b&gt;'
&gt;&gt;&gt; help(s.strip)
Help on built-in function strip:

strip(...) method of builtins.str instance
    S.strip([chars]) -&gt; str
    
...]]></description><category></category></item><item><title><![CDATA[2018-07-22-14-Python如何将字符串转为字典]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771422</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771422</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:06:16 +0800</pubDate><description><![CDATA[Python 如何将字符串转为字典
1 通过json转换
&gt;&gt;&gt; errors = str({"email": [{"message": "\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 Email \u5730\u5740\u3002", "code": "invalid"}]})
&gt;&gt;&gt; errors
"{'email'...]]></description><category></category></item><item><title><![CDATA[2018-04-18-functools模块]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771406</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771406</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:04:44 +0800</pubDate><description><![CDATA[functools模块
@functools.wraps的作用:
​	把原始函数的__name__等属性复制到wrapper()函数中
&gt;&gt;&gt; def log(func):
...     def wrapper(*args,**kwargs):
...             print("begin Call")
...             func(*args,**kw...]]></description><category></category></item><item><title><![CDATA[2018-04-17-super()调用父类顺序详解]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771394</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771394</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:03:54 +0800</pubDate><description><![CDATA[单继承
&gt;&gt;&gt; class A(object):
...     def say_a(self):
...             print('A is a')
&gt;&gt;&gt; class B(A):
...     def say_a(self):
...             print('B is b')
... 
&gt;&gt;&gt; class C(B...]]></description><category></category></item><item><title><![CDATA[2018-04-17-Python对象的属性]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771376</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771376</guid><author>github_38970218</author><pubDate>Sun, 24 Mar 2019 00:01:54 +0800</pubDate><description><![CDATA[Python对象的属性
作者：Vamei 出处：http://www.cnblogs.com/vamei 欢迎转载，也请保留这段声明。谢谢！
Python一切皆对象(object)，每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。
属性的__dict__系统
对象的属性可能来自于其类定义，叫做类属性(class attribute)。类属性可能来自类定义自身...]]></description><category></category></item><item><title><![CDATA[2018-04-03-2-生成随机字符串]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771363</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771363</guid><author>github_38970218</author><pubDate>Sat, 23 Mar 2019 23:59:52 +0800</pubDate><description><![CDATA[生成随机字符串
​	一个是uuid 为了获取一个随机字符串
​	另一个是md5摘要 用来获得固定长度的字符串
&gt;&gt;&gt; import uuid
&gt;&gt;&gt; import hashlib
&gt;&gt;&gt; def get_filename():
	#获取随机的uuid类型的字符串
	my_uuid = uuid.uuid4()
	
	print(my_uuid)...]]></description><category></category></item><item><title><![CDATA[2018-04-02-1-python-hashlib模块]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88771329</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88771329</guid><author>github_38970218</author><pubDate>Sat, 23 Mar 2019 23:57:12 +0800</pubDate><description><![CDATA[python hashlib模块
Hash，一般翻译做“散列”，也有直接音译为“哈希”的，就是把任意长度的输入（又叫做预映射， pre-image），通过散列算法，变换成固定长度的输出，该输出就是散列值。
hashlib用来替换md5和sha模块，并使他们的API一致。它由OpenSSL支持，支持如下算法：
md5,sha1, sha224, sha256, sha384, sha512
&gt;...]]></description><category></category></item><item><title><![CDATA[2018-07-13-flask-05-flask-restful]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88696669</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88696669</guid><author>github_38970218</author><pubDate>Wed, 20 Mar 2019 18:57:40 +0800</pubDate><description><![CDATA[flask-restful
安装
​	pip install flask-restful
配置
—app_init_.py—
from app.urls import init_api

def create_app(param):
	init_api(app)
	return app

—app\urls.py—
from flask_restful import Api

from .apis...]]></description><category></category></item><item><title><![CDATA[2018-07-12-flask-04-flask-cache&flask-bootstrap&flask-debugtoolbar]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88696658</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88696658</guid><author>github_38970218</author><pubDate>Wed, 20 Mar 2019 18:57:20 +0800</pubDate><description><![CDATA[flask-bootstrap
安装
pip install flask-bootstrap
配置
—ext.py—
from flask_bootstrap import Bootstrap

def init_ext(app):
	Bootstrap(app)

flask-debugtooltar
安装
pip install flask-debugtoolbar
配置
–ext.py—
f...]]></description><category></category></item><item><title><![CDATA[2018-07-11-flask-03-flask-migrate]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88696640</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88696640</guid><author>github_38970218</author><pubDate>Wed, 20 Mar 2019 18:56:46 +0800</pubDate><description><![CDATA[Flask-Migrate
Flask-Migrate是一个扩展，使用Alembic处理Flask应用程序的SQLAlchemy数据库迁移。数据库操作通过Flask命令行界面或Flask-Script扩展提供。
问题思考：
​	我们已经有了db.create_all()和db.drop_all()，我们为什么要用flask-migrate呢？
安装
​	pip install flask-migr...]]></description><category></category></item><item><title><![CDATA[2018-07-10-flask-02-Flask-Session&Flask-SQLAlchemy]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88696629</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88696629</guid><author>github_38970218</author><pubDate>Wed, 20 Mar 2019 18:56:13 +0800</pubDate><description><![CDATA[Flask-Session&amp;Flask-SQLAlchemy
flask-session		(给flask app 添加服务端会话功能)
是flask框架的session组件，由于原来flask内置session使用签名cookie保存，该组件则将支持session保存到多个地方。
如:

redis：保存数据的一种工具，五大类型。非关系型数据库
memcached
filesystem
...]]></description><category></category></item><item><title><![CDATA[2018-07-09-flask-01-Flask介绍]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88696612</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88696612</guid><author>github_38970218</author><pubDate>Wed, 20 Mar 2019 18:55:30 +0800</pubDate><description><![CDATA[Flask介绍
什么是flask

是web应用开发的一个轻量级的框架
依赖的外部扩展的库:Werlzueg/Jinja2
Werkzueg是WSGI(Web Server Gateway Interface)的工具集，Jinja2是渲染引擎

WSGI标准
接口就是WSGI：Web Server Gateway Interface


flask工程介绍

app.py 程序的入口(创建服务，启...]]></description><category></category></item><item><title><![CDATA[2017-11-27-Mysql的基本操作]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88630814</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88630814</guid><author>github_38970218</author><pubDate>Mon, 18 Mar 2019 00:26:50 +0800</pubDate><description><![CDATA[Mysql的基础操作
#创建数据库
mysql&amp;gt; create database `abc`;
Query OK, 1 row affected (0.14 sec)
#进入该数据库
mysql&amp;gt; use `abc`;
Database changed
#创建表
# primary key 是主键的意思，auto_increment是自增;
mysql&amp;gt; create table...]]></description><category></category></item><item><title><![CDATA[2017-11-18-mysql查询]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88630800</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88630800</guid><author>github_38970218</author><pubDate>Mon, 18 Mar 2019 00:26:13 +0800</pubDate><description><![CDATA[mysql数据库
知识要点：

单表查询
子查询
联表查询
事务

查询所有记录
SELECT * FROM tb_name;
查询选中列记录
SELECT col_name1,col_name2 FROM tb_name;
查询指定条件下的记录
SELECT col_name FROM tb_name WHERE 条件
查询后为列取别名
SELECT col_name AS new_name F...]]></description><category></category></item><item><title><![CDATA[2018-05-05-9章-MySQL_存储引擎]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88630785</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88630785</guid><author>github_38970218</author><pubDate>Mon, 18 Mar 2019 00:25:12 +0800</pubDate><description><![CDATA[MySQL 存储引擎
1 MySQL存储引擎简介
查看数据表的创建命令:
​	SHOW CREATE table tbl_name
存储引擎
​	MySQL 可以将数据以不同的技术存储在文件(内存)中,
这种技术就称为存储引擎。
​	每一种存储引擎使用不同的存储机制、索引技巧、锁定水
平，最终提供广泛且不同的功能。
MySQL支持的存储引擎

​	MyISAM
​        InnoDB
​ ...]]></description><category></category></item><item><title><![CDATA[2018-05-04-8章-MySQL存储过程]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88630779</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88630779</guid><author>github_38970218</author><pubDate>Mon, 18 Mar 2019 00:24:31 +0800</pubDate><description><![CDATA[MySQL存储过程
1 MySQL存储过程简介

存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理
存储过程的优点:

增强SQL语句的功能和灵活性
实现较快的执行速度
减少网络流量

2 MySQL存储过程语法结构分析

参数

IN ,表示该参数的值必须在调用存储过程时指定
OUT , 表示该参数的值可以被存储过程改变,并且可以返回
INOUT , 表示该参数的调用...]]></description><category></category></item><item><title><![CDATA[2018-05-03-7章-自定义函数]]></title><link>https://blog.youkuaiyun.com/github_38970218/article/details/88630772</link><guid>https://blog.youkuaiyun.com/github_38970218/article/details/88630772</guid><author>github_38970218</author><pubDate>Mon, 18 Mar 2019 00:23:41 +0800</pubDate><description><![CDATA[1 MySQL 自定义函数简介


自定义函数
用户自定义函数(user-defined function ,UDF)是一种对MySQL扩展的途径
其用法与内置函数相同


自定义函数的两个必要条件
(1) 参数
(2) 返回值


函数可以返回任意类型的值,同样可以接收这些类型的参数



关于函数体

函数体由合法的SQL语句构成
函数体可以是简单的SELECT或INSERT语句
函数体如果为...]]></description><category></category></item></channel></rss>