自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王飞平的博客

个人微信公众号 Bigger提升 每周发布技术文章

  • 博客(54)
  • 资源 (3)
  • 收藏
  • 关注

原创 java创建导入自定义包

java编译自定义包javac -d . ***.javajava编译包javac *.javajava执行java *

2018-03-21 13:51:10 3242

原创 sqlalchemy使用方法

from contextlib import contextmanager@contextmanagerdef session_scope(): """Provide a transactional scope around a series of operations.""" session = Session() try: yield sessio...

2018-03-05 18:56:12 268

转载 SQLAlchemy使用UUID

在使用SQLAlchemy时,如果主健使用uuid时import uuidid = db.Column(db.String(32), default=uuid.uuid4().hex, primary_key=True)上述写法,如果在进行批量增加时,会出现“主关健字重复”的错误正确的做法应该是def gen_id(): return uuid.uuid4().hexid = db...

2018-02-27 15:20:31 4115

原创 通过shell配合expect自动输入账号密码登陆ssh或ftp

最近经常需要通过SSH和ftp连接到腾讯云的Linux服务器,每次都需要输入账号密码,实在是太麻烦了,于是就查了一下自动化的方式。ExpectExpect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件如telnet,ftp,Passwd,fsck,rlogin,tip,ssh等等。该工具利用Unix伪终端包装其子进程,允

2017-01-21 09:25:33 1988

原创 《皮囊》读后感

“身体是拿来用的,不是用来伺候的”这句话大抵是本书前半段的主旨吧,书中却有两种对于皮囊截然不同的态度。阿太对于自己的皮囊态度是一种生而为我,就应该尽情的使用。当最后阿太无法自由行动时,最初虽然会由于不能自由支配自己的皮囊而恐惧到落泪,但是在去世前留给作者的话,又表现出对于即将脱离自己皮囊的豁然。作者的父亲由于意外中风,突然间失去自己的一半皮囊控制权,表现出的是一种恍然失措的恐惧和深藏于内心的担心。担

2017-01-20 08:51:08 3808

原创 github pages + hexo搭建博客

之前是在腾讯云中用WordPress搭建的博客,但是每月需要缴费,今天改成用GitHub Pages的免费空间来搭建,免费即是正义。部署01 依赖环境1. github pagesGitHub免费给每个用户提供300M的空间,新建一个仓库并用自己的username.github.io命名即可。 具体教程请Google2. node.js服务简单的说Node.js 就是运行在服务端的JavaScr

2017-01-20 08:49:53 322

原创 Python的三种可变参数

初学python没多久,对python中函数的可变参数有点头晕,查阅了stackflow,现总结一下可变参数可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如def testArg(*arg)你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表关键字参数关键字参数在python中习惯用**kw表示,可以传入0到任意多个“关键字-值”,参数在函数

2016-12-29 15:46:59 9600 2

原创 word中在分页符后设置标题的段前间距

这个问题今天困扰很久,之前一页用了分页符,然后这一章的标题死活设置不了段前间距,只能设置段后标记。然后摸索中发现,只要在该段的段首处插入一个“连续”的分节符就行了。效果如下:

2016-12-06 12:25:30 15277 1

原创 20分钟使用AMH搭建WordPress环境

尝试使用AMH面板安装WordPress教程来源 http://willis.blog.51cto.com/11907152/1845392安装后使用主机IP:8888访问面板安装AMH4.2版本使用root用户执行 wget http://amh.sh/file/AMH/4.2/amh.sh && chmod 775 amh.sh && ./amh.sh 2>&1

2016-11-24 11:38:05 1773

原创 根据文献的题目直接得到参考文献格式

最近在写毕业论文,写参考文献时发现格式很麻烦,需要找到属于那篇期刊的那几页 发现一个好方法,就是使用谷歌学术可以直接得到GB/T 7714-2005格式。 1. 在谷歌学术中搜索这篇文献如下:点击引用即可!祝大家科研顺利,论文发发发!

2016-11-18 10:27:28 2596

原创 16年校招网易测试开发面试记录

一面: 1、替换字符串(sed -n 's/xxx/xxx') 2、查找log文件中errno:出现的接下来的五行(awk|sed) 3、github的远程分支同步更新 4、测试用例(单曲,循环,随机),重点随机如何测(count计算,看每首歌的分布,按存在于列表中的时间长短的改变)  二面: 1、tcp协议 

2016-11-16 18:42:09 1683

原创 腾讯云Ubuntu下搭建FTP服务器

之前用腾讯云搭建WordPress环境使用的是第三方镜像库,使用起来各种问题,而且不是自己装的系统,用起来各种不方便,遂重做系统,一步步搭建!搭建FTP服务器sudo apt-get install vsftpd测试ftp服务器是否安装成功 service vsftpd restart配置vsftpd.conf//禁止匿名访问anonymous_enable=NO//接受本地用户lo

2016-11-03 20:44:00 3425

原创 Win10配置java环境注意事项(不同于Win7)

今天重新配置java的环境,看了很多博客,基本都是说win7下的设置,win10有一点不同的地方,不注意的话,一直会提示javac不是内部命令。1、下载安装JDK,这里不再说了;2、找到  控制面板——系统——高级系统设置——编辑环境变量3、首先新建用户变量 JAVA_HOME 为你的安装目录,我的是 C:\Program Files\Java\jdk1.8.0_914、新建用户变

2016-11-02 18:07:32 1648

原创 Ubuntu下使用SMTP服务器发送邮件到外部邮箱

最开始使用QQ邮箱配置提示没有配置SSL,后来发现问题是QQ邮箱的设置问题,于是就改成163邮箱成功 不使用sendmail服务器apt-get install heirloom-mailx(不同于mailx)set [email protected] smtp=smtp.163.comset [email protected] smtp-auth-password=1

2016-10-09 19:54:17 7803

原创 快速排序C++实现(递归,非递归)

#include #include #include using namespace std;int quickSortRecusive(vector& data,int i,int j){ int l = i; int r = j; int x = data[r]; //基准 if(l >= r) return l; while(l < r){ while(l <

2016-09-01 16:23:10 5938

原创 Linux学习笔记

Linux学习过程中的知识点,比较零散

2016-08-26 21:15:34 511

原创 C++学习笔记(更新中)

C和C++的区别 a. C是结构化的语言,面向过程,重点在于数据结构和算法 b. C语言的API比较简洁 c. C++包含了绝大部分C语言的功能,并且提供OOP(面向对象编程)和GP(类属编程) d. C++有更严格的类型检查系统、大量额外的语言特性(RTTI,异常) e. C++也比较简洁,有运算符重载,隐式转换, f. C语言的struct不能声明函数,c语言没有模板,异

2016-07-20 13:35:41 1087

原创 使用map的value值排序

/*1、先利用mp创建; 2、用vector存储pair#include <iostream>#include <vector>#include <map>#include <algorithm>#include <utility>using namespace std;typedef pair<int,int> PAIR;bool CmpByValue(const PAIR& lhs,

2016-05-03 14:36:51 405

原创 C++随笔

我学习C++过程中的一些值得回顾的小技巧

2016-05-01 15:38:35 362

原创 Remove Nth Node From End of List

class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* p = new ListNode(0); ListNode* L2 = new ListNode(0); p->next = head; //需要考虑到头结点

2016-02-22 09:56:35 390

原创 在O(1)复杂度下删除指定的链表节点

常规的解法是O(n)时间,但是我们不需要找到需要删除节点的前一个节点。我们可以很方便的找打要删除节点的下一个节点,如果我们把下一个节点的内容复制到需要删除的节点上覆盖原有的内容,再把下一个节点删除,就相当于把当前需要删除的节点删除掉了,只需要哦O(1)时间。代码如下,不考虑被删除节点是尾节点的情况:public class Solution { public void deleteNo

2016-02-01 10:26:16 364

原创 LeetCode. Pow(x, n)

这题的难度是easy,主要考虑到3点即可:当n是0的时候,结果为1;当n是正数时;当n是负数时,可以把x变成1/x;下面是非递归的解法,代码如下:class Solution {public: double myPow(double x, int n) { double base = n > 0 ? x : 1 / x; double

2016-01-31 11:42:05 363

原创 题目:已知rand7() 可以产生 1~7 的7个数(均匀概率),利用rand7() 产生rand10() 1~10(均匀概率)

int rand10(){int temp;int temp2;do {temp = rand7();} while (temp > 5);//temp 1到5do {temp2 = rand7();while (temp2 > 2);//temp2 1到2return temp + (temp2 - 1) * 5;}

2016-01-18 23:01:07 1088

原创 First Bad Version

这道题用Binar Search到是没有什么难度,主要的就是判断中间点的时候容易出错。起初我用的是left = 1, high = n; mid = (left + high)/2,但是不AC。后来发现当起始下标为1的时候,这种求mid会Overflow,这种情况是适用于left从0开始的。从1开始的话需要使用mid = left + (high -left) / 2来计算。即可AC:bool

2016-01-17 16:44:37 334

原创 Implement strStr()

这题使用Two pointer思路,最开始我的思路是正确的,但是提交的时候提示超时,后来改了一下判断的流程:代码如下:int strStr(string haystack, string needle) { int index = 0, i = 0; if(needle.size()==0) return 0; if(ha

2016-01-09 16:01:16 334

原创 Reverse Linked List

最开始我想到的是用先遍历链表,把元素存入数组中,然后反向遍历数组在重新生成一个链表。在leetcode提交的runtime是8ms代码如下: ListNode* reverseList(ListNode* head) { ListNode *tmp=NULL,*res = NULL,*dummy = new ListNode(0); vector v;

2016-01-08 20:41:38 451

原创 Linked List Cycle

起初看到这个题目,毫无头绪,没有理解题目意思,后来在网上看了一下大家的思路,写一下我现在看到最简单的一种方法:利用两个指针,slow,fast。两者均从头开始,slow每次一步,fast每次2步,如果是一个环的话,它们俩肯定会碰到。如果在没有碰到之前有指针到NULL,则不存在环;边界条件:如果只有一个节点,则肯定不存在环;代码如下:class Solution {public:

2016-01-08 15:01:42 329

原创 Palindrome Number

本题还是反转一个整数的题目,首先确定负数不是palindrome,题目的提示里有 You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How wo

2016-01-07 17:17:34 319

原创 102. Binary Tree Level Order Traversal

这是我做的第一个需要处理第一个节点的链表题目,参考了下Disuss里面的答案。应该使用 ListNode* dummy = new ListNode(0)创建一个虚拟节点来表示头节点的前一个节点。class Solution {public: ListNode* deleteDuplicates(ListNode* head) { ListNode *node;

2016-01-04 22:19:27 320

原创 102. Binary Tree Level Order Traversal

我解决这道题用的是一个双端队列配合,按照层次把节点push到队列中,先把该节点的值存入到vector中,然后在该队列中移除该节点。当一层结束后,开始判断该层每个节点的左右子树,push到队列中,重新循环。class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vec

2015-12-20 12:57:32 379

原创 LeetCode Reverse Bits 的C++解决4ms

LeetCode的Reverse Bits C++解决方案

2015-12-06 20:57:38 415

原创 TCP/IP协议学习笔记

TCP/IP协议学习笔记TransmissionControl protocol(TCP)   InternetProtocol(IP)[1]             TCP/IP协议是IP、TCP、HTTP等协议的集合,采用分组交换[2]             物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。表示层:将数据从主机特有的格式转换为网络标准传输格式。

2015-11-16 18:39:28 445

原创 C++学习之可变参数的函数与模板

C++学习之可变参数的函数与模板 所谓可变参数指的是函数的参数个数可变,参数类型不定的函数。为了编写能处理不同数量实参的函数,C++11提供了两种主要的方法:如果所有的实参类型相同,可以传递一个名为initializer_list的标准库类型;如果实参的类型不同,我们可以编写可变参数模板。另外,C++还有一种特殊的省略符形参,可以用它传递可变数量的实参,不过这种一般只用于与C函数交互的接口

2015-11-13 19:53:11 657

转载 JAVA的泛型和C++的模板的区别与联系

总结一下java的泛型编程和c++模板的区别和联系。泛型本质上是提供类型的"类型参数",它们也被称为参数化类型(parameterized type)或参量多态(parametric polymorphism)。其实泛型思想并不是 Java 最先引入的,C++ 中的模板就是一个运用泛型的例子。曾经有面试官问我JDK1.4和JDK1.5有一些什么不同,变化最大的是什么。由于我开始学习ja

2015-11-13 15:28:26 5940

转载 如何将已有文件导入eclipse中

如何将已有文件导入eclipse中[eclipse]将已有的文件加入到一个项目中目前有三种方式:第一种是象在IVJ中的一样,用IDE的"File"菜单中的"Import"功能将文件导入到项目中。这也是推荐的方式。第二种是从Windows的资源管理器中直接拖动文件到项目中。第三种就是直接将文件拷贝到项目文件夹中,然后在Eclipse的资源浏览窗口中选择项目或文件夹并执行从

2015-11-13 13:32:13 1443

原创 JAVA和C/C++的区别

最近在学校Java语言,发现和C++还是很多相似的,所以在学习中,整理了一些,以后会继续更新补充,适合初学者,很多不对的地方,感谢大家指出,谢谢了。

2015-11-13 13:14:56 1911

原创 动态规划简单例子之硬币数量

如果我们有面值为1元、2元和5元的硬币若干枚,如何用最少的硬币凑够n元?这是典型的动态规划的问题,我们可以把问题分解为若干之问题,设pi为凑够i元所需的最少硬币的个数。那么当i > 5时有递推方程pi = min(pi-1,pi-2,pi-5)+1。由此递推方程就可以得出程序如下:#includeusing namespace std;int Min(int a,int b,int

2015-11-08 11:26:07 547

原创 Linux线程同步(条件变量和信号量)

使用条件变量和互斥量完成对10个线程的同步

2015-10-20 11:47:43 376

原创 华为OJ(求字符串中最后一个单词的长度)

/*-------------------------------计算字符串最后一个单词的长度.cpp----------电子科学----------------------时间 2015-10-04----------*/#include#include#includeusing namespace std;int main(){ string s, line, c;

2015-10-06 22:45:13 365

转载 高效的求大数的幂和取余

做TopCoder SRM 576 D2 L3 题目时,程序有个地方需要对一个数大量求幂并取余,导致程序运行时间很长,看了 Editoral 之后,发现一个超级高效的求幂并取余的算法,之前做System test时,程序运行时间(最慢的测试用例)为500ms左右,使用此方法之后,运行时间直接减为20ms,快了20多倍,所以将此方法记录下来。算法时间复杂度为 log(n)。这

2015-09-01 18:46:22 1215

STM32F105的pcb封装

自己画的STM32F105 100引脚的封装,亲测可用

2015-08-25

linux下串口的读写文件

linux下配置串口,完整的读写文件,新手必看的噢

2015-01-12

c8051f330的基础

入门必看,很不错的文档,开发人员必备,说的都是基础的部分,包括各个外围部件

2014-04-21

空空如也

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

TA关注的人

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