自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 常用排序算法的Python实现

1、冒泡排序 def bubble_sort(L): _len = len(L) for i in range(_len-1, -1, -1): #索引i递减 for j in range(i): #索引j递增 if L[j] > L[j+1]: #若比下一个元素大,交换 L[j], L[j+1]

2017-11-24 09:08:56 450

原创 数据结构与算法之二叉树的Python简单实现

二叉树的存储结构1、顺序存储结构 按从上到下,从左到右顺序存储将二叉树各结点存储在连续数组中。2、链式存储结构 采用链表形式存储二叉树中的各结点,用链建立各结点之间的关系。 二叉树最常用的链式存储结构是二叉链,每个结点包含三个域,分别是数据元素域data、左孩子链域left和右孩子链域right。 用Python类来定义一个二叉树的结点:class TreeNode(object):

2017-11-19 16:56:21 793

原创 数据结构与算法之树&二叉树的定义

树的定义树是由n(n≥0)个结点组成的有限集合 当n=0时,称为空树; 对于任一棵非空树(n>0),它具备以下性质: - 树中有一个称为根(Root)的特殊结点,用r表示; - 其余结点可分为m(m>0)个互不相交的有限集T1,T2,…Tm,其中每个集合本身又是一颗树,称为原来树的子树(SubTree)。 树的基本术语结点的度(Degree):结点的子树个数;树的度:树的所有结点中,最

2017-11-18 22:18:10 315

原创 数据结构与算法之链表的Python简单实现

链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。 我们都知道,数组是连续列表,链表是链接列表,二者在概念和结构上完全不同,因此list不能用于实现链表。 在C/C++中,通常采用“指针+结构体”来实现链表;而在Python中,则可以采用“类”来实现链表。 定义一个链表的节点: class Node(obj

2017-11-17 14:38:13 464

转载 JavaScripts中的this指向及call、apply详解

此文对JS中的this指向和call、apply有通俗易懂的解释,写的非常好。记录下来便于自己理解。 原文地址: this指向详解 http://www.html-js.com/article/4076 apply 、call 详解 https://github.com/lin-xin/blog/issues/7 感谢原文作者linxin! this 的指向this 是 js 中定义的关键

2017-11-03 12:49:21 586

原创 Linux环境中MySQL中文编码问题

本文只是记录了一下我的网站在Linux环境部署过程中发生的MySQL中文编码问题。 由其他问题导致的MySQL数据存取错误,此方法不一定能解决。 在linux安装好MySQL-server以后: 命令行 mysql -p密码进入MySQL的shell界面。 在MySQL shell界面,输入show variables like ‘character_set%’;查看默认字符集 返回:

2017-11-02 10:23:57 517

原创 阿里云ESC网站部署Flask+gunicorn+nginx+supervisor

网站终于成功上线了! 域名还在审核,目前只能用IP地址访问http://101.132.178.245:80/。源码托管在GitHub。 整个部署时间花了两天左右,过程中坑比较多,大部分时间都在网上找资料和试错。 下面整理一下从茫茫多坑中最终实现部署的过程和资料。 本项目采用Flask + gunicorn + gevent + nginx + supervisor的组合形式。1. 服务器本

2017-11-02 02:11:54 2376 2

原创 Day 3 - 编写ORM框架

Web App里面有很多地方都要访问数据库。访问数据库需要创建数据库连接、游标对象,然后执行SQL语句,最后处理异常,清理资源。这些访问数据库的代码如果分散到各个函数中,势必无法维护,也不利于代码复用。所以,我们要把常用的SELECT、INSERT、UPDATE和DELETE操作用函数封装起来,再将一个数据库中的表映射成python中的类,类的实例就是数据库中的每一行数据。这样,对这个对象的操

2017-10-23 14:16:22 1871

原创 Day 7 - 编写MVC

MVC:Model-View-Controller,“模型-视图-控制器”。 Controller 控制器:控制业务逻辑,决定与前端进行数据交互的形式和方法。如:检查数据,存取数据等。View 视图:复制显示页面。通过接收Controller传来的数据,渲染后,呈现界面给用户。Model 模型:它是在后端Controller和前端View之间被传递的数据。在本项目中:Model

2017-10-19 14:14:08 557

原创 Day 6 - 编写配置文件

通常,一个Web App在运行时都需要读取配置文件,比如数据库的用户名、口令等,在不同的环境中运行时,Web App可以通过读取不同的配置文件来获得正确的配置。默认的配置文件应该完全符合本地开发环境,这样,无需任何设置,就可以立刻启动服务器。创建一个默认配置文件config_default.py:configs = { 'db':{ 'host': 'localhost',

2017-10-19 12:57:09 433 1

原创 Day 5 - 编写Web框架

aiohttp是一个较底层的框架,当有HTTP请求进入,aiohttp会生成一个request对象,经处理后返回一个Response对象。但是,中间的处理过程需要我们自行去完成,所以我们要在aiohttp基础上自己封装一个框架。1. 编写视图函数(URL处理函数)1.1 aiohttp编写视图函数如果仅仅用aiohttp编写视图函数,我们需要以下几步:第一步,编写一个由 asy

2017-10-17 16:55:55 3276 7

原创 WSGI

WSGI(Web Sever Gateway Interface):分为服务器端(WSGI Sever)和应用程序端(WSGI App)①服务器端:接收请求,给应用程序提供environ(环境信息)和start_response(回调函数)。这个回调函数,返回httpheader数据以及status信息。②应用程序端:可调用对象,包括不仅限函数,类,含__call__方法的实例。用

2017-10-16 09:59:29 897

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除