自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Notepad++一键配置python运行 & 可能出现的文件路径错误

使用Notepad++写python的代码,每次运行都需要重开命令行,太过麻烦。Notepad++中提供了运行的快捷设置,其设置步骤如下:

2017-04-30 09:27:39 6157

原创 python学习笔记(十)错误处理、Matplotlib绘图示例

由于python是弱类型的语言,所以在进行编程时,极易产生各类类型不符的错误,虽然大部分可以在编写中检查出来,但是一些隐蔽错误很容易在运行期影响软件的安全。因此这里介绍try的用法,用于能处理错误的情况不致程序崩溃。在文末给出一个使用Matplotlib的实例。

2017-04-29 23:49:46 2138

原创 计算数据的相似度:欧几里德、皮尔逊相关度

在《集体智慧编程》中提到了如何计算数据的相似性,有两种相关度:欧几里德距离评价和皮尔逊相关度。

2017-04-28 23:13:09 1917

原创 python学习笔记(九)函数式进阶:使用map、reduce、filter、sorted

在第三节中简单学习了函数式的概念,这里通过运用几个常用的高阶函数来熟悉函数式编程方法,在文末给出一个综合性例子。开始这四个高阶函数具有相似的参数结构,都是以其中一个参数为列表,另一个参数为函数。不同的是它们的功能。mapmap的作用简单来说是将列表中各个元素冠以函数头。即将函数映射作用到每一个元素上.(格式:map(函数,列表))def mp(a): print a return a

2017-04-27 21:25:20 359

原创 Leetcode两道小题目python试水

做两道算法题目,练习使用python

2017-04-26 20:27:49 325

原创 python学习笔记(八)协程、爬取网页

协程又叫微线程,但与线程是完全不同的概念。线程之间是并发的,开发者不知道它们在什么时候切换;而协程是属于一个线程的,它们之间的切换开发者是明确的。在介绍完协程后会给出一个使用urllib爬取网页中图片的地址的例子演示协程。

2017-04-25 22:45:21 980

原创 python学习笔记(七)多线程

多线程编程用于需要并发的时候,比如上一次学的服务器,单线程编写会很困难,用多线程会方便许多。在本文结束部分会给出一个opencv采集视频,并使用多线程控制其播放的例子。

2017-04-24 22:24:25 1392 1

原创 C++:xutility文件中发生错误

在写程序中途测试时,突然多出一堆语法错误,且来源于xutility文件。 打开xutility文件,其中定义了许多结构体以及函数模板。在其中找错误源是找不到的,因为全是类似于缺少;之类的错误。于是回退之前写的代码,终于发现问题所在。

2017-04-23 20:11:35 7914

原创 python学习笔记(六)网络编程

在计算机网络中学过TCP/IP协议,将网络分为物理层、网际层、传输层,应用层等。网络编程一般属于传输层之上的内容,会用到TCP、UDP协议。其中TCP是有连接传输,UDP是无连接的。开始网络的作用是实现计算机互连与资源共享,因此数据传输是其核心内容。要实现数据的传输,需要知道要传输目标的IP地址,因此双方互连需至少一个地址。

2017-04-22 21:24:07 295

原创 Opencv:IplImage*转Mat后的内存泄露问题

用Windows的API获得一个BMP的句柄,并将其转换到IplImage格式,然后再转到Mat类型。但在这里注意到会发生一个内存泄露的问题,记录下来。

2017-04-21 18:25:30 1988 2

原创 python学习笔记(五)文件操作、正则表达式

文件操作python的文件IO操作和C++类似,都是流的形式。

2017-04-20 22:45:46 1700

原创 opencv:基于不变矩方法的图像特征提取

在遇到需要对一个图像某个位置的物体进行判断时,一般想到的都是拿已经存储的图像去对比,对比的时候,由于噪声干扰以及多种冗余信息存在的原因,不可能按像素一个个比对,需要对图像特征进行提取,然后再比对。 不变矩指的是物体经过平移、旋转、缩放以及比例变换后仍保持不变的矩特征量。 中心矩定义如下: upq=∑x∑y(x−x0)p(y−y0)qf(x,y)\begin{equation}u_{pq} =

2017-04-19 20:45:34 3626

原创 python学习笔记(四)模块、面向对象

import关键字可以将一个python代码文件引入当前文件,其作用类似于c++中的include,这个被引入的代码文件被称为模块(Module)。 from XX import XX是指从一个包中引入某个模块。包(Package)相当于一个目录,但和一般文件目录不同的是,其中必须有一个名为__init__.py的文件,其内容可以为空。import后是模块名,也可以写*,代表引入该包中的所有模块。

2017-04-18 21:12:56 294

原创 python学习笔记(三)运行环境、函数式

python可以用很多方式运行起来: 1. 使用控制台,键入python,即可进入python解释器,然后每一句都会被解释执行 2. 使用IDE,同样是解释器形式 3. 使用文本编辑器写一系列代码保存,并在控制台进入保存的目录,键入 python xxx.py,翻译并执行 4. 用IDE提供的编辑器,写完之后run,效果与3一样。

2017-04-17 21:57:44 310

原创 python学习笔记(二)数据结构与算法

最初学习编程时,是先学了数据结构与算法才学透C++的一些使用,因此先从数据结构和算法的概念开始说起这节,然后再介绍几种Python内置的数据类型,及操作数据的算法。

2017-04-16 20:24:05 340

原创 python学习笔记(一)HelloWorld:从零开始学一门编程语言

一年前读《集体智慧编程》这本书的时候用到过python,那个时候并没有详细去学习,只是粗略地过了一遍,基本已经忘光了,现在准备重新捡起来,并记录整个学习过程,供以后进行参考。

2017-04-15 20:20:25 1504

原创 NC编译器结题以及软件重用性的思索

经过3月29日到今天一共17天的紧张学习赶工,NC编译器的编写环节暂时告一段落。从开始的简单制导翻译到后来的词法语法分析,虽然其中还有很多细节没有学到位,但在与无数BUG的斗争中大体上已经领略到了一个编译前端的结构。这里做一下总结: 输入一段代码、一些规则,按规则输出代码中的信息,这就是一个编译器的工作。看似简单,但如果规则较复杂,不进行理论有序的描述就很难得到正确的结果。因此,把编译过程划分为几

2017-04-14 19:29:45 374

原创 c++:使用function模板和bind函数

function< T >fuction是c++11标准库中的类模板,可以实现函数对象在函数参数中的传递调用。 声明格式如下:function<retType(args)> f;其中retType和args分别为定义的函数的返回类型和参数类型,它可以用函数对象类的对象、函数指针以及lambda函数来定义:

2017-04-13 22:01:56 2110 1

原创 编译原理学习笔记(五)语法制导定义

在初学编译原理时的第二章中就给了制导翻译程序的例子,在第五章中又再次提到,不过更加详细。 上次做的预测分析器还有不完善的地方——目前只能进行语法分析,不能产生语义动作。可以使用语法制导定义的方法来完成。语法制导定义是上下文无关文法和属性以及规则的结合,属性与文法符号相关联,规则和产生式相关联。非终结符具有两种属性:综合属性和继承属性。分析树上的非终结符的综合属性是由产生式所关联的语义规则来定义的,

2017-04-12 21:06:42 9958

原创 编译原理学习笔记(四)预测分析器(2)

上次说到了驱动表,这里给出利用驱动表进行预测分析的算法实现(原书伪码见p144)syn_unit end(0);//结束符syn_unit start(mode, mesh_table[mode]->src.lex, 0, syn_unit::NONTERMINATOR);//mode为开始符号的参数stack<syn_unit> stk;stk.push(end);stk.push(sta

2017-04-11 17:26:04 795

原创 触碰认知的临界点——人工智能能否取代其开发者?

认知的界限,只能由我们来不断拓宽,而不可能寄托于人工智能来触碰。

2017-04-10 19:05:08 1659 2

原创 编译原理学习笔记(四)预测分析器(1)

词法分析是为语法分析做准备的,词法分析器提取词法单元后返回给语法分析器用以进行语法分析。龙书在第四章中详细阐述了语法分析的部分。语法分析有自顶向下和自底向上两类方法,自顶向下是由产生式不断推导,直到匹配了整个输入串的过程,自底向上是通过字符串归约直到得到开始符的过程。今天主要学习了自顶向下的预测分析法。预测分析法是递归下降分析法的一种特例,因此要先说到递归下降分析法。 递归下降分析由一组过程组成,

2017-04-09 22:27:50 3981

原创 编译原理学习笔记(三)词法分析

在上一次对第二章的学习中(http://blog.csdn.net/u011602557/article/details/68943237),利用制导翻译的内容做了一个简单的翻译程序。其结构比较混乱,语法分析和词法分析基本混在了一起。在第三章中着重讲了词法分析的内容,其中说到了将分析部分分为语法分析和词法分析的技术原因(龙书第二版69页3.1.1),同时也有利于理解编译过程。因此这一次的内容主要围绕

2017-04-08 20:17:24 1578

原创 MFC:CSplitterWnd和CEditView的使用

昨天创建了一个基本的窗口,实现了呼出对话框汇报翻译情况。但翻译结果不能放在呼出的对话框中,需要建立一个和编辑区平行的区域。这里就要用到CSplitterWnd类。 CSplitterWnd可以实现对客户区的分割(单文档下),实现流程如下:

2017-04-07 20:02:46 2116

原创 MFC:模态与非模态对话框

昨天用单文档做了一个简易的编辑器,可以编辑代码。今天跟进一步,把之前写的翻译器移植进来。 一开始抱着只要读懂代码就能知道怎么写的想法去尝试,结果浪费了一下午的时间,死磕各种BUG,其中一个BUG困扰时间最长:我通过类向导建立的对话框类(继承自CDialog),然后在别的类中使用这个类创建对象,总是出现莫名其妙的错误(提示缺少;的语法错误),怎么都查不出来。后来只好屈服,去搜了教程来看。

2017-04-06 21:28:25 484

原创 MFC初探:单文档打开文件并载入窗口

上次做了一个简单的数控编译程序,想要改成窗口程序。在很久之前用过MFC的对话框做过程序,准备重新捡起来。 这里选择了单文档,挑战一下没用过的部分。 后面类继承选择了继承自CEditView,是为了更方便在窗口中输入文字。(https://zhidao.baidu.com/question/245604097.html) 然后就生成了一个简单的文本输入程序,但存在一点瑕疵:输入文字保存没问题

2017-04-05 23:06:36 7052

原创 cocos学习笔记(四)文本

游戏中除了图像动画,最重要的传递信息的媒介就是文字。除了类似地狱边境那类游戏,大部分都是有文本交互的。 在《权威》第五章中讲到了文本渲染系统,这里主要使用其中的CCLableTTF类。 值得一提的是关于中文显示的问题。在Windows上调试时,中文会显示乱码,这是由于在Windows上中文的编码不符合导致的。解决这个问题参考了前辈提出的方法。(见:http://blog.csdn.net/tko

2017-04-04 21:49:53 427

原创 Release版的控制台程序关闭时提示“已停止工作”

编译环境:VS2013 问题描述:在写好程序后,调试无误,把发布方式从Debug改成了Release,再测试时,关闭的时候会卡顿,然后出现提示“XX.exe已停止工作”。 测试1: 1. 删除main中所有内容,只留下一个暂停函数,提示消失 2. 将声明内容加入,提示消失 3. 将输入内容部分加入,提示出现 初步分析: 通过测试,发现在非程序最后一个system(“pause”)处退出

2017-04-03 21:00:40 1680

原创 chouka游戏(二)如何解决数据结构需求变更的问题

上次的设想实现到一半时,突然想到另一个更好的设计方案,但是这时候数据结构已经固定了,要更改的话需要重写许多代码,十分麻烦。已经不是第一次体会到该需求的痛苦了,我突然想到这种数据结构变更的情况,是不是能用某些方法来解决? 我首先想到的就是,做一个配置文件,里面写好数据结构中所含的类型、长度、名字,然后做一个数据类,读取这个配置文件建立一个表格,表格中含有配置文件中定义的数据类型。注意,这里的数据结构

2017-04-02 17:11:40 345

原创 cocos 学习笔记(三)动作

前两节根据一般游戏能想到的,分别学习了两大交互:触摸、菜单。已经能实现许多功能,但是此时做出来的东西却感觉有些……死气沉沉?这是因为少了动画效果。 动画在游戏中十分重要,如果不能动,就基本变成文字游戏了。因此这次学习了《权威》的第四章:动作特效与动画。 依然接着上一节的例子来学习,上次做了一个能收放自如且随处乱摆的菜单(虽然有些丑…),每次只要点击MENU就可以弹出来。但是弹出的太突兀了,因此可

2017-04-01 20:28:54 322

原创 编译原理学习笔记(二)翻译程序的实现

上一节所学的主要是语法到语义的内容,通过手动构造语法树来理解编译过程。 在3.5节,书中给出了后缀表达式翻译程序的java实现。根据前面的内容,今天对NC代码编译给出简易的实现。在实现前,需要几个准备内容用以简化代码: 1. 正则表达式 正则表达式能够对一个字符串进行模式匹配,可以对符合模式的字符串进行检索、替换。 2. 宏 c++中使用宏可以对代码进行批量预处理,对于某些重复的代码可以用

2017-04-01 12:53:59 3153

空空如也

空空如也

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

TA关注的人

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