- 博客(59)
- 收藏
- 关注
转载 AngularJS: Factory vs Service vs Provider
本文转自:我看到的最好的解释AngularJs中Factory和Service和Provide不同By Tyler On May 4, 2014 With 44 Comments In TechnicalWhen you first get started with Angular, you’ll naturally find yourself
2015-05-18 22:22:18
698
转载 Valgrind概述
zz自 http://blog.youkuaiyun.com/destina/article/details/6198443 感谢作者的分享!一 valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它
2014-07-24 23:05:14
726
转载 用Dancing Links求解精确覆盖问题
跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1例如:如下的矩阵就包含了这样一个集合(第1、4、5行) 如何利用给定的矩阵求出相应的行的集合呢?我们采用回溯法 矩阵1: 先假定
2014-07-23 22:43:39
1474
原创 内存管理中的三种地址
一、逻辑地址(有时也称虚拟地址) 逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如在C语言指针编程中,可以读取指针变量本身值(&操作)实际上这个值就是逻辑地址,它是相对于当前进程数据段的地址和绝对物理地址无关。 只有在Intel处理器的实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,CPU不进行自动地址转换)。逻辑地址也就是在Intel
2014-06-17 23:01:00
2431
原创 Design Patterns Tips
模式是在某情境下,针对某问题的某种解决方案。设计模式是解决某些经常重复发生的设计问题的一些通用解决方案。一、模式简介1、策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。2、观察者模式:定义了对象之间的一对多依赖,当一个对象改变时,它的所有依赖者都会收到通知并自动更新。3、装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者
2014-05-18 12:56:42
970
原创 802.11之WEP
1、相关背景 WEP是一种可选的链路层安全机制,用来提供访问控制、数据加密和安全性检验等。其使用了RC4加密算法进行加解密,CRC进行校验。但随着技术的进步,WEP协议的缺陷逐渐暴露,出现了多种针对该协议的分析方法,FMS是重要的攻击方法之一。 起初,WEP标准被视为无线安全的解决方案。不过在802.11问世的前4年(1997年问世),研究人员发现WEP并不安全。但因为有时
2014-03-29 20:22:11
3333
转载 机器学习总结
本文转自:机器学习总结待以后深入了解: 机器学习,讨论的是如何让计算机程序进行学习。因为现实世界中有很多问题,不能通过直接编程解决,如手写数字识别,自动驾驶等。人们希望计算机程序也能像人一样,从已有的经验中进行学习,来提高它的性能。 那什么是机器学习了?首先来看什么是学习。学习的一般说法是,在经验的作用下,行为的改变。学习有一个要素,那就是经验,学习的结果是行为的改变。如
2014-01-25 12:02:28
1107
转载 机器学习与人工智能学习资源导引
本文转自:机器学习与人工智能学习资源导引TopLanguage(https://groups.google.com/group/pongba/)我经常在 TopLanguage 讨论组上推荐一些书籍,也经常问里面的牛人们搜罗一些有关的资料,人工智能、机器学习、自然语言处理、知识发现(特别地,数据挖掘)、信息检索 这些无疑是 CS 领域最好玩的分支了(也是互相紧密联系的),这里将最近有关机器
2014-01-25 11:47:55
954
原创 OSI参考模型
OSI模型将通信协议中必要的功能分成了7层。通过这些分层,使得那些比较复杂的网络协议更加简单化。在这一模型中,每个分层都接收由其下一层所提供的特定服务,并负责为自己上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做“接口”,同一层之间交互时所遵循的约定叫做“协议”。分层的优点:分层可以将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统。因此,可以构造一个扩展性和灵活
2014-01-05 19:21:22
1062
转载 SVM简介
本文摘自:SVM(support vector machine 支持向量机) 简介基于数据的机器学习是现代智能技术中的重要方面,研究从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。迄今为止,关于机器学习还没有一种被共同接受的理论框架,关于其实现方法大致可以分为三种:第一种是经典的(参数)统计估计方法。包括模式识别、神经网络等在内,现有机器学习方法共同的重
2013-12-28 20:34:06
2794
转载 神经网络概述
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。神经元网络是机器学习学科中的一个重要部分,用来classificati
2013-12-28 19:55:25
2171
转载 架构师之路
本文转自:架构师之路一、引言机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到。但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c、ctrl-v用得更加纯熟了。在中国,
2013-12-28 16:21:43
2323
转载 哈希表应用
本文转自:哈希表的应用(C++实现) 问题描述:设计哈希表实现电话号码查询系统,实现下列功能:(1) 假定每个记录有下列数据项:电话号码、用户名、地址。(2) 一是从数据文件old.txt(自己现行建好)中读入各项记录,二是由系统随机产生各记录,并且把记录保存到new.txt文件中以及显示到屏幕上,记录条数不要少于30,然后分别以电话号码和用户名为关键字建立哈希表。(3) 分别
2013-12-22 21:16:02
1302
转载 哈希表实现
本文转自:哈希表的实现相关定义:根据散列函数H(key)和处理冲突的方法将一组关键字映象到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“象” 作为记录在表中的存储位置,这种表便称为散列表(或称哈希表),这一映象过程称为散列造表或散列,所得的存储位置称散列地址。 构造哈希函数的方法: 1. 直接寻址法2. 数字分析法3. 平方取中法4. 折叠法5. 随
2013-12-22 21:09:56
894
转载 网络端口大全
本文转自:网络端口及其详解 很多东西不是不重要而是不常用,我们并不能全部记住,就像所有的端口号以及用途,本文收集并整理了所有端口号并作详解,以便日后查询。按端口号可分为3大类: (1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。(2)注册
2013-12-22 20:34:25
2520
转载 哈希表简介
本文转自:哈希表(附部分代码) Hash,一般翻译做“散列”,也有直接音译为”哈希“的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消
2013-12-22 19:58:18
1171
转载 epoll使用详解
本文节转自:epoll使用详解(精髓)在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头
2013-12-22 18:29:07
687
原创 跳转表实例(一)
/* 用跳转表实现简易计算器 */#include #include #include #define NUM 10 double add(double a, double b) { return a+b;}double sub(double a, double b) { return a-b;} double mu
2013-11-17 21:31:09
1808
原创 gdb简介
GNU工具集中的调试器是gdb,gdb是一个交互式工具,工作在字符模式。一、gdb可完成如下调试任务:1、设置断点2、监视程序变量的值3、程序的单步执行4、显示/修改变量的值5、显示/修改寄存器6、查看程序的堆栈情况7、远程调试二、gdb常用命令:1、l(list) 列出正在执行的程序的原文件内容2、r(run) 运行程序3、b(bre
2013-11-10 22:16:50
1515
原创 有关内存的思考题
注意下面4个测试函数的运行结果: 测试函数1:void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str);/* str拿不到GetMemory函数分配给p的空间(str = NULL;p = str;进入Get
2013-11-10 17:13:47
1085
原创 字符串的按单词逆序(带标点)
主要思想:先写出单词逆序的函数,再写整个句子逆序的函数(在其中查找单词,找到后调用单词逆序的函数逆序,最后将整个句子逆序)。程序缺点:只能识别几个常用的标点符号源代码及测试程序://给定一个字符串,按单词将该字符串逆序,含标点 #include //start 和 end 之间逆序的函数void reverse_word(char *start, char *
2013-10-21 14:47:17
1786
转载 request_mem_region和ioremap
本文转自:内核request_mem_region 和 ioremap的理解几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I
2013-10-19 16:35:11
945
转载 网络“三剑客”
本文转自(摘选):网络“三剑客” 一、集线器 1.什么是集线器 在认识集线器之前,必须先了解一下中继器。在我们接触到的网络中,最简单的就是两台电脑通过两块网卡构成“双机互连”,两块网卡之间一般是由非屏蔽双绞线来充当信号线的。由于双绞线在传输信号时信号功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,因此在保证信号质量的前提下,双绞线的最大传输距离为100米。当两台电脑之间的
2013-10-19 10:49:06
1122
转载 设备模型之总线、设备、驱动
本文转自:驱动设备模型之总线设备驱动 为了适用要求越来越高的硬件设备需求,linux2.6内核提供了一种全新的内核设备模型。设备模型三元素:总线、设备、驱动;第一节:总线总线是处理器与设备之间的通道,所有的设备通过总线相连;总线由bus_type定义(位于) 1 struct bus_type { 2 const char *name; 3
2013-10-19 09:57:10
832
转载 platform总线、设备与驱动
本文转自(摘选):platform总线、设备与驱动 在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找 与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SP
2013-10-19 09:00:54
1190
转载 input子系统(二)
本文转自:linux输入子系统输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。驱动层:将底层的硬件输入转化为统一事件形式,想输入核心(Input Core)汇报。输入子系统核心:承上启下。为驱动层提供输入设备注册与操作接口
2013-10-18 23:39:24
826
原创 双向链表的C实现
本文用C语言实现了双向链表的create 创建、display 遍历、search 查找节点、del 删除节点、insert 插入节点,实现及测试程序如下:#include #include typedef struct dlink{ int num; struct dlink *prior; struct dlink *next;}NODE;NOD
2013-10-18 23:02:29
1058
转载 关于S3C2440时钟设置的理解
1)FLCK、HCLK和PCLK的关系S3C2440有三个时钟FLCK、HCLK和PCLK手册上说P7-8写到:FCLK is used by ARM920T,内核时钟,主频。HCLK is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller,
2013-10-18 21:15:37
941
原创 单向链表逆序
逆序函数:NODE *reverse(NODE *head){ NODE *p1, *p2, *temp; p1 = head; p2 = head->next; p1->next = NULL; while(p2 != NULL) { temp = p2->next; p2->next = p1; p1 = p2; p2 = temp;
2013-10-17 11:05:06
864
转载 7中排序算法的性能比较
本文转自:C++算法 冒泡排序,快速排序,插入排序,希尔排序,计数排序,基数排序 性能比较排序是计算机算法中非常重要的一项,而排序算法又有不少实现方法,那么哪些排序算法比较有效率,哪些算法在特定场合比较有效,下面将用C++实现各种算法,并且比较他们的效率,让我们对各种排序有个更深入的了解。1、冒泡排序//n^2 冒泡排序V[n]不参与排序void Bubbl
2013-08-27 11:09:41
1076
转载 i2c相关知识点
本文转自:i2c 知识点总结 0、 总线端:主要是mach-smdkc110.c和i2c_s3c2410.c两个文件,主要完成资源的注册,在s3c24xx_i2c_probe中创建adapter和client后总线端退出 设备端:主要是用户写的部分,通过i2c_add_driver 匹配i2c_driver的id_table中的name和 client
2013-08-26 20:42:22
1324
转载 内核初始化优化宏(__init, __devinit)
本文转自:内核初始化优化宏(__init, __devinit) 在内核里经常可以看到__init, __devinit这样的语句,这都是在init.h中定义的宏,gcc在编译时会将被修饰的内容放到这些宏所代表的section。其典型的定义如下:#define __init __section(.init.text) __cold notrace#define
2013-08-26 08:58:02
965
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人