自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 问答 (25)
  • 收藏
  • 关注

原创 PHP开发之SESSION

1.什么是SESSIONSESSION是一个时间概念, 浏览器打开网站, 到关闭浏览器的这段时间称为SESSION。2.为什么要使用SESSION为了解决http短链接的问题:1)http协议是一种无状态的协议2)SESSION提供在php脚本中定义全局变量的方法, 使得这个全局变量在同一个SESSION中对所有的php脚本文件都有效;3)SESSION允许通过将数据存储在...

2018-08-20 15:41:41 283

原创 2. Add Two Numbers

【题目】You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and re...

2018-08-07 10:09:28 267

原创 1. Two Sum

【题目】Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the...

2018-08-07 09:16:49 300

原创 22. Generate Parentheses

【题目】Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. 【举例】For example, given n = 3, a solution set is:[ "((()))", "(()())", "(())...

2018-08-06 11:20:04 182

原创 5. Longest Palindromic Substring

【题目】Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. 【举例】Example 1:Input: "babad"Output: "bab"Note: "aba" is also a vali...

2018-08-05 10:56:59 155

原创 11. Container With Most Water

【题目】Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Fi...

2018-08-04 10:22:20 131

原创 14. Longest Common Prefix

【题目】Write a function to find the longest common prefix string amongst an array of strings.If there is no common prefix, return an empty string "".【举例】Example 1:Input: ["flower","flow","flig...

2018-08-04 09:51:35 109

原创 16. 3Sum Closest

【题目】Given an array nums of n integers and an integer target, find three integers in nums such that the sum is closest to target. Return the sum of the three integers. You may assume that each input ...

2018-08-04 09:34:57 173

原创 15. 3Sum

【题目】Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.【注意】The solution set must not...

2018-08-03 11:09:46 199

原创 9. Palindrome Number

【描述】Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.【举例】Example 1:Input: 121Output: trueExample 2:Input: -121Output...

2018-07-31 12:06:12 733

原创 7. Reverse Integer

【描述】Given a 32-bit signed integer, reverse digits of an integer.【举例】Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:Assum...

2018-07-30 10:21:08 137

原创 6. 锯齿形转换

[题目]字符串“PAYPALISHIRING”是在给定的行数上以之字形书写的(您可能想要以固定字体显示此模式,以提高可读性):P A H NA P L S I I GY I R然后一行一行一行地读:“PAHNAPLSIIGYIR”编写一个字符串代码,在给定行数的情况下进行转换:string convert(string s, int numRows)...

2018-07-29 10:33:03 385

原创 3. 确定字符串最长不重复子串的长度

Given a string, find the length of the longest substring without repeating characters.[Examples]Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", wit...

2018-07-28 10:23:17 285

原创 17 用docker打包flask web程序

一.安装docker网上有很多教程, 就不多说了安装完记得测试是否安装成功:    &docker version  二.把程序文件夹拷贝到一个单独的文件夹中 我在桌面新建了一个空文件夹docker_flask, 并把程序文件flask拷贝到了docker_flask中: 三.创建Dockerfile文件1)进入到docker_flask的目录, 创建Dockerfile文件2)编辑Doc...

2018-06-29 17:20:09 6804 1

原创 16 把flask python web程序部署到heroku平台上

一. 安装git&sudo apt-get install git二. 把完整的web程序放到一个新目录里面比如说我已经有一个完整的web应用, 它里面有这些文件:然后创建一个Heroku_pro文件夹, 把上面所有的文件都放进去, 放进去以后检查一下:三. 在Heroku_pro目录下生成一个git仓库这时你会发现目录下多了一个.git:四. 把当前目录下的所有文件托管到本地git仓库五...

2018-06-29 16:53:12 848

原创 开启, 关闭mysql服务器

1. 开启mysql服务器root&service mysqld start2. 关闭mysql服务器root&service mysqld stop3.检查mysql服务器是否开启&ps -ef | grep mysql

2018-06-15 20:00:05 1154

原创 15.1 获取代码覆盖报告

编写单元测试有两个目的:  实现新功能时, 单元测试能够确保新添加的代码按预期方式运行。  每次修改程序后, 运行单元测试能保证现有代码的功能没有退化。编写测试组件很重要, 但知道测试的好坏更重要。 代码覆盖工具用来统计单元测试检查了多少程序功能, 并提供一个详细的报告, 说明程序的哪些代码没有测试到。 这个信息非常重要, 因为它能指引你为最需要测试的部分编写测试。一. 安装代码覆盖工具cover...

2018-06-15 16:26:26 309

原创 14 使用Flask提供REST Web服务

一. 创建API蓝本  REST API相关的路由是一个自成一体的程序子集, 所以为了更好的组织代码, 我们最好把这些路由放到独立的蓝本中。1)API蓝本的结构|-flasky  |-app/    |-api_1_0      |-__init__.py      |-users.py      |-posts.py      |-comments.py      |-authenticatio...

2018-06-14 16:35:52 1476

原创 14.5 分页大型资源集合

对大型资源来说, 获取集合的GET请求消耗很大, 而且难以管理。 和Web程序一样, Web服务也可以对集合进行分页。一.app/api_1_0/[email protected]('/posts/')def get_posts(): page = request.args.get('page', 1, type=int) pagination = Post.query.pag...

2018-06-10 17:22:56 160

原创 14.4 实现资源端点

本节我们来实现用于处理不同资源的路由。一. app/api_1_0/[email protected]('/posts/')def get_posts(): posts = Post.query.all() return jsonify({'posts': [post.to_json() for post in posts]})@api.route('/post/&...

2018-06-10 16:34:54 237

原创 插入排序—直接插入排序(Straight Insertion Sort)

基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。直接插入排序示例:如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,...

2018-06-10 10:54:33 268

原创 2. MySql8.x修改密码

说明:1. mysql -uroot -p 输入初始密码 进入mysql2. set global validate_password.policy=0;    mysql要求密码必须包含大小写字母, 数字, 特殊字符, 如果我们不想设这么复杂的密码, 输入该句命令后, mysql只限制密码的长度3.select @@validate_password.length;    查看密码最小长度4.A...

2018-06-08 21:05:47 910

原创 1. 在centos上安装mysql数据库

1. 点击链接进入官网下载页面——https://www.mysql.com/downloads/2.点击下图中的Community导航条和右下角的MySQL Community Server(GPL)链接3.在页面下方选择linux系统和系统版本4. 选择第一个包RPM Bundle进行下载5.如果你是在Windows里面下载的, 用VMware tool把这个压缩包(ps:mysql-8.0....

2018-06-08 20:19:38 2666

原创 14.3 资源和JSON之间的转换

    JSON是http请求和响应使用的传输格式, 那么Web服务就应该实现以下两个功能:        把资源转换成json数据——发送给客户端        把json数据转换成资源——把客户端发送过来的json数据转换成资源存储在数据库中一. 把资源转换成json数据1) app/models.pyclass Post(db.Model): #... def to_...

2018-06-07 19:34:07 360

原创 14.2 基于令牌的认证

    上节我们介绍了基于http的认证, 由于客户端每次发出请求时都要发送密令, 为了避免老是发送敏感信息, 我们可以提供一种基于令牌的认证方案。一. 修改app/models.pyclass User(db.Model): #生成认证令牌 def generate_auth_token(self, expiration): s = Serializer(c...

2018-06-07 16:26:58 1643

原创 14.1 使用Flask-HTTPAuth认证用户

    最近几年, Web程序有种趋势, 那就是业务逻辑越来越多的移到了客户端一侧, 开创出了一种称为富互联网应用(RIA)的架构。在RIA中, 服务器的主要功能是为客户提供数据存取服务。 在这种模式中, 服务器变成了Web服务或应用编程接口(API)    RIA可采用多种协议与Web服务通信, 最近几年REST崭露头角。    Flask是开发REST架构Web服务的理想框架, 本章我们了解如...

2018-06-05 16:20:45 5771 1

原创 13.2 管理评论

本节我们为Web程序实现管理评论的功能。我们的大体思路如下:如果登录的用户有管理评论的权限, 在导航栏添加一个管理评论的导航。点击导航, 路由函数moderate进行处理, 返回moderate.html页面页面内容包括标题, 评论, 页面导航。并且在_comments.html里为每条评论添加两个标签enable和disable控制评论的显示与否。由路由moderate_enable和moder...

2018-05-09 20:00:51 680

原创 13.1 显示和提交评论

本节我们要为Web程序添加显示和提交评论的功能。一.  创建Comment表    评论存在数据库中,因此我们要创建一个Comment表来存储评论:class Comment(db.Model): __tablename__ = 'comments' id = db.Column(db.Integer, primary_key=True) body = db.Colu...

2018-05-09 16:05:37 571

原创 12.3 在首页显示所关注用户的文章

一.  我们想添加的功能    之前我们完成了用户之间的相互关注, 我们想在首页增加一个选项如下图:            如果已登录用户访问主页, 我们给两个选项卡, 点击All选项, 显示数据库中所有的文章; 点击Followers选项卡, 显示当前用户所关注的用户的文章和自己的文章。    那我们如何实现上述功能?   答案是我们借助cookie(ps:http://blog.csdn.ne...

2018-04-25 20:09:28 458

原创 二叉树的深度优先遍历和广度优先遍历

package 基础算法;import java.util.LinkedList;import java.util.Queue;public class BinaryTreeTraverseTest { public static void main(String[] args) { BinarySortTree<Integer&...

2018-04-24 20:41:51 166

原创 12.2 在资料页中显示关注者

一. 修改|-app/templates/user.html    我们想在用户资料页面增加几个栏目如下:            对应的功能举例说明如下:        如果已登录的用户A(有关注权限的话)访问别的用户B的页面:            如果A未关注B, 显示一个Follow按钮, 点击关注B, 如果A已经关注B, 显示一个Unfollow按钮, 点击取消关注B;          ...

2018-04-24 17:29:26 235

原创 12.1 高级多对多关系

一. 一对多关系    我们前面讲了两个一对多关系:角色和它所对应的用户, 用户和它所对应的文章, 在一对多关系中, 我们在‘一’的这边设置db.relationship, 在‘多’的一边设置一个外键。二. 多对多关系    而数据库除了一对多关系之外还有多对多关系。最常见的是学生选课这个多对多关系, 一个学生可以选择多门课程, 一门课程也可以被多个学生选择, 如果我们在学生这边添加外键显然行不通...

2018-04-22 15:53:25 442

原创 11.6 博客文章编辑器

    本节我们为Web程序添加编辑文章的功能。一. 修改|-app/-main/[email protected]('edit/<int:id>')@login_requireddef edit(id): post = Post.query.get_or_404(id) if current_user != post.author and not cu...

2018-04-19 16:22:32 296

原创 11.5 为博客添加固定链接

我们有时候希望和朋友分享自己的博客, 所以我们要为每一个博客添加一个唯一的链接以供分享使用。一. 修改|-app/-main/[email protected]('/post/<int:id>')def post(id): post = Post.query.get_or_404(id) return render_template('post.html', po...

2018-04-18 22:26:29 650

原创 11.5 在服务器上处理富文本

    上节我们讲到使用Flask-PageDown, 把wtf表单中的PageDownField字段中输入的的markdown文本转换成html预览显示在字段下方, 但是我们点击提交按钮时提交的是在表单中填写的markdown文本, 而不是html文本, 所以我们就得想办法把用户提交的markdown文本转换为html文本保存在数据库中。一. 修改|-app/models.pyfrom mark...

2018-04-18 22:08:33 386

原创 11.4 使用Flask-PageDown支持富文本文章

    我们编辑长文章的时候, 单一的文本格式便满足不了要求, 于是我们使用PageDown,PageDown的作用是使用javascript实现客户端markdown到html的程序转换。    Flask-PageDown把PageDown集成到wtf表单中, 换言之就是使用javascript把wtf中的markdown转换成html。一. 安装扩展flask-pagedown, markd...

2018-04-18 20:33:07 1393

原创 如何判断链表有环并确定环的起点

首先我们让fast指针(一次走两步)和slow指针(一次走一步)同时指向头结点, 然后同时向后移动。如果链表是一个整环的话, slow指针走一圈的时候与fast指针重合, 此时fast走了两圈。 如果链表不是一个整环, slow指针没来得及走一圈就会与fast指针重合, 此时fast指针比slow指针多走了n圈(n>=1)假设两个指针第一次重合, slow走了S, fast就走了2S, 设圈...

2018-04-18 10:58:54 1023

原创 11.3 如何为我们的博客列表增加分页导航

一. 修改|-app/-main/views.py    我们之前访问主页路由时, 会返回数据库中所有的文章, 这样显得页面很庞大复杂, 于是我们对文章进行分页显示。@main.route('/', methods=['GET', 'POST'])def index(): form = PostForm() #...  page = request.args.get('...

2018-04-14 17:11:08 210

原创 11.2 如何在Web程序开发的过程中创建大量虚拟数据库记录

一. 安装forgerypy包&pip install forgerypy二. 修改|-app/models.py1. 修改User表class User(UserMixin, db.Model): #... @staticmethod def generate_fake(count=100): import forgery_py ...

2018-04-13 21:32:45 302

原创 11.1 为博客添加显示和提交文章的功能

一. 修改|-app/models.py  Web程序的所有用户的文章存储在数据库里, 每一篇文章就是数据库中的一条记录, 包括文章主体,发布时间, 作者的id等属性。class Post(db.Model): __tablename = 'posts' id = db.Column(db.Integer, primary_key=True) body = db.Co...

2018-04-13 21:12:38 776

空空如也

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

TA关注的人

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