自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(94)
  • 资源 (2)
  • 收藏
  • 关注

翻译 QML动画使用总结

QML使用动画元素改变对象的属性值,并通过插值使属性的改变平滑过渡。Rectangle{ id: box width: 100; height: 100 color: "blue" opacity: 1.0}使用动画的方法:直接使用属性动画PropertyAnimation{id: animateColor; target: box; properties:”color”;

2016-03-09 18:07:02 2465

原创 QUdpSocket收不到回复及分析

QT中使用QUdpSocket发送数据给服务器,然后通过readyread信号读取回复。init:udp=new QUDPSocket()connect(udp,SIGNAL(readyread()),this,SLOT(processread()));work:udp->writedatagram实际情况是:数据能够发送出去,服务器返回的数据却无法触发readyread信号。实验后,如下代码

2016-03-09 16:09:43 10143

原创 QT动态库路径查找

在工程中使用LIBS+=-Lxx和LIBS+=-lxx可以指定动态库和静态库链接文件和路径但是在运行程序时,对动态库的可能查找不到。可以使用ldd test 进行测试验证,是否所有的动态库都已经定位成功,若没有定位成功,则需要考虑以下搜索过程:(1).编译目标代码时指定的动态库搜索路径; QMAKE_RPATHDIR+=xxx 例如QMAKE_RPATHDIR+=/usr/local/

2016-02-17 17:21:53 10537

原创 机器学习之决策树生成和裁剪

决策树学习比较典型的有三种算法:ID3 C4.5 CART。 决策树是一种分类预测算法,通过训练样本建立的决策树,能够对未来样本进行分类。决策树算法包括:建立决策树和裁剪决策树。裁剪决策树是为了减少过拟合带来的错误率。建立决策树的过程,是一种递归分级参考属性的过程,这个过程中会使用参考属性对目标属性的依赖关系。如下面例子,参考属性包括:有房、婚姻、收入。 目标属性:拖欠贷款。ID3和C4.5ID3和

2015-11-10 21:56:52 2567

原创 机器学习之KNN

KNN简单地说是采用测量不同特征值之间的距离方法进行分类 算法非常简单,不过这是一个监督算法,训练数据需要经过人工标记。算法中心思想是:计算候选样本到所有训练样本之间的距离,选取k个最近距离数据中出现次数最多的分类作为新样本的类别。from numpy import *import operatordef classify0(sample,dataSet,labels,k): samp

2015-11-05 12:30:16 488

原创 机器学习之朴素贝叶斯

朴素贝叶斯常用于文档分类。贝叶斯理论最核心的就是条件概率的定义和贝叶斯准则: P(C|X)=P(C,X)P(X)=P(X|C)∗P(C)P(X)P(C|X)=\frac{P(C,X)}{P(X)}=\frac{P(X|C)*P(C)}{P(X)} 其中P(C)P(C)为先验概率,P(C|X)P(C|X)为后验概率 使用贝叶斯准则,需要知道三个概率值:P(X|C)P(X|C)、P(C)P(C)

2015-11-04 14:52:57 666

原创 机器学习之聚类算法(K-Means)

参考:http://chiffon.gitcafe.io/2014/12/28/cluster-analysis.html 聚类算法可以分为:中心点方法、层次聚类方法、基于密度方法、基于网格、基于模型方法。 其中最为经典的是K-means算法K-meansK-means属于中心点方法(也有叫划分方法),算法经典简单。 算法人工选取K值,并选取K个点作为K个簇的质心对所有样本分别计算到K个簇

2015-10-30 17:39:53 2846

原创 QT之QFileSystemWatcher使用

QFileSystemWatcherQFileSystemWatcher提供了对文件系统监控的接口,一般使用方法: 添加监视 QFileSystemWatcher watcher; watcher.addPath(“文件路径“) watcher.addPath(“文件夹路径”) connect(&watcher,SIGNAL(fileChanged()),this,SLOT(处理函数))

2015-10-27 18:17:24 6231

原创 机器学习之聚类算法(CANOPY)

参考:http://chiffon.gitcafe.io/2014/12/28/cluster-analysis.html CANOPY是另外一个不需要指定K的聚类算法,它的速度很快,不过由于它分类比较粗,因此一般用于在K-Means之前用于确定K的值提供参考。 CANOPY算法分为两大步: 生成canopy设定T1(松阈值)>T2(紧阈值)将需要聚类的数据转化为一个list的形式将li

2015-10-20 15:16:13 811

转载 机器学习之聚类方法总结

基于划分聚类算法(partition clustering) 名字 特点 k-means 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据 k-modes K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度 k-prototypes 结合了K-Means和K-Modes两种

2015-10-15 09:18:08 6834

原创 机器学习之聚类算法(层次聚类)

层次聚类也叫连通聚类方法,有两个基本方法:自顶而下和自底而上。自顶而将所有样本看做是同一簇,然后进行分裂。自底而上将初所有样本看做不同的簇,然后进行凝聚。这种聚类的中心思想是:离观测点较近的点相比离观测点较远的点更可能是一类。 这种方法首先会生成下面的树 分成几类需要通过对上面的树状图进行剪枝来决定。例如需要分成两类,则选择一条水平直线刚好和树相交两次,从而化为左右两棵子树。 不过上面的方法过

2015-10-14 17:08:36 6935 1

原创 机器学习中的距离

机器学习中,对于样本之间相似度量方法有很多,通常方法是采用计算样本之间的“距离”,不同的“距离”有不同的计算方法和含义

2015-10-14 14:39:22 1051

原创 QObject QObjectPrivate QObjectData

先看看这三个class的关系:从上面可以看出QObjectPrivate继承QObjectDataQObjectPrivate和QObject属于聚合关系,QObjectPrivate中保存着QObject的基本数据,只有QObject可以访问从而实现对数据的保护。QObject实现了大量的public方法。这两个类在内部可以互相访问:QObject拥有QObjectData*

2015-09-17 14:40:11 1273 1

原创 TCP 第三次握手失败

这是另外一个问题,之前对于TCP握手以及通信底层没有什么概念。出现问题后,客户发来了Wireshark抓包。客户端101.253发出了SYN包给服务器102.24, 客户端进入SYN_SEND状态。    服务器收到SYN包后发出SYN+ACK数据包,服务器进入SYN_RECV状态。  客户端收到SYN+ACK后发出ACK给服务器,客户端进入ESTABLISH状态服务器收到

2015-08-19 11:41:10 14522

原创 网关和IP地址不在同一个网段下

海外的客户报告了一个问题,设备设置的网关地址不在设备所在的网段下面,例如:IP: 192.168.135.2NetMask: 255.255.255.0GateWay: 192.168.8.1现在的问题来了,设备能不能PING通网关? 这个问题涉及到ICMP协议和ARP协议。PING程序实现的协议是ICMP,这个协议处于IP层,格式如下:不过ICMP只定义了消息类型

2015-08-17 17:41:31 54443 3

原创 QT 多语言 字库 编码 文字方向相关问题

QT是支持多语言的,能够支持不同语言的动态切换,不同语言对应的编码格式转换,不同语言字体使用不同字库进行显示。编码QT对于字符串的处理使用了基本类型QString,它将所有传递给它的字符串或者字符使用UTF16格式存储起来。 那么问题来了,对于中文"你好"的编码格式可能是GBK或者UTF8或者UTF16等,对于英文则默认使用UTF8(ASCII兼容)。 因此需要将这些字符进行编码格

2015-08-07 16:03:08 1835

原创 Linux内核之进程管理和调度

管理和调度的任务在于:1、决定各个进程运行多长时间?何时切换到下一个时间?如何决策下一个进程是哪一个?2、内核从进程A切换到进程B,再切回进程A时,进程A的执行环境与上一次完全相同task_struct内核中使用task_struct的数据结构表示一个进程(include/sched.h)这个结构体包含了所有特定于其他进程的信息以及关联到整个系统的信息,重要的成员包括:

2015-08-03 10:49:01 1323

翻译 UBI-UnSorted Block Image

注意UBI不同于FTL(Flash Translation Layer)UBI支持裸Flash,不支持管理例如TF/SD卡,U盘等封装的Flash设备UBI支持Raw Flash概述UBI全程位"Unsorted Block Image",是一种用于Raw Flash的卷(分区?)管理系统,主要功能是管理Flash容量以及平衡整个Flash读写操作(不让一个页或者块过于频繁的写

2015-07-24 14:05:47 1485

原创 LD_PRELOAD环境变量

无意中遇到了这个环境变量,发现很有意思LD_PRELOAD的本意是,允许程序优先加载指定的动态库。这样能够选择不同的动态库中的相同的函数或者变量。 使用场景是:当使用别人提供的动态库,发现其中某些函数实现不合理。但不能要求别人为你修改源代码并重新生成动态库。在这种情况下,使用LD_PRELOAD可以使用自定义的代码替换别人动态库中的部分代码。这种灵活性也会带来一些负面影响,有心人可

2015-07-17 17:14:41 2702

原创 system popen -> exec fork waitpid

应用程序执行shell命令一般使用popen或者system系统调用函数,看看他们的代码可以搞清楚他们的区别。popen/* * popen.c Written by W. Richard Stevens */ #include #include #include #include "ourhdr.h"

2015-07-02 15:11:37 774

原创 动态库生成和使用

先看代码:pop.cextern int stack[512];extern int top;int pop(){ if(top<=0) return; top--; return stack[top];}push.cextern int stack[512];extern int top;

2015-06-04 18:07:16 528

原创 从main函数启动过程说起

先贴代码:#include const int A=10;static int b=30;static char msg[]="hello";int c;static int add(int a,int b){ return a+b;}void printmsg1(int a,int b){ int d= add(a,b); p

2015-06-04 15:13:03 1529

原创 ELF文件

ELF(Executable and Linking Format)是一种对象文件的格式。他用于描述下列三种文件:可重定向对象文件   典型的是gcc -c main.c main.o  其中main.o就是可重定向对象文件可执行对象文件   典型的gcc main.o -o main main文件就是可执行对象文件可动态链接共享对象文件   常用的pthread.so等就

2015-06-02 12:34:16 607

原创 深度优先搜索和广度优先搜索

深度优先的思想是先记住当前的起点,然后选定一个方向一条道走到黑,若失败则回到起点再选定另外一个方向走到黑。广度优先的思想是记住当前的起点,然后选定各个方向的相邻点作为新的起点,再继续。可以看出,深度优先和广度优先都需要记住当前的起点,不同的是深度优先每次只需要记住一个方向的相邻点,广度优先则要记住所有方向的相邻点。如下图:对于深度优先来说:选定1为当前节点,将节

2015-06-01 17:56:13 592

原创 归并排序和快速排序

两种算法都使用递归函数实现,理论基础为数学归纳法。简单说,归并排序是先分开后排序,快速排序则是先排序后分开。归并排序:static void merge(unsigned int array[],int s,int e,int m){ if(s==e) return; unsigned int left[100]; unsigned int rig

2015-06-01 15:13:49 370

原创 See Mips Run 之 MMU

我的理解来说,MIPS实际上没有MMU,而是利用TLB通过软件实现MMU,所以只能算作软MMU。其作用就是将虚拟地址转换为物理地址。TLB/MMU硬件作用应该说是地址转换有何作用:虚拟内存,实现虚拟内存连续,物理内存不连续。虚拟内存可以大于可用物理内存。内存保护,对指定的内存设置只读标志。这样就能保护程序中的.text段等TLB为了加速地

2015-05-31 23:25:37 813

原创 Linux之文件系统

项目中出现了文件系统损坏的问题,所以找了些资料看了看,总结如下:在Linux中,任何东西都被看做是文件。文件描述符、文件节点(inode)、dentry cache从上图可以看到,每个进程拥有一个文件描述表(files_struct),每个表项实际上是一个file结构体。file结构体记录着一些文件操作信息:打开模式f_flags、当前读写位置f_pos、被引用的次数f_c

2015-05-31 00:50:05 576

原创 QT 之 sendEvent & PostEvent

QT文档中这样解释:sendEvent(QObject* receiver,QEvent* event)使用notify()函数直接给receiver发送事件。postEvent(QObject* receiver, QEvent* event)向事件队列中添加receiver和event。简单说,sendEvent使用的是同步处理事件,postEvent使用的异步处理事件

2015-05-29 09:12:41 7604 2

原创 Socket非阻塞连接过程

#include #include #include #include #include #include #include #include #include #include #include static fd_set rset;static fd_set wset;int CanRead(int so

2015-05-28 09:15:09 563

原创 See Mips run 之 浮点支持

一般来说,若要支持浮点,必须支持IEEE745, IEEE745主要规定了:硬件支持的浮点操作  结果的舍入和精度,4种选项  什么时候一个结果被看作是异常:除以0或负数平方根或其他等。。  当一个操作产生异常结果时采取的动作:用户让计算中断并发出信号 或者 不想让用户知道给出一个规定的值。软件仿真的操作存储方式  包括指数,尾数和符号位

2015-05-26 10:35:40 1162

转载 【十分钟教会你汇编】MIPS编程入门(妈妈说标题要高大上,才会有人看>_<!)

转载:http://www.cnblogs.com/thoupin/p/4018455.html?utm_source=tuicool无意中找到一篇十分好用,而且篇幅也不是很大的入门教程,通篇阅后,再把“栗子”敲一遍,基本可以有一个比较理性的认识,从而方便更好地进一步深入学习。废话不多说,上干货(英语好的直接跳过本人的渣翻译了哈——!纯本人手打原创,有错请指教,要转载请声明出处,谢~~):

2015-05-25 15:51:30 10045 1

原创 See MIPS Run 之 Cache

Cache的作用首先,Cache是CPU和内存之间的桥梁,为了解决当前CPU高主频和内存读写速度不匹配的问题。这座桥梁也能够被绕过去,这样CPU会直接从内存中读写数据。因此,在整个内核空间,我们会看到:kseg0(地址空间0x80000000-0x9FFFFFFF)是cached/unmappedkseg1(地址空间0xA0000000-0xBFFFFFFF)是uncached/u

2015-05-23 15:58:22 929

原创 QML之javascript

包括如下概念:1、比用在web的js语法要更严格      具体表现在,不能修改全局对象,不能给未声明的对象赋值      被import进qml文件后,只能看到当前qml文件      this只能使用在attached信号处理中。 MouseArea.onClicked中2、用在哪些地方?      可以自定义function      在信号的处理中使用。例如:

2015-05-04 17:50:47 1305

原创 QML之 .qmlproject qmldir

.qmlproject文件中一般的写法:import QmlProject 1.1Project { mainFile: "main.qml" /* Include .qml, .js, and image files from current directory and subdirectories */ QmlFiles { directo

2015-05-04 16:34:04 3539

原创 QML之DelegateModel和DelegateModelGroup

文档上说:DelegateModel用于封装model和delegate使用情况:一:当model为QAbstractItemModel的子类,获取和操作modelIndex二、和Package一起使用,提供multiple views。三、和DelegateModelGroup一起使用,为delegate item 提供排序和过滤DelegateModelGrou

2015-04-29 13:07:59 3466

原创 QML之Packge

QML Package的作用是将同一个Model中不同RoleName的数据项显示在不同的View中。例如ListModel中{name1: "hello" ; name2:"world"}; 中有两个数据项。将name1显示在ListView中,将name2显示在GridView中。代码如下:ListView{ model:delegatemodel.parts.li

2015-04-27 18:58:36 639

原创 QML之动态菜单配置

一直想要一个动态菜单,可随意配置,知道QtQuick中找到一个Views Examples。非常有用,记录如下。界面:点击每项,进行界面跳转,例如点击第一项跳转:LaunchList.qmlimport QtQuick 2.0Rectangle { //model is a list of {"name":"somename", "url":"file:

2015-04-27 16:54:57 3569

原创 杂谈

本来想写一些最近接触到QML的一些心得,突然发现自己好迷茫啊。。     做嵌入式花了不少时间,做了DSP平台和MIPS平台。     做过硬件,只能算皮毛。     写过DSP平台的代码,纯C+汇编。了解基本的外设和架构,可惜只是TI的专用CPU。     后来接触到MIPS,上了Linux+QT的贼船。从Linux简单驱动开始,慢慢开始了解Linux。界面编程用过DirectF

2015-04-26 00:45:39 611

原创 小蚁摄像头 APP扫描添加原理

买了个小蚁摄像头,按照下面步骤操作:1、接通小蚁电源2、打开手机APP,登陆小米帐号,扫描小蚁二维码3、手机APP输入WIFI密码,连接上WIFI4、小蚁连接上WIFI。有些不明白,所有步骤小蚁都没有输入任何信息。手机连接到热点很好理解,但是如何将WIFI密码和热点名称发送给没有连接到WIFI的小蚁呢?最后找到了关于wifi smart configure的介绍:h

2015-04-22 19:37:21 6390

转载 github使用

之前初学过一点git版本控制工具,利用github做仓库,照着github上的文档练习的了一下。不过那只篇只是照虎画猫(我的水平只能照着老虎画个猫模样,嘻嘻!)。最近在学hibernate,公司与家之间都要调用我练习的小项目,交给git/github来管理,我只想说真的爽歪歪了。本文在我之前的那篇《git/github学习笔记》的基础上,属于那个的升级加强版,欢迎对照阅读:http

2015-04-22 17:04:59 411

assembly language for mips

assembly language for mips

2014-02-08

SQLite权威指南(中文、英文PDF)

SQLite权威指南(中文、英文PDF)

2010-08-01

空空如也

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

TA关注的人

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