<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chent86的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chent86</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chent86]]></copyright><item><title><![CDATA[c++实现带加减乘除括号的式子运算]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/102530864</link><guid>https://blog.youkuaiyun.com/chent86/article/details/102530864</guid><author>chent86</author><pubDate>Sun, 13 Oct 2019 11:27:45 +0800</pubDate><description><![CDATA[题目：
给定一个带加减乘除括号的运算式子字符串，求其结果
如：(10+20)*3 的结果为90
思路：
一、去括号。用一个栈记录左括号的位置，遍历字符串，读取到右括号后栈pop，进行括号间式子的运算，并将结果字符串替换回原字符串。
二、进行不带括号的式子的运算。用一个栈记录数字，一个栈记录运算符。读到数字直接入栈，读到运算符再进行运算。如果是乘号/除号，拿栈顶数字和下一个数字进行运算，结果入栈；如...]]></description><category></category></item><item><title><![CDATA[python kafka 报错: assert has_snappy(), 'Snappy decompression unsupported']]></title><link>https://blog.youkuaiyun.com/chent86/article/details/99743404</link><guid>https://blog.youkuaiyun.com/chent86/article/details/99743404</guid><author>chent86</author><pubDate>Mon, 19 Aug 2019 17:45:23 +0800</pubDate><description><![CDATA[sudo apt-get update
sudo apt-get install libsnappy-dev
pip3 install python-snappy

参考链接

]]></description><category></category></item><item><title><![CDATA[Python Flask文件上传/下载]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/94358793</link><guid>https://blog.youkuaiyun.com/chent86/article/details/94358793</guid><author>chent86</author><pubDate>Sun, 30 Jun 2019 21:43:35 +0800</pubDate><description><![CDATA[Flask app 配置
配置内容：文件夹路径，运行的文件类型，文件大小限制
from flask import Flask

FILE_FOLDER = 'path/to/file_folder'
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg'])

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] ...]]></description><category></category></item><item><title><![CDATA[Python Flask简易教程]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/94024255</link><guid>https://blog.youkuaiyun.com/chent86/article/details/94024255</guid><author>chent86</author><pubDate>Fri, 28 Jun 2019 20:40:59 +0800</pubDate><description><![CDATA[1. Why Flask?

官方文档详细，学习成本低，有利于项目其他成员迅速投入开发
框架轻，可扩展性高，且有很多好用的扩展(extension)
该框架仍在积极地维护和开发

2. 将要介绍到的Flask的扩展

flask blueprint  用于注册、管理路由
flask_restful 用于支持构建REST APIs
flask_migrate 用于管理数据库版本迁移
flask_sq...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业6]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/93379571</link><guid>https://blog.youkuaiyun.com/chent86/article/details/93379571</guid><author>chent86</author><pubDate>Sun, 23 Jun 2019 18:50:58 +0800</pubDate><description><![CDATA[练习资源：Asg-RH.pdf
使用 UMLet 建模

使用类图，分别对 Asg_RH 文档中 Make Reservation 用例以及 Payment 用例开展领域建模。然后，根据上述模型，给出建议的数据表以及主要字段，特别是主键和外键
注意事项：


对象必须是名词、特别是技术名词、报表、描述类的处理；
关联必须有多重性、部分有名称与导航方向
属性要注意计算字段
数据建模，为了简化描述仅需...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业5]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/90553202</link><guid>https://blog.youkuaiyun.com/chent86/article/details/90553202</guid><author>chent86</author><pubDate>Sat, 25 May 2019 23:49:44 +0800</pubDate><description><![CDATA[使用UMLet建模：


	1、根据订旅馆建模文档，Asg-RH.pdf：
	绘制用例图模型（到子用例）
	
、

给出 make reservation 用例的活动图
​​​​​​​

2、根据课程练习“投递员使用投递箱给收件人快递包裹”的业务场景
	分别用多泳道图建模三个场景的业务过程
	x科技公司发明了投递柜，它们自建了投递柜以及远程控制系统。注册的投递员在推广期免费使用投递柜。由于缺...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业4]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/90545349</link><guid>https://blog.youkuaiyun.com/chent86/article/details/90545349</guid><author>chent86</author><pubDate>Sat, 25 May 2019 23:43:18 +0800</pubDate><description><![CDATA[一、简答题

1. 用例的概念:用例是一组相关的成功和失败场景集合，用来描述参与者如何使用系统来实现其目标

2. 用例和场景的关系？什么是主场景或 happy path？:

场景是参与者和系统之间的一系列特定的活动和交互，也称为用例实例。用例包含了若干个场景。

主场景是指用户与系统发生主要交互的场景，通常是成功的，描述了涉众关注点的典型成功路径。

3. 用例有哪些形式？:

Brief(...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业3]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/89410095</link><guid>https://blog.youkuaiyun.com/chent86/article/details/89410095</guid><author>chent86</author><pubDate>Fri, 19 Apr 2019 23:54:30 +0800</pubDate><description><![CDATA[一、简述瀑布模型、增量模型、螺旋模型（含原型方法），并分析优缺点（从项目特点、风险特征、人力资源利用角度思考）

【瀑布模型】

是一种项目开发架构，开发过程是顺序展开的，从一个阶段流动到下一个阶段。瀑布模型中的每一个开发活动具有下列特征：

【优点】

1.降低软件开发的复杂程度，提高软件开发过程的透明性，提高 软件开发过程的可管理性

2.推迟软件实现，强调在软件实现前必须进行分析和设计工...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业2]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/89074150</link><guid>https://blog.youkuaiyun.com/chent86/article/details/89074150</guid><author>chent86</author><pubDate>Sun, 07 Apr 2019 20:42:21 +0800</pubDate><description><![CDATA[简答题：

1. 用简短的语言给出对分析、设计的理解

分析强调的是对问题和需求对调查研究，对可行性进行分析，而不是解决方案。

设计强调的是满足需求的概念上的解决方案，而不是其实现。

2. 用一句话描述面向对象的分析与设计的优势

实现面向对象程序设计的过程中，会实现设计出来的对象，所以面向对象分析与设计将问题中的对象转换为程序中的对象，使得程序设计更加清晰，项目架构更加清晰。

3. 简述 ...]]></description><category></category></item><item><title><![CDATA[【系统分析与设计】作业1]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/88734402</link><guid>https://blog.youkuaiyun.com/chent86/article/details/88734402</guid><author>chent86</author><pubDate>Fri, 22 Mar 2019 10:27:28 +0800</pubDate><description><![CDATA[软件工程的定义:
（1）软件工程是将系统的、规范的、可量化的方法应用到软件的开发、操作和维护上，也就是将工程学应用到软件领域。
（2）是对如何将工程学应用到软件领域的研究。

解释导致 software crisis 本质原因、表现，述说克服软件危机的方法：
本质原因：计算机的发展
表现：随着计算能力的发展，软件处理的问题越来越广、越来越复杂
克服的方法：使用系统化、与时俱进的软件工程方法

软件...]]></description><category></category></item><item><title><![CDATA[mysql 存储引擎]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/88072063</link><guid>https://blog.youkuaiyun.com/chent86/article/details/88072063</guid><author>chent86</author><pubDate>Sat, 02 Mar 2019 09:50:56 +0800</pubDate><description><![CDATA[mysql有多种可选的存储引擎(storage engine), 可以在创建表时进行指定:


 create table test(id int(10)) engine=innodb;

查看表指定的引擎


show table status\G

1. InnoDB

默认使用的引擎是innodb。支持行级锁，主码会使用聚簇索引，支持外码的完整性约束，支持事务。

支持B+树索引（尽管语法中...]]></description><category></category></item><item><title><![CDATA[c++ 右值引用]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/87556710</link><guid>https://blog.youkuaiyun.com/chent86/article/details/87556710</guid><author>chent86</author><pubDate>Sun, 17 Feb 2019 21:05:17 +0800</pubDate><description><![CDATA[首先，什么是左值、右值？

左值是能出现在等号左边和右边的变量，右值是只能出现在等号右边的变量（或表达式）。

左值引用为 &amp;amp; , 而右值引用为 &amp;amp;&amp;amp;。

那么为什么需要右值引用呢？主要是为了处理c++临时对象的低效的问题，使用右值引用可以减少不必要的拷贝构造。

举个例子：


#include &amp;lt;iostream&amp;gt;
using namespace std;
...]]></description><category></category></item><item><title><![CDATA[win10: 无法连网 There is something wrong with the proxy server]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/86747221</link><guid>https://blog.youkuaiyun.com/chent86/article/details/86747221</guid><author>chent86</author><pubDate>Sat, 02 Feb 2019 08:41:26 +0800</pubDate><description><![CDATA[控制面板-&amp;gt; 网络和Internet-&amp;gt; Internet 选项 -&amp;gt; 连接 -&amp;gt; 局域网设置 

勾选：自动检测设置

不勾：为LAN使用代理服务器]]></description><category></category></item><item><title><![CDATA[算法Project（变种背包问题）]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/85177963</link><guid>https://blog.youkuaiyun.com/chent86/article/details/85177963</guid><author>chent86</author><pubDate>Sun, 23 Dec 2018 00:14:26 +0800</pubDate><description><![CDATA[问题描述：

假设有n个商店和m位顾客，我们希望计算得到：

（1）开放那些商店

（2）安排哪位顾客去哪位商店

来使得开销最小。

其中：如果商店有安排到至少一位顾客，则商店需要开放营业，而这需要开销opening cost（每个商店的opening cost不同），另外安排某位顾客去某位商店的这一过程也需要开销assigning cost，且因商店的不同和顾客的不同而变化。

也即： 总开销...]]></description><category></category></item><item><title><![CDATA[X.509标准]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/84993258</link><guid>https://blog.youkuaiyun.com/chent86/article/details/84993258</guid><author>chent86</author><pubDate>Thu, 13 Dec 2018 18:47:34 +0800</pubDate><description><![CDATA[X.509标准规定了证书包含的信息。

何为证书？

我们先来看看证书使用的过程：

假设A要使用数字签名发送消息给B，A首先通过Hash函数生成信息的摘要，然后使用自己的私钥对摘要进行加密，生成数字签名。然后将消息和数字签名一并发送给B。B通过已有的A的公钥对数字签名进行解密，然后通过同样的Hash函数生成消息的摘要，对比两份摘要，如果相同则代表消息正确。

这里存在一个问题，如何确保B已有的公...]]></description><category></category></item><item><title><![CDATA[算法周计12.9]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/84933747</link><guid>https://blog.youkuaiyun.com/chent86/article/details/84933747</guid><author>chent86</author><pubDate>Sun, 09 Dec 2018 23:43:44 +0800</pubDate><description><![CDATA[leetcode 327



分析: 这一题是让我们在一个数组中找一系列区间，区间中的数求和的结果在lower与upper之间，我们需要计算出这样的区间的个数。

解题：可以使用分治的思想来解这一题。首先，我们先计算出求和数组sum, 当需要计算区间[i,j]内的数的和时，只用求sum[j]-sum[i]就可以了。另外需要注意sum[0] = 0，这是为了计算区间[0,1]而保留的值。所以sum...]]></description><category></category></item><item><title><![CDATA[算法周记12.2]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/84720627</link><guid>https://blog.youkuaiyun.com/chent86/article/details/84720627</guid><author>chent86</author><pubDate>Sun, 02 Dec 2018 17:50:01 +0800</pubDate><description><![CDATA[leetcode 152 



 分析:　可以在O(n)的时间复杂度之内解决问题，方式是在遍历的过程中记录乘积的最大值pos_value（大于等于０）和乘积最小值neg_value（小于等于０）。

初始时这些值设为0。

当遇到一个数a时:

若a为正数，pos_value为a（考虑pos_value为0的情况）与pos_value*a之中的较大的值。neg_value为neg_value与a...]]></description><category></category></item><item><title><![CDATA[动态规划4]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/84475499</link><guid>https://blog.youkuaiyun.com/chent86/article/details/84475499</guid><author>chent86</author><pubDate>Sun, 25 Nov 2018 11:29:20 +0800</pubDate><description><![CDATA[ leetcode 63



分析：

需要注意到题目描述中：机器人只能向下或者向右移动，这一点大大降低了难度。所以可以列出转移方程：

dp[i][j]表示从起点到(i,j)的路径的数量，那么：

dp[i][j] = dp[i-1][j] + dp[i][j-1]  (当这两个点在grid之内且不为障碍物时)

另外，如果(i,j)是障碍物，dp[i][j] = 0

代码如下：


int...]]></description><category></category></item><item><title><![CDATA[动态规划3]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/84199855</link><guid>https://blog.youkuaiyun.com/chent86/article/details/84199855</guid><author>chent86</author><pubDate>Sun, 18 Nov 2018 22:24:07 +0800</pubDate><description><![CDATA[leetcode 132



分析：

这一题需要使用两次dp。第一次dp需要找到所有回文子串，第二次dp需要找到最小切。而实际上，两个dp可以同时进行。

首先是找出所有的回文子串：

设dp[j][i]为1时表示子串s[j,i]是一个回文串，那么有：

当s[j] == s[j], 且子串s[j,i]长度小于等于2或者dp[j+1][i-1]为１时

dp[j][i] = １

其中，当j ...]]></description><category></category></item><item><title><![CDATA[动态规划２]]></title><link>https://blog.youkuaiyun.com/chent86/article/details/83958510</link><guid>https://blog.youkuaiyun.com/chent86/article/details/83958510</guid><author>chent86</author><pubDate>Sun, 11 Nov 2018 18:19:56 +0800</pubDate><description><![CDATA[leetcode 97



 思路：

一开始考虑怎么用动态规划解决问题，反而没什么头绪。于是改变思路，先不管动态规划，而是想如何解决这道题。

可以肯定的是，如果s3的最后一个字符与s1和s2的最后一个字符都不同，那么将无法通过s1与s2的交错得到s3。假若s1与s2其中一个的最后一个字符与s3的最后一个字符相同(假设是s1,删除最后一个字符得到s1*，而s3删除最后一个字符得到s3*)。那么...]]></description><category></category></item></channel></rss>